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