Fundamentos de la Calidad del Software

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Desarrollo en espiral.
Metodologías ágiles.
UNIVERSIDAD "ALONSO DE OJEDA"
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
Evaluación de la función de organización.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Modelos de Proceso del Software
CALIDAD EN EL DESARROLLO DE SOFTWARE
Sistema de Gestión de la Calidad
Evaluación de Productos
ORGANIZACIÓN BASADA EN PROCESO – LECCION III
Se viven nuevos escenarios
Propuesta de una metodología para el desarrollo de proyectos informáticos empleando la herramienta para el diseño automatizado GeneXus Autor: Dipl.-Ing.
ENFOQUE DE CALIDAD ENFOQUE TRADICIONAL DE LA CALIDAD
DISEÑO DE SOFTWARE 1ª. Parte
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
El Proceso de Software es la única manera de desarrollar sistemas de calidad. F. o V. Justifica tu respuesta. Que tiene que ver la globalización.
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Métricas de calidad de software
1 Gestión de la calidad Programa AGAPD-01 Módulo IV Profesor: Ing. Osvaldo Martínez Gómez, MAP, MSc.
Calidad y Garantía de Calidad
DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE CD. VALLES.
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería de Software
Ingeniería del Software
Armillas Mendieta Brenda Angélica De León Campos Arturo Delgado Sosa Luis Alberto Rodríguez Ortega Sandra Vergara Carranza Carlos.
Tema 1: Introducción a la Ingeniería de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
INGENIERIA DE SOFTWARE
Diseño de Sistemas.
Ciclo de vida de un sistema
Metodologías Lsi. Katia Tapia A., Mae.
Métricas de calidad de software
Control de Calidad de Software
Roles de Open UP.
Métricas de la Calidad de la Especificación.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
CMM.
LA MEJORA DE LOS PROCESOS
PROCESOS DE DESARROLLO DE SOFTWARE
Actividades en el Proceso de desarrollo de Software
problemas de la calidad del software
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
Ciclo de Vida del Software
Preocupaciones del Analista Programador & Usuarios
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
ANGIE PAOLA SOLANO CASTIBLANCO DAR SOPORTE A LOS PROCESOS NORMAS ISO DOC. JOHANA LÓPEZ CHAVEZ SENA 2010.
Proceso de desarrollo de Software
CONCEPTO DE CICLO DE VIDA 1 En los departamentos de Sistemas se debe definir un marco de referencia común que debe ser:  Pueda ser empleado por todos.
Administración de Calidad de Software
UTFSM - Departamento de Electrónica1 Noviembre de 2003 “Beneficios del Uso de Metodologías en el Desarrollo de Proyectos”
Fundamentos de Computación
Las fases del ciclo de la vida de desarrollo de sistemas
La tecnología debe ser es una herramienta utilizada por las empresas para mejorar y solucionar problemas, obteniendo información precisa en el momento.
Modelo de procesos de software
Planificación de Sistemas de Información
ELO-329: Diseño y Programación Orientados a Objetos1 Proceso de Desarrollo de SW Agustín J. González ElO329: Diseño y Programación Orientados a Objeto.
Fundamentos de Ingeniería de Software
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
UNIDAD III. PSP Objetivo: El alumno identificará el Proceso Personal de Software, para medir su desempeño.
Sistemas de calidad en el desarrollo de software.
Entregables del Proyecto
GESTIÓN DE PROYECTOS.
Transcripción de la presentación:

Fundamentos de la Calidad del Software Calidad del Producto y Calidad del Proceso Enfoques de Calidad El Enfoque hacia el Producto El Enfoque hacia el Proceso Fundamentos de la Calidad del Software

Enfoques de Calidad La terminología para las características de calidad del software difiere de una taxonomía (o modelo de calidad de software) a otra, cada modelo quizás tenga un número diferente de niveles jerárquicos y un número total diferente de características SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

Enfoques de Calidad Varios autores han enunciado distintos modelos de características de calidad de software o atributos que pueden ser útiles para la negociación, planificación, y tasación de la calidad de productos software (Boehm 78; McCall 77) SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

Enfoques de Calidad ISO/IEC ha definido tres modelos relacionados de calidad de productos software (la calidad interna, la calidad externa, y la calidad en el empleo) (ISO9126-01) y un conjunto de partes relacionadas (ISO14598-98) Esto da por consecuencia dos enfoques principales para las características de la calidad del software, el enfoque hacia el producto y el enfoque hacia el proceso SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

Enfoques de Calidad La gestión de la calidad de software y la calidad de proceso en la ingeniería de software guardan relación directa con la calidad del producto software Desde luego, no es posible distinguir completamente la calidad del proceso de la calidad del producto SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

Enfoques de Calidad La calidad de proceso, afecta a las características de calidad de los productos software, que a su vez repercuten en la calidad en el uso tal y como es percibido por el cliente SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

El Enfoque hacia el Producto El ingeniero de software, ante todo, necesita determinar el Objetivo verdadero del software En cuanto a esto, es de capital importancia tener presente los requerimientos del cliente y aquellos que estos incluyen como requerimientos de calidad, no únicamente los requerimientos funcionales SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

El Enfoque hacia el Producto Así, el ingeniero de software tiene como responsabilidad obtener los requerimientos de calidad, que pueden no estar explícitos en un principio, tratar su importancia así como el nivel dificultad para alcanzarlos SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

El Enfoque hacia el Producto Todos los procesos asociados a la Calidad de software (como por ejemplo, construcción, pruebas, mejora de la calidad) serán diseñados con estas exigencias en mente, y ello conlleva gastos adicionales SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

El Enfoque hacia el Producto La calidad de un producto no se limita a su confiabilidad o corrección, aunque ésta debería estar en consonancia con el precio y el uso de la aplicación de este software Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003

El Enfoque hacia el Producto Atañe a aspectos de similar importancia a la confiabilidad, como la seguridad del producto, de sus partes, cada vez más importante en tanto y cuanto una parte del software actual se realiza mediante la composición de componentes proporcionados bien por el programador, bien por el sistema de desarrollo, bien suministrado por terceros Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003

El Enfoque hacia el Producto Otros aspectos fundamentales de la calidad de un producto de software son la facilidad de utilización por los usuarios esperados, las prestaciones ofrecidas por las aplicaciones, la adaptación a su mantenimiento y producción de nuevas versiones, la flexibilidad y la transportabilidad a sistemas hardware/software diferentes, etc. Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003

El Enfoque hacia el Producto Una de las acepciones más utilizadas de la calidad es la relacionada con modelos de aseguramiento tipo ISO 9000 El concepto se orienta más a predecir la calidad (sea la que sea) del producto final mediante el control de las tareas para su realización y, sobretodo su registro Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 10-11

El Enfoque hacia el Producto De esta forma, si el producto final no responde a nuestros criterios de calidad (lo esperado, no lo deseable), podemos saber en qué punto del proceso se produjo un error y subsanarlo Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 10-11

El Enfoque hacia el Producto El estándar ISO/IEC 9126-01 define, para dos de sus tres modelos de calidad, características de calidad, Sub-características, y las medidas que son útiles para Evaluación de calidad de producto de software El significado del término "producto" es ampliado para incluir cualquier artefacto que es la salida de cualquier proceso empleado para construir el producto de software final SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version (Sur03)

El Enfoque hacia el Producto Como ejemplos de un producto cabe incluir, aunque no con carácter limitativo, una completa especificación del sistema, una especificación de requerimientos de software para un componente de software de un sistema, un módulo de diseño, código, documentación de prueba, o los informes producidos como consecuencia de tareas de análisis de calidad SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

El Enfoque hacia el Producto Mientras la mayor parte del tratamiento de la calidad es descrito en términos del software final y funcionamiento del sistema, una ingeniería práctica responsable requiere que los productos intermedios relevantes para la calidad sean evaluados a lo largo de todo el proceso de ingeniería de software SWEBOK, Guide to the Software Engineering Body of Knowledge, 2004 Version

El Enfoque hacia el Proceso Las metodologías de desarrollo nos ayudan a realizar este proceso (el de desarrollo) reglado y prefijado para conseguir productos adecuados No se entiende un concepto como el de Fábrica de Software sin la asociación con el concepto de tareas repetibles, planificables, organizadas, igual que no se entiende una fábrica como un conjunto de tareas anárquicas, sin control ni organización Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 11

El Enfoque hacia el Proceso Dentro de la Ingeniería de Software existen multitud de metodologías para el desarrollo de productos de software Incluso, cada país suele tener su versión de metodología obligatoria (normalmente en lo relativo a los aspectos formales orientados a la documentación) en los productos de administración pública Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 11

El Enfoque hacia el Proceso La orientación adecuada consiste en partir de una metodología de desarrollo suficientemente contrastada y admitida, personalizada para la propia organización pero sin pérdida de la generalidad de la misma (lo que consiguen muchas personalizaciones es la pérdida de la eficiencia de la metodología) Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 11

El Enfoque hacia el Proceso Un proceso de desarrollo de software determina quién debe hacer qué, cuándo y cómo Un proceso de software define la forma en que se organiza el trabajo de un equipo de desarrollo y otros grupos de apoyo Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso Son las actividades que se realizan siguiendo métodos y técnicas para desarrollar un producto de software El proceso de desarrollo recibe como entrada requisitos nuevos o modificados y genera un sistema nuevo o modificado Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 253

El Enfoque hacia el Proceso Los procesos de software difícilmente se inventan desde cero, más bien recogen las mejores prácticas y experiencias de los que han tenido éxito en el desarrollo de software Actualmente, disponemos de una serie de modelos generados por consenso entre profesionistas, que podemos tomar como modelos de referencia Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 253

El Enfoque hacia el Proceso Los ejemplos más destacados de estos modelos el CMM-SW, el CMMI, el ISO/IEC 12207 e ISO/IEC 15504 La confianza en estos modelos se debe al hecho de que fueron sustraídos de las experiencias de varias empresas y de muchos proyectos exitosos desarrollados anteriormente Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 253

El Enfoque hacia el Proceso Los modelos de referencia mencionados muestran, que para tener éxito en el proceso de desarrollo de software hay que darle la debida importancia no solamente a los aspectos técnicos, sino también a los aspectos de gestión de un proyecto

El Enfoque hacia el Proceso Una organización que quiera medir la calidad, o usando los términos de los modelos, la capacidad y/o madurez de sus procesos, puede comparar su forma de trabajar con respecto a lo que sugieren estos modelos Esto se conoce como evaluación de procesos (Process Assessment)

El Enfoque hacia el Proceso Esencialmente el proceso está definido por un modelo de proceso junto con la definición de artefactos, actividades y roles El modelo de proceso se base en uno o más de los siguientes enfoques: codificar y reparar (code-and-fix), modelo en cascada, desarrollo evolutivo, desarrollo formal (paradigma de programación automática) y desarrollo basado en componentes Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso Además, existe consenso respecto a que el proceso de desarrollo debe ser iterativo En este sentido normalmente se combinan una estrategia de desarrollo incremental con una de desarrollo en espiral Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso Una importante característica de un proceso iterativo es que la especificación del software es desarrollada a lo largo del proceso de desarrollo de software, es decir, no se establece de forma completa e inmutable al principio del desarrollo Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso Un artefacto es cualquier información usada o producida por el proceso de desarrollo de software (OMG 2002) Ejemplos de artefactos son: documentos, modelos, archivos fuente y ejecutables Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso Un rol es la definición del comportamiento y responsabilidades de un individuo o conjunto de individuos trabajando juntos como un equipo, dentro del contexto de la organización de ingeniería de software Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso Una actividad es una unidad de trabajo que puede realizar un determinado rol Todo lo anterior se define de acuerdo a la terminología utilizada en RUP (Rational Unfied Process) que es la versión de la empresa Rational del proceso unificado Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso No existe un proceso de desarrollo de software universal que sea adecuado para cualquier proyecto Debido a esto, un proceso de desarrollo debe ser entendido como un marco de trabajo configurable, capaz de ser adoptado y escalda según las características del proyecto Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso En la actualidad, quizá dos de los exponentes más representativos de procesos en cuanto a su interés industrial, son RUP y XP (Extreme Programming) (Beck 2000) Ambos representan una pugna entre lo que se ha clasificado por algunos autores como procesos peso pesado (heavyweight) y procesos peso ligero (lightweight) o también llamados metodologías ágiles Para más información acerca de RUP www.rational.com Para más información acerca de XP www.extremeprogramming.org Para más información acerca de Metodologías Ágiles www.agilealliance.com Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso La diferencia más clara entre los procesos llamados pesados y los ligeros está en la envergadura de los proyectos para los cuales están orientados y el grado de “ceremonia” o mejor dicho, formalidad que el proceso establece Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso XP se orienta fuertemente a la producción de código y sus pruebas, restando protagonismo al modelado y enfatizando aspectos tales como: la satisfacción del cliente, el potenciar la capacidad individual y promover una estrecha colaboración del equipo de desarrollo Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 16

El Enfoque hacia el Proceso En RUP se hace mayor hincapié en el modelado y hay una precisa definición de cada uno de los roles, actividades y artefactos que deben formar el proceso de desarrollo RUP es un marco de trabajo que puede ser adaptado a las necesidades del proyecto, con lo cual puede configurarse para proyectos de distintas envergaduras Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 17

El Enfoque hacia el Proceso XP debido a sus principios, presenta inconvenientes para ser escalado a grandes proyectos en condiciones en las cuales, por ejemplo, como lo señala Smith (2001) hay más de 10 participantes, el equipo está distribuido geográficamente, el tiempo de desarrollo es de años, etc. Piattini, Mario G., García, Felix O; Calidad en el desarrollo y mantenimiento del software, Ed. Alfaomega RA-MA, México, 2003, Pg. 17

El Enfoque hacia el Proceso Se puede resumir todo lo anterior de la forma siguiente: Gente Imagen propiedad de Rational Tecnología Proceso

El Enfoque hacia el Proceso Gente Con las habilidades, entrenamiento y motivación Tecnología Herramientas e Infraestructura Proceso Procedimientos y Métodos definiendo las relaciones de las tareas Rational

Fin de la Presentación Continúe en la siguiente actividad Calidad del Producto y Calidad del Proceso Enfoques de Calidad El Enfoque hacia el Producto El Enfoque hacia el Proceso Fin de la Presentación Continúe en la siguiente actividad