Páginas

viernes, 29 de mayo de 2020

Modelos de Calidad


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






2.     IDENTIFICAR mediante una gráfica los procesos que se solapan entre ellos
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