Shanghai Jiao Tong University 上海交通大学 Object Oriented Analysis and Design Architectural Analysis 上海交通大学软件工程中心
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Architectural Analysis
Architectural Analysis in Context [Early Elaboration [Inception Iteration] Iteration (Optional)] Architecture Analysis Architect Define a Candidate Perform Architecture Architectural Synthesis Analyze Behavior (Optional) Refine the Architecture Define Design the Components Database Object Oriented Analysis and Design 2
Object Oriented Analysis and Design 2 Architectural Analysis in Context [Early Elaboration Iteration] [Inception Iteration (Optional)] Define a Candidate Architecture Perform Architectural Synthesis Analyze Behavior Refine the Architecture Define Components Design the Database (Optional) Architecture Analysis Architect
Architectural Analysis Overview Supplementary Glossary Software Reference Vision Specification Architecture Doc Architecture Document Architectural Analysis Project-Specific Design Model Guidelines Use-Case Model Deployment Model Object Oriented Analysis and Design 3
Object Oriented Analysis and Design 3 Architectural Analysis Overview Supplementary Specification Glossary Use-Case Model Architectural Analysis Design Model Reference Architecture Deployment Model Vision Document Software Architecture Doc Project-Specific Guidelines
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 4
Object Oriented Analysis and Design 4 Outline Key Concepts Define the High-Level Organization of Subsystems Identify Analysis mechanisms Identify Key Abstractions Create Use-Case Realizations
Review:What Is Architecture:The "4+1 View"Model Logical View Implementation View End user Analysts/Designers Functionality Programmers Structure Software management Use-Case View Process View Deployment View System integrators System engineering Performance System topology Scalability Delivery,installation Throughput communication Object Oriented Analysis and Design 5
Object Oriented Analysis and Design 5 Review: What Is Architecture: The “4+1 View” Model Process View Deployment View Logical View Use-Case View Implementation View End-user Functionality Programmers Software management Performance Scalability Throughput System integrators System topology Delivery, installation communication System engineering Analysts/Designers Structure
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