SOFTWARE QUALITY MODELS AND STANDARDS : SOFTWARE QUALITY MODELS AND STANDARDS PREPARED BY:
JASPREET KAUR Software Quality : Software Quality In layman terms, quality refers to any measurable characteristics such as correctness, maintainability, portability, testability, usability, reliability, efficiency, integrity, reusability and interoperability.
In technical terms, quality is:
Conformance to specification
Meeting customer needs
Fitness for use Software Quality Models : Software Quality Models Software quality model is a representation of the characteristics of the software that describe its quality.
The main goal of quality models is to achieve Quality (more quality factors) with cost and performance as prime consideration. The Two Common Models : The Two Common Models McCall’s quality model (1977)
Boehm’s quality model (1978) McCall’s Quality Model (1977) : McCall’s Quality Model (1977) McCall attempts to bridge the gap between users and developers by focusing on a number of software quality factor that reflect both the users’ views and the developers’ priorities.
The McCall quality model has three major perspectives for defining and identifying the quality of a software product:
Product revision (ability to undergo changes),
Product transition (adaptability to new environments)
Product operations (its operation characteristics). McCall’s Software Quality Model : McCall’s Software Quality Model Product Revision Product Operation Product Transition Correctness, Efficiency, Integrity, Reliability, Usability Maintainability
Interoperability Slide 7: Product Revision:
These factors pertain to the Testing and Maintainability of Software. It gives idea about maintenance, flexibility and Testing effort
To transfer a product from one platform to another platform or from one technology to another technology.
Here factors are related to the Operational performance, convenience, ease of usage and correctness. PRODUCT TRANSITION : PRODUCT TRANSITION Product transition is all about
Portability-- the effort required to transfer a program from one environment to another
Reusability--the ease of reusing software in a different context and
Interoperability--the effort required to couple the system to another system. PRODUCT OPERATIONS : PRODUCT OPERATIONS Quality of product operations depends on
Correctness--the extent to which a program fulfils its specification
Reliability--the systems ability not to fail
Efficiency--further categorized into execution efficiency and storage efficiency and generally meaning the use of resources, e.g. processor time, storage
Integrity--the protection of the program from unauthorized access and
Usability--the ease of the software. PRODUCT REVISION : PRODUCT REVISION Product revision includes
Maintainability --the effort required to locate and fix a fault in the program within its operating environment
Flexibility --the ease of making changes required by changes in the operating environment and
Testability --the ease of testing the program, to ensure that it is error-free and meets its specification. Boehm’s Quality Model (1978) : Boehm’s Quality Model (1978) Boehm’s models attempts to qualitatively define software
quality by a given set of attributes and metrics. Boehm's model is similar to the McCall Quality Model in that it also presents a hierarchical quality model structured around high-level characteristics, intermediate level characteristics ,primitive characteristics - each of which contributes to the overall quality level. Boehm’s Software Quality Model : Boehm’s Software Quality Model Introduced in 78. Boehm has defined three levels of quality attributes:
This model is similar to Mc Call but also includes hardware performance that are missing in Mc Call.
What user want with S/w Product
Uses of Resources
Is Software easy to learn and use
Is well designed, well coded, easily tested & Maintained Slide 14: General Utility Portability Reliability Efficiency Human Engg. Testability Understandability Modifiability Device Independence Completeness Accuracy Consistency Device Efficiency Accessibility Communicativeness Legibility As is Utility Understandability General Utility Primary Uses/high level characteristics Intermediate Constructs Primitive Constructs Slide 15: Criteria/goals McCall,1977 Boehm,1978
Correctness * *
Reliability * *
Integrity * *
Usability * *
Effiency * *
Maintainability * *
Flexibility * *
Reusability * *
Portability * *
Economy * Slide 16: A standard is a set of rules or principles that are universally followed.
Differing views of quality standards: taking a systems view
(that good management systems yield high quality); and
taking an analytical view (that good measurement
frameworks yield high quality). Examples:
Quality management: ISO 9000-3 Quality Management
and Quality Assurance Standards - Part 3: Guidelines
for the application of 9001 to the development, supply,
installation and maintenance of computer software.
Quality measurement: IEEE Std 1061-1992 Standard
for Software Quality Metrics Methodology. QUALITY ASSURANCE STANDARDS ISO 9000 Quality Standards : ISO 9000 Quality Standards ISO 9000 describes quality assurance elements in generic terms that can be applied to any business.
It treats an enterprise as a network of interconnected processes.
To be ISO-complaint processes should adhere to the standards described.
Elements include organizational structure, procedures, processes and resources.
Ensures quality planning, quality control, quality assurance and quality improvement. ISO 9001 : ISO 9001 An international standard which provides broad guidance to software developers on how to Implement, maintain and improve a quality software system capable of ensuring high quality software
Consists of 20 requirements...
Differs from country to country.. ISO 9001 requirements : ISO 9001 requirements Management responsibility
Document and data control
Purchasing Control of customer supplied product
Product identification and traceability
Inspection and testing
Control of inspection, measuring and test equipment ISO 9001 (cont'd).. : ISO 9001 (cont'd).. Inspection and test status
Control of non-confirming product
Corrective and preventive action
Handling, storage, packaging, preservation and delivery Control of quality records
Internal quality audits
Statistical techniques ISO-9126 : ISO-9126 Single Model to standardize the Quality factors since 1980.
It makes easier to compare products.
It encompasses Six major attributes contributing the Quality
Functionality: Characteristics related with the achievement of purpose
Reliability: Capability of Software to maintain the performance of S/w
Usability: Effort required to use the software
Efficiency: Relationship b/w level of performance & amount of resources
Maintainability: Effort needed to make modification, improvement
Portability: Transfer of One software to another one SEI-CMM Level for Software : SEI-CMM Level for Software It was proposed by Software Engg. Institute of Carnegie Mellon University, USA
Specifically for Software Organizations to improve quality
CMM is a reference model which classifies the software development into 05 maturity levels.
Total 18 KPA available in Model as: Level 1 : No KPA, 2: 06 KPA, 3: 07 KPA, 4: 02 KPA, 5: 03 KPA
There exist Key Process Indicators to show various levels SEI-CMM Model for Software Orgn. : SEI-CMM Model for Software Orgn. BETTER QUALITY VIA STANDARDS? : BETTER QUALITY VIA STANDARDS? Most products have safety standards, and many have
usability standards, but computer software rarely has such
Can quality be improved by enforcing standards? Unclear:
It is very difﬁcult to enforce standards on actual
Standardizing the process can help make sure that no
steps are skipped, but
Standardizing to an inappropriate process can reduce
productivity, and thus leave less time for quality.