Vous êtes sur la page 1sur 18

Tema 02: Atributos de calidad del software

Bienvenida
Bienvenidos al tema de ésta semana en la que resaltaremos la clasificación de los atributos dividiéndolos en
externos e internos y así poder seleccionarlos de manera apropiada. Por otro lado veremos la clasificación de las
métricas de calidad y a descripción de algunos modelos de calidad de software.
Introducción al tema

En el tema de la segunda semana veremos lo referente


a la manera en que Pressman nos da un enfoque de
definir las métricas de calidad del software. Luego, para
la recopilación de métricas de software vamos a primero
definir los tipos de métricas que existen por la
metodología básica de desarrollo de software: Análisis,
Diseño, Codificación, Pruebas y Mantenimiento.

Describiremos también algunos modelos de calidad de


software y métodos de selección y priorización de
atributos de calidad y de medición de la calidad para
poder hacer predicciones y encontrar componentes
anómalos que perjudiquen a la calidad del software.

.
Aprendizajes esperados

Conozcamos ahora las capacidades y actitudes a


desarrollar en este segundo tema:
Capacidad

Conoce las métricas de calidad de software.


Identifica los atributos de calidad de software.
Usa el método de medición de la calidad de
software.

Actitudes
Valora los atributos de la calidad del software.
Participa en el método de selección y priorización
de atributos en el caso práctico planteado.
Mapa conceptual referido al tema

Observa detenidamente el siguiente esquema, en el encontrarás de un “vistazo” de manera sintetizada los principales concepto de la temática que
abordaremos. ¿Qué conceptos o categorías te llaman la atención?
2.1. Definición de métricas de calidad.

Michael [‘99] define las métricas de software como “La


aplicación continua de mediciones basadas en técnicas para
el proceso de desarrollo del software y sus productos para
suministrar información relevante a tiempo, así el
administrador junto con el empleo de éstas técnicas mejorará
el proceso y sus productos”. Las métricas de software
proveen la información necesaria para la toma de decisiones
técnicas.

Según Pressman (2006) las métricas van a ayudar a la (1)


evaluación de los modelos de análisis y de diseño, (2) en
donde proporcionarán una indicación de la complejidad de
diseños procedimentales y de código fuente, y (3) ayudaran
en el diseño de pruebas más efectivas. Es por eso que
propone un proceso de medición, el cual se puede
caracterizar por cinco actividades:

1. Formulación: La obtención de medidas y métricas del software apropiadas para la representación de software en
cuestión.
2. Colección: El mecanismo empleado para acumular datos necesarios para obtener las métricas formuladas.
3. Análisis: El cálculo de las métricas y la aplicación de herramientas matemáticas.
4. Interpretación: La evaluación de los resultados de las métricas en un esfuerzo por conseguir una visión interna de
la calidad de la representación.
5. Realimentación: Recomendaciones obtenidas de la interpretación de métricas técnicas trasmitidas al equipo de
software.
2.2. Proceso de recopilación de métricas de software.

Para recopilar las métricas de software que utilizaremos en nuestro proyecto, debemos informarnos acerca de las
categorías en las que se agrupan éstas métricas. A continuación se describen cinco categorías, según Pressman
(2006):

a. Métricas para el modelo de análisis.


Éstas métricas atienden varios aspectos del modelo de análisis e incluyen:

- Funcionalidad entregada: proporciona una medida indirecta de la funcionalidad que se empaqueta con el software.
- Tamaño del sistema: mide el tamaño general del sistema, definido desde el punto de vista de la información
disponible como parte del modelo de análisis.
- Calidad de la especificación: proporciona una indicación de la especificado o el grado en el que se ha completado
la especificación de los requisitos.

b. Métricas para el modelo de diseño.


Estas métricas cuantifican los atributos del diseño de manera tal que le permiten al ingeniero del software evaluar la
calidad del diseño. La métrica incluye:

- Métricas arquitectónicas: proporcionan un indicio de la calidad del diseño arquitectónico.


- Métricas a nivel de componente: miden la complejidad de los componentes del software y otras características que
impactan la calidad.
- Métricas de diseño de la interfaz: se concentran principalmente en la facilidad de uso.
- Métricas especializadas en diseño orientado a objetos: miden características de clases, además de las
correspondientes a comunicación y colaboración.

c. Métricas para el modelo de Código fuente.


Éstas métricas miden el código fuente y se usan para evaluar su complejidad, de los componentes del software,
además de la facilidad con que se mantiene y prueba, entre otras características:

- Métricas de Halstead: controversiales pero fascinantes, éstas métricas proporcionan medidas únicas de un
programa de cómputo.
- Métricas de complejidad: miden la complejidad lógica del código fuente (también se consideran métricas de diseño
al nivel de componentes).
- Métricas de longitud: proporcionan un indicio del tamaño del software.

d. Métricas para pruebas.


Éstas métricas ayudan a diseñar casos de prueba efectivos y a evaluar la eficacia de las pruebas.

- Métricas de cobertura de instrucciones y ramas: lleva al diseño de casos de prueba que proporcionan cobertura
del programa.
- Métricas relacionadas con los defectos: se concentran en encontrar defectos y no en las propias pruebas.
- Efectividad de la prueba: proporcionan un indicio en tiempo real de la efectividad de las pruebas aplicadas.
- Métricas en el proceso: métricas relacionadas con el proceso que se determinan a medida que se aplican las
pruebas.

e. Métricas para el mantenimiento.


Las métricas descritas también se aplican al mantenimiento del software existente.
2.2.1 El proceso de recopilación

La recopilación requiere
información histórica de
los proyectos previos. Una
vez que se han recopilado
las medidas es posible
calcular las métricas.
Posteriormente, las
métricas se evalúan y se
produce un conjunto de
indicadores que guían el
proyecto o proceso. Estos
indicadores se pueden
utilizar para: evaluar la
estabilidad y capacidad
del proceso, interpretar los
resultados de las
observaciones, predecir
costos y recursos para el
futuro, proveer líneas
base, graficar tendencias e identificar oportunidades de mejora.

Una vez obtenidos los indicadores se debe ejecutar un control para verificar que el proceso se comporte
consistentemente, identificar las áreas donde éste se encuentra o no bajo control, y aplicar las medidas correctivas
donde sea necesario. Se debe también analizar los resultados y compararlos con promedios de proyectos similares
anteriores realizados dentro de la organización, para generar conclusiones y establecer tendencias para los
diferentes comportamientos.
2.3. Modelos.

En este apartado hablaremos de los siguientes modelos.

McCall.
FURPS
DROMEY
MOSCA
QSOS.
2.3.1. McCall

Desarrollado por McCall (1977), 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 normalmente atributos externos aunque
también se pueden incluir atributos internos.
2.3.2 FURPS.

Desarrollado por Hewlett-Packard (1987), es un modelo de calidad fijo que establece cinco características como
factores de calidad para todas las actividades del proceso de un software:

- Funcionality (Funcionabilidad): Describen qué es lo que un usuario debe ser capaz de hacer a través del sistema
de software. Incluye características de sistemas, capacidades y seguridad.
- Usability (Usabilidad): La facilidad de uso incluye todos aquellos atributos que facilitan la interacción de un usuario
con el sistema. Puede incluir subcategorías como: Factores humanos, estética, consistencia, documentación.
- Reliability (Confiabilidad): Agrupa los requerimientos que tienen que ver con la solidez y robustez de un sistema
durante su ejecución. Incluye Recuperabilidad.
Precisión y Predicción.
- Performance (Rendimiento): Se refiere a la velocidad del sistema y su eficiencia en utilización de recursos.
Referente también a consumo, productividad y tiempo de respuesta.
- Supportability (Soporte): Incluyen requisitos de instalación y configuración, así como facilidades para mantener y
administrar la operación del sistema.

Se utilizan para establecer métricas de la calidad para todas las actividades del proceso de desarrollo de un
software, inclusive de un sistema de información.
2.3.3 DROMEY.

Resalta el hecho de que la calidad del producto es altamente determinada por los componentes del mismo
(incluyendo documentos de requerimientos, guías de usuarios, diseños, y código). Sugiere el uso de cuatro
categorías que implican propiedades de calidad, que son: correctitud (funcionalidad, confiabilidad), internas
(mantenibilidad, eficiencia, confiabilidad), contextuales (mantenibilidad, reusabilidad, portabilidad, confiabilidad) y
descriptivas (mantenibilidad, reusabilidad, portabilidad, usabilidad).
2.3.4 MOSCA.

Es una herramienta de estimación de la calidad sistémica dentro de una organización desarrolladora de software,
que soporta la administración de la calidad en sus tres actividades: aseguramiento, planeación y control de la
calidad.

Consta de 4 niveles: dimensiones, categorías, características y las métricas. En base de tres ramas: el producto, el
proceso y la humana. Contiene un total de 715 métricas.
2.3.5 QSOS.

Uno de los modelos que permite la cuantificación y calificación de software Open Source es el Method for
Qualification and Selection of Open Source Software (QSOS). Está orientado exclusivamente al producto de
software. Consta de cuatro pasos:

- Definición: Constitución y enriquecimiento de los marcos de referencia que serán utilizados en los pasos
siguientes.

- Evaluación: Evaluación del software hecho de acuerdo a 3 ejes de criterios: cobertura funcional, riesgos del
usuario y riesgos del proveedor de servicios (independientemente de cada usuario particular/ contexto de uso).

- Calificación: Carga de los criterios divididos en 3 ejes, modelando el contexto (requerimientos de usuario y/o
estrategia escogida por el proveedor de servicios).

Selección: Aplicación del filtro configurado en el paso anterior a los datos encontrados en los dos primeros pasos,
de manera de realizar consultas, comparaciones y selección de productos.
Preguntas de análisis

Después de haber leído los contenidos explicados anteriormente,


quizás te estas preguntando lo siguiente

1. ¿El código presentado en la lectura de la prueba de Google en el inodoro, es entendible para cualquier usuario
(cliente que no sabe de programación)? ¿Explica la primera parte del código?
2. ¿Qué solución le daría Ud. al problema de la introducción de un nuevo parámetro en un método?
3. ¿Qué refactorización le haría al segundo fragmento de código para mejorar la calidad?

Al respecto para conocer un poco más sobre este tema, y dar respuesta a las preguntas planteadas a continuación
te invitamos a leer analíticamente la siguiente lectura. http://googletesting.blogspot.com/2015/01/testing-on-toilet-change-
detector-tests.html
Bibliografía

Pressman Roger, (2006) Ingeniería del Software.


Recuperado de

https://mega.co.nz/#!VFYzTQxL!C9A3zSP6JidKcrWir2vMUhxlrrsBk3oybDnrvpDidBU

Fontela, Carlos, (2009). Técnicas de aseguramiento de la calidad del producto. Recuperado de:
https://cysingsoft.wordpress.com/2008/06/24/tecnicas-de-aseguramiento-de-la-calidad-del-producto/

Kshirasagar Naik, Priyadarshi Tripathy (2008). Software Testing and Queality Assurance: Theory and
Practice. Recuperado de: http://www.softwaretestinggenius.com/download/staqtpsn.pdf

Organización Internacional para la Estandarización. Compendio de Normas ISO. Sistema de la Gestión de la


Calidad, Ingeniería Ambiental. Recuperado de http://www.uco.es/sae/archivo/normativa/ISO_9000_2005.pdf
Lecturas recomendadas (para ampliar conocimientos de la primera
semana)

Para saber más


Ponemos a tu disposición y te invitamos a revisar dos interesantes documentos que te ayudaran a reforzar y
ampliar los temas que hemos estudiado, estos los encontrarás en la base de datos e-libros que utiliza nuestra
universidad:

Documento 1: Procesos de Desarrollo de Software y su certificación en calidad.


URL: Procesos_de_Desarrollo_de_Software_y_su_certificacion_en_calidad.pdf
Breve descripción:
En éste documento encontraremos los lineamientos para la mejora de procesos, los cuales indican si la
implementación de un proceso clave es efectivo, repetible y duradero. Se propone una metodología basada en
procesos para el desarrollo del software integrada por un ciclo de vida, procedimientos normativos, plantillas para
los productos de las actividades y herramientas de apoyo para el desarrollo de las actividades.

Documento 2: Metodologías ágiles en el desarrollo de software


URL: Metodologias_agiles_en_el_desarrollo_de_software.pdf
Breve descripción:
Éste documento realiza una referencia al desarrollo ágil, hace una comparación entre las metodologías
tradicionales y las ágiles. Se centra en la descripción de la metodología XP en todo el proceso de desarrollo de
software, explicando sus fases o características: Historias de usuarios, roles, proceso y prácticas. Finalizando con la
descripción de otras metodologías ágiles existentes.
Conclusiones de la primera semana

Se definió cultura de calidad de software,


conceptualizando cada término y agrupándolo. La cultura
de calidad de software es un compromiso de gestión de
desarrollo de software, el cual cumple con los
requerimientos del cliente y con los estándares
establecidos de calidad de software.

Se describió los ocho principios de calidad del software


propuestos por las normas ISO 9000:2000, los cuales son:
Cliente, liderazgo, participación de las personas, enfoque
de proceso, enfoque del sistema para la gestión, mejora
continua, enfoque basado en hechos para la toma de
decisiones y relaciones mutuamente beneficiosas.

Se dio una breve descripción de los modelos existentes


de calidad de software. También se describió una serie de
actividades para el aseguramiento de calidad del software,
así como una metodología planteado por Carlos Fontela.
Metacognición (de la primera semana)

Las siguientes preguntas te ayudarán a


reflexionar sobre tus propios aprendizajes, es un
ejerció recomendado para razonar e identificar
nuestro esfuerzo intelectual, la finalidad es
regular nuestras acciones y procesos mentales

¿De la temática abordada que te llamó más la


atención?
¿Consideras que aprendiste con los contenidos
abordados?
¿Tuviste dificultad con algún tema o actividad?
¿Cómo los solucionaste?
¿Qué acciones realizaste para aprender?

Vous aimerez peut-être aussi