Modelos de Calidad de Software Introducción Ing. Johan Romaní Palomino Calidad La calidad es entregar al cliente no lo que quiere, sino lo que nunca se había imaginado que quería y que una vez que lo obtenga, se dé cuenta que era lo que siempre había querido. Norma de Calidad QUE ES UNA NORMA DE CALIDAD Documento, establecido por consenso y aprobado por un organismo reconocido (nacional o internacional), que proporciona para un uso común y repetido, una serie de reglas, directrices o características para las actividades de calidad o sus resultados, con el fin de conseguir un grado óptimo de orden en el contexto de la calidad. Estándar de Calidad QUE ES UN ESTANDAR DE CALIDAD Normas y protocolos internacionales que deben cumplir productos de cualquier índole para su distribución y consumo por el cliente final. Proceso de Calidad QUE ES EL PROCESO DE CALDIAD... La base fundamental de todo sistema de calidad es que el diseño de los productos y servicios debe ajustarse a las necesidades, deseos, expectativas y exigencias del cliente, tomando en consideración que en la definición de esas necesidades interviene aspectos culturales, sociales, económicos y geográficos. Proceso de Mejora de la Calidad Proceso de Mejora de la Calidad Proceso de Mejora de la Calidad Modelos de Calidad Que es un modelo de calidad de software? Es un conjunto de buenas practicas para el ciclo de vida del software, enfocado en los procesos de gestión y desarrollo de proyectos. Cuantos modelos existen CMMI v. 1.2 Carnegie Mellon Software Engineering Institute – SEI http://www.sei.cmu.edu/cmmi/ Orientado a mejora de procesos en diferentes niveles de madurez, mas hacia proyectos específicos. Norma ISO/IEC 12007 International Organization for Standardization http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail? CSNUMBER=21208&ICS1=35&ICS2=80&ICS3 Orientado al proceso del ciclo de vida del software Metrica3 Ministerio de Administración Pública de España http://www.csi.map.es/csi/metrica3/ Modelo e Implementación Ingeniería de Requerimientos de Software Factores y características que determinan la calidad del Software Ing. Johan Romaní Palomino El modelo de McCall los clasifica en tres grupos: • Operaciones del producto: características operativas. - Corrección (¿ Hace lo que se le pide ?) . El grado en que una aplicación satisface sus especificaciones y consigue los objetivos encomendados por el cliente. - Fiabilidad (¿ Lo hace de forma fiable todo el tiempo ?) . El grado que se puede esperar de una aplicación lleve a cabo las operaciones especificas y con la precisión requerida. - Eficiencia (¿ Que recursos hardware y software necesito ?) . La cantidad de recursos hardware y software que necesita una aplicación para realizar las operación con los tiempos de respuesta adecuados. • Operaciones del producto: características operativas. - Integridad (¿ Puedo controlar su uso ?) . El grado con que puede controlarse el acceso al software o a los datos a personal no autorizado. - Facilidad de uso (¿ Es fácil y cómodo de manejar ?) . El esfuerzo requerido para aprender el manejo de un aplicación, trabajar con ella, introducir datos y conseguir resultados. • Revisión del producto: capacidad para soportar cambios. - Facilidad de mantenimiento (¿ Puedo localizar los fallos?) . El esfuerzo requerido para localizar y reparar errores. - Flexibilidad (¿ Puedo añadir nuevas opciones?) . El esfuerzo requerido para modificar una aplicación en funcionamiento. - Facilidad de prueba (¿ Puedo probar todas las opciones?) . El esfuerzo requerido para probar una aplicación de forma que cumpla con lo especificado en los requerimientos. • Transición del producto: adaptabilidad a nuevos entornos. - Portabilidad (¿ Podré usarlo en otra máquina ?) . El esfuerzo requerido para transferir la aplicación a otro hardware o sistema operativo. - Reusabilidad (¿ Podré utilizar alguna parte del software en otra aplicación ?) . Grado en que partes de una aplicación pueden utilizarse en otras aplicaciones. - Interoperabilidad (¿ Podrá comunicarse con otras aplicaciones o sistemas informáticos?) . El esfuerzo necesario para comunicar la aplicación con otras aplicaciones o sistemas informáticos. Calidad Interna y Externa del Software ISO 9126 Factores de Calidad según ISO 9126 Es un modelo jerárquico con seis atributos especiales. La diferencia con McCall y Boehm es que la jerarquía es estricta, es decir, que cada característica de la derecha solo está relacionada con un solo atributo del modelo. Las características de la derecha se relacionan con la visión del usuario. Aseguramiento de calidad del software (Software Quality Assurance) El aseguramiento de calidad del software es el conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad. El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla y no después. Algunos autores prefieren decir garantía de calidad en vez de aseguramiento: NOTA: Garantía, puede confundir con garantía de productos Aseguramiento pretende dar confianza en que el producto tiene calidad Aseguramiento de calidad del software (Software Quality Assurance) Actividades para el aseguramiento- de calidad del software: Métricas de software para el control del proyecto Verificación y validación del software a lo largo del ciclo de vida . Incluye las pruebas y los procesos de revisión e inspección La gestión de la configuración del software FIN