01 (software) design an analogy with my closet

Post on 23-Jan-2017

387 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

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