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

Slides:



Advertisements
Similar presentations
Ch.21 Software Its Nature and Qualities. Ch.22 Outline Software engineering (SE) is an intellectual activity and thus human-intensive Software is built.
Advertisements

System Integration Verification and Validation
Software Quality Seung Yang CS 525 Software Engineering II Dr. Sheldon X. Liang.
Quality Management. What is a software product? Software product = computer programs (sources and executable) + associated documentation Software products.
The Architecture Design Process
Ensuring Non-Functional Properties. What Is an NFP?  A software system’s non-functional property (NFP) is a constraint on the manner in which the system.
SE 555 Software Requirements & Specification Requirements Quality Attributes.
Ch2: Software: Its Nature and Qualities. 1 Introduction  Difference between a software and other engineering products.  Difference between software.
SE 555 – Software Requirements & Specifications Introduction
Evaluating Architectures Quality control: rarely fun, but always necessary
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
Non-functional requirements
Software Quality SEII-Lecture 15
Software Project Management Fifth Edition
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Software Qualities. Unique Properties of Software (Teams: What are the properties of software that make it unique from other engineering disciplines?)
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
CSE 303 – Software Design and Architecture
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
One of you play the role of lead system designer. 1 person is a note taker. 1 or 2 customer(s) : based on the feedback you can choose. Based on the prototypes.
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Other Quality Attributes Other Important Quality attributes Variability: a special form of modifiability. The ability of a system and its supporting artifacts.
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
Evaluating Architectures Quality control: rarely fun, but always necessary
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Lecture 7: Requirements Engineering
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Evaluating Architectures. Quality Control Rarely fun, but always necessary 1.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
CSE 303 – Software Design and Architecture
CS 1120: Computer Science II Software Life Cycle Slides courtesy of: Prof. Ajay Gupta and Prof. James Yang (format and other minor modifications by by.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS223: Software Engineering Lecture 32: Software Maintenance.
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
 System Requirement Specification and System Planning.
Software Architecture
TOTAL QUALITY MANAGEMENT
16CS202 & Software Engineering
CSCE 548 Secure Software Development Risk-Based Security Testing
Non-functional requirements as Gordian knot
Classifications of Software Requirements
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
Software Requirements
The Development Process of Web Applications
Software testing
McCall’s Quality Factors
Introduction SOFTWARE ENGINEERING.
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Software engineering Lecturer: Nareena.
Charakteristiky kvality
CS 1120: Computer Science II Software Life Cycle
CS 1120: Computer Science II Software Life Cycle
ISO/IEC Systems and software Quality Requirements and Evaluation
Presentation transcript:

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

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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