Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 12 - Coggle Diagram
Chapter 12
Evaluation of Architecture Designs
Evaluate System Arch. Design
SAAM (Software Architecture Analysis Method)
ARID (Active Reviews for Intermediate Designs)
ATAM (Architecture Trade-off Analysis Method)
SAAM (Software Architecture Analysis Method )
Evaluate design against Scenarios
Similar but different from use case
Can contain situations not included in the scope of the project
Case Study: Tax Payer Design
Design Objective: Tax Report Processor
The object’s type determined by occupation of the tax payer
Information incorporated into an tax payer object
Process tax return forms
Quality Attributes
System performance.
System modifiability
System expandability
Scenario
Scenario 3: Modifiability
Scenario 2: Performance
Scenario 1: Expandability
OCV
Business Ideology:
Sell computers directly!
Benefits:
Low inventory cost & maximize efficiency
Consumer order online
Selection of Architecture Styles
Data Flow
Pipe & Filter:
Ruled out: data transferred among dept. is not stream
Process Control:
Ruled out: OCVS not in its application domain (e.g., embedded systems)
Batch & Sequential:
Candidate: suitable for order processing process. Cons: low efficiency, assembly line support not covered yet.
Data Centric
Blackboard
Ruled out: OCVS not quite in its app. domain. Debugging and testing very hard
Repository
Candidate: suits the needs for storing customer data and product configuration. Cons: the pure model forbids communication among system components
Hierarchy
Main-Subroutine
Ruled out: OCVS has to support multiple tasks
Master/Slave
Ruled out: similar to Main-program-Subroutine.
Layered
Candidate: the services of OCV can be classified into layers
Virtual Machine
Ruled out: OCVS is not in its application domain (e.g., machine simulation and porting of existing systems
Implicit Invocation
Event Based
Ruled out: OCVS does not fall in its application domain
Buffered Message
Ruled out: OCVS does not fall in its application domain
Interaction Based
MVC
Although the web portal subsystem which interacts with customers may be a good candidate using MVC, the OCVS system has many other non-interactive sub-systems
PVC
similar reason as MVC.
Distributed System
Multi-tier
Broker
Client
SOA
Component Based
Inventory Management
Requirements
Interacts with manufacturing component to check out parts
Allows reservation for an order
Routinely checks stock, generates order to suppliers
Manage all parts (CPU, disk, ...)
Needed components
Controller which interacts with others
Satellite computers (barcode scanners) by workers
Backend DB
Architecture Selection
Data Repository + Client-Server (for satalite computers)
Manufacturing Department
Architecture Style Selection
Design of MS-Controller
Manage all stage computers for coordinating process
Requirements
Manage all stage computers for coordinating process
Interact with Inventory for smooth supply-chain
Design of Core-Engine Module
Assembly Line Started
Retrieve list of orders of the day.
Send requests to inventory for parts
Based on part code, find the order which uses it and update the information.
When all parts ready, triggers the all parts ready event
Event-Based!
Design of Core Engine
Chassis arrived at one stage
Parts malfunction
All parts ready for an ord
Methodology of Architecture Decision
A Designer Has To
Exhaust all possible solutions
Pick up the best one
Task
Given the list of architectural styles
Pick up the best one
Process of Choosing Style
Architecture Style Heavily Depends on Requirement Analysis
Flow Chart of Arch. Decision
Quality Attributes
Used to make architectural decision
Common Quality Attributes
Efficiency (time and space)
Efficiency (time and space)
Usability (user interface, learnability)
Portability (hardware independence, installability)
Reliability (error tolerance, availability)
Architectural Decision Procedure
(1) Determine the required quality attributes in requirement analysis
(2) Quantify the quality attributes
(3) Compute the weighted sum
selection of architecture styles
Methods of Evaluating Arch. Style
Largely depends on designers’ expertise
However, tools available