Chapter 12: Requirements to Design
Requirements to Design
- iteratively do the right thing, do the thing right
- provoke early change
- didnt all that analysis and modeling take weeks to do
Chapter 13 Logical Architecture & UML Package diagrams
Goals
- introduce a logical architecture using layers
- illustrate the logical architecture using UML
what is the logical architecture and layers
- the logical architecture is the large-scale of the software classes into packages, subsystems and layers
- A layer is a very coarse-grained grouping of classes, packages or subsystems that has cohensive responsibility for a major respect of the system
- typical layer in an OO system include
- user interface
- application logic and domain objects
- technical service
- strict/relaxed layered architecture
What is software architecture
An architectrue is the set of significant decisions about the organization of a software system, the selection of the structure elements and their interfaces by which ther system is composed, together with their behavior as specified in the collaboration among those elements, the composition of these structural and behavioral elements into progressively larger subsystems- these elements and their interfaces, their collaborations and their composition
Chapter 15 UML Interaction Diagram
Interaction Diagram
- sequence Diagram
- Communication Diagram
单例模式
found message, execution specification bar, sychronous message
Reply 用虚线
Messages to self
Object Creation & Destruction
Common Frame Operator
- alt
- loop
- opt
- par
- region
- only one thread can run
Polymorphic Messages and Classes
Asychronous Calls(stick arrow) synchronous call(filled arrow)