Software Quality Factors

Similar documents
Software Quality. A Definition of Quality. Definition of Software Quality. Definition of Implicit Requirements

Software Quality Management

To get the most out of this tutorial, it is good to have a basic understanding of the Software Development Life Cycle (SDLC).

International Standard ISO/IEC 9126

GAIA. GAIA Software Product Assurance Requirements for Subcontractors. Name and Function Date Signature 15/09/05 15/09/05 15/09/05 15/09/05 15/09/05

JOURNAL OF OBJECT TECHNOLOGY

The Forgotten -Ilities. James D. Willis, Jr. SPEC Innovations Balls Ford Road Suite 230 Manassas VA 20109

The Forgotten -ilities Balls Ford Road Balls Ford Road Manassas VA Manassas VA 20109

Project Report Template (Sem 1)

Software Development Life Cycle (SDLC) Tata Consultancy Services ltd. 12 October

Developing Software Quality Plans a Ten Step Process. Phil Robinson Lonsdale Systems. Software Quality Plans. We all agree that you need one

Software metrics. Jaak Tepandi

Ingegneria del Software II academic year: Course Web-site: [

Object-Oriented and Classical Software Engineering

Elements of a Good Information System. Kyle Duarte Antalya, Turkey December 2013

Introduction to Software Engineering

Testing. Testing is the most important component of software development that must be performed throughout the life cycle

Subject : Computer Science. Paper : Software Quality Management. Module : Quality Management Activities Module No: CS/SQM/15

Quality Management. Managing the quality of the design process and final

IT Software Testing

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

QPR ScoreCard. White Paper. QPR ScoreCard - Balanced Scorecard with Commitment. Copyright 2002 QPR Software Oyj Plc All Rights Reserved

Integrated Batch Solution for Pharmaceutical Rubber Production: The IPS Approach

Reference report Oil & Gas

WORK SMART, NOT HARD. Molly

ASSESSING QUALITY IN SOFTWARE ENGINEERING: A PRAGMATIC APPROACH. University of Pretoria

Work Plan and IV&V Methodology

Idhammar MMS The Business Case

Best Practices for the Architecture, Design, and Modernization of Defense Models and Simulations

CCU 2010 / Identifying User Needs and Establishing Requirements. Lesson 7. (Part1 Requirements & Data Collection)

Task 1: Multiple Choice (25%)

Requirements Gathering using Object- Oriented Models

Chapter 3 Software Process Model

Software Component Quality Characteristics Model for Component Based Software Engineering

Moving toward software product lines in a small software firm: a case study

AUTOMOTIVE SPICE v3.1 POCKET GUIDE

State of Washington. WIC Cascades Project MIS Transfer and Implementation Scope of Work. Department of Health

Introduction to Software Engineering

CHALLENGES (BARRIERS) IN ADOPTING THE ELECTRONIC COMMERCE SYSTEM IN LIC OF INDIA

ECSS-Q-ST-80C. Space product assurance. Software product assurance. Training Course. Fernando Aldea Head of Section Jordi Duatis Manrico Fedi

Number: DI-IPSC-81427B Approval Date:

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

CASE STUDY: 1ST AVE MACHINE

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

Software Architecture Evaluation Framework The Aerospace Corporation

Difference between the ASP Model and the SaaS Model. LuitBiz. Phone:

Using Analytic Hierarchy Process to Evaluate Software Quality Characteristics of Smartphone

Building quality into the software from the. Keeping and. the software. software life cycle

DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO USE SOFTWARE PRODUCTS

V&V and QA throughout the M&S Life Cycle

03. Perspective Process Models

Lecture 6 Software Quality Measurements

ISTQB Sample Question Paper Dump #11

Machina Research White Paper for ABO DATA. Data aware platforms deliver a differentiated service in M2M, IoT and Big Data

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Pass4sure.ITIL-F.347.QA

Enhancing. PeopleSoft Applications With Oracle Fusion Middleware

Agile Plus Comprehensive model for Software Development

Note 10: Software Process

siemens.com/simatic-it SIMATIC IT for Automotive Suppliers Answers for industry.

Operational Requirements Document (ORD)

Top 10 Reasons Why Enterprises Should Adopt a Cloud-based Approach for Mobile Application Testing

Risk-Based Testing: Analysis and Strategy. Presented at Quality Assurance Institute QUEST Conference Chicago, Ill., 2009

InfoSphere Warehousing 9.5

Module 1 Introduction. IIT, Bombay

Systems Engineering Concept

Maintainability: Factors and Criteria

SIGNAGE MEETS INNOVATION THINKING

Lead Architect, Enterprise Technology Architect

Partner & Quality Management System

Digital Advertising Alliance of Canada. Application of Self-Regulatory Principles to the Mobile Environment

0 Introduction Test strategy A Test Strategy for single high-level test B Combined testing strategy for high-level tests...

PROFESSIONAL SERVICES CONSULTANT

WHITE PAPER. Today s IT Demands. New Approaches in QA and Test. White Paper. Today s IT Demands. New Approaches in QA and Test

MOTOTRBO CONTROL ROOM SOLUTIONS SMARTPTT PLUS - TRBONET PLUS PREMIUM CONTROL ROOM SOLUTIONS FOR MOTOTRBO DIGITAL TWO-WAY RADIO SYSTEMS SOLD AND

Information Technology Division Service Level Agreement (SLA) Description and Process

The Verification Company. Software Development and Verification compliance to DO-178C/ED-12C

The Digital Maturity Model & Metrics Accelerating Digital Transformation

Holistic Serialization Solution

The Appliance Based Approach for IT Infrastructure Management

C2-304 INTEGRATED INFORMATION SYSTEM FOR THE SIEPAC REGIONAL ELECTRICITY MARKET

Jetstream Certification and Testing

Object-Oriented & Classical Soft Engineering

A technical discussion of performance and availability December IBM Tivoli Monitoring solutions for performance and availability

The SaaS LMS and Total Cost of Ownership in FDA-Regulated Companies

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

Business Enabled Applications & Infrastructure

Enterprise Resource Planning Systems

Quality. And Software Product Management. Autumn 2017 CSM14104 Software Product Management 1

IBM s SOA Quality Management Strategy with Rational and Tivoli Terry Goldman Technical Evangelist Rational Software IBM ASEAN/SA

Applying Agility to DoD Common Operating Platform Environment Initiatives

TechniCom, Inc. 66 Mt. Prospect Avenue Clifton, NJ USA (973)

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

CHAPTER 2 LITERATURE SURVEY

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

The Need to Evaluate Strategy and Tactics before the Software Development Process Begins

CONCEPTUAL DESIGN OF AN AUTOMATED REAL-TIME DATA COLLECTION SYSTEM FOR LABOR-INTENSIVE CONSTRUCTION ACTIVITIES

Application of an Agile Development Process for EN50128/railway conformant

At the Heart of Connected Manufacturing

Transcription:

Software Quality Factors

The need for a comprehensive software quality requirements There are some characteristic common : All the software projects satisfactory fulfilled the basic requirements for correct calculations All the software projects suffered from poor performance in important areas such as maintenance, reliability, software reuse, or training. The cause for the poor performance of the developed software projects in these areas was the lack of predefined requirements to cover these important aspects of the software s functionally.

The need for a comprehensive definition of requirements (2) There is a need for a comprehensive definition of requirements that will cover all attributes of software and aspects of the usability aspects, reusability aspects, maintainability aspects, and so forth in order to assure the full satisfaction of the users. Software industry groups the long list of related attributes into what we call quality factors. (non-functional requirements) Requirement documentation (specification) is one of the most important elements for achieving good software quality

The Facts Seems like in Software Engineering we concentrate on capturing, designing, implementing, and deploying with emphasis on functional requirements. Little (not none!) emphasis on the nonfunctional requirements (quality factors). More and more emphasis now placed on quality factors Can be a critical factor in satisfying overall requirements.

The Facts (2) In the RUP, non-functional requirements are captured in the Software Requirements Specification (SRS); functional requirement usually captured in Use Case stories.

Classification of software requirements into software quality factors The classic model of software quality factors suggest by : McCall (consist of 11 factors, 1977) Deutsch and Willis (consist of 12 to 15 factors, 1988) Evans and Marciniak (1987)

McCall s Factor Model Classifies all software requirement into 11 software quality factors, grouped into three categories : 1. Product operation factors : Correctness, Reliability, Efficiency, Integrity, Usability. 2. Product revision factors : Maintainability, Flexibility, Testability. 3. Product transition factors : Portability, Reusability, Interoperability.

McCall s Factor Model

Product Operation Factors How well does it run and ease of use?

Product Operation - Correctness Correctness requirements are defined in a list of the software system s required outputs. Output specifications are usually multidimensional; some common dimensions include : o The output mission o The required accuracy of output o The completeness of the output information o The up-to-dateness of the information o The availability of the information o The standards for coding and documenting the software system.

Product Operation - Reliability Reliability requirements deal with failures to provide service. Determine the maximum allowed software system failures rate, and can refer to the entire system or to one or more of its separate functions. Use MTTF, MTBF and MTTR calculation Examples : 1. The failures frequency of a heart-monitoring unit that will operate in a hospital s intensive care ward is required to be less than one in 20 years. Its heart attack detection function is required to have a failure rate of less than one per million cases. 2. One requirement of the new software system to be installed in the main branch of Independence Bank, which operates 120 branches, is that it will not fail, on average, more than 10 minutes per month during the bank s office hours.

Product Operation - Efficiency Efficiency requirements deal with the hardware resources needed to perform all the functions of the software system in conformance to all other requirements. Here we consider MIPS, MHz (cycles per second); data storage capabilities measured in MB or TB or communication lines (usually measured in KBPS, MBPS, or GBPS). Examples : 1. A chain stores is considering two alternative bids for a software system. 2. Very slow communications

Product Operation - Integrity Integrity requirements deal with the software system security, that is requirements to present access to an authorize person, [to distinguish between the majority of personnel allowed to see the information ( read permit ) and a limited group who will be allowed to add and change data ( write permit ), and so forth.] Example : GIS SW allowed citizens access to its GIS through Internet only for viewing and copying data but not to insert changes.

Product Operation - Usability Usability deals with learnability, utility, usability, and more Usability requirements deal with the scope of staff resources needed to train a new employee and to operate the software system. Example : The software usability requirements document for the new help desk system initiated by a home appliance service company lists the following specifications : a. A staff member should be able to handle at least 60 service calls a day b. Training a new employee will take no more than two days, immediately at the end of which the trainee will be able to handle 45 service calls a day.

Product Revision Factors Can I fix it easily, retest, version it, and deploy it easily?

Product Revision software Quality Factors According to the McCall model of software quality factors, three quality factors comprise the product revision category. These factors deal with those requirements that affect the complete range of software maintenance activities : o Corrective maintenance o Adaptive maintenance o Perfective maintenance

Product Revision Maintainability Maintainability requirements determine the efforts that will be needed by users and maintenance personnel to identify the reasons for software failures, to correct the failures, and to verify the success of the corrections. This factor s requirements determine refer to the modular structure of software, the internal program documentation, and the programmer s manual, architectural and detail design and corresponding documentation. Example typical maintainability requirements : a. The size of a software module will not exceed 30 statements. b. The programming will adhere to the company coding standards and guidelines.

Product Revision - Flexibility The capabilities and efforts required to support adaptive maintenance activities are covered by the flexibility requirements. These include the resources (in man-days) required to adapt a software package to a variety of customers of the same trade, of various extents of activities, of different ranges of products, and so on. This factor s requirements also support perfective maintenance activities. May also involve a little perfective maintenance to perhaps do a little better due to the customer s perhaps slightly more robust environment. Different clients exercise software differently and this is big!

Product Revision - Testability Testability requirements deal with the testing of an information system as well as with its operation. Testability requirements for the ease of testing are related to special features in the programs that help the tester, for instance by providing predefined intermediate results and log files. Are intermediate results of computations predefined to assist testing? Are log files created? Backup? Does the software diagnose itself prior to and perhaps during operations?

Product Transition Factors Can I. a. move the app to different hardware? b. interface easily with different hardware / software systems? c. reuse major portions of the code with little modification to develop new apps?

Product Transition - Portability Portability requirements tend to the adaptation of software system to other environments consisting of different hardware, different operating systems, and so forth.

Product Transition - Reusability Reusability requirements deal with the use of software modules originally designed for one project currently being developed. Can save immense development costs due to errors found / tested. Certainly higher quality software and development more quickly results. Very big deal nowadays.

Product Transition - Interoperability Interoperability requirements focus on creating interfaces with other software systems or with other equipment firmware. Interoperability requirements can specify the name of the software or firmware for which interface is required. Frequently these will be known ahead of time and plans can be made to provide for this requirement during design time. Sometimes these systems can be quite different; different platforms, different databases, and more Also, industry or standard application structures in areas can be specified as requirements.

Alternative Models of Software Quality Factors Formal comparison of the alternative models (Evans M 1987, Deutsch & Willis 1988) Comparison of the factors models-content analysis (verifiability, expandability, safety, manageability, survivability) Structure of the alternative factor models

Models Comparison of Software Quality Factors

Alternative Factors

Alternative - Verifiability Verifiability requirements addresses design and programming features that allow for efficient verification of design and programming This does not refer to outputs; rather, structure of code, such as design elements and their dependencies, coupling, cohesion; patterns apply to modularity, simplicity, adherence to documentation and programming guidelines, etc. Look at the UML for dependencies, cohesion, coupling

Alternative - Expandability Expandability requirements really refers to scalability and extensibility to provide more usability. Essentially this is McCall s flexibility

Alternative - Safety Safety requirements address conditions that could bring the equipment or application down especially for controlling software, as in setting alarms or sounding warnings. Safety is clearly important as computers control more and more of what we do especially in both hardware and in software. Especially important to process control / real time software such as that running conveyor belts or instrumentation for ordinance New cars will now sound an alarm as we back up; software will sound when power is interrupted.

Alternative - Survivability Survivability requirements refer to MTBF, or continuity of service, as well as MTTR (mean time to recover). Appears to be quite similar to Reliability in McCall s model

Alternative - Manageability Manageability requirements refer to tools primarily administrative to control versions, configurations and change management / tracking. We must have tools to manage versions and various configurations that may vary from customer to customer

Who is interested in the definition of quality requirements? Some quality factors not included in the typical client s requirements document may, in many cases, interest the developer. The following lists of quality factors usually interest the developer whereas they may raise very little interest on the part of the client : o Portability o Reusability o Verifiability

Requirements Documents A project will be carried out to according to two requirements documents : The client s requirements document The developer s additional requirements document

Software Compliance with Quality Factors The software s product compliance to the requirements belonging to the various quality factors is measured by software quality metrics, measures that quantify the degree of compliance. In order to allow for valid measurements of compliance, sub-factors have been defined for those quality factors that represent a wide range of attributes and aspects of software use.

Factors and sub-factors

Factors and sub-factors (cont.)

Factors and sub-factors (cont.)

Summary 1. The need for a comprehensive requirements documents and their contents. 2. The structure (categories and factors) of McCall s classic factor model. 3. The additional factors suggested by alternatives factor models. 4. Those interested in defining software quality requirements.

Questions? Thank you