Xem mẫu

LECTURE 7: Object Oriented Design
Ivan Marsic
Rutgers University

Topics
• Gán trách nhiệm cho các đối tượng
• Design Principles
• Expert Doer
• High Cohesion
• Low Coupling

• Business Policies
• Class Diagram

2

System Sequence Diagrams
Biểu đồ tuần tự hệ thống cho usecase mở khóa

: System

User

Timer

«initiating actor»
select function(“unlock")

«offstage actor»

prompt for the key
enter key

verify key

signal: valid key, lock open
open the lock,
turn on the light

start ("duration“)

System Sequence Diagrams considered interactions between the actors
3

Design: Object Interactions
Design
Sequence Diagram

System Sequence Diagram
Controller

«initiating actor»
select function(“unlock")

: KeyStorage

: LockCtrl

checkKey()

ystem

: System

User

: Checker

Timer

sk := getNext()

«offstage actor»

prompt for the key

alt
enter key

val != null

setOpen(true)

verify key

signal: valid key, lock open
open the lock,
turn on the light

[else]

val == null : setLit(true)

start ("duration“)

• System Sequence Diagram mô tả tương tác giữa các actor
• Object Sequence Diagram mô tả tương tác giữa các đối tượng

4

Metaphor for Software Design:
“Connecting the Dots”
Resident

:InterfacePage

:SearchRequest

:Controller

:PageMaker

:DatabaseConn

:Archiver

:Notifier

:InvestigRequest

Ta bắt đầu từ các đối tượng/khái niệm từ pha phân
tích, và sửa hoặc thêm các đối tượng mới, nhằm làm
cho hệ thống hoạt động được.

Database

Landlord

5

nguon tai.lieu . vn