1- modularity - amir yousefi

Post on 28-Nov-2014

269 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

بسم الله الرحمن

الرحیم

M O D U L A R IT Y

Amir Yousefi

An overview on

ARCHITECTUREDefinition : Fowler

In most successful software projects, the expert developers working on that project have a shared understanding of the system design. This shared understanding is called ‘architecture.’ This understanding includes how the system is divided into components and how the components interact through interfaces. These components are usually composed of smaller components, but the architecture only includes the components and interfaces that are understood by all the developers…Architecture is about the important stuff. Whatever that is.

ARCHITECTUREDefinition : Booch

All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.

ARCHITECTURE

Kirk:

the goal of software architecture must be to eliminate the impact and cost of change

ARCHITECTURE

Kirk:

The best way to deal with architecture is to eliminate it.

ARCHITECTURE The paradox

the way to eliminate architecture by minimizing the impact of cost and change is through flexibility

The more flexible the system, the more likely that the system can adapt and evolve as necessary

But…

ARCHITECTURE The paradox

?

ARCHITECTURE The paradox

making everything easy to change makes the entire system very complex

ARCHITECTURE Lehman's 2nd law

As a system evolves its complexity

increases unless work is done to maintain

or reduce it

ARCHITECTURE Gall's law

A complex system designed from scratch

never works and cannot be made to work.

You have to start over, beginning with a

working simple system

ARCHITECTURE Defeating Complexity

ARCHITECTURE Defeating Complexity

ARCHITECTURE Defeating Complexity

Modularity

MODULARITY

MODULARITY

MODULARITY

MODULARITY

MODULARITY

MODULARITY

MODULARITY

ARCHITECTURE

ARCHITECTURE It is all the way down

ARCHITECTURE Reuse Release equivalence

?

ARCHITECTURE Reducing complexity

ARCHITECTURE Joints

ARCHITECTURE Joints

ARCHITECTURE Shared understanding

ARCHITECTURE Shared understanding

top related