Chapter # 2 Software Quality Factors

Slides:



Advertisements
Similar presentations
Systems Implementation and Operation
Advertisements

Software Quality Assurance Plan
PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
CHAPTER 1 Introduction to SQA.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Definitions and objectives Software testing strategies Software test.
Quality assurance in software production Lari Karppinen
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited The need for comprehensive software quality requirements Classification.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The need for comprehensive software quality requirements Classification.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 9.3 Software Testing Strategies.
Software Quality Assurance
SOFTWARE QUALITY ASSURANCE SOFTWARE QUALITY ASSURANCE  DEFINITIONS OF SQA  SOFTWARE STANDARDS  Process Quality Assurance  Product Quality Assurance.
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
 The McCall’s model a classic model of software quality factors, consists of 11 factors, subsequent models, consisting of 12 to 15 factors, were suggested.
Factor Of Software Quality
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
S OFTWARE Q UALITY A SSURANCE M ODEL. S UGGESTED MODEL One of SQA model that is suggested is a McCall’s model which consists of 11 factors, subsequent.
Software Quality Assurance
Managing Software Quality
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
SENG521 (Fall SENG 521 Software Reliability & Testing Software Product & process Improvement using ISO (Part 3d) Department.
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,
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 3 Software Quality Factors.
Software Testing and Quality Assurance Software Quality Assurance 1.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
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 factors
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
SEN 460 Software Quality Assurance
CSE 303 – Software Design and Architecture
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
SE513 Software Quality Assurance Lecture02: Software Quality Factors SE513 Software Quality Assurance Lecture02: Software Quality Factors Galin, SQA from.
Chapter 3 Software Quality Factors. The need for comprehensive Software Quality Requirements Classification of requirements into Software Quality Factors.
TOTAL QUALITY MANAGEMENT
16CS202 & Software Engineering
Software Quality Control and Quality Assurance: Introduction
Software Quality Factors
Classifications of Software Requirements
Rekayasa Perangkat Lunak Part-10
Rekayasa Perangkat Lunak
PLM, Document and Workflow Management
Software Verification and Validation
SEVERITY & PRIORITY RELATIONSHIP
Source & Courtesy: Doc. S. Dapkūnas
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
IT Roles and Responsibilities
CHAPTER 2 Testing Throughout the Software Life Cycle
Software engineering.
VENDORS, CONSULTANTS AND USERS
مقدمه اي بر مهندسي نيازمنديها
Rekayasa Perangkat Lunak
Tools of Software Development
Introduction to Software Testing
Software quality factors
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software life cycle models
Chapter # 8 Quality Management Standards
Chapter # 6 Software Configuration Management
Chapter # 7 Software Quality Metrics
Chapter # 4 Development and Quality Plans
Chapter # 1 Overview of Software Quality Assurance
Software quality factors
Presentation transcript:

Chapter # 2 Software Quality Factors 435-INFS-3 Software Quality Assurance Chapter # 2 Software Quality Factors Software Quality Assurance from Theory to Implementation by Daniel Galin Prepared by: S.Hashmi

The need for a comprehensive definition of requirements There is a need for a comprehensive definition of requirements that will cover all attributes of software and aspects of the use of software, including usability aspects, reusability aspects, maintainability aspects, and so forth in order to assure the full satisfaction of the users The great variety of issues related to the various attributes of software and its use and maintenance, as defined in software requirements documents, can be classified into content groups called quality factors. Classifications of software requirements into software quality factors McCall’s factor model McCall’s factor model classifies all software requirements into 11 software quality factors. The 11 factors are grouped into three categories – product operation, product revision and product transition – as follows Product operation factors: Correctness, Reliability, Efficiency, Integrity, Usability. Product revision factors: Maintainability, Flexibility, Testability. Product transition factors: Portability, Reusability, Interoperability.

Product operation software quality factors According to McCall’s model, five software quality factors are included in the product operation category, all of which deal with requirements that directly affect the daily operation of the software. These factors are as follows Correctness Correctness requirements are defined in a list of the software system’s required outputs, such as a query display of a customer’s balance in the sales accounting information system, or the air supply as a function of temperature specified by the firmware of an industrial control unit The completeness of the output information, which can be adversely affected by incomplete data. The availability of information Reliability Reliability requirements deal with failures to provide service. They determine the maximum allowed software system failure rate, and can refer to the entire system or to one or more of its separate functions. Example. ) 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.

Continue Efficiency Efficiency requirements deal with the hardware resources needed to perform all the functions of the software system in conformance to all other requirements. The main hardware resources to be considered are the computer’s processing capabilities (measured in MIPS – million instructions per second, MHz or megahertz – million cycles per second, etc.), its data storage capability in terms of memory and disk capacity (measured in MBs – megabytes, GBs – gigabytes, TBs – terabytes, etc.) and the data communication capability of the communication lines (usually measured in KBPS – kilobits per second, MBPS – megabits per second, and GBPS – gigabits per second) Integrity Integrity requirements deal with the software system security, that is, requirements to prevent access to unauthorized persons, 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 Usability Usability requirements deal with the scope of staff resources needed to train a new employee and to operate the software system.

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: corrective maintenance (correction of software faults and failures), adaptive maintenance (adapting the current software to additional circumstances and customers without changing the software) and perfective maintenance (enhancement and improvement of existing software with respect to locally limited issues). 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 refer to the modular structure of software, the internal program documentation, and the programmer’s manual, among other items. Examp 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.

Continue Flexibility The capabilities and efforts required to support adaptive maintenance activities are covered by the flexibility requirements. These include the resources (i.e. 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, such as changes and additions to the software in order to improve its service and to adapt it to changes in the firm’s technical or commercial environment. 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,.

Product transition software quality factors According to McCall, three quality factors are included in the product transition category, a category that pertains to the adaptation of software to other environments and its interaction with other software systems Portability Portability requirements tend to the adaptation of a software system to other environments consisting of different hardware, different operating systems, and so forth. These requirements make it possible to continue using the same basic software in diverse situations or to use it simultaneously in diverse hardware and operating systems situations. Reusability Reusability requirements deal with the use of software modules originally designed for one project in a new software project currently being developed. They may also enable future projects to make use of a given module or a group of modules of the currently developed software. The reuse of software is expected to save development resources, shorten the development period, and provide higher quality modules

Continue Interoperability Interoperability requirements focus on creating interfaces with other software systems or with other equipment firmware (for example, the firmware of the production machinery and testing equipment interfaces with the production control software). Interoperability requirements can specify the name(s) of the software or firmware for which interface is required. They can also specify the output structure accepted as standard in a specific industry or applications area. Alternative models of software quality factors Two factor models, appearing during the late 1980s, considered to be alternatives to the McCall classic factor model (McCall et al., 1977), deserve discussion: The Evans and Marciniak factor model (Evans and Marciniak, 1987). The Deutsch and Willis factor model (Deutsch and Willis, 1988). Formal comparison of the alternative models A formal comparison of the factor models reveals: Both alternative models exclude only one of McCall’s 11 factors, namely the testability factor. ■ The Evans and Marciniak factor model consists of 12 factors that are classified into three categories

Continue The Deutsch and Willis factor model consists of 15 factors that are classified into four categories. Taken together, five new factors were suggested by the two alternative factor models: Verifiability (by both models) Expandability (by both models  Safety (by Deutsch and Willis) Manageability (by Deutsch and Willis) Survivability (by Deutsch and Willis). Verifiability (suggested by Evans and Marciniak) Verifiability requirements define design and programming features that enable efficient verification of the design and programming. Most verifiability requirements refer to modularity, to simplicity, and to adherence to documentation and programming guidelines Expandability (suggested by Evans and Marciniak, and Deutsch and Willis) Expandability requirements refer to future efforts that will be needed to serve larger populations, improve service, or add new applications in order to improve usability. The majority of these requirements are covered by McCall’s flexibility factor

Continue Safety (suggested by Deutsch and Willis) Safety requirements are meant to eliminate conditions hazardous to operators of equipment as a result of errors in process control software. These errors can result in inappropriate reactions to dangerous situations or to the failure to provide alarm signals when the dangerous conditions to be detected by the software arise. Manageability (suggested by Deutsch and Willis) Manageability requirements refer to the administrative tools that support software modification during the software development and maintenance periods, such as configuration management, software change procedures, and the like. Survivability (suggested by Deutsch and Willis) Survivability requirements refer to the continuity of service. These define the minimum time allowed between failures of the system, and the maximum time permitted for recovery of service, two factors that pertain to service continuity.

Comparison of the factor models – content analysis After comparing the contents of the factor models, we find that two of the five additional factors, Expandability and Survivability, actually resemble factors already included in McCall’s factor model, though under different names, Flexibility and Reliability. In addition, McCall’s Testability factor can be considered as one element in his own Maintainability factor. This implies that the differences between the three factor models are much smaller than initially perceived. That is, the alternative factor models add only three “new” factors to McCall’s model: Both models add the factor Verifiability. The Deutsch and Willis model adds the factors Safety and Manageability. Who is interested in the definition of quality requirements? The client is not the only party interested in thoroughly defining the requirements that assure the quality of the software product. The developer is often interested in adding requirements that represent his own interests, such as reusability, verifiability and portability requirements. These may not, however, be of interest to the client. Thus, one can expect that a project will be carried out according to two requirements documents: The client’s requirements document The developer’s additional requirements document.

THANK YOU