Modeling Webs of Relationships
When you model these webs of relationships:
- From use cases and scenarios, discover the relationships among a set of abstractions
- The structural relationships are the most obvious and tangible. Start with these
- Then, discover specialization/generalization relationships and use multiple inheritance, only when absolutely necessary
- Dependencies come later which is not so obvious a form of semantic connection
- For each type of relationship, begin with its basic form and apply advanced features, only as needed to express the objective
- It may not aid better understanding to model all relationships among a set of abstractions in a single diagram or view
- Instead, distribute them to different views of the system showing relevant relationships in individual diagrams
Interfaces, Types and Roles
Interface
Relationships between Interfaces and Other Classifiers
Inheritance Relationship between Interfaces
Interface for Role
A package is a general-purpose mechanism for organizing elements into groups.
Owned Elements
BuyerPackage::Information class
SellerPackage::Information class
BuyerPackage::Information class BuyerPackage::Information component
CustomerPackage::BuyerPackage::Information class
Interface
- An interface is a collection of operations that are used to specify a service of a class or component
- An interface does not specify any structure (attributes) nor any implementation of the operations in the collection
- A line between the specifications of what an abstraction does and the implementation of how that abstraction does it is defined by an interface
Relationships between Interfaces and Other Classifiers
- A class can realize one or more interfaces
- An interface can be realized by one or more interfaces
- A class can depend on an interface
Inheritance Relationship between Interfaces
Interface for Role
A package is a general-purpose mechanism for organizing elements into groups.
Owned Elements
- A package can own other elements, even other packages
- Every element is uniquely owned by exactly one package
- A package forms a name space. If the two elements are owned by two different packages then it may have the same name
BuyerPackage::Information class
SellerPackage::Information class
- Elements of different kinds may have the same name
BuyerPackage::Information class BuyerPackage::Information component
- Path names in nested packages
CustomerPackage::BuyerPackage::Information class
Post a Comment
Post a Comment