System Design: Addressing Design Goals

References:

  1. Bernd Bruegge and Allen H. Dutoit, "Object-Oriented Software Engineering", Third Edition, Chapter 7

7.1 - Introduction: A Redundancy Example

7.2 - An Overview of System Design Activities

7.3 - Concepts: UML Deployment Diagrams

7.4 - System Design Activities: Addressing Design Goals

7.4.1 - Mapping Subsystems to Processors and Components

7.4.2 - Identifying and Storing Persistent Data

Identifying persistent objects

Selecting a storage management strategy

7.4.3 - Providing Access Control

The access matrix can be implements as:

Rules Lists

Dynamic access control

Authentication

Encryption

7.4.4 - Designing the Global Control Flow

Procedure-driven control

Event-driven control

Threads

7.4.5 - Identifying Services

7.4.6 - Identifying Boundary Conditions

Configuration

Start-up and shutdown

Exception handling

7.4.7 - Reviewing System Design

Is the model:

7.5 - Managing System Design

7.5.1 - Documenting System Design

See also the Software Engineering Report Template provided for this class, in particular sections IV.

7.5.2 - Assigning Responsibilities

Main roles of system design:

7.5.3 - Communicating about System Design

New sources of complexity:

Techniques:

7.5.4 - Iterating over the System Design

7.6 - ARENA Case Study

7.6.1 - Identifying Design Goals

7.6.2 - Identifying Subsystems

7.6.3 - Mapping Subsystems to Processors and Components

7.6.4 - Identifying and Storing Persistent Data

Identifying persistent objects

Selecting a storage strategy

7.6.5 - Providing Access Control

7.6.6 - Designing the Global Control Flow

7.6.7 - Identifying Services

7.6.8 - Identifying Boundary Conditions

Configuration use cases

Start-up and shutdown use cases

Exception use cases

7.6.9 Lessons Learned