Wednesday, July 9, 2008

UML : the concept

Relationship...

http://senhce.blogspot.com/2008/07/uml-relationship.html
Is an abstract concept to interconnect elements (Class, Usecase, Package etc.).
Will have a reading direction and an association name to define the reason for the relation. (Ex: -> and contains,has a etc.)
Can have a role name at either end of the relationship. (Ex: attribute used by the relationship).
Types of Relationship:
At a highlevel a relationship in UML is three kinds,
Association
Dependency
Generalization
1. Association: An association is a structural relationship where object of one classifier can connect to other and can navigate. Association is inturn classfied into,
Aggregation(Shared): Aggregation relationship is a strong type of association were one of the classfier acts as a whole and other a part. The aggregation is also called as shared, as part object can be detached from the whole and can be associate to a different whole object.
Composition(Composite): Aggregation relationship is a very strong type of association were one of the classfier acts as a whole and other a part. The life time or the existence of the part is depedent on life of the whole classifier. Part objects cannot be shared as in the aggregation.
In UML metamodel there is not metamodel element for aggregation or composition, only association with association type as none (just association), shared(Aggregation) and composite (Composition).
2. Dependency: A dependency relationship is a slightly loose relationship between source and target classifiers. Dependency is classified into,
Abstraction (In-turn sub divided as Realization and substitution)
Usage (Uses)
Permission (permit to access a classifier)
3. Generalization: Is a parent-child relationship where child gets the properties of the parent classifier.

UML: In the field of software engineering, the Unified/Universal Modeling Language (UML) is a standardized visual specification language for object modeling. UML is a general-purpose modeling language that includes a graphical notation used to create an abstract model of a system, referred to as a UML model.

UML is officially defined at the Object Management Group (OMG) by the UML metamodel, a Meta-Object Facility metamodel (MOF). Like other MOF-based specifications, UML has allowed software developers to concentrate more on design and architecture[citation needed].
UML models may be automatically transformed to other representations (e.g. Java) by means of QVT-like transformation languages, supported by the OMG.
UML is extensible, offering the following mechanisms for customization: profiles and stereotype. The semantics of extension by profiles have been improved with the UML 2.0 major revision.

No comments: