01 (software) design an analogy with my closet

27
DISIM Dept. of Information Engineering, Computer Science and Mathematics Universityof L’Aquila, Italy L01: (Software) Design: an analogy with my Closet! Henry Muccini [email protected]

Upload: henry-muccini

Post on 23-Jan-2017

385 views

Category:

Education


2 download

TRANSCRIPT

Page 1: 01 (software) design an analogy with my closet

DISIM

Dept. of Information Engineering, Computer Science and Mathematics

University of L’Aquila, Italy

L01: (Software) Design: an analogy with my Closet!

Henry Muccini

[email protected]

Page 2: 01 (software) design an analogy with my closet

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.

Page 3: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 4: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 5: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Why do we need to Design our

Software

Page 6: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 7: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 8: 01 (software) design an analogy with my closet

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

Page 9: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Which type of construction design pattern shall I use?

Discussion

Page 10: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 11: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Room Dimension

Room Characteristics

«The system and the enterprise provide

environments for, and constraints on , the software

architecture» [SAinPractice_Book]

Page 12: 01 (software) design an analogy with my closet

SEA GroupSEA Group

� Build a stable, no crashing, structure

� Build shelves that can keep up to 40 kilos

� Cost = 0 (derived requirement)

Page 13: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Drawing the closet design

Page 14: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 15: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 16: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 17: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 18: 01 (software) design an analogy with my closet

SEA GroupSEA Group

How to build the «central» element?

Page 19: 01 (software) design an analogy with my closet

SEA GroupSEA Group

How to make this

central element as

stable as possible??

Page 20: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 21: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 22: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 23: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 24: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 25: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 26: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Page 27: 01 (software) design an analogy with my closet

SEA GroupSEA Group

Buy vs. Build

Design Patterns

Design Decisions

Environmental Constraints

Risk mitigation

Incremental design

Resources

mistakes -> learn -> fix -> mistakes ->