PGCS(Parking Garage Control System)
분할 스타일(Decomposition Style)
- 시나리오에 기반하여 명사 추출만 충실히 한 후, 종속관계를 취함.
- 하드웨어 은닉 모듈, 행위 은닉 모듈, 소프트웨어 결정 모듈 구분은 다음 기회에~
Driver
TicketMachine
Button
CardReader
ParkingGarage
StateDisplay
Ticket
Time
Gate
Loop
Car
Card
Cashier (The cashier is not part of the software system)
Fee
사용 스타일(Uses Style)
모듈의 필요성을 묻지도 않고 따지지도 않고 모두 추가함.
고객이 변심할 뿐이고, 내일이면 변경될 뿐이고, 단위테스트를 해야 할 뿐이고...
일부 모듈을 정제하여 재작성한다. (Driver, Cashier, Car 모듈 삭제)
일반화 스타일(Generalization Style)
입고(Entrance)
사용스타일의 모듈과 일반화스타일의 클래스와의 일반적인 관계 또는 매핑을 만들 수 있을까?
- 사용스타일의 모듈은 일반화 스타일의 클래스로 확대되거나 축소된다.
- 일반화스타일에서는 Loop관련 모듈이 삭제되었다.
계층화 스타일(Layered Style)