Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Quality attributes for SA   Prof. Sadhana Ghalsasi
Quality Attributes•   Availability•   Modifiability•   Performance•   Security•   Testability•   Usability
Availability General ScenarioPortion of scenario   Possible valuesSource                Internal/external to the systemSti...
Modifiability general scenarioPortion of scenario   Possible valuesSource                End user, developer, system admin...
Performance general scenarioPortion of scenario   Possible ValuesSource                One of a number of independent sour...
Security general scenarioPortion of scenario   Possible valuesSource                Individual or system that is correctly...
Testability general scenarioPortion of scenario   Possible valuesSource                Unit developer, increment integrato...
Usability general scenarioPortion of scenario   Possible valuesSource                End userStimulus              Wants t...
Other system quality attributes•   Scalability•   Portability•   Interoperability•   Etc……
Business qualities•   Time to market•   Cost and benefit•   Projected lifetime of the system•   Targeted market•   Rollout...
Availability tactics                                         Availability                   Recovery – preparation        ...
Modifiability tactics                                   Modifiability                              Prevention of ripple  L...
Performance tactics                                       Performance   Resource demand                Resource management...
Security tactics                                             Security                                                     ...
Testability tactics                           Testability Manage input/output                     Internal monitoring    R...
Usability tactics                  UsabilitySeparate user   Support user   Support system  interface       initiative     ...
Architectural patternsData flow systems• Batch sequential• Pipes and filtersCall-and-return systems• Main program & subrou...
ADD MethodAttribute-Driven Design (ADD)methodMethod to design architecture so that both functional and quality   requireme...
ADD steps1.Choose the module (initially whole system) to   decompose       Required input available for that module2. Refi...
Upcoming SlideShare
Loading in …5
×

Software Architecture Second Lecture

564 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Software Architecture Second Lecture

  1. 1. Quality attributes for SA Prof. Sadhana Ghalsasi
  2. 2. Quality Attributes• Availability• Modifiability• Performance• Security• Testability• Usability
  3. 3. Availability General ScenarioPortion of scenario Possible valuesSource Internal/external to the systemStimulus Fault, emission, crash, timing, responseArtifact System’s processors, communication channels, persistent storage, processesEnvironment Normal operation, degraded modeResponse System should detect event and dod one or more of the following: Record it, notify appropriate parties, disable sources of events, be unavailable for a specified interval, continue to operate in normal or degraded modeResponse measure Time interval when the system must be available, availability time, time interval in which the system can be in degraded mode, Repair time
  4. 4. Modifiability general scenarioPortion of scenario Possible valuesSource End user, developer, system administratorStimulus Wishes to add, delete, modify, vary functionality, quality attribute, capacityArtifact System user interface, platform, environment, system that operates with larger systemsEnvironment At runtime, compile time, build time, design timeResponse Locates places in architecture to be modified, makes modification without affecting other functionality, tests modification, deploys modificationResponse measure Cost in terms of number of elements affected, effort, money, extent to which it affects other functions or quality attributes
  5. 5. Performance general scenarioPortion of scenario Possible ValuesSource One of a number of independent sources, possibly from within the systemStimulus Periodic events arrive, sporadic events arrive, stochastic event arriveArtifact SystemEnvironment Normal mode, overload modeResponse Processes stimuli, changes level of serviceResponse measure Latency, deadline, throughput, jitter, miss rate, data loss
  6. 6. Security general scenarioPortion of scenario Possible valuesSource Individual or system that is correctly identified, identified incorrectly, of unknown identity who is internal/external, authorized or unauthorized with access to limited resources, vast resourcesStimulus Tries to display data, change/delete data, access system services, reduce availability to system servicesArtifact System services, data within systemEnvironment Either online or offline, connected or disconnected, firewalled or openResponse Authenticates user, hides identity of the user, blocks access to data or services, grants or withdraws permission
  7. 7. Testability general scenarioPortion of scenario Possible valuesSource Unit developer, increment integrator, system verifier, client acceptance tester, system userStimulus Analysis, architecture, design, class, sub system integration completed, system deliveredArtifact Piece of design, piece of code, complete applicationEnvironment At design time, at development time, at compile time, at deployment timeResponse Provides access to state values, provides computed values, prepares test environmentResponse measure Percent executable statements executed, probability of failure if fault exists, time to perform tests, length of longest dependency chain in a test
  8. 8. Usability general scenarioPortion of scenario Possible valuesSource End userStimulus Wants to learn system features, uses system efficiently, minimize impact of errors, adapt system, feel comfortableArtifact SystemEnvironment At runtime or configure timeResponse System provides one or more of the following responses: Help system to sensitize to context, interface is familiar to user, interface is usable in an unfamiliar context Reuse already entered data, distinct views with consistent operations, multiple simultaneous activities Undo, cancel, recover from system failure, retrieve forgotten password Customizability, internationalization Display system state, work at the users paceResponse measure Task time, number of errors, number of problems solved, user satisfaction, gain of user knowledge, ratio of successful operations to total operations, amount of time/data lost
  9. 9. Other system quality attributes• Scalability• Portability• Interoperability• Etc……
  10. 10. Business qualities• Time to market• Cost and benefit• Projected lifetime of the system• Targeted market• Rollout schedule• Integration with legacy systems
  11. 11. Availability tactics Availability Recovery – preparation Recovery –Fault detection Prevention and repair reintroduction Voting Ping/Echo Shadow Removal from service Active Redundancy Heartbeat State Resynchronization Transactions Passive redundancy Exception Rollback Process monitor Spare
  12. 12. Modifiability tactics Modifiability Prevention of ripple Localize changes Defer binding time effects Semantic coherence Runtime registration Hide informationAnticipate expected change Configuration files Maintain existing interface Generalize module Polymorphism Restrict communication paths Limit possible options Component replacement Use an intermediaryAbstract common services Adherence to defined protocols
  13. 13. Performance tactics Performance Resource demand Resource management Resource arbitrationIncrease computation efficiency Introduce concurrencyReduce computational overhead Maintain multiple copies Scheduling policy Manage event rate Increase available resources Control frequency of sampling
  14. 14. Security tactics Security Recovering fromResisting attacks Detecting attacks an attack Authenticate users Authorize users Maintain data confidentiality Intrusion Restoration Identification Maintain integrity Limit exposure detection Limit access See availability Audit trail
  15. 15. Testability tactics Testability Manage input/output Internal monitoring Record/playback Separate interface from implementation Built in monitors Specialized access routines/interfces
  16. 16. Usability tactics UsabilitySeparate user Support user Support system interface initiative initiative Cancel User model Undo System model aggregate Task model
  17. 17. Architectural patternsData flow systems• Batch sequential• Pipes and filtersCall-and-return systems• Main program & subroutines• Hierarchical layers• OO systemsVirtual machines• Interpreters• Rule-based systemsIndependent components• Communicating processes• Event systemsData-centered systems (repositories)• Databases• Blackboards
  18. 18. ADD MethodAttribute-Driven Design (ADD)methodMethod to design architecture so that both functional and quality requirements are metDefines SA by decomposing based on the quality attributesRecursive decomposition process; at each stage – Tactics and architectural patterns are chosen to satisfy some qualities – Functionality is added to instantiate the module types provided by the patternInput: the set of quality scenarios for drivers Key drivers may change during design, due to Better understanding or changing of requirements
  19. 19. ADD steps1.Choose the module (initially whole system) to decompose Required input available for that module2. Refine the module according to following steps – Choose architectural drivers – Choose architectural pattern that satisfies the drivers – Instantiate modules and allocate functionality – Define interfaces of child modules – Verify and refine use cases and quality scenarios and make them constraints for child modules3. Repeat steps above for every module that needs further decomposition

×