Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?

Slides:



Advertisements
Similar presentations
:: 1 :: What is a requirement? Standard Definition Something the product must do or a quality the product must have. More Ways to Characterize Something.
Advertisements

Moving from Analysis to Design. Overview ● What is the difference between analysis and design? ● Logical v. physical design ● System v. detailed design.
Software project management (intro) Quality assurance.
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
SE 555 Software Requirements & Specification Requirements Quality Attributes.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The need for comprehensive software quality requirements Classification.
The analysis steps. Problem Analysis Sub-problem 3 Sub-problem 2 Sub-problem nSub-problem 1.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Managing Software Quality
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
1 ICS 122: Software Specification and Quality Engineering Spring 2002Lecturers: H. Muccini and D. J. Richardson Lecture 13: Summary The three aspects:
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Quality Models and Quality Attributes. Outline  Process and product quality Improving the quality of the process can improve the quality of the product.
CSE 303 – Software Design and Architecture
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
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.
1 Software quality - Definition IEEE 1. The degree to which a system, component, or process meets specified requirements. 2. The degree to which a system,
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Software quality1 Software quality factors How to describe and measure software quality.
IT Requirements Management Balancing Needs and Expectations.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 3 Software Quality Factors.
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.
Slide 1V&V 10/2002 Software Quality Assurance Dr. Linda H. Rosenberg Assistant Director For Information Sciences Goddard Space Flight Center, NASA
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
Creator: ACSession No: 15 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Software Quality Assurance & Software Quality Control.
Software Quality Metrics
1 Software quality - Definition IEEE 1. The degree to which a system, component, or process meets specified requirements. 2. The degree to which a system,
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Software quality factors
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
Quality Models in Software Engineering Literature: An Analytical and Comparative Study Rafa E. Al-Qutaish, PhD Al Ain University of Science and Technology.
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Quality Factors Chapter Three. Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
Evaluating Architectures. Quality Control Rarely fun, but always necessary 1.
CSE 303 – Software Design and Architecture
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Software Requirements Specification Document (SRS)
Metrics "A science is as mature as its measurement tools."
Chapter 3 Software Quality Factors. The need for comprehensive Software Quality Requirements Classification of requirements into Software Quality Factors.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
 System Requirement Specification and System Planning.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
TOTAL QUALITY MANAGEMENT
16CS202 & Software Engineering
Figure 9.8 User Evaluation Form
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
SEVERITY & PRIORITY RELATIONSHIP
Source & Courtesy: Doc. S. Dapkūnas
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
Lecture 15: Technical Metrics
Software Quality Models.
Software engineering.
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Software Quality Engineering CS- 449
Software engineering Lecturer: Nareena.
Charakteristiky kvality
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Presentation transcript:

Question To know that quality has improved, it would be helpful to be able to measure quality. How can we measure quality?

2 Functional vs. non-functional requirements Examples: Hotel reservation Functional requirements  Reservations and cancellations  Meals and extra services  Billings Non-functional requirements  Max. time to do reservation < 2 min  Downtime < 1%  Run on Microsoft Windows + Mac  Easy to change DBMS

Seems like in Software Engineering we concentrate on capturing, designing, implementing, and deploying with emphasis on functional requirements. Little (not none!) emphasis on the non- functional requirements (quality factors). In the RUP, non-functional requirements are captured in the Software Requirements Specification (SRS); functional requirement usually captured in Use Case stories.

Need for Comprehensive Software Quality Requirements Need for improving poor requirements documents is widespread Frequently lack quality factors such as: usability, reusability, maintainability, … Software industry groups the long list of related attributes into what we call quality factors. (Sometimes non- functional requirements) Natural to assume an unequal emphasis on all quality factors. Emphasis varies from project to project  Scalability; maintainability; reliability…

Quality factors Quality factors provide :  Goal-oriented methodology for measuring software quality  Another dimension by which Software req (non functional) can be addressed.  Identification of important attributes in the product that will have impact on its life cycle.  A basis for process improvement

Software quality 6 Software quality framework Software quality factor  Management-oriented view of produce quality Software quality criteria  Software-oriented attributes which provides quality Software quality metrics  Quantitative measures of those attributes  Figure : Software quality framework

Software quality framework

Software quality 8 Metrics How to measure software quality?  We need some numbers!  Metrics are measurements of whether the criteria exists or not, and to what degree Example metrics  Checklists: Grading the software  Inspection guidelines  Quantitative measures  Table 5. Quality Metrics Summary, page

McCall’s Quality Factors McCall has 11 factors; Groups them into categories.  1977; others have added, but this still prevail. Three categories:  Product Operation Factors How well it runs…. Correctness, reliability, efficiency, integrity, and usability  Product Revision Factors How well it can be changed, tested, and redeployed. Maintainability; flexibility; testability  Product Transition Factors How well it can be moved to different platforms and interface with other systems Portability; Reusability; Interoperability.

Product operation - Will it work correctly now and in the future? A customer or user of a newly developed software product is initially concerned, from quality viewpoint, with how well that product operates. For example, does it perform the function desired correctly, reliability, as efficiently as required, and in some case, securely ? Product revision - Can it be changed? If the product is going to be used for a long time, then the concern becomes whether it is easy to maintain, change and test to see if the fixes and changes have been made correctly Product transition - Can it be used in other contexts? How easy it is to adapt the software for use beyond its original intended use.

Software quality factors Product operation factors Product revision factors Product transition factors Note: not much apparent emphasis on functionality – only in correctness.

Correctness Reliability Efficiency Integrity Usability How well does it run and ease of use.

Maintainability Flexibility Testability Can I fix it easily, retest, version it, and deploy it easily?

Portability Reusability Interoperability Can I move the app to different hardware? Interface easily with different hardware / software systems; can I reuse major portions of the code with little modification to develop new apps?

Quality Factors

Allocation of software quality to dev life cycle

Define and give example of each Usability Integrity Efficiency Correctness Reliability Maintainability Testability Flexibility Reusability Portability Interoperability

Quality factors and criteria Quality factors represent a management- oriented view of software quality, but to introduce a quantitative dimension : For each factor, we define a set of criteria or attributes. Criteria are indepenedent attributes of the software, or the software production process, by which quality can be judged, defined and measured. These criteria help describe the relationship between factors since one criteria can be related to more than one factor ( factor to factor trade-off)

Operability Training Communicativeness Input/Output volume Input/Output gate Access Control Access Audit Storage efficiency Execution Efficiency Traceability Completeness Accuracy Error Tolerance Consistency Simplicity Conciseness Instrumentation Expandability Generality Self-Descriptiveness Modularity Machine Independence Software System Independence Communications Commonality Data Commonality Usability Integrity Efficiency Correctness Reliability Maintainability Testability Flexibility Reusability Portability Interoperability

Factor to factor trade-off We can not achieve all the quality factors, a compromise should be done:  A developement for which reliability is important will also generally result in software that easier to test or vis versa (light circle).  Sometimes (filled-in circle), goals can conflict or costly or difficult to achieve together. For example, highly efficient software is often achieved using lower level languages, making the system hard to understand and therefore to maintain.

Quality factor specification process Important quality factors are identified.The user must evaluate the quality requirements and identify which quality factors are important to specify within the context of the developemnt methodology. They are related to the system characteristics Quality factor are specified as requirements. Identification of supporting criteria (software attributes) Provision of measurements to assess their attainment.

Guidelines for identifying important quality factors Table x :Quality factor related to system characteristics

Quality factor specification process