nicolas teirlinckx made for software engineering groep 1 (2009 – 2010)
TRANSCRIPT
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,
…)
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.
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.
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.