Lecture 21: Software Quality (part 2)" Ishikawa (Fishbone) Diagram"

Similar documents
SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

Software Engineering Compiled By: Roshani Ghimire Page 1

International Software & Systems Engineering. Standards. Jim Moore The MITRE Corporation Chair, US TAG to ISO/IEC JTC1/SC7 James.W.Moore@ieee.

Chap 1. Software Quality Management

Karunya University Dept. of Information Technology

Characteristics of Computational Intelligence (Quantitative Approach)

Evaluation of the Iceland State Financial and Human Resource System REPORT OF THE INDIVIDUAL EVALUATOR. Annex 2 SYSTEM AND SOFTWARE QUALITY

Mike Peters Senior Test Consultant/Delivery Manager LogicaCMG All rights reserved

CSC 408F/CSC2105F Lecture Notes

Requirements engineering and quality attributes

Lecture 9: Requirements Modelling

Lecture Softwareengineering-Vertiefung

Requirements engineering

Key Factors for Developing a Successful E-commerce Website

Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control

The Role of Information Technology Studies in Software Product Quality Improvement

Quality Management. Objectives

Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1

QUALITY MODEL BASED ON COTS QUALITY ATTRIBUTES

An Introduction to. Metrics. used during. Software Development

Quality Management. Managing the quality of the software process and products

Lecture 8 About Quality and Quality Management Systems

Defining Quality Workbook. <Program/Project/Work Name> Quality Definition

Effective Test Management can help you to launch mobile payments faster, smarter and cheaper

An Approach for Enhance the Software Quality Based on Quality Model

QUALITY MANAGEMENT AND CLIENT RELATIONSHIP MANAGEMENT IN SOFTWARE TESTING Shubhra Banerji Address for Correspondence

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

ISO/IEC Software Product Quality Model

Learning outcomes. Systems Engineering. Software Quality Management. Product reflects Process. Lecture 5. Introduction to Software Quality Management

Prof. Paolo Nesi. Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet

application of software quality models in evaluation of study quality

Evaluating the Quality of Software in ERP Systems Using the ISO 9126 Model

Engineering Process Software Qualities Software Architectural Design

International Journal of Advance Research in Computer Science and Management Studies

Ten steps to better requirements management.

Multi-view Architecting

Quality Management. What is quality? Managing the quality of the software process and products ISO 9000

ISO and Industry Standards for User Centred Design

Quality Management. Lecture 12 Software quality management

How To Write Software

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Integrated Software Quality Evaluation: A Fuzzy Multi-Criteria Approach

Lecture 11: Managing Your Project" Starting point"

Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

Software Requirements Specification

Fundamentals of Measurements

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process

Quality Management & Process Improvement. Quality Management. Software quality management. What is quality?

Good Software. Lecture 6 GSL Peru 2014

Quiz Examination in Software Engineering Theory

SOA and BPO SOA orchestration with flow. Jason Huggins Subject Matter Expert - Uniface

Software Testing Interview Questions

A Quality Model of e-government Services Based on the ISO/IEC 9126 Standard

Software Process Training

Software Engineering: Analysis and Design - CSE3308

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

The Complete Alphabet of Quality Software Systems: Conflicts and Compromises

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS

Comparison of Software Quality Models: An Analytical Approach

A Comparative Study of Software Quality Models

Manufacturing View. User View. Product View. User View Models. Product View Models

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

Software & Security Assurance Metrics and methods for software certification

Chapter 3 TOTAL QUALITY MANAGEMENT

Introduction to Software Engineering. 8. Software Quality

Basic Testing Concepts and Terminology

Lean Six Sigma Training The DMAIC Story. Unit 6: Glossary Page 6-1

ROEVER ENGINEERING COLLEGE Elambalur,Perambalur DEPARTMENT OF CSE SOFTWARE QUALITY MANAGEMENT

Index. inherent and testability, 93 measure of, 96, 97 operational, 95 operational and testability, 91 Axiomatic Design Methodology, 15, 16, 36 38

DIFFERENT PRAGMATIC APPROACHES OF TESTING THE CLOUD APPLICATION USING SIMULATORS/EMULATORS

COSC345 Week 18. Quality Management and Metrics. 5 August 2014

Aerospace Software Engineering

Certified Software Quality Engineer (CSQE) Body of Knowledge

SELECTION OF AN ORGANIZATION SPECIFIC ERP

An Increase in Software Testing Robustness: Enhancing the Software Development Standard for Space Systems

Introduction and Overview

Outline. Definitions. Course schedule

Software Development Life Cycle (SDLC)

Application of UML in Real-Time Embedded Systems

Lecture 20: Software Evolution

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Software Quality Management

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Quality of the Open Source Software

Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA)

What do you think? Definitions of Quality

Chapter 7: Software Engineering

Causal Relationships between Improvements in Software Development Processes and Final Software Product Quality

1. INTRODUCTION. 23'd Int. Conf. Information Technology Interfaces /TI 2007, June 19-22, 2001, Pula, Croatia

How To Test A Robot Platform And Its Components

Relational Analysis of Software Developer s Quality Assures

Metric Based Architecture to Enhance Software Usability

A REVIEW FRAMEWORK FOR OPEN SOURCE ORIENTED SOFTWARE

Keywords Class level metrics, Complexity, SDLC, Hybrid Model, Testability

Testing Metrics. Introduction

2. Analysis, Design and Implementation

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Software Engineering 9.1. Quality Control

Model Based E/E Architecture Development at Daimler

Transcription:

" " Lecture 21: Software Quality (part 2)" " Tools for improving process quality" " Software Quality Attributes" 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 16 Ishikawa (Fishbone) Diagram" 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 17 1

Pareto Chart" Measure frequency! of each cause! 20% of the problem cause! 80% of the defects!! Plot causes in order of frequency!! Plot percentage contributions!! Identify the top causes! Root Causes! 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 18 How to assess software quality?" Reliability" designer must be able to predict how the system will behave:" completeness - does it do everything it is supposed to do? (e.g. handle all possible inputs)" consistency - does it always behave as expected? (e.g. repeatability)" robustness - does it behave well under abnormal conditions? (e.g. resource failure)" Efficiency" Use of resources such as processor time, memory, network bandwidth" This is less important than reliability in most cases" Maintainability" How easy will it be to modify in the future?" perfective, adaptive, corrective" Usability" How easy is it to use?" Source: Budgen, 1994, pp65-7 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 19 2

Measuring Quality" We have to turn our vague ideas about quality into measurables" The Quality Concepts (abstract notions of quality properties) Source: Budgen, 1994, pp60-1 reliability examples... maintainability usability Measurable Quantities (define some metrics) mean time to failure? information flow between modules? time taken to learn how to use? Counts taken from Design Representations (realization of the metrics) run it and count crashes per hour??? count procedure calls??? minutes taken for some user task??? 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 20 Boehm s Quality Map" General utility Source: See Blum, 1992, p176 As-is utility Maintainability portability reliability efficiency usability testability understandability modifiability device-independence self-containedness accuracy completeness robustness/integrity consistency accountability device efficiency accessibility communicativeness self-descriptiveness structuredness conciseness legibility augmentability 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 21 3

McCall s Quality Map" Source: See van Vliet 2000, pp111-3 Product operation Product revision Product transition usability integrity efficiency correctness reliability maintainability testability flexibility reusability portability interoperability operability training communicatativeness I/O volume I/O rate Access control Access audit Storage efficiency execution efficiency traceability completeness accuracy error tolerance consistency simplicity conciseness instrumentation expandability generality Self-descriptiveness modularity machine independence s/w system independence comms. commonality data commonality 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 22 ISO/IEC 9126" Source: See Spinellis 2006, pp5-6 Functionality Suitability Accuracy Time behaviour Resource Utilization Efficiency Interoperability Analyzability Security Changeability Reliability Maturity Fault Tolerance Recoverability Stability Testability Maintainability Understandability Adaptability Usability Learnability Installability Portability Operability Co-existance Attractiveness Replaceability 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 23 4

Conflicts between Quality factors" Testability! Accuracy! Fault Tolerance! Efficiency! Portability! Maturity! Stability! Maintainability! Functionality! Security! Reliability! Usability! 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 24 More abstractly " Quality! Cost! Schedule! Better, Faster, Cheaper - pick any two! Resource Utilization! ( Space )! Time behaviour! ( Time )! 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 25 5

Measurable Predictors of Quality" Simplicity" the design meets its objectives and has no extra embellishments" can be measured by looking for its converse, complexity:" control flow complexity (number of paths through the program)" information flow complexity (number of data items shared)" name space complexity (number of different identifiers and operators)" Modularity" Source: Budgen, 1994, pp68-74 different concerns within the design have been separated" can be measured by looking at:" cohesion (how well components of a module go together)" coupling (how much different modules have to communicate)" 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 26 Wasserman s Steps to Maturity" Abstraction" Allows you to focus on the essence of a problem" Analysis and Design methods and notations" A shared language for expressing ideas about software" User Interface Prototyping" Understand the user and evaluate the user s experience" Software Architecture" Identify architectural styles and patterns" Software Process" Identify appropriate processes and assess their effectiveness" Reuse" Systematic ways to reuse past experience and products" Measurement" Better metrics to understand and manage software development" Tools and Integrated Environments" Automate mundane tasks, keep track of what we have done " " 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 27 6