Slide 05 ArchitecturalAnalysis
Slide 05 ArchitecturalAnalysis
Slide 05 ArchitecturalAnalysis
Architecture
Analysis Define a Candidate Perform
Architect
Architecture Architectural
Synthesis
Analyze Behavior
(Optional)
Refine the
Architecture
Architectural
Analysis
End-user
Analysts/Designers Programmers
Functionality
Structure Software management
Use-Case View
University
Artifacts
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.
A
A
Hierarchy
B should be B
acyclic
A
C
B
A'
C
Circular dependencies make it impossible
to reuse one package without the other.
Object Oriented Analysis and Design 9
Architectural Analysis Steps
Key Concepts
Define the High-Level Organization of
Subsystems
Identify Analysis mechanisms
Identify Key Abstractions
Create Use-Case Realizations
Checkpoints
Pattern Name
General
functionality
Major abstractions,
classes, etc. 3
Application
Framework
Mechanisms, 2
services
Infrastructure
<<layer>>
Package Name
<<layer>>
Application
<<layer>>
Business Services
“responsible for”
Use-Case Model
Architect
to analysis mechanisms
Identify characteristics Mission Communication
collaborations Route
Authentication
Load
Professor Student
Schedule
Collaboration Diagrams
Sequence Diagrams
Use Case
Class Diagrams
(continued)
Object Oriented Analysis and Design 36
Checkpoints (cont.)
Classes
Have the key entity classes and
their relationships been identified
and accurately modeled?
Does the name of each class clearly
reflect the role it plays?
Are the key abstractions/classes
and their relationships consistent
with the Business Model, Domain
Model, Requirements, Glossary,
etc.?
(continued)
Object Oriented Analysis and Design 40
Exercise: Architectural Analysis (cont.)
Produce the following:
Class diagram containing the key
abstractions
Class diagram containing the
upper-level architectural layers
and their dependencies