EJERCICIO GRUPAL MODELOS DE CALIDAD
Como
ingenieros de software desarrollen un cuadro comparativo entre:
ü Norma ISO/IEC 12207 Es el estándar para los procesos de ciclo de
vida del software de la organización ISO.
ü La familia de normas ISO 9000
es un conjunto de normas de calidad establecidas por la International
Organization for Standardization (ISO)
ü El modelo CMMI
ü Norma ISO/IEC 15504. Modelo
para la mejora y evaluación de los procesos de desarrollo y mantenimiento de
sistemas y productos de software
ü Norma ISO/IEC 9126 Estándar para calidad de los productos
software.
ü Norma ISO/IEC 14598 Este estándar provee una visión general del
proceso de evaluación del producto de software y además soporte para la
evaluación.
IDENTIFICAR
mediante una gráfica los procesos que se solapan entre ellos.
Describir
las ventajas y desventajas de cada norma y cuál de ellas podría ser aplicada a
su proyecto, justificándola
1. Como ingenieros de software desarrollen un
cuadro comparativo entre:
Cuadro comparativo entre las normas
ITEM
|
Norma ISO/IEC 12207
|
ISO 9000
|
ISO/IEC 15504
|
ISO/IEC 9126
|
ISO/IEC 14598
|
Modelo CMMI
|
Conceptos
|
ISO/IEC 12207 Information Technology / Software
Life Cycle Processes, es el estándar para los procesos de ciclo de vida del
software de la organización ISO.
La estructura del estándar ha sido concebida de
manera que pueda ser adaptada a las necesidades de cualquiera que lo use.
Para conseguirlo, el estándar se basa en dos principios fundamentales:
modularidad y responsabilidad.
|
ISO 9000 es un conjunto de
normas sobre calidad y gestión de calidad, establecidas por la Organización
Internacional de Normalización (ISO). Se pueden aplicar en cualquier tipo de
organización o actividad orientada a la producción de bienes o servicios.
|
El ISO/IEC 15504, también
conocido como Software Process Improvement Capability Determination,
abreviado SPICE, en español, «Determinación de la Capacidad de Mejora del
Proceso de Software» es un modelo para la mejora, evaluación de los procesos
de desarrollo, mantenimiento de sistemas de información y productos de
software.
|
ISO 9126 es un estándar
internacional para la evaluación de la calidad del software. Está reemplazado
por el proyecto SQuaRE, ISO 25000:2005, el cual sigue los mismos conceptos.
El estándar está dividido
en cuatro partes las cuales dirigen, realidad, métricas externas, métricas
internas y calidad en las métricas de uso y expendido.
|
En sus diferentes etapas,
establece un marco de trabajo para evaluar la calidad de los productos de
software proporcionando, además, métricas y requisitos para los procesos de
evaluación de los mismos.
En particular, es utilizada
para aplicar los conceptos descritos en la norma ISO / IEC 9126. Se definen y
describen las actividades necesarias para analizar los requisitos de
evaluación, para especificar, diseñar y realizar acciones de evaluación y
para concluir la evaluación de cualquier tipo de producto de software.
|
CMMI es un modelo que
contiene las mejores prácticas y que provee a las organizaciones de aquellos
elementos que son esenciales para que los procesos de negocio de las mismas
sean efectivos.
El modelo CMMI fue
inicialmente desarrollado para los procesos relativos al desarrollo e
implementación de Software por la Carnegie-Mellon University.
|
Objetivo
|
Proporcionar una estructura
común para que compradores, proveedores, desarrolladores, personal de
mantenimiento, operadores, gestores y técnicos involucrados en el desarrollo
de software usen un lenguaje común.
|
Proporcionar elementos para
que una organización pueda lograr la calidad del producto o servicio, a la
vez que mantenerla en el tiempo, de manera que las necesidades del cliente
sean satisfechas permanentemente, permitiéndole a la empresa reducir costos
de calidad, aumentar la productividad, y destacarse o sobresalir frente a la
competencia.
|
Proponer y desarrollar un
estándar de evaluación de procesos de software.
Evaluar el desempeño mediante
la experimentación en la industria emergente del desarrollo de software.
Promover la transferencia
de tecnología de la evaluación de procesos de software a la industria del
software a nivel mundial
|
Evaluar el proyecto de
software en distintos aspectos como lo son: Funcionalidad, Confiabilidad,
Usabilidad, Eficiencia, Mantenibilidad, y Portabilidad.
permite especificar y
evaluar la calidad del software desde diferentes criterios asociados con
adquisición, requerimientos, desarrollo, uso, evaluación, soporte,
mantenimiento, aseguramiento de la calidad y auditoria de software.
|
Establecer un marco de trabajo
para evaluar la calidad de los productos de software en 6 etapas1.
Proporciona métricas y requisitos para los procesos de evaluación.
|
erificar y validar la
calidad del software, garantizando dar seguimiento a los atributos de
funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad,
portabilidad y conformidad.
|
Características
|
Establece un marco para
métodos de evaluación, no es un método o modelo en sí.
Comprende: evaluación de procesos, mejora de
procesos, determinación de capacidad
Está alineado con el estándar ISO/IEC 12207
que define los procesos del ciclo de vida del desarrollo, mantenimiento y
operación de los sistemas de software.
|
Entender y conocer los
requerimientos normativos y cómo los mismos alcanzan a la actividad de la
empresa.
Analizar la situación de la
organización, dónde está y a dónde debe llegar.
Construir desde cada acción
puntual un Sistema de Gestión de la Calidad.
Documentar los procesos que
sean requeridos por la norma, así como aquellas que la actividad propia de la
empresa requiera.
La norma solicita que se
documenten procedimientos vinculados a: gestión y control escrito, registros
de la calidad, auditorías internas, producto no conforme, acciones
correctivas y acciones preventivas.
Detectar las necesidades de
capacitación propias de la empresa.
|
La norma ISO/IEC 15504
establece requisitos para una evaluación de procesos y los modelos de
evaluación pretendiendo que dichos requisitos pueden ser aplicados en
cualquier modelo de evaluación en una empresa.Todos los requisitos para la
evaluación de procesos comprenden:Evaluación de procesosMejora los
procesosEvaluar la capacidad y la madurez de los procesosEn cuanto a otros
aspectos, la norma establece requisitos para evaluar los procesos para las
fases del ciclo de vida del software que se define como la norma ISO/IEC
15504, así como requisitos para la evaluación de procesos todas las fases del
ciclo de vida del sistema definidos en la norma ISO/IEC 15504.
|
Funcionalidad - Un conjunto
de atributos que se relacionan con la existencia de un conjunto de funciones
y sus propiedades específicas. Las funciones son aquellas que satisfacen las
necesidades implícitas o explícitas.
Adecuación - Atributos del
software relacionados con la presencia y aptitud de un conjunto de funciones
para tareas especificadas.
Exactitud - Atributos del
software relacionados con la disposición de resultados o efectos correctos o
acordados.
Interoperabilidad -
Atributos del software que se relacionan con su habilidad para la interacción
con sistemas especificados.
Seguridad - Atributos del
software relacionados con su habilidad para prevenir acceso no autorizado ya
sea accidental o deliberado, a programas y datos.
Cumplimiento funcional.
|
La norma define las
principales características del proceso de evaluación:
Repetitividad.
Reproducibilidad.
Imparcialidad.
Objetividad.
Para estas características
se describen las medidas concretas que participan:
Análisis de los requisitos
de evaluación.
Evaluación de las
especificaciones.
Evaluación del diseño y
definición del plan de evaluación.
Ejecución del plan de
evaluación.
Evaluación de la
conclusión.
|
Las prácticas que deben ser
realizadas por cada Area Clave de Proceso están organizadas en 5 Características Comunes,
las cuales constituyen propiedades que
indican si la implementación y la institucionalización de un proceso
clave es efectivo, repetible y
duradero.
Estas 5 características
son:
Compromiso de la
realización,
La capacidad de
realización,
Las actividades realizadas,
Las mediciones y el
análisis,
La verificación de la implementación.
|
Estructura
|
Procesos
principales.
Adquisición, Suministro,Desarrollo,Operación,Mantenimiento,Destrucción
Procesos
de soporte.
Gestión de la
configuración.
Aseguramiento de calidad.
Verificación, Validación, Revisión
conjunta, Auditoría.
Resolución de problemas.
Procesos
de la organización.
Gestión, Infraestructura,
Mejora, Recursos Humanos.
|
Las normas ISO se clasifican
o se estructuran en:
ISO 9000 (vocabulario de la
calidad)
ISO 9001 (modelo para
sistema de gestión)
ISO 9003 (modelo para
producción): Esta norma es anulada por la ISO 9001:2000, siendo la versión
actual la ISO 9001:2015.
ISO 9004 (directivas para
mejorar el desempeño)
|
Dimensión
procesos
Procesos Primarios:
ACQ: Procesos de Cliente
SPL: Procesos de Proveedor
ENG: Ingeniería
OPE: Procesos de operación
Procesos de soporte.
SUP: Soporte
Procesos de organización
MAN: Procesos de Gestión
REU: Procesos de Recursos
humanos
RIN: Procesos de
Infraestructura
PIM: Procesos de mejora de
procesos
Dimensión
de la capacidad
La dimensión de capacidad
del modelo de evaluación de procesos de software de la Parte 5 define un
conjunto completo de indicadores para todos los atributos de procesos
correspondientes a la escala de los 6 niveles de capacidad de la Parte 2 de
la norma.
|
Funcionalidad
Adecuación, Exactitud Interoperabilidad,
Seguridad
Cumplimiento funcional.
Fiabilidad
Madurez, Recuperabilidad
Tolerancia a fallos ,
Cumplimiento de Fiabilidad,
Usabilidad,
Aprendizaje
Comprensión, Operatividad
Eficiencia
Comportamiento en el tiempo
Comportamiento de recursos
Mantenibilidad
Estabilidad
Facilidad de análisis
Facilidad de cambio
Facilidad de pruebas
Portabilidad
-
Capacidad de instalación
Capacidad de
reemplazamiento -
Calidad
en uso
Eficacia -
Productividad
Seguridad
Satisfacción
|
ISO/IEC 14598-1 Visión
General ISO/IEC
14598-2 Planeamiento y
Gestión
ISO/IEC 14598-3 Proceso
para desenvolvedores
ISO/IEC 14598-4 Proceso
para adquirentes
ISO/IEC 14598-5 Proceso
para avaladores
ISO/IEC 14598-6
Documentación de Módulos
|
Un nivel de madurez bien
definida con un meseta evolutiva hacia la consecución de un proceso software
maduro. Cada nivel de madurez proporciona una capa en la base para una mejora
continua del proceso.
Los modelos CMMI con
representación por etapas, tienen cinco niveles de madurez designado por los
números del 1 al 5. Estos son:
Inicial
Gestionado
Definido
Cuantitativamente
gestionado
Optimizar
|
Imagen de procesos solapados en las métricas de
calidad del software:
v Describir las ventajas y
desventajas de cada norma y cuál de ellas podría ser aplicada a su proyecto,
justificándola
3. Ventajas y Desventajas de cada una de las normas
comparadas anteriormente:
NORMA
|
VENTAJAS
|
DESVENTAJAS
|
Norma
ISO/IEC 12207
|
- Proporciona un proceso
estructurado para el desarrollo y ciclo de vida del software.
- Cualquier modelo implementado
permite definir cuál es el grado de implementación del software.
- Obtener un marco que facilita
la determinación de tiempos y costos de los nuevos proyectos.
- Reducción de errores durante el
ciclo de vida del software.
- Permite un mayor control del
producto final.
|
- Proporciona un proceso
estructurado para el desarrollo y ciclo de vida del software.
- Cualquier modelo implementado
permite definir cuál es el grado de implementación del software.
- Obtener un marco que facilita
la determinación de tiempos y costos de los nuevos proyectos.
- Reducción de errores durante el
ciclo de vida del software.
- Permite un mayor control del
producto final.
|
ISO 9000
|
-La probable demanda de los
futuros clientes de una acreditación ISO.
-Aumentar coherencia en
operaciones de la empresa.
-Mantener o mejorar la proporción
de mercado.
-Mejorar la calidad de servicios.
-Es un buen elemento de
promoción.
-Mejorar la calidad de los
productos.
-Estandarizar las actividades del
personal que trabaja dentro de la organización por medio de la documentación.
|
-Los esfuerzos y costos para preparar la documentación e
implantación de los sistemas. 7
-El tiempo requerido para escribir el manual.
-El intenso papeleo necesario.
|
ISO/IEC 15504
|
-El resultado de una evaluación
de proceso puede ser representado por un perfil de proceso.
-Primer modelo de procesos de dos
dimensiones, es decir, dimensiones independientes para los procesos y la
capacidad
-Es el modelo más consensuado y
probado
-Mayor reconocimiento en el
mercado europeo.
-Coherencia con otros modelos de
calidad ya implementados en la organización ISO9001- ISO 20000- ISO 27000.
-Menores costos de la
certificación
|
-No es práctico ni fácil de
aplicar.
-Tiene solamente lineamientos
para un mecanismo de evaluación.
-Todavía no es norma
internacional
|
ISO/IEC
9126
|
- Detecta los objetivos del
software con las necesidades reales y
Efectivas que solicita el cliente
final.
- Evita ineficiencias y maximiza
la rentabilidad y calidad del producto de
Software.
- Cumple los requisitos
contractuales y demuestra a los clientes que la
Calidad del software es
primordial.
- El proceso de evaluaciones
periódicas ayuda a supervisar
Continuamente el rendimiento y la
mejora.
|
-No establece los niveles de
calidad deseables para cada proyecto.
-No menciona “un número de
referencia a lograr”, o el umbral que
Debe cumplir una métrica.
-Sería irreal fijar un valor, o
valores, únicos de referencia para toda la
Industria.
|
ISO/IEC
14598
|
- Se puede aplicar en cualquier
nivel de la jerarquía, en cualquiera
De las fases de gestión y
elaboración del diseño de un sistema.
- Cada sección de la organización
se deberá implicar, con la
intención final de alcanzar una
aplicación de total aceptación por
Parte del usuario final.
- Aportará indicadores orientados
a la organización, para ser
aplicados en cada etapa del
proceso de vida del desarrollo del
Software, para su mejora y
eficiencia.
- Está claramente enfocado para
el desarrollo de software a
Medida, tanto a nivel hardware,
software, bases de datos.
|
-Existencia de un catálogo de
procesos demasiado amplio, con 25
procesos diferentes, que recogen
123 resultados derivados de
403 actividades, esto puede ser
demasiado laborioso para
Cualquier organización y sus
empleados.
|
3.
Elegimos la
norma ISO/IEC 9126 porque nos permite
clasificar o medir la calidad de nuestro
proyecto de software “ATF-SOFT” ya que
nos permite examinar un conjunto
estructurado de características y subcaracterísticas de la siguiente manera:
§ Funcionalidad - Un
conjunto de atributos que se relacionan con la existencia de un conjunto de
funciones y sus propiedades específicas. Las funciones son aquellas que
satisfacen las necesidades implícitas o explícitas.
·
Adecuación -
Atributos del software relacionados con la presencia y aptitud de un conjunto
de funciones para tareas especificadas.
·
Exactitud
- Atributos del software relacionados con la disposición de
resultados o efectos correctos o acordados.
·
Interoperabilidad
- Atributos del software que se relacionan con su habilidad
para la interacción con sistemas especificados.
·
Seguridad
- Atributos del software relacionados con su habilidad para
prevenir acceso no autorizado ya sea accidental o deliberado, a programas y
datos.
·
Cumplimiento funcional.
§ Fiabilidad - Un
conjunto de atributos relacionados con la capacidad del software de mantener su
nivel de prestación bajo condiciones establecidas durante un período
establecido.
·
Madurez
- Atributos del software que se relacionan con la frecuencia
de falla por fallas en el software.
·
Recuperabilidad
- Atributos del software que se relacionan con la capacidad
para restablecer su nivel de desempeño y recuperar los datos directamente
afectos en caso de falla y en el tiempo y esfuerzo relacionado para ello.
·
Tolerancia
a fallos - Atributos del software que se relacionan con su
habilidad para mantener un nivel especificado de desempeño en casos de fallas
de software o de una infracción a su interfaz especificada.
·
Cumplimiento de Fiabilidad - La capacidad del producto
software para adherirse a normas, convenciones o legislación relacionadas con
la fiabilidad.
§ Usabilidad - Un
conjunto de atributos relacionados con el esfuerzo necesario para su uso, y en
la valoración individual de tal uso, por un establecido o implicado conjunto de
usuarios.
·
Aprendizaje-
Atributos del software que se relacionan al esfuerzo de los usuarios para
reconocer el concepto lógico y sus aplicaciones.
·
Comprensión
- Atributos del software que se relacionan al esfuerzo de los
usuarios para reconocer el concepto lógico y sus aplicaciones.
·
Operatividad
- Atributos del software que se relacionan con el esfuerzo de
los usuarios para la operación y control del software.
·
Atractividad
§ Eficiencia -
Conjunto de atributos relacionados con la relación entre el nivel de desempeño
del software y la cantidad de recursos necesitados bajo condiciones
establecidas.
·
Comportamiento
en el tiempo - Atributos del software que se relacionan con los
tiempos de respuesta y procesamiento y en las tasas de rendimientos en
desempeñar su función.
·
Comportamiento
de recursos - Usar las cantidades y tipos de recursos adecuados
cuando el software lleva a cabo su función bajo condiciones determinadas.
§ Mantenibilidad -
Conjunto de atributos relacionados con la facilidad de extender, modificar o
corregir errores en un sistema software.
·
Estabilidad
- Atributos del software relacionados con el riesgo de efectos
inesperados por modificaciones.
·
Facilidad
de análisis - Atributos del software relacionados con el esfuerzo
necesario para el diagnóstico de deficiencias o causas de fallos, o
identificaciones de partes a modificar.
·
Facilidad
de cambio - Atributos del software relacionados con el esfuerzo
necesario para la modificación, corrección de falla, o cambio de ambiente.
·
Facilidad
de pruebas - Atributos del software relacionados con el esfuerzo
necesario para validar el software modificado.
§ Portabilidad -
Conjunto de atributos relacionados con la capacidad de un sistema de software
para ser transferido y adaptado desde una plataforma a otra.
·
Capacidad
de instalación - Atributos del software relacionados con el esfuerzo
necesario para instalar el software en un ambiente especificado.
·
Capacidad
de reemplazamiento - Atributos del software relacionados con la
oportunidad y esfuerzo de usar el software en lugar de otro software
especificado en el ambiente de dicho software especificado.
§ Calidad en uso -
Conjunto de atributos relacionados con la aceptación por parte del usuario
final y Seguridad.
·
Eficacia
- Atributos relacionados con la eficiencia del software
cuando el usuario final realiza los procesos.
·
Productividad
- Atributos relacionados con el rendimiento en las tareas
cotidiana realizadas por el usuario final.
·
Seguridad
- Atributos para medir los niveles de riesgo.
·
Satisfacción -
Atributos relacionados con la satisfacción de uso del software.
No hay comentarios:
Publicar un comentario