software quality models and standars


Presentation Description

No description available.


Presentation Transcript



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 Flexibility Testability Portability Reusability Interoperability

Slide 7: 

Product Revision: These factors pertain to the Testing and Maintainability of Software. It gives idea about maintenance, flexibility and Testing effort Product Transition: To transfer a product from one platform to another platform or from one technology to another technology. Product Operation: Here factors are related to the Operational performance, convenience, ease of usage and correctness.


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 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 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: Primary uses Intermediate constructs Primitive constructs This model is similar to Mc Call but also includes hardware performance that are missing in Mc Call. Model reflects: 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 * * Testability * Interoperability * Flexibility * * Reusability * * Portability * * Clarity * Modifiability * Documentation * Resilience * Understandability * Validity * Functionality Generality * 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 Quality system Contract review Design Control Document and data control Purchasing Control of customer supplied product Product identification and traceability Process control 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 Training Servicing 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? Most products have safety standards, and many have usability standards, but computer software rarely has such standards. Can quality be improved by enforcing standards? Unclear: It is very difficult to enforce standards on actual program behavior 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.