SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Quality attributes for SA

   Prof. Sadhana Ghalsasi
Quality Attributes
•   Availability
•   Modifiability
•   Performance
•   Security
•   Testability
•   Usability
Availability General Scenario
Portion of scenario   Possible values
Source                Internal/external to the system
Stimulus              Fault, emission, crash, timing, response
Artifact              System’s processors, communication channels, persistent
                      storage, processes
Environment           Normal operation, degraded mode
Response              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 mode
Response measure      Time interval when the system must be available, availability
                      time, time interval in which the system can be in degraded
                      mode, Repair time
Modifiability general scenario
Portion of scenario   Possible values
Source                End user, developer, system administrator
Stimulus              Wishes to add, delete, modify, vary functionality, quality
                      attribute, capacity
Artifact              System user interface, platform, environment, system that
                      operates with larger systems
Environment           At runtime, compile time, build time, design time
Response              Locates places in architecture to be modified, makes
                      modification without affecting other functionality, tests
                      modification, deploys modification
Response measure      Cost in terms of number of elements affected, effort, money,
                      extent to which it affects other functions or quality attributes
Performance general scenario
Portion of scenario   Possible Values
Source                One of a number of independent sources, possibly from
                      within the system
Stimulus              Periodic events arrive, sporadic events arrive, stochastic
                      event arrive
Artifact              System
Environment           Normal mode, overload mode
Response              Processes stimuli, changes level of service
Response measure      Latency, deadline, throughput, jitter, miss rate, data loss
Security general scenario
Portion of scenario   Possible values
Source                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 resources
Stimulus              Tries to display data, change/delete data, access system
                      services, reduce availability to system services
Artifact              System services, data within system
Environment           Either online or offline, connected or disconnected,
                      firewalled or open
Response              Authenticates user, hides identity of the user, blocks access
                      to data or services, grants or withdraws permission
Testability general scenario
Portion of scenario   Possible values
Source                Unit developer, increment integrator, system verifier, client
                      acceptance tester, system user
Stimulus              Analysis, architecture, design, class, sub system integration
                      completed, system delivered
Artifact              Piece of design, piece of code, complete application
Environment           At design time, at development time, at compile time, at
                      deployment time
Response              Provides access to state values, provides computed values, prepares
                      test environment
Response measure      Percent executable statements executed, probability of failure if fault
                      exists, time to perform tests, length of longest dependency chain in
                      a test
Usability general scenario
Portion of scenario   Possible values
Source                End user

Stimulus              Wants to learn system features, uses system efficiently, minimize impact of
                      errors, adapt system, feel comfortable
Artifact              System

Environment           At runtime or configure time

Response              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 pace
Response 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
Other system quality attributes
•   Scalability
•   Portability
•   Interoperability
•   Etc……
Business qualities
•   Time to market
•   Cost and benefit
•   Projected lifetime of the system
•   Targeted market
•   Rollout schedule
•   Integration with legacy systems
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
Modifiability tactics

                                   Modifiability




                              Prevention of ripple
  Localize changes                                             Defer binding time
                                    effects




   Semantic coherence                                            Runtime registration
                                   Hide information
Anticipate expected change                                        Configuration files
                              Maintain existing interface
    Generalize module                                               Polymorphism
                             Restrict communication paths
  Limit possible options                                       Component replacement
                                 Use an intermediary
Abstract common services                                    Adherence to defined protocols
Performance tactics

                                       Performance




   Resource demand                Resource management            Resource arbitration




Increase computation efficiency
                                    Introduce concurrency
Reduce computational overhead
                                   Maintain multiple copies         Scheduling policy
      Manage event rate
                                  Increase available resources
 Control frequency of sampling
Security tactics

                                             Security




                                                                    Recovering from
Resisting 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
Testability tactics

                           Testability




 Manage input/output                     Internal monitoring




    Record/playback
 Separate interface from
    implementation                        Built in monitors
   Specialized access
   routines/interfces
Usability tactics

                  Usability




Separate user   Support user   Support system
  interface       initiative      initiative




                   Cancel       User model
                   Undo        System model
                 aggregate      Task model
Architectural patterns
Data flow systems
• Batch sequential
• Pipes and filters
Call-and-return systems
• Main program & subroutines
• Hierarchical layers
• OO systems
Virtual machines
• Interpreters
• Rule-based systems
Independent components
• Communicating processes
• Event systems
Data-centered systems (repositories)
• Databases
• Blackboards
ADD Method
Attribute-Driven Design (ADD)method
Method to design architecture so that both functional and quality
   requirements are met
Defines SA by decomposing based on the quality attributes
Recursive 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 pattern
Input: the set of quality scenarios for drivers
         Key drivers may change during design, due to
         Better understanding or changing of requirements
ADD steps
1.Choose the module (initially whole system) to
   decompose
       Required input available for that module
2. 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 modules
3. Repeat steps above for every module that needs further
   decomposition

Weitere ähnliche Inhalte

Was ist angesagt?

Pv performance services
Pv performance servicesPv performance services
Pv performance servicesConvertitalia
 
Reliability Training Lesson 1 Basics
Reliability Training Lesson 1   BasicsReliability Training Lesson 1   Basics
Reliability Training Lesson 1 Basicsrhilding
 
CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013Ian Sommerville
 
ClinicalGradeMobileHealth mHIseminar.Beaulieu
ClinicalGradeMobileHealth mHIseminar.BeaulieuClinicalGradeMobileHealth mHIseminar.Beaulieu
ClinicalGradeMobileHealth mHIseminar.BeaulieumHealth Initiative
 
Michael.aguilar
Michael.aguilarMichael.aguilar
Michael.aguilarNASAPMC
 
CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013Ian Sommerville
 
A Methodology Proposal to Design Radars - Systems Approach
A Methodology Proposal to Design Radars - Systems ApproachA Methodology Proposal to Design Radars - Systems Approach
A Methodology Proposal to Design Radars - Systems ApproachAntonio Sallum Librelato
 
Galorath.dan
Galorath.danGalorath.dan
Galorath.danNASAPMC
 

Was ist angesagt? (9)

Pv performance services
Pv performance servicesPv performance services
Pv performance services
 
Reliability Training Lesson 1 Basics
Reliability Training Lesson 1   BasicsReliability Training Lesson 1   Basics
Reliability Training Lesson 1 Basics
 
CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013CS 5032 L6 reliability and security specification 2013
CS 5032 L6 reliability and security specification 2013
 
ClinicalGradeMobileHealth mHIseminar.Beaulieu
ClinicalGradeMobileHealth mHIseminar.BeaulieuClinicalGradeMobileHealth mHIseminar.Beaulieu
ClinicalGradeMobileHealth mHIseminar.Beaulieu
 
Michael.aguilar
Michael.aguilarMichael.aguilar
Michael.aguilar
 
Barqa Edinburgh Final
Barqa Edinburgh FinalBarqa Edinburgh Final
Barqa Edinburgh Final
 
CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013CS 5032 L8 dependability engineering 2 2013
CS 5032 L8 dependability engineering 2 2013
 
A Methodology Proposal to Design Radars - Systems Approach
A Methodology Proposal to Design Radars - Systems ApproachA Methodology Proposal to Design Radars - Systems Approach
A Methodology Proposal to Design Radars - Systems Approach
 
Galorath.dan
Galorath.danGalorath.dan
Galorath.dan
 

Ähnlich wie Software Architecture Second Lecture

Testing systemqualities agile2012
Testing systemqualities   agile2012Testing systemqualities   agile2012
Testing systemqualities agile2012drewz lin
 
Software archiecture lecture05
Software archiecture   lecture05Software archiecture   lecture05
Software archiecture lecture05Luktalja
 
Naukri Search Team achievements, 2009-2010
Naukri Search Team achievements, 2009-2010Naukri Search Team achievements, 2009-2010
Naukri Search Team achievements, 2009-2010Aditya Varun Chadha
 
Testing & implementation
Testing & implementationTesting & implementation
Testing & implementationmira benissa
 
Software Architecture Intro
Software Architecture IntroSoftware Architecture Intro
Software Architecture IntroSadhana Ghalsasi
 
How to implement effective ITSM System
How to implement effective ITSM SystemHow to implement effective ITSM System
How to implement effective ITSM SystemAna Meskovska
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Database development and security certification and accreditation plan pitwg
Database development and security certification and accreditation plan  pitwgDatabase development and security certification and accreditation plan  pitwg
Database development and security certification and accreditation plan pitwgJohn M. Kennedy
 
Quality Attributes Of a Software.pptx
Quality Attributes Of a Software.pptxQuality Attributes Of a Software.pptx
Quality Attributes Of a Software.pptxjordan724752
 
Introduction to Non Functional Requirement (NFR)
Introduction to Non Functional Requirement (NFR)Introduction to Non Functional Requirement (NFR)
Introduction to Non Functional Requirement (NFR)Sanjay Kumar
 
Lightning Fast Monitoring against Lightning Fast Outages
Lightning Fast Monitoring against Lightning Fast OutagesLightning Fast Monitoring against Lightning Fast Outages
Lightning Fast Monitoring against Lightning Fast OutagesMaxime Petazzoni
 
Parasoft Concerto A complete ALM platform that ensures quality software can b...
Parasoft Concerto A complete ALM platform that ensures quality software can b...Parasoft Concerto A complete ALM platform that ensures quality software can b...
Parasoft Concerto A complete ALM platform that ensures quality software can b...Engineering Software Lab
 
Dependablity Engineering 1 (CS 5032 2012)
Dependablity Engineering 1 (CS 5032 2012)Dependablity Engineering 1 (CS 5032 2012)
Dependablity Engineering 1 (CS 5032 2012)Ian Sommerville
 
Monitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud InfrastructureMonitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud InfrastructureNewvewm
 

Ähnlich wie Software Architecture Second Lecture (20)

Testing systemqualities agile2012
Testing systemqualities   agile2012Testing systemqualities   agile2012
Testing systemqualities agile2012
 
Software archiecture lecture05
Software archiecture   lecture05Software archiecture   lecture05
Software archiecture lecture05
 
Sda 3
Sda   3Sda   3
Sda 3
 
Naukri Search Team achievements, 2009-2010
Naukri Search Team achievements, 2009-2010Naukri Search Team achievements, 2009-2010
Naukri Search Team achievements, 2009-2010
 
Testing & implementation
Testing & implementationTesting & implementation
Testing & implementation
 
Software Architecture Intro
Software Architecture IntroSoftware Architecture Intro
Software Architecture Intro
 
6 mis-availability
6 mis-availability6 mis-availability
6 mis-availability
 
How to implement effective ITSM System
How to implement effective ITSM SystemHow to implement effective ITSM System
How to implement effective ITSM System
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Database development and security certification and accreditation plan pitwg
Database development and security certification and accreditation plan  pitwgDatabase development and security certification and accreditation plan  pitwg
Database development and security certification and accreditation plan pitwg
 
Quality Attributes Of a Software.pptx
Quality Attributes Of a Software.pptxQuality Attributes Of a Software.pptx
Quality Attributes Of a Software.pptx
 
Introduction to Non Functional Requirement (NFR)
Introduction to Non Functional Requirement (NFR)Introduction to Non Functional Requirement (NFR)
Introduction to Non Functional Requirement (NFR)
 
Lightning Fast Monitoring against Lightning Fast Outages
Lightning Fast Monitoring against Lightning Fast OutagesLightning Fast Monitoring against Lightning Fast Outages
Lightning Fast Monitoring against Lightning Fast Outages
 
Managed Hosting:
Managed Hosting:Managed Hosting:
Managed Hosting:
 
Managed Hosting:
Managed Hosting:Managed Hosting:
Managed Hosting:
 
Parasoft Concerto A complete ALM platform that ensures quality software can b...
Parasoft Concerto A complete ALM platform that ensures quality software can b...Parasoft Concerto A complete ALM platform that ensures quality software can b...
Parasoft Concerto A complete ALM platform that ensures quality software can b...
 
Dependablity Engineering 1 (CS 5032 2012)
Dependablity Engineering 1 (CS 5032 2012)Dependablity Engineering 1 (CS 5032 2012)
Dependablity Engineering 1 (CS 5032 2012)
 
Monitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud InfrastructureMonitoring Your AWS Cloud Infrastructure
Monitoring Your AWS Cloud Infrastructure
 
Quality & Reliability in Software Engineering
Quality & Reliability in Software EngineeringQuality & Reliability in Software Engineering
Quality & Reliability in Software Engineering
 
factors
 factors factors
factors
 

Mehr von Sadhana Ghalsasi

Mehr von Sadhana Ghalsasi (7)

Automated parking
Automated parkingAutomated parking
Automated parking
 
Tell the traff
Tell the traffTell the traff
Tell the traff
 
Print in
Print  inPrint  in
Print in
 
Way up
Way upWay up
Way up
 
Internet of vehicles
Internet of vehiclesInternet of vehicles
Internet of vehicles
 
Security Enhancement In Card Payment Systems
Security Enhancement In Card Payment SystemsSecurity Enhancement In Card Payment Systems
Security Enhancement In Card Payment Systems
 
Mr milkman
Mr milkmanMr milkman
Mr milkman
 

Kürzlich hochgeladen

JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 

Kürzlich hochgeladen (20)

JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 

Software Architecture Second Lecture

  • 1. Quality attributes for SA Prof. Sadhana Ghalsasi
  • 2. Quality Attributes • Availability • Modifiability • Performance • Security • Testability • Usability
  • 3. Availability General Scenario Portion of scenario Possible values Source Internal/external to the system Stimulus Fault, emission, crash, timing, response Artifact System’s processors, communication channels, persistent storage, processes Environment Normal operation, degraded mode Response 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 mode Response 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. Modifiability general scenario Portion of scenario Possible values Source End user, developer, system administrator Stimulus Wishes to add, delete, modify, vary functionality, quality attribute, capacity Artifact System user interface, platform, environment, system that operates with larger systems Environment At runtime, compile time, build time, design time Response Locates places in architecture to be modified, makes modification without affecting other functionality, tests modification, deploys modification Response measure Cost in terms of number of elements affected, effort, money, extent to which it affects other functions or quality attributes
  • 5. Performance general scenario Portion of scenario Possible Values Source One of a number of independent sources, possibly from within the system Stimulus Periodic events arrive, sporadic events arrive, stochastic event arrive Artifact System Environment Normal mode, overload mode Response Processes stimuli, changes level of service Response measure Latency, deadline, throughput, jitter, miss rate, data loss
  • 6. Security general scenario Portion of scenario Possible values Source 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 resources Stimulus Tries to display data, change/delete data, access system services, reduce availability to system services Artifact System services, data within system Environment Either online or offline, connected or disconnected, firewalled or open Response Authenticates user, hides identity of the user, blocks access to data or services, grants or withdraws permission
  • 7. Testability general scenario Portion of scenario Possible values Source Unit developer, increment integrator, system verifier, client acceptance tester, system user Stimulus Analysis, architecture, design, class, sub system integration completed, system delivered Artifact Piece of design, piece of code, complete application Environment At design time, at development time, at compile time, at deployment time Response Provides access to state values, provides computed values, prepares test environment Response measure Percent executable statements executed, probability of failure if fault exists, time to perform tests, length of longest dependency chain in a test
  • 8. Usability general scenario Portion of scenario Possible values Source End user Stimulus Wants to learn system features, uses system efficiently, minimize impact of errors, adapt system, feel comfortable Artifact System Environment At runtime or configure time Response 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 pace Response 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. Other system quality attributes • Scalability • Portability • Interoperability • Etc……
  • 10. Business qualities • Time to market • Cost and benefit • Projected lifetime of the system • Targeted market • Rollout schedule • Integration with legacy systems
  • 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. Modifiability tactics Modifiability Prevention of ripple Localize changes Defer binding time effects Semantic coherence Runtime registration Hide information Anticipate expected change Configuration files Maintain existing interface Generalize module Polymorphism Restrict communication paths Limit possible options Component replacement Use an intermediary Abstract common services Adherence to defined protocols
  • 13. Performance tactics Performance Resource demand Resource management Resource arbitration Increase computation efficiency Introduce concurrency Reduce computational overhead Maintain multiple copies Scheduling policy Manage event rate Increase available resources Control frequency of sampling
  • 14. Security tactics Security Recovering from Resisting 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. Testability tactics Testability Manage input/output Internal monitoring Record/playback Separate interface from implementation Built in monitors Specialized access routines/interfces
  • 16. Usability tactics Usability Separate user Support user Support system interface initiative initiative Cancel User model Undo System model aggregate Task model
  • 17. Architectural patterns Data flow systems • Batch sequential • Pipes and filters Call-and-return systems • Main program & subroutines • Hierarchical layers • OO systems Virtual machines • Interpreters • Rule-based systems Independent components • Communicating processes • Event systems Data-centered systems (repositories) • Databases • Blackboards
  • 18. ADD Method Attribute-Driven Design (ADD)method Method to design architecture so that both functional and quality requirements are met Defines SA by decomposing based on the quality attributes Recursive 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 pattern Input: the set of quality scenarios for drivers Key drivers may change during design, due to Better understanding or changing of requirements
  • 19. ADD steps 1.Choose the module (initially whole system) to decompose Required input available for that module 2. 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 modules 3. Repeat steps above for every module that needs further decomposition