Download presentation
Presentation is loading. Please wait.
Published byJames Ferguson Modified over 9 years ago
1
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University
2
Outline 1. Understanding Quality Attributes 2. Functionality, Architecture & Quality Attributes 3. Classes of Quality Attributes 4. Quality Attribute Scenarios 5. Business Qualities 6. Architectural Qualities 7. Summary 2
3
Understanding Quality Attributes Lecture: 3-B 3
4
Understanding Quality Attributes ABC: business considerations determine qualities that must be accommodated in a system’s architecture. Systems are frequently redesigned not because they’re functionally deficient The replacements are often functionally identical But they are difficult to maintain, port, or scale, or are too slow, or have been compromised by network hackers 4
5
Functionality, Architecture & Quality Attributes Functionality and quality attributes are orthogonal Achieving quality attributes must be considered throughout design, implementation, and deployment Satisfactory results depend on getting the big picture (architecture) & the details (implementation) right 5
6
Functionality, Architecture & Quality Attributes (Continue…) Ex: Performance depends partially on how much communication is necessary among components (Arch) what functionality has been allocated to each component (Arch) how shared resources are allocated (Arch) the choice of algorithms to implement selected functionality (Non-arch) how these algorithms are coded (Non-arch) 6
7
Key Message Architecture is critical to deliver quality requirements, and these qualities should be designed in and can be evaluated at the architectural level Architecture, by itself, is unable to achieve qualities - attention must be paid to the details Within complex systems, quality attributes can never be achieved in isolation. The achievement of one will have an effect, positive or negative, on others 7
8
Classes of Quality Attributes Qualities of the system availability, modifiability, performance, security, testability, and usability Business qualities time to market, cost & benefit, projected life, target market, rollout schedule, legacy integration Architectural qualities conceptual integrity, correctness & completeness, buildability 8
9
System Quality Attributes - Issues From an architect’s point of view there are three problems with the previous discussions of system quality attributes Non-operational definitions System is modifiable Overlapping attribute concepts System failure Attribute specific vocabulary Events (performance), attacks (security) etc. 9
10
Quality Attribute Scenarios 10
11
A QA-Specific Requirements Source of stimulus - generating entity Stimulus - arriving condition needing consideration Environment - system condition Artifact - part of or entire system Response - activity caused by the stimulus Response measure - measurable results that tests the requirements 11
12
Types of QA Scenarios There are two of QA scenarios QA General Scenarios System independent scenarios QA Concrete Scenarios System specific scenarios 12
13
Availability Availability is concerned with system failure and its associated consequences There is a difference in failure and faults Once failure occurs how much time system takes to repair from it Scheduled downtimes are not considered in calculating availability 13
14
Sample Availability Scenario 14
15
Availability General Scenarios 15
16
Modifiability Modifiability is about cost of change Modifiability brings up two concerns; 1. What can change? Functions system computes Platform system exists on Environment within which the system operates 2. When is the change made and who makes it? In past change was made in code Change can be made at development time, compile time, execution time and so on Change can be made by developer, user and System Administrator 16
17
Sample Modifiability Scenario 17
18
Modifiability General Scenarios 18
19
Performance Performance is about timing interrupts, messages, requests from users, or the passage of time basically: how long it takes the system to respond when an event occurs Complexity number of event sources & arrival patterns this characterization is the language to construct general performance scenarios 19
20
Performance Scenarios Start with a request for service arriving at the system. Satisfying the request consumes resources. Usually events are handled in parallel Arrival Patterns periodic - most often seen in real-time systems stochastic - events arrive according to some probabilistic distribution sporadic - a pattern that can’t be represented by either 20
21
Sample Performance Scenarios 21
22
Performance General Scenarios 22
23
Reading Assignment Three System QA 1. Security 2. Testability 3. Usability 23
24
Communicating Scenarios Each attribute community has its own vocabulary; different terms can mean the same thing The problem is for the architect to understand which stimuli represent the same occurrence, which are aggregates of other stimuli, and which are independent Ex: a performance event may be atomic or an aggregate of other lower-level occurrences 24
25
Quality Attribute Stimuli 25
26
Business Qualities A number of business quality goals frequently shape software’s architecture; Time to Market Cost and Benefit Projected lifetime of the System Targeted Market Rollout Schedule Integration with Legacy Systems 26
27
Architectural Qualities Besides system’s and business’ qualities there are some directly related to architecture; Conceptual Integrity It unifies design of the system at all levels Architecture should do similar things in similar ways Correctness and Completeness Essential for the architecture to allow for all of the system’s requirements and runtime resource constraints to be met Buildability Allows the system to be completed by the available team in a timely manner 27
28
28 Summary Any Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.