Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816) 235-5932

Similar presentations


Presentation on theme: "CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816) 235-5932"— Presentation transcript:

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

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

3 3 CS551 - Lecture 5 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 4 CS551 - Lecture 5 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 5 CS551 - Lecture 5 Software Qualities Correctness/Verifiability Reliability/Availability Robustness Performance Security Maintainability/Modifiabilit y Reusability/Integrability Understandability/Usabilit y/User Friendliness Interoperability/Portability Productivity Timeliness/Visibility

6 6 CS551 - Lecture 5 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 7 CS551 - Lecture 5 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 8 CS551 - Lecture 5 Security The system’s ability –to resist unauthorized attempts at usage and denial of service –while still providing it services to legitimate user.

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

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

13 13 CS551 - Lecture 5 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 14 CS551 - Lecture 5 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 15 CS551 - Lecture 5 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 16 CS551 - Lecture 5 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


Download ppt "CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816) 235-5932"

Similar presentations


Ads by Google