software quality - upmocw.upm.es/lenguajes-y-sistemas-informaticos/software-quality... · calidad...
TRANSCRIPT
Calidad del Software
• Quality models are used to build better products or services and to assure their quality.
• Software quality models are used to evaluate a software taking into account criteria for satisfying: • Developers needs • Maintainers needs • Clients that buy the software • End users.
Quality models
Calidad del Software
Quality models • FCM (Factors/Criteria/Metrics) McCall (1977) • Boehm’s Model (1978) • GQM Paradigm (Goal-Question-Metric) (1988) • Gilb’s Model(1988) • Framework ISO 9126 (1991) • CMM (Capability Maturity Model) (1993) • SPICE (Software Process Improvement and
Capability determination) (1999) • CMMi (Capability Maturity Model Integration)
(2000)
Calidad del Software
McCall’s model
Factors/Criteria/Metrics (McCall)
• Each determinant factor of quality is divided into several properties or criteria, which determine quality.
• Criteria are evaluated by means of metrics.
Calidad del Software
The model divides quality concept into three main perspectives for characterizing the quality attributes of a software product: • Product Operation (basic operational characteristic). • Product Revision (ability to chance) • Product Transition (adaptability to new environments).
McCall’s model
Calidad del Software
McCall’s model
° Portability. ° Reusability. ° Interoperability.
Adaptability Product Transition
° Maintainability. ° Flexibility. ° Testability.
Ability to change. Product Revision
° Correctness. ° Reliability. ° Efficiency, system resource usage. ° Integrity. ° Usability.
Basic Operational Characteristic. Product Operations
Factors Point of view
Calidad del Software
McCall’s model
° Completeness ° Consistency ° Traceability
Correctness, the functionality matches the specification.
° Access control ° Easiness of be audited ° Security
Integrity, protection from unauthorized access
° Easiness of be operated ° Easiness of communication ° Easiness of be learnt ° Training
Usability, ease of use Criteria Factors
Calidad del Software
McCall’s model
° Running efficiency ° Storing efficiency
Efficiency, system resource (including cpu, disk, memory, network) usage
° Precision ° Consistency ° Faults tolerance ° Modularity ° Simplicity ° accuracy
Reliability, the extent to which the system fails
Criteria Factores
Calidad del Software
McCall’s model
° Self description ° Capability of expansion ° Generality
° Modularity ° Simplicity ° Self description ° Instrumentation
° Modularity ° Simplicity ° Consistency ° Conciseness ° Self description
Flexibility, the ability to make changes required as dictated by the business.
Testability, the ability to Validate the software requirements.
Maintainability, the ability to find and fix a defect
Criteria Factors
Calidad del Software
McCall’s model
° Self description ° Modularity ° Independence
Portability, the ability to transfer the software from one environment to another.
° Modularity ° Communications compatibility ° Data compatibility ° Data standarization
Interoperability, the extent, or ease, to which software components work together.
° Self description ° Generality ° Modularity ° Software independence ° Hardware independence
Reusability, the ease of using existing software components in a different context
Criteria Factors
Calidad del Software
It is a hierarchical model and it is focused in the final product.
Boehm’s model
Calidad del Software
• GQM Paradigm (Goal-Question-Metric) • GQM is a top-down approach to establish a goal-
driven measurement system for software development, in that the team starts with organizational goals, defines measurement goals, poses questions to address the goals, and identifies metrics that provide answers to the questions.
GQM paradigm
Calidad del Software
It is based on a clear definition of the goals. The model provides a structure to achieve crucial goals of the project. GQM defines a measurement model on three levels • Conceptual level (Goal) : a goal is defined per entity. • Operational level (Question): a set of question is refined, in order to identify the measuring object. • Quantitative level (Metric): a set of metric is associated to each one of the questions.
GQM paradigm
Calidad del Software
GQM paradigm There are three stages: • List main goal for project development and maintenance. • Per each one of the objectives to determine questions to be answered in order to know if objective is going to be achieved. • To decide what to measure in order to answer questions in an appropriate way. Individual measures are correlated to be used in the context of the whole project.
GQM paradigm
Questions:
Objective: To evaluate standard of codification effectiveness
Who’s using the standard?
Codemakers percentage
using: standard, language
Codemaker productivity?
Codemakers experience
on: standard, language,
environment,…
Code quality?
Code quantity Errors…
Calidad del Software
Calidad del Software
Gilb’s Model
This model appears in 1988. The model includes final software user expectations by the first time in history. It presents quality attributes definition in which user is really interested in a quantitative way. The model also defines the quality level needed to satisfy the final user per each one of the attributes.
Calidad del Software
The model proposes characteristic such as: correctness, integrity, maintainability, and usability. They can be measured by several detailed metrics or sub-characteristics. Each one of them must specify the following concepts:
• Name and characteristic definition. • Scale or measuring units. • Data collection or proof. • Predicted value. • Optimal value. • Value at current system. • Comments.
Gilb’s Model
Calidad del Software
ISO 9126
In 1991, the International Organization for Standardization introduced a standard named ISO/IEC 9126 (1991): Software product evaluation - Quality characteristics and guidelines for their use. This standard aimed to define a quality model for software and a set of guidelines for measuring the characteristics associated with it. It is known by: Software Product Evaluation: Quality Characteristics and Guidelines for their Use.
Calidad del Software
ISO 9126-1
Revised in 2001, ISO/IEC 9126-1 recognizes three aspects of software quality: • Quality in use • External quality • Internal quality
Calidad del Software
QUALITY IN USE Quality in use is the user's view of the quality of the software product when it is used in a specific environment and a specific context of use. It measures the extent to which users can achieve their goals in a particular environment, rather than measuring the properties of the software itself. (ISO/IEC, 2001a)
ISO 9126-1:2001
Second generation of quality standards ISO/IEC CD 25010:2007 (Software engineering-Software Product Quality Requirements and Evaluation (SQuaRE)-quality model). In this case, two important sub-factor –safety and interoperability- have became factors in the new standard. This model is also known as External and Internal Quality.
Calidad del Software
(SQuaRE)-Quality model
Calidad del Software
External and Internal Quality
° Resistencia al acceso ° Resistencia a la copia ° Facilidad de cifrado ° Resistencia a la falsificación ° Robustez ° Conformidad con la seguridad
Safety
° Suitability ° Accuracy ° Compliance
Functionability
Calidad del Software
° Maturity ° Fault tolerance ° Recoverability ° Compliance
Reliability
° OSI compatibility ° SW Compatibility ° Data compatibility ° Traceability ° Compliance
Interoperability
External and Internal Quality
Calidad del Software
External and Internal Quality
Efficiency
° Understandability ° Learn-ability ° Operability ° Attractiveness ° Compliance
Usability
° Time behavior ° Resource behavior ° Compliance
Calidad del Software
External and Internal Quality
° Adaptability ° Install-ability ° Co-existence ° Replace-ability ° Compliance
Portability
° Analyzability ° Change-ability ° Stability ° Testability ° Compliance
Maintainability
SQuaRE - ISO/IEC CD 25010 also re-defines quality in use adding two new factors.
Quality in use is, now, measured in the operational ambient, it depends on software, hardware, users, etc.
Calidad del Software
Quality in use
Calidad del Software
Quality in use
° Types of users in use ° Tasks of use ° Environment of use ° Context conformity in use
Context in use
° Effectiveness in use ° Productiveness in use ° Satisfaction in use ° Compliance in use
Usability in use
Calidad del Software
Quality in use
° Operator health and safety ° Public health and safety ° Environmental harm in use ° Commercial damage in use ° Compliance
Safety in use
Calidad del Software
Quality in use
° Risk for operator in use. ° Risk for software in use
corruption. ° Commercial risk in use. ° Risk compliance in use. ° Security in use. ° compliance.
Security in use
Calidad del Software
° Learn-abililty in use ° Flexibility in use ° Accessibility in use ° Compliance
Adaptability in use
Quality in use
To reach Quality in use depend on reaching external quality, which is also dependent on reaching internal quality. Measures to be done must assure to get the three necessary quality levels.
Calidad del Software
Quality in use
• Having the opportunity to correct misaligned processes.
• To classify companies. • To achieve competitiveness. • To certify international competitiveness. • To assure continuous improvement.
Calidad del Software
Advantages of using Model
Calidad del Software
• To increase productivity. • To reduce costs. • To ensure the satisfaction of internal and external
customers. • To generate a culture within the organization. • To have criteria and indicators for measuring the
strengths and weaknesses of the organization to make improvements.
Advantages of using Model