Design 1 Role of Design Develop blueprints for
Design 1
Role of Design Develop blueprints for implementation Q: What does this mean? 2
Design Model Hierarchy 3
Difference Between Analysis and Design Models 4
Example 5
Design as Use Case Realization • Collaboration within design model describes how a use case is realized • Should maintain traceability to use case realization in analysis model • Provides physical realization of the use case and handles nonfunctional requirements 6
Design Subsystems • Subsystems organizes system into manageable pieces • Subsystems can be very large and hierarchical • But, a subsystem should be cohesive, and they should be loosely coupled • Top level subsystems normally have direct trace to analysis packages • Can represent reused software products or legacy systems by wrapping them - means of integration 7
Architectural View of Design Model • Decomposition of design model into subsystems, their interfaces, and dependency between them - subsystems and their interfaces make up fundamental structure of software system • Key design classes - those trace to architecturally significant analysis classes, those general and central (e. g. abstract classes), those having many relationships • Designs that realize key use cases 8
Deployment Model • Object model describing physical distribution of system in terms of how functionality distributed among computational nodes – Each node a computational resource, e. g. processor – Nodes have relationship representing means of communication • Has major impact on design and implementation – Q. Why? 9
Architectural Design • Purpose is to outline the design and deployment models and their architecture by identifying: – – Nodes and their network configurations Subsystems and their interfaces Architecturally significant classes Generic design mechanisms handling common requirements, e. g. performance, persistency, distribution • Many possibilities to consider, need to weight what’s more important 10
I/O of Architectural Design 11
Identifying Nodes and Network Configurations • Network configuration often have major impact on system architecture, including active classes required and distribution of functionality among network nodes – Which nodes involved and what’s their processing power and memory size? – What types of connections between the nodes, and what protocols – Bandwidth, availability, quality? – Need for redundant capacity, fault tolerance, process migration, backup, etc. ? 12
Example 13
Identifying Subsystems and Interfaces 14
Middleware Layer 15
- Slides: 15