¡Descarga Gestión de calidad del software y más Apuntes en PDF de Ingeniería del Software solo en Docsity!
UNIDAD 5
GESTIÓN DE CALIDAD
La calidad de software es la concordancia con los requisitos funcionales y de rendimiento, con los estándares de desarrollo y con las características implícitas que se espera del software desarrollado profesionalmente. Niveles de la calidad del software A nivel de la empresa A nivel del proyecto Debe tener una estructura organizativa. Fomentar procesos específicos para asegurar la calidad. Se lleva a la práctica en actividades cotidianas. Se aplica durante todo el proceso de ingeniería de software. La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba. Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos se refleja en una falta de calidad. Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad. La política establecida debe estar sustentada sobre tres principios básicos:
- El tecnológico define las técnicas a utilizar en el proceso de desarrollo del software.
- El administrativo contempla las funciones de planificación y control del desarrollo del software, así como la organización del ambiente o centro de ingeniería de software.
- El ergonómico define la interfaz entre el usuario y el ambiente automatizado. Plan de calidad del software Un plan de la calidad es un documento que especifica qué procedimientos y recursos deberían aplicarse, quién debe aplicarlos y cuándo deberían aplicarse a un proyecto, proceso, producto o contrato específico, de manera de poder alcanzar los objetivos de la calidad. Es un documento a través del que se detalla cómo debe ser el proceso que garantice la calidad de los proyectos, productos o procesos Un plan de aseguramiento la calidad (QA Quality Assurance,) es el conjunto de actividades planificadas y sistemáticas aplicadas en un sistema de gestión de la calidad para que los requisitos de calidad de un producto o servicio sean satisfechos. Planificación de la calidad de software: La planificación de la calidad es la parte de la gestión de la calidad enfocada al establecimiento de los objetivos de la calidad y a la especificación de los procesos operativos necesarios y de los recursos relacionados para cumplir los objetivos de calidad. La planificación de la calidad facilita el modo de adaptar la planificación del sistema de gestión de la calidad a un proyecto específico, producto o contrato. La planificación de la calidad puede incluir referencias genéricas, el proyecto, el producto y/o el contrato específico de procedimientos, como apropiados. La Planificación de la Calidad del Software a nivel de proyectos debería considerar lo siguiente:
- Inclusión de los planes de desarrollo.
- Los requisitos de calidad relacionados con los productos y/o procesos.
- Los sistemas de gestión de la calidad adaptando y/o identificando los procesos e instrucciones específicos apropiados para el ámbito del manual de calidad y algunas exclusiones expuestas.
- Los procesos de proyectos específicos e instrucciones, tales como, especificación de pruebas del software, detallando los planes, diseños, casos de pruebas y procesos para la unidad, integración, sistemas y pruebas de aceptación.
- Los métodos, modelos, herramientas, convenios de lenguajes de programación, bibliotecas, marcos de trabajo y otros componentes reutilizables para ser usados en los proyectos.
- Los criterios para el comienzo y final de cada fase o proyecto.
- Los tipos de análisis y otras verificaciones y actividades de verificación para ser llevadas a cabo.
- Los procesos de gestión de la configuración junto con las actividades de seguimiento y las medidas para ser llevados a cabo.
- Las personas responsables de aprobar los procesos de salida para su uso posterior.
- La formación necesaria para el uso de herramientas, técnicas y la organización de la formación previa a la habilidad necesaria.
- Los registros para ser mantenidos y la gestión de cambios, como, por ejemplo, para recursos, escalas de tiempo y cambios de contrato. La planificación de la calidad en forma abreviada es particularmente útil para limitar los objetivos de calidad para el software siendo designados para un propósito limitado. En la planificación de la Calidad de Software se debe determinar:
- Rol de la planificación.
- Requerimientos de la Calidad de Software.
- Preparación de un plan de Calidad de Software.
- Implementación del plan de Calidad de Software.
- Preparar un manual de Calidad Gestión de proyectos usando un marco de calidad La documentación de calidad es también un medio de comunicación sobre el ciclo de vida de un sistema. Ésta permite al grupo responsabilizarse de la evolución del sistema para saber qué ha hecho el equipo de desarrollo. La clave de la calidad en el desarrollo de sistemas pequeños es el establecimiento de cultura de calidad y asegurarse de que todos los miembros del equipo hacen una aproximación positiva a la calidad del software. La gestión de calidad del software se estructura en tres actividades principales:
- Garantía de la calidad: El establecimiento de un marco de trabajo de procedimientos y estándares organizacionales que conduce a software de alta calidad.
- Planificación de la calidad: La selección de procedimientos y estándares adecuados a partir de este marco de trabajo y la adaptación de éstos para un proyecto software específico.
- Control de la calidad: La definición y fomento de los procesos que garanticen que los procedimientos y estándares para la calidad del proyecto son seguidos por el equipo de desarrollo de software. La gestión de la calidad provee una comprobación independiente de los procesos de desarrollo software. Los procesos de gestión de la calidad comprueban las entregas del proyecto para asegurarse que concuerdan con los estándares y metas organizacionales.
actividades de la gestión de la calidad comprenden la garantía de la calidad que establece los estándares para el desarrollo de software, la planificación de la calidad y el control de la calidad que comprueba el software con respecto a los estándares definidos. El proceso de control de calidad implica comprobar que el proceso del software y el software a desarrollar concuerdan con estos estándares. CMMI (Capability Maturity Model Integration) Conjunto de modelos elaborados por el SEI (Software Engeniering Institute) que permiten obtener un diagnóstico preciso de la madurez de los procesos relacionados con las tecnologías de la información de una organización, y describen las tareas que se tienen que llevar a cabo para mejorar esos procesos. Existen actualmente cuatro modelos CMMI: CMMI-SE/SW/IPPD/SS, CMMI-SE/SW/IPPD, CMMI-SE/SW y CMMI-SW. En el Modelo de Madurez de la Capacidad del Software del SEI (Software Capability Maturity Model, SW-CMM) se definen un conjunto de áreas clave del proceso, que describen las funciones de ingeniería del software que deben llevarse a cabo para el desarrollo de una buena práctica, agrupadas en cinco niveles inclusivos. Cada una de las áreas está organizada en cinco secciones, denominadas características comunes:
- Compromiso de realización.
- Capacidad para llevarla a cabo.
- Actividades que hay que realizar.
- Medición y análisis.
- Verificación de la implementación Tal como se ha dicho los niveles en los que se agrupan las áreas claves de proceso son inclusivos: para alcanzar uno es necesario haber alcanzado (y mantener) todos los anteriores: Inicial. Está caracterizado por una aproximación intuitiva al proceso de desarrollo del software. El éxito depende del esfuerzo individual. No se han definido procesos metodológicos, o se han definido, pero no se siguen. Es necesario realizar medidas de línea base, es decir, medidas que servirán para estimar y planificar en el futuro. Asimismo, es el momento de hacer un esfuerzo de estructuración y control en el proceso. Repetible. La madurez metodológica de la organización permite estimar fiablemente el tamaño funcional o físico del sistema, así como recursos, esfuerzo, costos y calendario. Se han sentado las bases para repetir éxitos anteriores en proyectos con aplicaciones similares. Las áreas clave son las siguientes:
- Gestión de requisitos.
- Planificación del proyecto software.
- Seguimiento y control del proyecto.
- Gestión de la subcontratación del software.
- Aseguramiento de la calidad del software.
- Gestión de la configuración del software. Definido. Se conoce la forma de construcción del sistema. El proceso del software de las actividades de gestión e ingeniería se documentan y se estandarizan. Las actividades intermedias están bien definidas, y por tanto se puede examinar y medir.
- Desarrollo y mejora de los procesos de la organización.
- Definición de los procesos de la organización.
- Programa de formación.
- Gestión integrada del software
- Ingeniería de producto software
- Coordinación Inter grupos
- Revisión conjunta. Gestionado. Se añade la gestión a un proceso definido. Se usa realimentación desde las primeras actividades del proyecto para seleccionar prioridades en las actividades actuales y conocer cómo se emplean los recursos. Los efectos de los cambios en una actividad se pueden seguir en otras. Se recopilan medidas detalladas del proceso del software y de la calidad del producto. En definitiva, se evalúa la efectividad de las actividades del proceso.
- Gestión cuantitativa del proyecto.
- Gestión de calidad del software. Optimizado. Existe una mejora continua de los procesos. Las medidas de actividades se usan para mejorar el proceso, eliminando y añadiendo actividades y reorganizando su estructura como respuesta a los resultados de las medidas. Las áreas definidas para este nivel son:
- Prevención de defectos.
- Gestión de cambios tecnológicos.
- Gestión de cambios en los procesos. MoProSoft (Modelo de Procesos para la Industria del Software). MoProSoft es un modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Desarrollado por la Asociación Mexicana para la Calidad en Ingeniería de Software a través de la Facultad de Ciencias de la Universidad Nacional Autónoma de México (UNAM) y a solicitud de la Secretaría de Economía para obtener una norma mexicana que resulte apropiada a las características de tamaño de la gran mayoría de empresas mexicanas de desarrollo y mantenimiento de software. Requerimientos. Proporcionar a la industria de software en México, que en su gran mayoría es pequeña y mediana, un modelo basado en las mejores prácticas internacionales con las siguientes características:
- Fácil de entender.
- Fácil de aplicar.
- No costoso en su adopción.
- Ser la base para alcanzar evaluaciones exitosas con otros modelos o normas, tales como ISO 9000:2000 o CMM.1 V1.1. El modelo de procesos (MoProSoft) tiene tres categorías de procesos: Alta Dirección, Gestión y Operación que reflejan la estructura de una organización. La categoría de Alta Dirección Proporciona los lineamientos a los procesos de la Categoría de Gestión y se retroalimenta con la información generada por ellos.
- Gestión de Negocio: El propósito es establecer la razón de ser de la organización, sus objetivos y las condiciones para lograrlos, para lo cual es necesario considerar las necesidades de los clientes, así como evaluar los resultados para poder proponer cambios que permitan la mejora continua. Se compone de la planificación estratégica, la preparación para la realización de la estrategia, y la valoración y mejora continua de la organización.
- Construcción: Conjunto de actividades para producir Componente(s) de software que correspondan al Análisis y Diseño, así como la realización de pruebas unitarias. Como resultado se obtienen el (los) Componente(s) de software probados.
- Integración y Pruebas: Conjunto de actividades para integrar y probar los componentes de software, basadas en los Planes de Pruebas de Integración y de Sistema, con la finalidad de obtener el Software que satisfaga los requerimientos especificados. Se genera la versión final del Manual de Usuario, Manual de Operación y Manual de Mantenimiento. Como resultado se obtiene el producto de Software probado y documentado.
- Cierre: Integración final de la Configuración de Software generada en las fases para su entrega. Identificación y documentación de las lecciones Aprendidas. Generación del Reporte de Mediciones y Sugerencias de Mejora. Roles: Cliente, Usuario, Grupo Directivo, Responsable de Proceso e Involucrado. Productos
Producto de Software. Es el producto que se genera en el proceso de Desarrollo y Mantenimiento de
Software. Los productos de software se clasifican de manera general como Especificación de Requerimientos, Análisis y Diseño, Software, Prueba, Registro de Rastreo y Manual. Esta clasificación puede ser especializada según las necesidades. Configuración de Software. Es un conjunto consistente de productos de software.
- Plan: Programa detallado de las actividades, responsables por realizarlas y calendario.
- Reporte: Informe del resultado de las actividades realizadas.
- Registro: Evidencia de actividades desempeñadas.
- Lección Aprendida: Experiencia positiva o negativa obtenida durante la realización de alguna actividad.
- Otros Productos: Producto, distinto a los anteriores, que también es generado en los procesos. Alcances. El alcance de un proyecto llamado también alcance del trabajo es el trabajo que debe hacerse para que el cliente se convenza de que las entregas (las cosas por hacer), es decir, el producto u objetos tangibles que han de suministrarse) cumplan con los requisitos o criterios de aceptación acordados al comenzar el proyecto.
Gestión del alcance. Comprende las actividades orientadas a garantizar el cumplimiento de las tareas
necesarias para lograr los objetivos del proyecto. La gestión del alcance del proyecto se relaciona principalmente con la definición y el control de lo que está y no está incluido en el proyecto. En el contexto del proyecto, la palabra alcance puede referirse a lo siguiente:
- Alcance del producto: Las características y funciones que caracterizan a un producto, servicio o resultado.
- Alcance del proyecto: El trabajo que debe realizarse para entregar un producto, servicio o resultado con las funciones y características especificadas.
Planificación del alcance. El plan de gestión del alcance del proyecto es una herramienta de planificación
que describe cómo el equipo definirá el alcance del proyecto, desarrollará el enunciado del alcance del proyecto detallado, definirá y desarrollará la estructura de desglose del trabajo, verificará y controlará el alcance del proyecto.
Herramientas y técnicas. Análisis del Producto Técnicas como desglose del producto, análisis de
sistemas, ingeniería de sistemas, ingeniería del valor, análisis del valor y análisis funcional. Identificación
de Alternativas: Las más comunes son la tormenta de ideas y el pensamiento lateral. Juicio de Expertos: Análisis de los Interesados Identifica la influencia y los intereses de los diversos interesados y documenta sus necesidades, deseos y expectativas.
Verificación del alcance. Proceso de obtener la aceptación formal por parte de los interesados del
alcance del proyecto completado y los productos entregables relacionados. Verificar el alcance del proyecto incluye revisar los productos entregables para asegurarse de que cada uno se complete satisfactoriamente.
Control del alcance. Se encarga de influir sobre los factores que crean cambios en el proyecto y de
controlar el impacto de dichos cambios. El control del alcance del proyecto también se usa para gestionar los cambios reales cuando se producen, y está integrado con los demás procesos de control. Los cambios no controlados a menudo se denominan corrupción del alcance del proyecto. Los cambios son inevitables, con lo cual se impone algún tipo de proceso de control de cambios.
Estructura. Por estructuración se entiende la facilidad con que las funciones pueden ser compartidas y
la naturaleza jerárquica de la información a tratar. A medida que el grado de estructuración aumenta, se tiene la posibilidad de estimar con precisión la mejora y, por consiguiente, el riesgo disminuye.
Especificaciones. El concepto en la preparación de planos y especificaciones es que los planos del
proyecto definen la geometría incluyendo dimensiones, forma y detalles mientras que las especificaciones complementen esto definiendo aspectos generales, materiales y la ejecución necesaria. En el momento en que se requiere más información o cuando surgen discrepancias, entonces buscan más detalles en las especificaciones. Es entonces donde muchas veces aparecen problemas porque las especificaciones no son adecuadas y, en vez de aclarar la intención del diseñador, crean complicaciones adicionales.
Tiempo, Costos y Recursos. La estimación del tiempo forma parte del proceso de Gestión del Tiempo
de la Administración de Proyectos. La Gestión del Tiempo del Proyecto incluye los procesos necesarios para lograr la conclusión del proyecto a tiempo. Los procesos de Gestión del Tiempo del Proyecto incluyen lo siguiente:
- Definición de las Actividades: Identifica las actividades específicas del cronograma que deben ser realizadas para producir los diferentes productos entregables del proyecto.
- Establecimiento de la Secuencia de las Actividades: Identifica y documenta las dependencias entre las actividades del cronograma.
- Estimación de Recursos de las Actividades: Estima el tipo y las cantidades de recursos necesarios para realizar cada actividad del cronograma.
- Estimación de la Duración de las Actividades: Estima la cantidad de períodos laborables que serán necesarios para completar cada actividad del cronograma.
- Desarrollo del Cronograma: Analiza las secuencias de las actividades, la duración de estas, los requisitos de recursos y las restricciones del cronograma para crear el cronograma del proyecto.
- Control del Cronograma: Controla los cambios del cronograma del proyecto.
Costos. La estimación de costos de una actividad es una evaluación cuantitativa de los costos probables
de los recursos necesarios para completar las actividades del cronograma del proyecto. Este tipo de estimación puede presentarse en forma de resumen o en detalle. Los costos se estiman para todos los recursos que se aplican a la estimación de costos de la actividad. Esto incluye, entre otros, la mano de obra, los materiales (Licencias del Software, Bases de Datos y otros componentes necesarios), los equipos, los servicios, las instalaciones, la tecnología de la información, y categorías especiales como una asignación por inflación o una reserva para contingencias de costo.
Biblioteca de Soporte o de Proyecto. Estas herramientas ofrecen también de forma automática el control de acceso y control de sincronización. Mecanismos para solicitar cambios. El primer mecanismo que es necesario definir es el mecanismo para solicitar cambios sobre los elementos de configuración. El primer paso es definir el formulario que se debe utilizar para solicitar cambios. En cualquier caso, debe ser simple, y aceptado por las personas que lo tendrán que manejar. El formulario más común es el de solicitud de cambios. A los formularios que se usan para informar de problemas se les suele llamar informes de incidencias o informes de problemas. Recogen información adicional sobre el incidente que ha desvelado la existencia de un problema. Este informe de incidencia es analizado por los desarrolladores, y estos pueden recomendar alguna de las siguientes acciones:
- No requiere acción: Cuando lo que se describe en el informe de incidencia no es realmente una deficiencia. Esta situación suele ser debida a malentendidos acerca de la forma de funcionamiento del sistema. También se puede dar esta situación cuando ya se ha informado previamente de una incidencia similar, y se están tomando las acciones correctivas necesarias.
- Solicitud de Cambio: La implementación se corresponde con el diseño del sistema, pero una mejora en el diseño del sistema solucionaría el problema. Se genera entonces una solicitud de cambio, que se tratará por los cauces normales.
- Notificación de Cambio: Cuando la deficiencia que se describe en el informe de incidencia se debe a una mala implementación que debe ser corregida. Se informa entonces al Comité de Control de Cambios y se pasa a corregir la deficiencia.