Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.

Similar presentations


Presentation on theme: "1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University."— Presentation transcript:

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?


Download ppt "1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University."

Similar presentations


Ads by Google