nicolas teirlinckx made for software engineering groep 1 (2009 – 2010)

21
ARCHITECTURAL DESIGN Nicolas Teirlinckx Made for Software Engineering Groep 1 (2009 – 2010)

Upload: avice-page

Post on 31-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

ARCHITECTURAL DESIGN

Nicolas TeirlinckxMade for Software Engineering Groep 1

(2009 – 2010)

Software Architecture

Highest level design. Structure of the system. Reuse of patterns. Comprise software components and

relationship between them. Strategic design. Architectural layer. Build application layer

by layer. Qualities (extensible, flexible, reusable,

…)

SDDSections about architecture in Software Design Document.

1. System structuring

Principal subsystems and their communications

Block-diagram with overview system structure.

2. Control Modeling

General model of control relationships between the subsystems.

UML, other tools (Rational Rose, Together).

3. Comparing Architecture Alternatives

Give each category a score for the qualities.

And compare total scores. Each quality has weight too.

4. Architecture inspection

Use cases to check against requirements. Can domain model be mapped to

components? All components necessary? Defect detection.

CATEGORIZATION OF ARCHITECTURESChoosing an architecture for our

auction website.

1. Data flow architecture- Data processing.- Series of transformations on pieces of input data. - Final destination: output.

1.1 Pipeline architecture

Chain of processing elements. No cycle of dataflow. Output each element is input next.

1.2 Batch sequential dataflow

Finite number of steps linearly connected. Components are independent programs. One complement runs completely before

other starts.

For auction website…

There will be dataflow… To limited to be used as architecture. Can’t be used as highest level design.

2. Multi-tier architecture

- (n-tier architecture)- Client – server architecture. - Presentation, application processing and data management is separate.- Most widely used: three-tier.

2.1 Client – Server-Partitions tasks between service providers and requesters.- Providers = servers, requesters = client.- Clients: web browser, email clients, …- Providers: web servers, ftp servers, database servers, …- Independent components: strong reuse.- Interesting for auction site!

2.1.1 Three- tier architecture

A good alternative for our project. Software architecture and design pattern. Middle tier can be multi tiered. Three tiers can be upgraded

independently.

Three-tier architecture

Presentation tier: Website interface.

Logic tier: Give me all the items with layer “Lamp”.

Data tier: Item database.

2.2 Model View Controller

- MVC architecture.- Often seen in web applications.

3. Others-Virtual machines (interpreters, …)- Repository architecture.-Event-driven architecture.- Real architecture are mix.- …

Choosing MVC vs. Three-tier

Topologically different. Three-tier: client never communicates

with data. MVC is triangular. Three-tier: concept emerged 1990’s. MVC: late 70’s.

DISCUSSChoose alternative between MVC

and Three-tier for auction website!