230 likes | 447 Views
Architectural design. Nicolas Teirlinckx Made 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.
E N D
Architectural design Nicolas Teirlinckx Made 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,…)
SDD Sections 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 Architectures Choosing 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.
dISCUSS Choose alternative between MVC and Three-tier for auction website!