1 / 16

CS551 Lecture 5: Quality Attributes

CS551 Lecture 5: Quality Attributes. Yugi Lee FH #555 (816) 235-5932 yugi@cstp.umkc.edu www.cstp.umkc.edu/~yugi. Classifications of Qualities. Functional requirements - visible to a system’s end- user Non-functional requirements - visible only to a system’s developers Business quality.

Download Presentation

CS551 Lecture 5: Quality Attributes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS551Lecture 5: Quality Attributes Yugi Lee FH #555 (816) 235-5932 yugi@cstp.umkc.edu www.cstp.umkc.edu/~yugi CS551 - Lecture 5

  2. Classifications of Qualities • Functional requirements - visible to a system’s end- user • Non-functional requirements - visible only to a system’s 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 CS551 - Lecture 5

  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? CS551 - Lecture 5

  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? CS551 - Lecture 5

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

  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 CS551 - Lecture 5

  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. CS551 - Lecture 5

  8. Security • The system’s ability • to resist unauthorized attempts at usage and denial of service • while still providing it services to legitimate user. CS551 - Lecture 5

  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 => robustness involved CS551 - Lecture 5

  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. CS551 - Lecture 5

  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 CS551 - Lecture 5

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

  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 CS551 - Lecture 5

  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 CS551 - Lecture 5

  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 CS551 - Lecture 5

  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 CS551 - Lecture 5

More Related