SlideShare una empresa de Scribd logo
1 de 21
Software Architecture


Architectural Requirements
Quality Attributes




 Vakgroep Informatietechnologie – IBCN
Software Architecture Definition

   The Software Architecture of a program or
      computing system is the structure or
   structures of the system, which comprises
     software elements, the external visible
      properties of those elements and the
           relationships among them.



                                    Software
Requirements                                            Design
                                 Architecture

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN            p. 2
Dilbert on Software Requirements ...




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 3
Functional versus Non Functional
 Functional                Requirements:
          FR’s capture the intended behavior of the system
          and describe what the systems should do. This
          behavior may be expressed as services, tasks or
          functions the system is required to perform.
 Non         Functional Requirements:
         NFR’s are not directly concerned with a specific
          function delivered by the system. They typically
          come from the ABC (Architecture Business Cycle)
          and cover o.a. business, organisational, legal and
          quality requirements.


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN     p. 4
Architecture and Functionality
      Functionality
          defines what the system has to do.
          can be achieved through any number of
           structures.
          is often the ONLY consideration at the start of
           a project and leads to redesign, project
           cancelation,…
                   to slow
                   hard to maintain


The mapping of the system’s functionality onto software structures is
                critical for the support of quality .

   Vakgroep Informatietechnologie – Onderzoeksgroep IBCN            p. 5
Use Cases & Scenario’s / UML
 Functional             Requirements are documented with:
     Use cases:
            define a goal-oriented set of interactions between external
             actors and the system under consideration.
            Are graphically summarized in a UML use case diagram.
            They are documented using a use case template.
     Scenario’s:
            A (black box or system ) scenario is an instance of a use
             case, and represents a single path through the use case.
             Thus, one may construct a scenario for the main flow
             through the use case, and other scenarios for each possible
             variation.
            Scenario’s are documented with UML sequence diagrams


      Vakgroep Informatietechnologie – Onderzoeksgroep IBCN          p. 6
Example : Use Case Diagram




Department of Information Technology – Broadband Communication Networks (IBCN)   7
System Sequence Diagrams




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 8
The origins of architecture complexity
 Functionality  needs to be mapped to
  software structures in order to support the
  quality
 This mapping requires the collaboration,
  communication, synchronisation of these
  software elements in order to provide the
  functionality.
 Example: caching




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN    p. 9
Software Quality Attributes

     Software Architecture and ...
        Quality Attributes.
        Quality Attribute Tactics.
        Architecture Patterns




Quality is ‘value as perceived by the customer’.
   Over and above the definition of customer features, quality attributes
   clarify which items are most important to the customer's perception of
   the product's quality and performance.



 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                  p. 10
Qualities in Software Architecture
                                                          •   Capabilities
                               Functionality              •   Functions
                                                          •   Services
                                                          •   Behaviour



                                    Software
 System                                                           Architectural
                                  Architecture
 Qualities                                                        Qualities
                                                                             •   Conceptual Integrity
    •   Modifiability
                                                                             •   Correctness
    •   Performance
                                                                             •   Completeness
    •   Testability
                                                                             •   Buildability
    •   Availability
                                Business
    •   Security                                  •   Cost
                                Qualities
    •   Usability                                 •   Margins
    •   Scalability                               •   Time-to-market
    •   Interoperability                          •   Target market
    •   Portability                               •   System lifetime

Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                                           p. 11
ISO/IEC CD 25010 SQuaRE




 [1.] ISO/IEC CD 25010 Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE), 2009




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                                                                p. 12
Quality Attributes in practice:
EXAMPLE : SLA - Service Level Agreement
   A service-level agreement (SLA) is a contract
    between a service provider and a customer that
    specifies, usually in measurable terms, what services
    provider will furnish.
   SLA’s may specify :
            What percentage of the time services will be available
            The number of users that can be served simultaneously
            Specific performance benchmarks to which actual
             performance will be periodically compared.
            Help desk response time
            Usage statistics that will be provided.


  Vakgroep Informatietechnologie – Onderzoeksgroep IBCN           p. 13
SLA terms (1/2)
Guaranteed uptime
         The expected availability of the Platform is 99.8%
          or with periods of unavailability of maximum 2
          (two) hours per month.
Recovery
         In case of system failure, the application and all
          data shall be restored within 4 hours after problem
          fixation.




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN     p. 14
SLA Terms (2/2)


Performance
      The target response time to any request should be
       respected in 90% of all requests.
      New page download time inferior to 3 seconds

Capacity
        The installation will be planned for a maximum of
         20.000 requests per day.




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 15
Business Qualities (1/2)
   Time to Market:
          Build or buy
          Re-use existing elements from previous
           projects
          COTS/OSS :Time to market is often reduced
           by using prebuilt elements such as commercial
           off-the-shelf or open source components.
          Deploy a subset : The ability to insert or
           deploy a subset of the system depends on the
           decomposition of the system into elements.
           (roll-out schedule)


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 16
Business Qualities (2/2)
Cost and Benefit:
    The development budget must not be exceeded.
    Different architectures will yield different development
     costs.
             Architectures based on new technology are more expensive
             Flexible architecture cost more to build but will be less costly
              to maintain and modify

System Lifetime:
    If the system is intended to have a long lifetime,
     modifiability, scalability, and portability become
     important. ( = more revenue)
             Building in the additional infrastructure (such as a layer to
              support portability) will usually compromise time to market.

 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                  p. 17
The Quality state-of-mind

   Quality is not the privilege of Architects:
     it needs to be considered throughout the entire
      lifecycle (design, implementation, deployment)
   But:
     Architecture is critical to the realisation of many
      qualities.
   And
     Architecture cannot achieve quality by itself.
     Qualities can never be achieved in isolation.


Vakgroep Informatietechnologie – Onderzoeksgroep IBCN       p. 18
Quality Attribute Scenarios
   Qualities are abstract and non-operational:
           What does it mean for a system to be modifiable ?
   Quality attribute requirements are captured with
    quality attribute scenarios.
           Generic scenarios (system independent) need to be
            translated into specific scenarios




Vakgroep Informatietechnologie – Onderzoeksgroep IBCN           p. 19
Quality Attribute Scenarios
A   Quality Attribute Scenario describes:

  SOURCE:                    who or what
  STIMULUS:              does something
  ARTIFACT:     to the system or part of it
  ENVIRONMENT:   under certain conditions
  RESPONES:       how the system reacts
  MEASURE:     how you can measure this




     Vakgroep Informatietechnologie – Onderzoeksgroep IBCN   p. 20
Example : Public Transport Signage

                                      Availability QAS :


SOURCE              who or what                              A random event
STIMULUS            does something                           ... causes a failure
ARTIFACT            to the system or part of it              ... to the communication system
ENVIRONMENT         under certain conditions                 ...during normal operations
RESPONSE            how the system reacts                    All displays must start showing
                                                             scheduled arrival times for all
                                                             buses
MEASURE             how you can measure this                 ... Within 30 seconds of failure
                                                             detection

      Q: What is the architectural impact of this requirement ?

     Vakgroep Informatietechnologie – Onderzoeksgroep IBCN                                 p. 21

Más contenido relacionado

La actualidad más candente

2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
Estimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a frameworkEstimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a frameworkNesma
 
Daniel.dvorak
Daniel.dvorakDaniel.dvorak
Daniel.dvorakNASAPMC
 
RSA and RAD 8.5 Top New Value Features
RSA and RAD 8.5 Top New Value FeaturesRSA and RAD 8.5 Top New Value Features
RSA and RAD 8.5 Top New Value FeaturesRoger Snook
 
MODEL: MOdel DrivEn and quaLity
MODEL: MOdel DrivEn and quaLityMODEL: MOdel DrivEn and quaLity
MODEL: MOdel DrivEn and quaLityFederico Villa
 
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 Defining and Evaluating the Usability of CMS - Saurabh Kudesia   Defining and Evaluating the Usability of CMS - Saurabh Kudesia
Defining and Evaluating the Usability of CMS - Saurabh Kudesia STC India UX SIG
 
1 jazz overview-karthik_k
1 jazz overview-karthik_k1 jazz overview-karthik_k
1 jazz overview-karthik_kIBM
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Ivica Crnkovic
 
1 rdm keynote-robin_bater
1 rdm keynote-robin_bater1 rdm keynote-robin_bater
1 rdm keynote-robin_baterIBM
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Nesma
 
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...Applied Computing Group
 
Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0Mark Cesario
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Build and Connect Enterprise Mobile Applications from developerWorks Live!
Build and Connect Enterprise Mobile Applications from developerWorks Live! Build and Connect Enterprise Mobile Applications from developerWorks Live!
Build and Connect Enterprise Mobile Applications from developerWorks Live! Leigh Williamson
 

La actualidad más candente (19)

Uml3
Uml3Uml3
Uml3
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
Estimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a frameworkEstimating Packaged Software - The first part of a framework
Estimating Packaged Software - The first part of a framework
 
Daniel.dvorak
Daniel.dvorakDaniel.dvorak
Daniel.dvorak
 
RSA and RAD 8.5 Top New Value Features
RSA and RAD 8.5 Top New Value FeaturesRSA and RAD 8.5 Top New Value Features
RSA and RAD 8.5 Top New Value Features
 
MODEL: MOdel DrivEn and quaLity
MODEL: MOdel DrivEn and quaLityMODEL: MOdel DrivEn and quaLity
MODEL: MOdel DrivEn and quaLity
 
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 Defining and Evaluating the Usability of CMS - Saurabh Kudesia   Defining and Evaluating the Usability of CMS - Saurabh Kudesia
Defining and Evaluating the Usability of CMS - Saurabh Kudesia
 
1 jazz overview-karthik_k
1 jazz overview-karthik_k1 jazz overview-karthik_k
1 jazz overview-karthik_k
 
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
Component-Based and Model-Driven Engineering: what is the difference? A CBSE ...
 
1 rdm keynote-robin_bater
1 rdm keynote-robin_bater1 rdm keynote-robin_bater
1 rdm keynote-robin_bater
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
The Technical Debt Management Cycle
The Technical Debt Management CycleThe Technical Debt Management Cycle
The Technical Debt Management Cycle
 
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
 
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
SEAA'2012: An MDE approach for Runtime Monitoring and Adapting Component-base...
 
Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Build and Connect Enterprise Mobile Applications from developerWorks Live!
Build and Connect Enterprise Mobile Applications from developerWorks Live! Build and Connect Enterprise Mobile Applications from developerWorks Live!
Build and Connect Enterprise Mobile Applications from developerWorks Live!
 
Tactics
TacticsTactics
Tactics
 
Analyzing Software Architectures: A Semantic Model
Analyzing Software Architectures: A Semantic ModelAnalyzing Software Architectures: A Semantic Model
Analyzing Software Architectures: A Semantic Model
 

Destacado

Destacado (7)

Ds 001 nabc
Ds 001 nabcDs 001 nabc
Ds 001 nabc
 
Figure1
Figure1Figure1
Figure1
 
Pr crc
Pr crcPr crc
Pr crc
 
Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)Beyond MOOCs ctd. (2015)
Beyond MOOCs ctd. (2015)
 
Ws01 sota 2
Ws01 sota 2Ws01 sota 2
Ws01 sota 2
 
You have been MOOCed
You have been MOOCedYou have been MOOCed
You have been MOOCed
 
Ibb televatorpitch2 nabc
Ibb televatorpitch2 nabcIbb televatorpitch2 nabc
Ibb televatorpitch2 nabc
 

Similar a Sa 004 quality_attributes

Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiabilityFrank Gielen
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_viewsFrank Gielen
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
Pervasive Computing Reference Architecture from a Software Engineering Perspe...
Pervasive Computing Reference Architecture from a Software Engineering Perspe...Pervasive Computing Reference Architecture from a Software Engineering Perspe...
Pervasive Computing Reference Architecture from a Software Engineering Perspe...Osama M. Khaled
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologiesprakashk453625
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies prakashk453625
 
Content Oriented Architectures (COA)
Content Oriented Architectures (COA)Content Oriented Architectures (COA)
Content Oriented Architectures (COA)Joe Gollner
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
agile architecture - two hour presentation - two worked examples
agile architecture  - two hour presentation - two worked examplesagile architecture  - two hour presentation - two worked examples
agile architecture - two hour presentation - two worked examplesMark Collins-Cope
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitectureABDEL RAHMAN KARIM
 
N-Tier Application Architecture
N-Tier Application ArchitectureN-Tier Application Architecture
N-Tier Application ArchitectureManoj Kumar
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareMr. Chanuwan
 
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02NNfamily
 
IRJET- Software Architecture and Software Design
IRJET- Software Architecture and Software DesignIRJET- Software Architecture and Software Design
IRJET- Software Architecture and Software DesignIRJET Journal
 

Similar a Sa 004 quality_attributes (20)

Sa 006 modifiability
Sa 006 modifiabilitySa 006 modifiability
Sa 006 modifiability
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_views
 
Sa 009 add
Sa 009 addSa 009 add
Sa 009 add
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
Pervasive Computing Reference Architecture from a Software Engineering Perspe...
Pervasive Computing Reference Architecture from a Software Engineering Perspe...Pervasive Computing Reference Architecture from a Software Engineering Perspe...
Pervasive Computing Reference Architecture from a Software Engineering Perspe...
 
Middle ware Technologies
Middle ware TechnologiesMiddle ware Technologies
Middle ware Technologies
 
E3 chap-06
E3 chap-06E3 chap-06
E3 chap-06
 
Middleware Technologies
Middleware Technologies Middleware Technologies
Middleware Technologies
 
Content Oriented Architectures (COA)
Content Oriented Architectures (COA)Content Oriented Architectures (COA)
Content Oriented Architectures (COA)
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
 
Sa002 abc
Sa002 abcSa002 abc
Sa002 abc
 
Unit ii
Unit   iiUnit   ii
Unit ii
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
agile architecture - two hour presentation - two worked examples
agile architecture  - two hour presentation - two worked examplesagile architecture  - two hour presentation - two worked examples
agile architecture - two hour presentation - two worked examples
 
Over view of software artitecture
Over view of software artitectureOver view of software artitecture
Over view of software artitecture
 
N-Tier Application Architecture
N-Tier Application ArchitectureN-Tier Application Architecture
N-Tier Application Architecture
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded software
 
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
 
IRJET- Software Architecture and Software Design
IRJET- Software Architecture and Software DesignIRJET- Software Architecture and Software Design
IRJET- Software Architecture and Software Design
 

Más de Frank Gielen

I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2Frank Gielen
 
I mindsx learning analytics v2
I mindsx learning analytics v2I mindsx learning analytics v2
I mindsx learning analytics v2Frank Gielen
 
Beyond MOOCs (2014)
Beyond MOOCs (2014)Beyond MOOCs (2014)
Beyond MOOCs (2014)Frank Gielen
 
The Research Canvas
The Research CanvasThe Research Canvas
The Research CanvasFrank Gielen
 
Defining the opportunity 2013
Defining the opportunity 2013Defining the opportunity 2013
Defining the opportunity 2013Frank Gielen
 
KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013Frank Gielen
 
Dare 2 Start - Course outline
Dare 2 Start - Course outlineDare 2 Start - Course outline
Dare 2 Start - Course outlineFrank Gielen
 
Delaware presentation nov2012
Delaware presentation nov2012Delaware presentation nov2012
Delaware presentation nov2012Frank Gielen
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availabilityFrank Gielen
 
The Phonegap Architecture
The Phonegap ArchitectureThe Phonegap Architecture
The Phonegap ArchitectureFrank Gielen
 
VC Do's and Don'ts - Jurgen Ingels
VC Do's and Don'ts  - Jurgen Ingels VC Do's and Don'ts  - Jurgen Ingels
VC Do's and Don'ts - Jurgen Ingels Frank Gielen
 
Debt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickDebt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickFrank Gielen
 
Sa 005 performance
Sa 005 performanceSa 005 performance
Sa 005 performanceFrank Gielen
 

Más de Frank Gielen (18)

I mindsx4howest v2
I mindsx4howest v2I mindsx4howest v2
I mindsx4howest v2
 
I mindsx learning analytics v2
I mindsx learning analytics v2I mindsx learning analytics v2
I mindsx learning analytics v2
 
Beyond MOOCs (2014)
Beyond MOOCs (2014)Beyond MOOCs (2014)
Beyond MOOCs (2014)
 
The Research Canvas
The Research CanvasThe Research Canvas
The Research Canvas
 
Defining the opportunity 2013
Defining the opportunity 2013Defining the opportunity 2013
Defining the opportunity 2013
 
KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013KPMG Legal and Tax September 2013
KPMG Legal and Tax September 2013
 
Dare 2 Start - Course outline
Dare 2 Start - Course outlineDare 2 Start - Course outline
Dare 2 Start - Course outline
 
Sop test planning
Sop test planningSop test planning
Sop test planning
 
Delaware presentation nov2012
Delaware presentation nov2012Delaware presentation nov2012
Delaware presentation nov2012
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 
Sa 007 availability
Sa 007 availabilitySa 007 availability
Sa 007 availability
 
The Phonegap Architecture
The Phonegap ArchitectureThe Phonegap Architecture
The Phonegap Architecture
 
VC Do's and Don'ts - Jurgen Ingels
VC Do's and Don'ts  - Jurgen Ingels VC Do's and Don'ts  - Jurgen Ingels
VC Do's and Don'ts - Jurgen Ingels
 
Debt & Equity - Wouter Haerick
Debt & Equity - Wouter HaerickDebt & Equity - Wouter Haerick
Debt & Equity - Wouter Haerick
 
Sa 005 performance
Sa 005 performanceSa 005 performance
Sa 005 performance
 
Ws002 use cases
Ws002 use casesWs002 use cases
Ws002 use cases
 
Sa 003 mvp
Sa 003 mvpSa 003 mvp
Sa 003 mvp
 
Vision workshop
Vision workshopVision workshop
Vision workshop
 

Último

Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Roland Driesen
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 DelhiCall Girls in Delhi
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurSuhani Kapoor
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsApsara Of India
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfOnline Income Engine
 
Understanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key InsightsUnderstanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key Insightsseri bangash
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒anilsa9823
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesDipal Arora
 
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...noida100girls
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsMichael W. Hawkins
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...lizamodels9
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Delhi Call girls
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Dave Litwiller
 

Último (20)

Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
 
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service JamshedpurVIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
VIP Call Girl Jamshedpur Aashi 8250192130 Independent Escort Service Jamshedpur
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdf
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Understanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key InsightsUnderstanding the Pakistan Budgeting Process: Basics and Key Insights
Understanding the Pakistan Budgeting Process: Basics and Key Insights
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...BEST ✨ Call Girls In  Indirapuram Ghaziabad  ✔️ 9871031762 ✔️ Escorts Service...
BEST ✨ Call Girls In Indirapuram Ghaziabad ✔️ 9871031762 ✔️ Escorts Service...
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
Nepali Escort Girl Kakori \ 9548273370 Indian Call Girls Service Lucknow ₹,9517
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 

Sa 004 quality_attributes

  • 1. Software Architecture Architectural Requirements Quality Attributes Vakgroep Informatietechnologie – IBCN
  • 2. Software Architecture Definition The Software Architecture of a program or computing system is the structure or structures of the system, which comprises software elements, the external visible properties of those elements and the relationships among them. Software Requirements Design Architecture Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 2
  • 3. Dilbert on Software Requirements ... Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 3
  • 4. Functional versus Non Functional  Functional Requirements:  FR’s capture the intended behavior of the system and describe what the systems should do. This behavior may be expressed as services, tasks or functions the system is required to perform.  Non Functional Requirements:  NFR’s are not directly concerned with a specific function delivered by the system. They typically come from the ABC (Architecture Business Cycle) and cover o.a. business, organisational, legal and quality requirements. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 4
  • 5. Architecture and Functionality  Functionality  defines what the system has to do.  can be achieved through any number of structures.  is often the ONLY consideration at the start of a project and leads to redesign, project cancelation,…  to slow  hard to maintain The mapping of the system’s functionality onto software structures is critical for the support of quality . Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 5
  • 6. Use Cases & Scenario’s / UML  Functional Requirements are documented with:  Use cases:  define a goal-oriented set of interactions between external actors and the system under consideration.  Are graphically summarized in a UML use case diagram.  They are documented using a use case template.  Scenario’s:  A (black box or system ) scenario is an instance of a use case, and represents a single path through the use case. Thus, one may construct a scenario for the main flow through the use case, and other scenarios for each possible variation.  Scenario’s are documented with UML sequence diagrams Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 6
  • 7. Example : Use Case Diagram Department of Information Technology – Broadband Communication Networks (IBCN) 7
  • 8. System Sequence Diagrams Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 8
  • 9. The origins of architecture complexity  Functionality needs to be mapped to software structures in order to support the quality  This mapping requires the collaboration, communication, synchronisation of these software elements in order to provide the functionality.  Example: caching Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 9
  • 10. Software Quality Attributes  Software Architecture and ...  Quality Attributes.  Quality Attribute Tactics.  Architecture Patterns Quality is ‘value as perceived by the customer’. Over and above the definition of customer features, quality attributes clarify which items are most important to the customer's perception of the product's quality and performance. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 10
  • 11. Qualities in Software Architecture • Capabilities Functionality • Functions • Services • Behaviour Software System Architectural Architecture Qualities Qualities • Conceptual Integrity • Modifiability • Correctness • Performance • Completeness • Testability • Buildability • Availability Business • Security • Cost Qualities • Usability • Margins • Scalability • Time-to-market • Interoperability • Target market • Portability • System lifetime Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 11
  • 12. ISO/IEC CD 25010 SQuaRE [1.] ISO/IEC CD 25010 Software engineering -- Software product Quality Requirements and Evaluation (SQuaRE), 2009 Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 12
  • 13. Quality Attributes in practice: EXAMPLE : SLA - Service Level Agreement  A service-level agreement (SLA) is a contract between a service provider and a customer that specifies, usually in measurable terms, what services provider will furnish.  SLA’s may specify :  What percentage of the time services will be available  The number of users that can be served simultaneously  Specific performance benchmarks to which actual performance will be periodically compared.  Help desk response time  Usage statistics that will be provided. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 13
  • 14. SLA terms (1/2) Guaranteed uptime  The expected availability of the Platform is 99.8% or with periods of unavailability of maximum 2 (two) hours per month. Recovery  In case of system failure, the application and all data shall be restored within 4 hours after problem fixation. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 14
  • 15. SLA Terms (2/2) Performance  The target response time to any request should be respected in 90% of all requests.  New page download time inferior to 3 seconds Capacity  The installation will be planned for a maximum of 20.000 requests per day. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 15
  • 16. Business Qualities (1/2) Time to Market:  Build or buy  Re-use existing elements from previous projects  COTS/OSS :Time to market is often reduced by using prebuilt elements such as commercial off-the-shelf or open source components.  Deploy a subset : The ability to insert or deploy a subset of the system depends on the decomposition of the system into elements. (roll-out schedule) Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 16
  • 17. Business Qualities (2/2) Cost and Benefit:  The development budget must not be exceeded.  Different architectures will yield different development costs.  Architectures based on new technology are more expensive  Flexible architecture cost more to build but will be less costly to maintain and modify System Lifetime:  If the system is intended to have a long lifetime, modifiability, scalability, and portability become important. ( = more revenue)  Building in the additional infrastructure (such as a layer to support portability) will usually compromise time to market. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 17
  • 18. The Quality state-of-mind  Quality is not the privilege of Architects:  it needs to be considered throughout the entire lifecycle (design, implementation, deployment)  But:  Architecture is critical to the realisation of many qualities.  And  Architecture cannot achieve quality by itself.  Qualities can never be achieved in isolation. Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 18
  • 19. Quality Attribute Scenarios  Qualities are abstract and non-operational:  What does it mean for a system to be modifiable ?  Quality attribute requirements are captured with quality attribute scenarios.  Generic scenarios (system independent) need to be translated into specific scenarios Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 19
  • 20. Quality Attribute Scenarios A Quality Attribute Scenario describes:  SOURCE: who or what  STIMULUS: does something  ARTIFACT: to the system or part of it  ENVIRONMENT: under certain conditions  RESPONES: how the system reacts  MEASURE: how you can measure this Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 20
  • 21. Example : Public Transport Signage Availability QAS : SOURCE who or what A random event STIMULUS does something ... causes a failure ARTIFACT to the system or part of it ... to the communication system ENVIRONMENT under certain conditions ...during normal operations RESPONSE how the system reacts All displays must start showing scheduled arrival times for all buses MEASURE how you can measure this ... Within 30 seconds of failure detection Q: What is the architectural impact of this requirement ? Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 21

Notas del editor

  1. While there are numerous similar definitions of software architecture, at the core of all of them is the notion that the architecture describes its gross structure using one or more views. The structure in a view illuminates a set of top level design decisions, including such as how the system is composed of interacting parts, the main ways of interaction and communication and the propoerties of the parts. Software architecture typically plays a key role as a bridge between requirements and design and by providing an absrtact description of the system it gives the designer a tool to assess certain system requirements and suggest methods for construction and implementation
  2. Performance Software performance used to be handled as an afterthought. Architecture provides a tools to reason about performance. Technology churn example: Migrate from a relational database system to an object oriented system.