Abstract:Modeling for a system is a very important activity in software development. A model with high quality should not only include the description of functional attributes of the system, i.e., what the system can do, but also the description of non-functional attributes, i.e., what is the quality of the system. Although the de facto modeling approaches and tools adequately support modeling for the functional attributes, they neglect modeling for the non-functional attributes, especially, on how to integrate the description of the functional and non-functional attributes in one model and provide methods to verify some properties about the non-functional attributes. In the paper, UML Class Diagram is extended to describe the non-functional attributes by adding the model elements, i.e., the non-functional attributes notation and the constraints table. An approach is given to verify the consistency and satisfiability of the non-functional attributes in the extended UML Class Diagram. An example is used to demonstrate our proposal and a tool that supports the description and verification of non-functional attributes in UML is introduced.