01 (software) design an analogy with my closet
Post on 23-Jan-2017
387 Views
Preview:
TRANSCRIPT
DISIM
Dept. of Information Engineering, Computer Science and Mathematics
University of L’Aquila, Italy
L01: (Software) Design: an analogy with my Closet!
Henry Muccini
henry.muccini@univaq.it
SEA GroupSEA Group
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 GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
Why do we need to Design our
Software
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
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 GroupSEA Group
Which type of construction design pattern shall I use?
Discussion
SEA GroupSEA Group
SEA GroupSEA Group
Room Dimension
Room Characteristics
«The system and the enterprise provide
environments for, and constraints on , the software
architecture» [SAinPractice_Book]
SEA GroupSEA Group
� Build a stable, no crashing, structure
� Build shelves that can keep up to 40 kilos
� Cost = 0 (derived requirement)
SEA GroupSEA Group
Drawing the closet design
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
How to build the «central» element?
SEA GroupSEA Group
How to make this
central element as
stable as possible??
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
SEA GroupSEA Group
Buy vs. Build
Design Patterns
Design Decisions
Environmental Constraints
Risk mitigation
Incremental design
Resources
mistakes -> learn -> fix -> mistakes ->
top related