Review:What Is a Package? A package is a general-purpose mechanism for organizing elements into groups. It is a model element that can contain other model elements. University Artifacts ◆A package can be used To organize the model under development As a unit of configuration management. Object Oriented Analysis and Design 6
Object Oriented Analysis and Design 6 A package is a general-purpose mechanism for organizing elements into groups. It is a model element that can contain other model elements. A package can be used ▪ To organize the model under development. ▪ As a unit of configuration management. Review: What Is a Package? University Artifacts
Package Relationships:Dependency Packages can be related to one another using a dependency relationship. Dependency relationship Client Package Supplier Package Dependency Implications Changes to the Supplier package may affect the Client package. The Client package cannot be reused independently because it depends on the Supplier package. Object Oriented Analysis and Design
Object Oriented Analysis and Design 7 Packages can be related to one another using a dependency relationship. Dependency Implications • Changes to the Supplier package may affect the Client package. • The Client package cannot be reused independently because it depends on the Supplier package. Package Relationships: Dependency Client Package Supplier Package Dependency relationship
Avoiding Circular Dependencies A A Hierarchy B should be B acyclic A C A Circular dependencies make it impossible to reuse one package without the other. Object Oriented Analysis and Design 8
Object Oriented Analysis and Design 8 C A B Hierarchy should be acyclic A B C A' Circular dependencies make it impossible to reuse one package without the other. Avoiding Circular Dependencies A B
Outline ◆Key Concepts Define the High-Level Organization of Subsystems Identify Analysis mechanisms Identify Key Abstractions ◆ Create Use-Case Realizations Object Oriented Analysis and Design 9
Object Oriented Analysis and Design 9 Outline Key Concepts Define the High-Level Organization of Subsystems Identify Analysis mechanisms Identify Key Abstractions Create Use-Case Realizations
Patterns and Frameworks ◆Pattern ■ Provides a common solution to a common problem in a context Analysis/Design pattern ■ Provides a solution to a narrowly-scoped technical problem Provides a fragment of a solution,or a piece of the puzzle ◆Framework Defines the general approach to solving the problem Provides a skeletal solution,whose details may be Analysis/Design patterns Object Oriented Analysis and Design 10
Object Oriented Analysis and Design 10 Patterns and Frameworks Pattern ▪ Provides a common solution to a common problem in a context Analysis/Design pattern ▪ Provides a solution to a narrowly-scoped technical problem ▪ Provides a fragment of a solution, or a piece of the puzzle Framework ▪ Defines the general approach to solving the problem ▪ Provides a skeletal solution, whose details may be Analysis/Design patterns