System Design

New Version for Fall 2014

References:

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

Overview

Analysis

Identifying Entity Objects

Identifying Boundary Objects

Identifying Control Objects

Mapping Objects to Use-Cases with Sequence Diagrams

Modeling Object Interations with CRC Cards

Identifying and Documenting Associations, Including Aggregations and Inheritance

Modelling State-Dependent Behavior of Individual Objects

Reviewing the Analysis Model

Summaryof the Analysis Process

ARENA Case Study - Analysis

Decomposing The System

Once a preliminary set of classes and their relationships to each other have been identified, the next step is to break the overall system down into suitable subsystems, based on the structure of the class diagram, the semantics of the problem, and commonly used architectures.

Subsystems

Architectural Styles

Repository

Model/View/Controller

Client-Server

Peer-to-Peer

Pipe-and-Filter

Example - The Open GL Graphics Processing Pipeline:

Example - Scientific Visualization with AVS:

Layered Architectural Styles

 

Three-Tier

Four-Tier

Example: From Objects to Subsystems

Starting Point: Analysis Model for a Route Planning System

Identifying Design Goals ( See Below )

Identifying Subsystems

Addressing Design Goals

Adjusting and refining the design so as to optimize certain desirable properites, such as peformance, security, capacity, or resilience.

Some Criteria to Consider When Identifying Design Goals

Performance Criteria

Dependability Criteria

Cost Criteria

Maintenance Criteria

End User Criteria

Activities to Refine and Complete the Design, and to Address Design Goals

Map subsystems to hardware / software platform(s)

Manage persistent data

Define access control policies

Access Control Matrix

Dynamic Access Control

Encryption

Select a global control flow

Procedure-Driven Control

Event Driven Control

Threads

Identify Services

Describe boundary conditions

Reviewing the Completed System Design

Verifying that the final system design is:

Arena Case Study

See textbook