CS551 Lecture 5: Quality Attributes - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

CS551 Lecture 5: Quality Attributes

Description:

Does it make efficient use of resources? Is it scalable? ... Integrability: The ability to make the separately developed components of the ... – PowerPoint PPT presentation

Number of Views:197
Avg rating:3.0/5.0
Slides: 17
Provided by: frankm8
Category:

less

Transcript and Presenter's Notes

Title: CS551 Lecture 5: Quality Attributes


1
CS551Lecture 5 Quality Attributes
  • Yugi Lee
  • FH 555
  • (816) 235-5932
  • yugi_at_cstp.umkc.edu
  • www.cstp.umkc.edu/yugi

2
Classifications of Qualities
  • Functional requirements - visible to a systems
    end- user
  • Non-functional requirements - visible only to a
    systems developers
  • Business quality
  • Product vs. Process
  • Qualities of a process can impact the qualities
    of a product
  • Product can take on different meanings for
    different stakeholders
  • Quality attributes can be prioritized according
    to the stakeholders needs

3
External Quality Attributes
  • Functional Requirements Performance, security,
    availability, functionality, usability
  • How well does the system, during execution
    satisfy its behavioral requirement?
  • Does it provide the required result?
  • Does it provide them in a timely enough manner?
  • Are the results correct or within specified
    accuracy and stability tolerances?
  • Does the system function as desired when
    connected to other systems?

4
Internal Quality Attributes
  • Non-functional Requirments
  • Modifiability, scalability, portability,
    reusability, integrability, testability
    (verifiability), interoperability
  • How easy is the system to integrate, test and
    modify?
  • Business Qualities
  • Time to market, Cost, Projected lifetime of the
    system, Targeted market, Rollout schedule,
    Extensive use of legacy systems
  • How expensive was it to develop?
  • What was its time to market?

5
Software Qualities
  • Correctness/Verifiability
  • Reliability/Availability
  • Robustness
  • Performance
  • Security
  • Maintainability/Modifiability
  • Reusability/Integrability
  • Understandability/Usability/User Friendliness
  • Interoperability/Portability
  • Productivity
  • Timeliness/Visibility

6
Correctness Verifiability
  • Correctness
  • A system is functionally correct
  • if it behaves according to its functional
    requirements specifications
  • Correctness asserts an equivalence between the
    software and its specifications
  • Assessment Testing and Verification (program
    proofs)
  • Verifiability
  • Can properties of the system be verified?
  • Typically an internal quality

7
Reliability Availability
  • Reliability A system can be reliable but not
    correct
  • e. g. the fault is not serious in nature and the
    user can continue to get work done in its
    presence
  • Engineering products are expected to be
    reliable with software, users expect bugs!
  • Availability how quickly the system is able to
    resume operation in the event of failure.

8
Security
  • The systems ability
  • to resist unauthorized attempts at usage and
    denial of service
  • while still providing it services to legitimate
    user.

9
Robustness
  • How well does a system behave in situations not
    specified by its requirements?
  • Examples
  • incorrect input, hardware failure, loss of power
  • Related to correctness
  • response specified
  • implementation must handle to be correct
  • response not specified gt robustness involved

10
Performance
  • In SE, performance is equated with efficiency
  • How quickly does it perform its operations?
  • Does it make efficient use of resources?
  • Is it scalable?
  • The time required to respond to stimuli (events)
    or the number of events processed in some
    interval of time.

11
Modifiability Maintainability
  • Modifiability
  • The ability to make changes quick and cost
    effectively
  • A function of locality of any change
  • Most closely aligned to the architecture of a
    system
  • Maintainability
  • Corrective (software repair), enhancement
    (software update), Perfective (the effective of
    the product) , and Adaptive (changes in
    environment)
  • Related Repairability and Evolvability

12
Reusability Integrability
  • Reusability Software components, people,
    requirements can be reused again in future
    applications.
  • SE needs to make reuse standard practice
  • Why? Its standard practice in all engineering
    disciplines!
  • Integrability The ability to make the separately
    developed components of the system work correctly
    together.

13
Portability Interoperability
  • Portability
  • The ability to run the same system in multiple
    contexts (typically hardware/ OS combinations)
  • Interoperability
  • Can a system coexist and cooperate with other
    systems?
  • Again, present in other engineering disciplines

14
Understandability Usability User Friendliness
  • Understandability
  • How well do developers understand a system they
    have produced?
  • supports evolvability and understandability
  • Usability The right information is available to
    the user at the right time
  • User Friendliness Human- Computer Interaction
  • Related Human Factors, Cognitive Science

15
Productivity
  • The efficiency of a development process
  • An efficient process can produce a product faster
    and with higher quality
  • Can parts of it be automated?
  • Standard processes?
  • Software Life Cycles
  • Capability Maturity Model
  • Measure everything!
  • Use the results to improve the process the next
    time

16
Visibility Timeliness
  • Visibility
  • A process is visible if all of its results and
    current status are documented clearly to internal
    and external viewers
  • Timeliness
  • The ability to deliver a system on- time
  • requires careful scheduling, accurate estimates
    and visible milestones
Write a Comment
User Comments (0)
About PowerShow.com