Upload
polly-ellen-morton
View
214
Download
1
Tags:
Embed Size (px)
Citation preview
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 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
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
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
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
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
fig_08_13 Syntax for Package Diagram
fig_08_14 Package Diagram of Dependency Relationships among Layers
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
fig
_08_1
5 P
artia
l Packag
e D
iag
ram
of th
e A
pp
oin
tmen
t Syste
m
fig_08_17 Package Diagram of the PD Layer for the Appointment System
fig_08_18 Overview Package Diagram of the PD Layer of the Appointment System
Slide 13
DESIGN STRATEGIES
Systems can be
- built from scratch (Custom Development)
- purchased and customized (Packaged Software)
- outsourced to others (Outsourcing)
Slide 14
Custom Development:
- Strength:
- Weakness:
Packaged Software:
- Strength:
- Weakness:
Outsourcing:
- Strength:
- Weakness:
fig_08_20 Selecting a Design Strategy
fig_08_21 Package Diagram of the PD Layer of CD Selections Internet Sales System
fig_08_22 Overview Package Diagram of the PD Layer of CD Selections Internet Sales System