(Software) Design: an analogy with my closet
-
Upload
henry-muccini -
Category
Design
-
view
120 -
download
0
description
Transcript of (Software) Design: an analogy with my closet
1
Advanced Software EngineeringURL: http://lore.com/Advanced-Software-Engineering-Univaq/
L01: (Software) Design: an analogy with my Closet!
Henry Muccini [email protected]
DISIMDep.nt of Information Engineering, Computer Science and MathematicsUniversity of L’Aquila, Italy
SEA Group
Copyright Notice
The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved.
SEA Group
Software Development you are used so far….
SEA Group
Software Design you may be used so far…
SEA Group
A difficult lesson to teach
Why do we need to Design our Software
SEA Group
Let me use an analogy…
SEA Group
My closet
Drawing my closet
SEA Group
First Design Question
Shall I buy a pre-made shelf?Shall I make it?
That translates into:«Shall I buy the system from the market, or buy some components and assemble the system I need!»
Many factors to be analyzed to make such a
decisionDiscussion
SEA Group
Second Design Question
Which type of construction design pattern shall I use?
Discussion
SEA Group
SEA Group
Important «Environmental» Constraints
Room Dimension
Room Characteristics Two no-nail walls!! Take into account the skirtings No-nail ceiling!!! Antenna cable
«The system and the enterprise provide environments for, and constraints on , the software
architecture» [SAinPractice_Book]
SEA Group
Requirements
Build a stable, no crashing, structure Build shelves that can keep up to 40 kilos Cost = 0 (derived requirement)
SEA Group
The initial design
Drawing the closet design
SEA Group
Resources
SEA Group
Other Resources
SEA Group
Some further design decisions - RISK
How to build the «central» element?
SEA Group
Some further design decisions - RISK
How to make this central element as stable as possible??
SEA Group
Incremental implementation….
SEA Group
Initial big mistake
SEA Group
Fix to this mistake
SEA Group
Fix to this mistake
SEA Group
Hestetic Mistakes
SEA Group
Documentation mistake
SEA Group
Final Version
SEA Group
From my closet to… Software Design
Buy vs. Build
Design Patterns
Design Decisions
Environmental Constraints
Risk mitigation
Incremental design
Resources
mistakes -> learn -> fix -> mistakes ->