SOFTWARE
QUALITY MODELS
Santiago UribeVelasquez
Gestion de la calidad de software
Universidad Pontificia Bolivariana
What is quality?
In the context of software engineering, software quality
refers to two related but distinct notions that exist
wherever quality is defined in a commercial context:
■ The functional quality of the software reflects how
well it meets or fits a given design, based on
functional requirements or specifications.
■ The structural quality of software refers to how it
complies with non-functional requirements that
support the delivery of functional requirements,
such as strength or maintainability.
Measurement of quality
■ Quality, like beauty, is in the eye of the beholder
■ From the point of view of the measurement, it must
have a precise definition in terms of software
attributes that are of interest to the user
■ In general, these are external attributes, however,
many proposals measure and analyze internal
attributes because they consider them as predictors
of external ones.
The internal attributes have two advantages:
■ They are available for earlier measurement
■ They are easier to measure
Initial models of quality
From the beginning of software
engineering, it was observed that the
quality is composed of a composition of
many characteristics
■ A quality model then describes these
characteristics and their relationships
■ Many models make diffuse the
distinction between internal and
external attributes, which makes the
understanding of the concept of quality
difficult
McCall Quality Model (1977)
■ McCall's model was the first to be
presented in 1977, and originated
motivated by US Air Force and DoD
■ Focuses on the final product,
identifying key attributes from the
user's point of view
■ These attributes are called quality
factors and are usually external
attributes, but some internal
attributes are also included
McCall Quality Model (1977)
■ The quality factors are too abstract to be
measured directly, so for each of them low-
level attributes called quality criteria are
introduced
■ Some quality criteria are internal attributes,
reflecting McCall's belief that the internal
attribute has a direct effect on the
corresponding external attribute
■ One more level of decomposition is
necessary, mapping each quality criterion
into a set of quality metrics that are
attributes (both of the product and the
process) of very low level, directly
measurable
McCall Quality Model (1977)
McCall proposes three perspectives to
group quality factors
■ Product revision
■ Product transition
■ Product operation
McCall Quality Model (1977)
The Product revision includes the
following quality factors:
■ Maintainability
■ Flexibility
■ Testability
McCall Quality Model (1977)
Maintainability includes the following
criteria:
■ Consistency
■ Simplicity
■ Thoroughness
■ Self Description
■ Modularity
Maintainability is strongly influenced by
the use of good practices throughout
the development cycle
■ Follow a well-defined methodology
■ Use good design techniques, both
procedures and data, to increase
cohesion and reduce coupling
■ Observe the internal documentation
■ Use good programming practices:
significant names, readable code,
etc.
McCall Quality Model (1977)
According to McCall, the flexibility factor
includes the following criteria:
■ Expansibility
■ Generality
■ Self Description
■ Modularity
McCall Quality Model (1977)
According to McCall, the factor of
testability includes the following criteria:
■ Simplicity
■ Instrumentation
Boehm Quality Model (1978)
■ The second best known quality
model
■ This model introduces high level
characteristics, intermediate level
characteristics and primitive
characteristics, each of which
contributes to the overall level of
quality
Boehm Quality Model (1978)
High-level characteristics represent
general requirements for use
■ Utility per-se how (usable, reliable,
efficient) is the product itself
■ Maintainability how easy it is to
modify it, understand it and rethink
it
■ General utility if it can continue to be
used if the environment changes
Boehm Quality Model (1978)
The intermediate level characteristics
represent the quality factors of Boehm:
■ Portability (general utility)
■ Reliability (utility per-se)
■ Efficiency (utility per-se)
■ Usability (utility per-se)
■ Testability (maintainability)
■ Ease of understanding (maintainability)
■ Modifiability or flexibility (maintainability)
Boehm Quality Model (1978)
The lowest level corresponds to
characteristics directly associated with
one or two quality metrics
■ Portability
■ Reliability
■ Efficiency
■ Usability
■ Testability
Gilb Quality Model (1988)
■ This model presents as a
fundamental aspect the definition of
the quality attributes that really
interest the user and the level of
quality that each of them must have
to satisfy it since it does not make
sense to demand quality in a
product, if it does not have this basis.
Each attribute has sub attributes
that help the measurement
Gilb Quality Model (1988)
Advantage
■ This model evaluates independently
■ Like other processes, it uses levels of
hierarchies to delegate work
Disadvantages
■ Many factors that cause more work
in time and costs are evaluated
The 8 Dimensions of Garvin's Quality
■ Performance
■ Features (Additional Functions)
■ Reliability
■ Design Conformity
■ Durability
■ Quality of service
■ Esthetic
■ Perceived quality

Quality software models

  • 1.
    SOFTWARE QUALITY MODELS Santiago UribeVelasquez Gestionde la calidad de software Universidad Pontificia Bolivariana
  • 2.
    What is quality? Inthe context of software engineering, software quality refers to two related but distinct notions that exist wherever quality is defined in a commercial context: ■ The functional quality of the software reflects how well it meets or fits a given design, based on functional requirements or specifications. ■ The structural quality of software refers to how it complies with non-functional requirements that support the delivery of functional requirements, such as strength or maintainability.
  • 3.
    Measurement of quality ■Quality, like beauty, is in the eye of the beholder ■ From the point of view of the measurement, it must have a precise definition in terms of software attributes that are of interest to the user ■ In general, these are external attributes, however, many proposals measure and analyze internal attributes because they consider them as predictors of external ones. The internal attributes have two advantages: ■ They are available for earlier measurement ■ They are easier to measure
  • 4.
    Initial models ofquality From the beginning of software engineering, it was observed that the quality is composed of a composition of many characteristics ■ A quality model then describes these characteristics and their relationships ■ Many models make diffuse the distinction between internal and external attributes, which makes the understanding of the concept of quality difficult
  • 5.
    McCall Quality Model(1977) ■ McCall's model was the first to be presented in 1977, and originated motivated by US Air Force and DoD ■ Focuses on the final product, identifying key attributes from the user's point of view ■ These attributes are called quality factors and are usually external attributes, but some internal attributes are also included
  • 6.
    McCall Quality Model(1977) ■ The quality factors are too abstract to be measured directly, so for each of them low- level attributes called quality criteria are introduced ■ Some quality criteria are internal attributes, reflecting McCall's belief that the internal attribute has a direct effect on the corresponding external attribute ■ One more level of decomposition is necessary, mapping each quality criterion into a set of quality metrics that are attributes (both of the product and the process) of very low level, directly measurable
  • 7.
    McCall Quality Model(1977) McCall proposes three perspectives to group quality factors ■ Product revision ■ Product transition ■ Product operation
  • 8.
    McCall Quality Model(1977) The Product revision includes the following quality factors: ■ Maintainability ■ Flexibility ■ Testability
  • 9.
    McCall Quality Model(1977) Maintainability includes the following criteria: ■ Consistency ■ Simplicity ■ Thoroughness ■ Self Description ■ Modularity Maintainability is strongly influenced by the use of good practices throughout the development cycle ■ Follow a well-defined methodology ■ Use good design techniques, both procedures and data, to increase cohesion and reduce coupling ■ Observe the internal documentation ■ Use good programming practices: significant names, readable code, etc.
  • 10.
    McCall Quality Model(1977) According to McCall, the flexibility factor includes the following criteria: ■ Expansibility ■ Generality ■ Self Description ■ Modularity
  • 11.
    McCall Quality Model(1977) According to McCall, the factor of testability includes the following criteria: ■ Simplicity ■ Instrumentation
  • 12.
    Boehm Quality Model(1978) ■ The second best known quality model ■ This model introduces high level characteristics, intermediate level characteristics and primitive characteristics, each of which contributes to the overall level of quality
  • 13.
    Boehm Quality Model(1978) High-level characteristics represent general requirements for use ■ Utility per-se how (usable, reliable, efficient) is the product itself ■ Maintainability how easy it is to modify it, understand it and rethink it ■ General utility if it can continue to be used if the environment changes
  • 14.
    Boehm Quality Model(1978) The intermediate level characteristics represent the quality factors of Boehm: ■ Portability (general utility) ■ Reliability (utility per-se) ■ Efficiency (utility per-se) ■ Usability (utility per-se) ■ Testability (maintainability) ■ Ease of understanding (maintainability) ■ Modifiability or flexibility (maintainability)
  • 15.
    Boehm Quality Model(1978) The lowest level corresponds to characteristics directly associated with one or two quality metrics ■ Portability ■ Reliability ■ Efficiency ■ Usability ■ Testability
  • 16.
    Gilb Quality Model(1988) ■ This model presents as a fundamental aspect the definition of the quality attributes that really interest the user and the level of quality that each of them must have to satisfy it since it does not make sense to demand quality in a product, if it does not have this basis. Each attribute has sub attributes that help the measurement
  • 17.
    Gilb Quality Model(1988) Advantage ■ This model evaluates independently ■ Like other processes, it uses levels of hierarchies to delegate work Disadvantages ■ Many factors that cause more work in time and costs are evaluated
  • 18.
    The 8 Dimensionsof Garvin's Quality ■ Performance ■ Features (Additional Functions) ■ Reliability ■ Design Conformity ■ Durability ■ Quality of service ■ Esthetic ■ Perceived quality

Editor's Notes

  • #3 En el contexto de la ingeniería de software, la calidad del software se refiere a dos nociones relacionadas pero distintas que existen dondequiera que se defina la calidad en un contexto comercial: La calidad funcional del software refleja qué tan bien cumple o se ajusta a un diseño dado, en función de los requisitos funcionales o las especificaciones. La calidad estructural del software se refiere a cómo cumple con los requisitos no funcionales que respaldan la entrega de los requisitos funcionales, como la solidez o la capacidad de mantenimiento.
  • #4 La calidad, al igual que la belleza, está en el ojo de quien lo mira Desde el punto de vista de medición, se debe tener una definición precisa en términos de atributos del software que sean de interés al usuario En general, éstos son atributos externos, sin embargo, muchas propuestas miden y analizan atributos internos porque los consideran predictores de aquellos externos Los atributos internos tienen dos ventajas: Están disponibles para medición Son más fáciles de medir
  • #5 Desde el principio de la ingeniería de software, se observó que la calidad está compuesta por una composición de muchas características Un modelo de calidad describe entonces estas características y sus relaciones Muchos modelos hacen difusa la distinción entre atributos internos y externos, lo que dificulta la comprensión del concepto de calidad
  • #6 El modelo de McCall fue el primero en ser presentado en 1977, y se originó motivado por US Air Force y DoD Se focaliza en el producto final, identificando atributos claves desde el punto de vista del usuario Estos atributos se denominan factores de calidad y son normalmentes atributos externos, pero también se incluyen algunos atributos posiblemente internos
  • #7 Los factores de calidad son demasiados abstractos para ser medidos directamente, por lo que por cada uno de ellos se introduce atributos de bajo nivel denominados criterios de calidad Algunos criterios de calidad son atributos internos, reflejando la creencia de McCall que el atributo interno tiene un efecto directo en el atributo externo correspondiente Un nivel más de descomposición es necesario, mapeando cada criterio de calidad en un conjunto de métricas de calidad que son atributos (tanto del producto como del proceso) de muy bajo nivel, medibles directamente
  • #8 McCall propone tres perspectivas para agrupar los factores de calidad Revisión del producto habilidad para ser cambiado Transición del producto adaptabilidad al nuevo ambiente Operación del producto características de operación
  • #9 La revisión del producto incluye los siguientes factores de calidad: Mantenibilidad esfuerzo requerido para localizar y corregir fallas: Flexibilidad facilidad de realizar cambios Testeabilidad facilidad para realizar el testing, para asegurarse que el producto no tiene errores y cumple con la especificación
  • #10 Mantenibilidad incluye los siguientes criterios: Consistencia Simplicidad Minuciosidad Autodescripción Modularidad Mantenibilidad está muy influenciado por el uso de buenas prácticas a lo largo de todo el ciclo de desarrollo Algunas de estas buenas prácticas son: Seguir una metodología bien definida Usar buenas técnicas de diseño, tanto de procedimientos como de datos, para aumentar cohesión y reducir acoplamiento Observar la documentación interna Usar buenas prácticas de programación: nombres significativos, código legible, etc
  • #11 Según McCall el factor flexibilidad incluye los siguientes criterios: Expansibilidad Generalidad Auto-descripción Modularidad con el correr de los años este criterio se ha fusionado con mantenibilidad de hecho, en la definición original, dos de los criterios de flexibilidad estaban compartidos con mantenibilidad
  • #12 Según McCall el factor testabilidad incluye los siguientes criterios: simplicidad Instrumentación ISO 9000-3 divide el testeo en cuatro etapas testeo de unidad se testea los componentes individuales, generalmente realizado por los programadores testeo de integración se testean los módulos compuestos por diversos componentes testeo de sistema se testea el sistema completo tal como lo usaría un usuario normal, pero sin su presencia testeo de aceptación el usuario ejecuta el sistema completo para asegurarse que cumpla con los requerimientos. También llamado alpha testing
  • #13 El segundo modelo de calidad más conocido Este modelo introduce características de alto nivel, características de nivel intermedio y características primitivas, cada una de las cuales contribuye al nivel general de calidad
  • #14 Las características de alto nivel representan requerimientos generales de uso pueden ser: Utilidad per-se cuan (usable, confiable, eficiente) es el producto en sí mismo Mantenibilidad cuan fácil es modificarlo, entenderlos y retestearlo Utilidad general si puede seguir usándose si se cambia el ambiente
  • #15 Las características de nivel intermedio representan los factores de calidad de Boehm: Portabilidad (utilidad general) Confiabilidad (utilidad per-se) Eficiencia (utilidad per-se) Usabilidad (utilidad per-se) Testeabilidad (mantenibilidad) Facilidad de entendimiento (mantenibilidad) Modificabilidad o flexibilidad (mantenibilidad)
  • #16 Caracteristicas de nivel primitivo El nivel más bajo corresponde a características directamente asociadas a una o dos métricas de calidad De portabilidad Independencia de dispositivos Auto-contención De confiabilidad: Auto-contención Exactitud Completitud Consistencia Robustez/integridad De eficiencia Accesibilidad Eficiencia de uso de dispositivos De usabilidad Robustez/integridad Accesibilidad Comunicación De testeabilidad Comunicación Auto descripción Estructuración aunque parezcan similares, la diferencia está en que McCall focaliza en medidas precisas de alto nivel, mientras que Boehm presenta un rango más amplio de características primarias la mantenibilidad está más desarrollada en Boehm
  • #17 Este modelo presenta como aspecto fundamental la definición de los atributos de calidad que realmente interesan al usuario y el nivel de calidad que deben tener cada uno de ellos para satisfacerlo ya que no tiene sentido exigir calidad en un producto, si no cuenta con esta base. Cada atributo tiene sub atributos que ayudan a la medicion
  • #18 Ventajas Este modelo evalúa de forma independiente Al igual que otros procesos utiliza niveles de jerarquías para deleagar trabajos
  • #19 Desempeño Características (Funciones Adicionales) Fiabilidad Conformidad al Diseño Durabilidad Calidad de Servicio Estética Calidad Percibida