17
Slide 1 What the business needs How to build it Functional requirements + Nonfunctional requirements Performance System environment issues Problem domain Solution domain Factoring Partitions and Collaborations Layers Ch.8 System Design

Slide 1 What the business needs How to build it Functional requirements + Nonfunctional requirements Performance System environment issues Problem

Embed Size (px)

Citation preview

Page 1: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 1

What the business needs How to build it

Functional requirements + Nonfunctional requirements

Performance

System environment issues

Problem domain Solution domain

Factoring

Partitions and Collaborations

Layers

Ch.8 System Design

Page 2: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 2

Factoring:

Generalization (a-kind-of)

Aggregation (a-part-of)

Abstraction vs. Refinement

Partition and Collaboration:

cf. Subsystem

Partition Collaboration in Communication Diagram

the more messages sent between objects

the more likely the objects belong in the same partition

Page 3: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 3

Layers:

MVC architecture of Smalltalk

Model: application logic (problem domain)

View: output (user interface)

Controller: input (user interface)

Software Layers:

1. Foundation

2. Physical Architecture

3. Human Computer Interaction

4. Data Management

5. Problem Domain

Page 4: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 4

1. Foundation Layer

Necessary for any o-o application to exist

fundamental data type: integer, real, character

data structure: container class

abstraction: utility class

2. Physical Architecture Layer

How the software will execute on specific computer and network

Design issues:

Choice of computing or network architecture

Design of network, h/w and server s/w specification

global/international issues, security issues

Page 5: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 5

3. Human Computer Interaction Layer

View and Controller idea from Smalltalk

User Interface Implementation:

- consistency across different user interfaces

- differing level of user experience 등

4. Data Management Layer

- persistence of the objects contained in the system.

- how objects can be stored and retrieved

- choice of storage format (relational, object DB)

5. Problem Domain Layer

Page 6: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 6

Packages and Package Design

Package: general construct that can be applied to any of the

elements in UML models.

Use Case Diagram, Class Diagram, Communication Diagram

Dependency Relationship:

----->A BA is dependent on B.

Changes in B cause changes in A.

Fig. 8.14 Package Diagram of Dependency Relationships among Layers

Page 7: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig_08_13 Syntax for Package Diagram

Page 8: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig_08_14 Package Diagram of Dependency Relationships among Layers

Page 9: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 9

Steps for Identifying Packages and

Building Package Diagram

1. Set the context

2. Cluster the classes together into partitions

3. Model the partitions as packages

4. Identify the dependency relationships among classes

5. Place dependency relationships between packages

Fig. 8.15 Partial package diagram of the Appt. Sys.

Fig. 8.17 Package diagram of the PD layer for the Appt.Sys.

Fig. 8.18 Pure package diagram that shows dependency

Page 10: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig

_08_1

5 P

artia

l Packag

e D

iag

ram

of th

e A

pp

oin

tmen

t Syste

m

Page 11: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig_08_17 Package Diagram of the PD Layer for the Appointment System

Page 12: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig_08_18 Overview Package Diagram of the PD Layer of the Appointment System

Page 13: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 13

DESIGN STRATEGIES

Systems can be

- built from scratch (Custom Development)

- purchased and customized (Packaged Software)

- outsourced to others (Outsourcing)

Page 14: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

Slide 14

Custom Development:

- Strength:

- Weakness:

Packaged Software:

- Strength:

- Weakness:

Outsourcing:

- Strength:

- Weakness:

Page 15: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig_08_20 Selecting a Design Strategy

Page 16: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig_08_21 Package Diagram of the PD Layer of CD Selections Internet Sales System

Page 17: Slide 1 What the business needs  How to build it Functional requirements  + Nonfunctional requirements Performance System environment issues Problem

fig_08_22 Overview Package Diagram of the PD Layer of CD Selections Internet Sales System