decomposing the system. here we transfer the analysis model design model during system design we...
TRANSCRIPT
Decomposing the system
Here we transfer the analysis model design model
During system design we have to : Define design goals Decompose the system into subsystems Select strategies:
▪ Access control▪ Sw/Hw▪ DB
1. Define design goals
2. Design initial subsystem decompositionwe can use standard architectural styles as starting point
3. Refine the subsystem decomposition to address the design goals
Here we bridge the gap between requirements specification we produced and future system
In the first two phases we focused on the functionality of the system
Here we focus on how the system will do it Processes, data structures, sw/hw
The problem with SW design is conflecting constraints!!
Client needs a residential houseWe agreed upon:
Location Size Number of rooms: 2 bed rooms, 1
kitchen, I bathroom, 1 study room, 1 dining room
Functional requirements: Kitchen should be close to dining room
and garage Bathroom should be close to bedrooms Etc
Constraints Number of rooms Distance the residents walk should be
minimum Use of daylight should be maximum
stairs
kitchen
2 bedroom bath M. bedroom
study dining
entrance
stairs
kitchen
dining bath M. bedroom
study bedroom
entrance
stairs
kitchen
dining
bath
M. bedroom
study
bedroom
en
tran
ce
We did it without knowing the furniture layout…..or the layout of each room
Floor plan is similar to software design The whole is divided into subsystems and
interfaces We take into accounts functional and non-
functional requirements Design of individual components is delayed
System design impacts implementation
It will cost a lot if it is changed later on
Once your team started development, it is expensive to change later on.
1. Design goals: what qualities that should be met
2. Software architecture: describing subsystem decomposition
1. Subsystems responsibilities2. Dependencies between them3. Subsystem mapping to hardware4. Db, access control, control flow
3. Boundary use cases: describing:--startup--shutdown--exception handling