INTRODUCTION
CLASS DIAGRAM
• A class diagram shows the existence of classes and their relationships in the logical view of a system
• UML modeling elements in class diagrams are:
– Classes, their structure and behavior.
– relationships components among the classes like association, aggregation, composition, dependency and inheritance
– Multiplicity and navigation indicators
– Role names or labels.
Basic two types of classes
Concrete classes
• A concrete class is a class that is instantiable; that is it can have different instances.
• Only concrete classes may be leaf classes in the inheritance tree.
Abstract classes
• is a class that has no direct instance but whose descendants classes have direct instances.
• can define the protocol for an operation without supplying a corresponding method we call this as an abstract operation.
operation defines the form of operation, for which each concrete subclass should provide its own implementation
Types of Relationships between classes
• Association
• Aggregation
• Composition
• Inheritance
• Dependency
• Instantiation
ASSOCIATION
These are the most general type of relationship:
• It denotes a semantic connection between two classes
• It shows BI directional connection between two classes
• It is a weak coupling as associated classes remain somewhat independent of each other
• Example:
AGGREGATION
This is a special type of association
• The association with label “contains” or “is part of” is an aggregation è represents “has a “ relationship
• It is used when one object logically/physically contains other
• The container is called as aggregate
• It has a diamond at its end
• The components of aggregate can be shared with others
• It expresses a whole - part relationships, like …
COMPOSITION
This is a strong form of aggregation
• It expresses the stronger coupling between the classes
• The owner is explicitly responsible for creation and deletion of the part
• Any deletion of whole is considered to cascade its part
• The aggregate has a filled diamond at its end
INHERITANCE
• The inheritance relationship helps in managing the complexity by ordering objects within trees of classes with increasing levels of abstraction. Notation used is solid line with arrowhead, shown below.
• Generalization and specialization are points of view that are based on inheritance hierarchies.
DEPENDENCY
• Dependency is semantic connection between dependent and independent model elements.
• This association is unidirectional and is shown with dotted arrowhead line.
• In the following example it shows the dependency relationship between client and server.
• The client avails services provided by server so it should have semantic knowledge of server.
• The server need not know about client.
INSTANTATION
This relationship is defined between parameterized class and actual class.
• Parameterized class is also referred as generic class.
• A parameterized class can’t have instances unless we first instantiated it
Example:
Cardinality or Multiplicity
Definition: Number of instances of each class involved in the dialogue is specified by cardinality.
• Common multiplicity values:
• Symbol Meaning
• 1 One and only one
• 0..1 Zero or one
• M…N From M to N (natural integer)
• 0..* From zero to any positive integer
• 1..* From one to any positive integer
• Also thought can be given about navigability to every applicable relationship.
source:Arun Timalishna(ioe lecturer)
Thanks for the great explanation. I found more examples and information on creately diagram community.
ReplyDelete