



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This document, consisting of lecture notes from dr. Jamil ahmed, covers various aspects of uml (unified modeling language) detailed design. Topics include class specification, interfaces, coupling and cohesion, liskov substitution principle, and design guidelines. The document emphasizes the importance of good design criteria, such as integrity constraints, normalization, and the liskov substitution principle, which ensures that derived classes can be treated as instances of their base classes.
Typology: Slides
1 / 6
This page cannot be seen from the preview
Don't miss anything!




2
3
n Attribute types are defined; n Attribute initial values are given; n Operation types are defined; n Operation arguments are given; n Argument names and types are also specified. n Visibility of each attribute and operation is defined, as either: n Public (+, clear) n Protected (#, key) n Private (-, lock) n Implementation (?, bolt)
4
5
n Sometimes several classes need to implement the same operations in a different way, e.g. thread’s "run".
n In such cases it is a common practice in programming languages to separate and share class interfaces.
n Class interfaces need to be realized, i.e. all of their operations implemented, by another class.
n Note that component diagrams show interfaces as circles whereas class diagrams as stereotypes.
6
n In Rational Rose, we can use
stereotypes to indicate that a class or its operation is abstract, or that the operation is implemented by a class.
n Some other UML CASE tools
support special adornments to identify abstract and concrete classes, virtual methods, etc.
10
11
12
n UML does not have a special notation for constraints. It is recommended to use text boxes to annotate your diagram. n Constraints between classes can also be specified with the use of dependency links (which are also possible between classes themselves).
n Example: employees can be members of some committee. n The committee chair is also a member of the committee. n Should an employee cease to be a member then he or she should also cease to be a chair of that committee.
not covered in class
n Class operations need to be properly designed to ensure a high quality of the resulting system. n Issues that need to be considered are: n Contracts; n Computational complexity (memory and speed); n Accuracy; n Exceptions; n Any qualifications; n Concurrency; n Other constraints, such as platform dependent constraints; n etc.
n In Rational Rose, operations may be specified in detail using an operation specification dialogue box.
not covered in class
15
n Classes can be normalized to ensure their functional dependency. n Persistent classes, i.e. those that are going to be kept in a database, should be normalized when relational models are enforced. n The process of class normalization is exactly the same as database normalisation. n One issue in database management is identification of primary and foreign keys
not covered in class