6. Componentes del Ciclo de Vida de un Proyecto SW

Slides:



Advertisements
Presentaciones similares
EL PROCESO DE DESARROLLO DEL SOFTWARE
Advertisements

Ciclo de vida de desarrollo de software
Desarrollo en espiral.
Proceso de desarrollo con UML y el modelo CMM
VALORACIÓN Y SELECCIÓN DE INVERSIONES EN RECURSOS INFORMÁTICOS
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
CICLO DE VIDA DE LOS SISTEMAS DE INFORMACIÓN
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
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)
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.
Otros métodos de Diseño de Sistemas...
Modelos de Proceso del Software
Ingeniería del Software
Administración de Procesos de Pruebas
Ingeniería del Software
Republica Bolivariana de Venezuela U.G.M.A 7mo semestre Ing. Sistema
3.- Introducción al Proceso Unificado
Ingeniería de Software Orientado a Objetos
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Rational Unified Process (RUP)
Ingenieria de software
1.- Repaso Ingeniería del Software I
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Calidad y Garantía de Calidad
Modelos de desarrollo de Software
Técnicas de Programación
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Ingeniería del Software
Rational Unified Process (RUP)
Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
2.- Planificación Básica DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Plan de Sistemas de Información (PSI)
4. Introducción al Sistema de Aseguramiento de la Calidad LS Calidad de Software 3IM1 Universidad Antonio de Nebrija Justo Hidalgo.
VII Congreso de Expotecnología UVM 2007 Jonás A. Montilva C.
Ximena Romano – Doris Correa
Introducción al Proceso de Desarrollo de Software
Tema 1: Introducción a la Ingeniería de Software
3. Aspectos Organizativos del Aseguramiento de la Calidad del 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.
Pruebas y La Vida del Ciclo de Desarrollo del Software
Ingeniería de Software I
INTRODUCCIÓN AL PROCESO UNIFICADO DE DESARROLLO DESOFTWARE
El rol de SQA en PIS.
Alexander Aristizabal Ángelo flores herrera
Capitulo 1 Roger S. Presman
Introducción a UML Departamento de Informática Universidad de Rancagua
Ciclo de vida de un sistema
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 Tatiana Alejandra.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Proceso de desarrollo de software Pablo Gervás F. Informática, UCM, noviembre 2007.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Actividades en el Proceso de desarrollo de Software
5. Preproyecto LS Calidad de Software 3IM1 Universidad Antonio de Nebrija Justo Hidalgo.
Estructurar tus ideas para hacerlas realidad
“ NO HAY NADA MÁS DIFÍCIL DE CONSEGUIR, MÁS ARRIESGADO DE MANTENER NI MÁS INSEGURO DE TENER ÉXITO, QUE ESTAR A LA CABEZA EN LA INTRODUCCIÓN DE UN.
Ciclo de Vida del Software
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.
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Fundamentos de Computación
RAPID APPLICATION DEVELOPMENT RAD. Proceso de RAD Involucrar en todos los aspectos al usuario en el desarrollo del sistema Uso continuo y repetitivo de.
Software de Comunicaciones
Modelo de procesos de software
Planificación de Sistemas de Información
1 Tema 2: Introducción al proceso unificado de desarrollo de software.
Verificación y Validación del Software
Entregables del Proyecto
Transcripción de la presentación:

6. Componentes del Ciclo de Vida de un Proyecto SW LS3148 - Calidad de Software 3IM1 Universidad Antonio de Nebrija Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Contenidos Introducción al ciclo de vida de un proyecto SW Introducción a Metodologías SW V&V Defectos Pruebas Mantenimiento SW Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Introducción (I) Actividades a realizar durante el desarrollo y mantenimiento de un producto SW. Dos pasos: Ciclo de Vida de Desarrollo Mantenimiento y Operación Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Introducción (II) Ciclo de Vida de Desarrollo: Revisiones Para cada artefacto generado: Reuniones formales de diseño “Peer reviews” Opiniones de Expertos Pruebas SW Lo veremos más adelante en detalle. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Introducción (III) Operación y Mantenimiento: Correctivo Adaptativo Perfectivo También lo veremos más adelante. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Introducción (y IV) SQA de los participantes externos: Subcontratas (outsourcing, body-shopping) COTS –Commercial Off-The-Shelf- SW. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

¡hay que saber qué es el ciclo de vida de un proyecto SW! Metodologías Antes de ver cómo la calidad afecta al ciclo de vida de un proyecto SW… ¡hay que saber qué es el ciclo de vida de un proyecto SW! Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Contenidos Definición Un hecho Ventajas de la metodología Ciclo de vida Funciones básicas de una metodología Ciclos de vida clásicos Ciclo de vida en cascada Ciclo de vida en cascada con refinamiento por mejoras Prototipado y maquetaje Ciclo de vida en espiral Procesos clásicos: IEEE Métrica v3 Proceso Unificado Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Definición Conjunto de métodos que se utilizan para desarrollar una actividad con el objetivo de formalizarla y optimizarla. En ISW: optimización del proceso y producto SW. Elementos de una metodología: Fases: jerarquización ordenada del desarrollo completo. Productos -intermedios y final-. Procedimientos y herramientas. Criterios de evaluación. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Un hecho La mayor parte de los proyectos SW FRACASAN: Mala evaluación de objetivos. Mala planificación de recursos/tiempos/costes. Participación insuficiente de la dirección. Falta de acuerdos entre objetivos y planificación. Rotación del personal clave. Cambio de objetivos sin revisar la planificación. Propósito no claro por/para los usuarios. Falta de hitos y metas. Poca comprensión del problema. Poca calidad del producto. Mala planificación A PROPÓSITO. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ventajas de la metodología (I) Desde el punto de vista de gestión Facilita la planificación Facilita el control y seguimiento de los proyectos Mejora del ratio coste/beneficio Optimiza la gestión de recursos Facilita la comunicación entre los participantes Facilita la evaluación de los proyectos Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ventajas de la metodología (II) Desde el punto de vista de los Ingenieros en el desarrollo Comprensión del problema Optimización del proceso, y dentro del proceso las fases a seguir Facilidad de mantenimiento Algunos criterios sobre reusabilidad Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ventajas de la metodología (y III) Desde el punto de vista del cliente/usuario final Garantiza en la medida de lo posible la calidad del producto Mayor confianza Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo … o PARADIGMA: conjunto de fases por las que pasa el sistema que se está desarrollando desde que nace la idea hasta que el SW se retira o se reemplaza. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Funciones básicas de una metodología Definición del ciclo de vida Que se adecúe a las condiciones y características del desarrollo. Determinación de las fases dentro del ciclo de vida. Definición de resultados intermedios y finales. Conjunto de métodos, herramientas y técnicas para facilitar la tarea del IS y aumentar su productividad. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ciclos de vida clásicos (I) Ciclo de vida en cascada Características: Visión del proceso de desarrollo como una sucesión de etapas que producen productos intermedios. Deben desarrollarse todas las fases. Limitaciones: No se permiten iteraciones. Los requisitos SE CONGELAN AL PRINCIPIO DEL PROYECTO. No existe un producto enseñable hasta el final del proyecto. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ciclos de vida clásicos (II) Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ciclos de vida clásicos (III) Ciclo de vida en cascada con refinamiento por mejoras Añade la capacidad de retorno de cada fase a la fase anterior. Después se permitió pasar a cualquier fase. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ciclos de vida clásicos (IV) Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ciclos de vida clásicos (V) Prototipado y maquetaje Para evitar la tercera limitación del ciclo de vida en cascada se crean los siguientes modelos de desarrollo de productos SW: Desarrollo basado en prototipo: Valida la solución informática. Es ya parte del sistema. Da una visión de la dificultad del proyecto final. Desarrollo basado en maqueta: No valida la solución informática. Se usa si no se conoce bien el nivel de dificultad. Interfaz de usuario y módulo de comunicaciones. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ciclos de vida clásicos (VI) Ciclo de vida en espiral Utilizado cuando existen muchos riesgos y hay que buscar alternativas. Desventajas: Muy complicado. Consume muchos recursos. Las fases no están claramente definidas. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Ciclos de vida clásicos (y VII) Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Procesos Clásicos Introducimos ahora brevemente un conjunto de procesos que se han utilizado y se utilizan a lo largo de la historia de la ingeniería de software: Proceso IEEE 12207 (más adelante) Proceso Métrica v3. Proceso Unificado. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Procesos Clásicos: Métrica v3 http://www.map.es/csi/metrica3 Procesos Principales: Planificación (PSI) Desarrollo Estudio de viabilidad (EVS) Análisis (ASI) Diseño (DSI) Construcción (CSI) Implantación y aceptación (IAS) Mantenimiento (MSI) Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Proceso Unificado Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Qué es el Proceso Unificado (I) Contaremos poco del PU ahora, pues lo estudiaremos en detalle posteriormente. El proceso unificado proviene de otros exitosos procesos anteriores creados por: James Rumbaugh: OMT (Object Modeling Technique) Grady Booch: Chief Scientist. Ivar Jacobson: Concepto de “Building Blocks”. Diagramas de secuencia. SDL. Casos de uso. Objectory Process. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Qué es el Proceso Unificado (II) Proviene de: Objectory OMT Rational Approach Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Qué es el Proceso Unificado (y III) Unified Software Development Process Definido por Ivar Jacobson, James Rumbaugh y Grady Booch. Un proceso define QUIÉN está haciendo QUÉ, CUÁNDO y CÓMO para llegar a un objetivo. En la ingeniería de sw el objetivo es construir un producto sw o mejorar uno ya existente dentro de un esquema temporal, económico y de calidad. Un proceso de desarrollo es el conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema software. El proceso unificado no es un único proceso, sino un framework genérico. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Características Es guiado por casos de uso (use-case driven) Se centra en la arquitectura (architecture-centric) Es iterativo (iterative) Es incremental (incremental) Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Use-case driven Un sistema sw existe para servir a sus usuarios. Por tanto, tiene sentido saber qué es lo que los usuarios quieren, ¿no? Pues no siempre es así. Un usuario no sólo es la persona que lo utiliza, sino cualquier sistema que haga uso de la aplicación creada -sistema de gestión, otro componente externo, los diferentes tipos de usuarios humanos, etc.- Las interacciones entre los usuarios y el sistema se denominan “casos de uso” -use cases-. Ejemplo: hablar del proyecto de CECA, cómo CECA en ningún momento tiene en cuenta lo que sus usuarios pueden o no querer. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Ejemplo de caso de uso Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Architecture-centric El proceso se basa en la arquitectura del sw. Su papel es parecido al de la arquitectura en la construcción de edificios. El concepto de arquitectura sw conlleva los aspectos tanto estáticos como dinámicos del sistema. Estáticos: diagrama de herencia, diagrama de paquetes. Dinámicos: diagrama de secuencia, de actividad, etc. Se ve influido por otros temas tales como el sistema operativo sobre el que corre el sistema, hw, comunicaciones. Todo producto tiene Forma y Función: Función: casos de uso. Forma: arquitectura del sistema. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Iterative & Incremental (I) El desarrollo de un producto comercial es un proceso largo, complicado y arriesgado. Se suele acometer a través de “mini-proyectos”. Cada mini-proyecto es una iteración del producto final. El final de cada mini-proyecto es un incremento del producto final. Un incremento no tiene por qué ser aditivo -sobre todo al principio, pueden ser reemplazos de implementación de casos de uso-. Cada iteración trata un conjunto de casos de uso, en cada momento los más críticos que queden. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Iterative & Incremental (y II) Ventajas de las iteraciones controladas: Se reduce el riesgo de coste. Si hay que repetir la iteración, sólo se pierde ese tiempo. Antes existía el riesgo de tener que repetir el proyecto completo por un error del comienzo. Se reduce el riesgo de tiempo de salida al mercado. Los desarrolladores -y el equipo en general- mejoran sus tiempos al tener objetivos claros y cercanos en el tiempo. Y, repitiendo lo anterior: las necesidades del usuario no siempre pueden definirse al comienzo del proyecto -la famosa frase de “el cliente no tiene ni idea de lo que quiere” se repite tantas veces que ¿no será que estamos planteando mal el esquema de la solución?-. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Vida del Proceso Unificado El proceso se repite sobre una serie de CICLOS, cada uno de los cuáles termina con una release: versión entregable del producto. Cada versión de una herramienta comercial que se “vende en las tiendas” es una release -entrega-. Cada ciclo consta de cuatro FASES: Concepción Elaboración Construcción Transición Cada fase se puede subdividir en iteraciones, tal y como vimos anteriormente. Gif: página 8 del UP (figure 1.2) Gif: página 9 del UP (figure 1.3) Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Representaciones del Producto SW: dependencias Figure 1.4 en página 10. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Visión global del ciclo de vida Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Fases del Proceso Unificado (I) Como hemos dicho antes, cada ciclo se divide en cuatro fases: concepción, elaboración, construcción y transición. Una fase acaba de un hito -milestone-: Un hito ocurre cuando se encuentran disponibles un conjunto de “artefactos”, es decir, modelos o documentos en un estado prescrito determinado. ¿Por qué? Decisiones a tomar antes de pasar a la siguiente fase. Monitorización del trabajo por parte de desarrolladores y gestores. Categorización de los datos obtenidos: análisis. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Fases del Proceso Unificado (II) Concepción -inception- A partir de la idea se desarrolla la “visión” del producto final y se elabora el caso de negocio. Esta fase responde a las siguientes cuestiones: Qué va a realizar el sistema principalmente. Cómo sería un esqueleto de arquitectura del sistema. Cuál es el plan de proyecto y cuánto costaría. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Fases del Proceso Unificado (III) Elaboración -elaboration- Se diseña la arquitectura del sistema desde todos los puntos de vista -modelos del sistema-. Se definen todos los casos de uso. Los casos de uso más críticos se desarrollan: ARCHITECTURE BASELINE: la línea base de la arquitectura. Al final de esta fase, el gestor ya es capaz de planificar las actividades y recursos necesarios para completar el proyecto: ¿Hemos logrado la estabilidad suficiente en casos de uso, arquitectura y planificación como para asegurar el éxito del proyecto? Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Fases del Proceso Unificado (IV) Construcción -construction- El producto se construye. Ahora se añade el “músculo” al “esqueleto”. La línea base crece hasta convertirse en el sw completo. Se supone que la arquitectura del sistema es estable, a pesar de que puede haber modificaciones menores. Al final de la fase el producto está terminado -todos los casos de uso implementados-, aunque todavía nos podemos encontrar con “bugs”: ¿Satisface el producto las necesidades del usuario? Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Fases del Proceso Unificado (y V) Transición -transition- Período durante el cuál el SW está en “beta release”. Otras tareas: Manufactura. Formación, ayuda en línea, … Corrección de defectos. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Relaciones de las Cuatro Ps Process Automatización Plantilla Tools Participantes People Project Resultado Product Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Otros procesos Método Shlaer/Mellor www.projtech.com Particionamiento del sistema en dominios para su posterior análisis. Verificación del análisis mediante ejecución. Método Coad/Yourdon Aproximación orientada a prototipo Aproximación ligera Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Fin Metodologías Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo V&V V&V: Verificación & Validación Utilizar apuntes de ISW I Cualificación: ¿se puede usar? Está centrado en mantenimiento. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Defectos (I) El Plan de Calidad ha de medir: La efectividad del plan en eliminar defectos de proyecto El coste de eliminación de defectos de proyecto Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

COSTE DE ARREGLO DE DEFECTOS Defectos (II). ¿Por qué? COSTE DE ARREGLO DE DEFECTOS Requisitos 1 Diseño 2.5 Pruebas Unitarias 6.5 Pruebas de Integración 16 Pruebas de Sistemas 40 Operación 110 Fuente: Boehm (1981) Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Defectos (y III). Distribución Distribución Característica de Defectos Requisitos 15% Diseño 35% Codificación 30% Integración 10% Documentación Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Pruebas Vitales en el Plan de Calidad. Lo veremos en detalle al final del cuatrimestre. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Mantenimiento (I). Tipos Mantenimiento correctivo Mantenimiento adaptativo Mantenimiento perfectivo M. perfectivo puro M. preventivo Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Mantenimiento (II). Causas Error de código Fallo de documentación (textos, ayuda en línea, …) Documentación imprecisa / vaga. Conocimiento insuficiente por parte del usuario (¿imputable?). Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Mantenimiento (III). Fundamentos Calidad del paquete SW Factores de operación Corrección –de info de salida, de codificación, …- Fiabilidad Factores de revisión Capacidad de mantenimiento Flexibilidad “Testabilidad” Factores de transición Portabilidad Interoperabilidad Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Mantenimiento (y IV). Fundamentos Política de Mantenimiento P. de desarrollo de versiones ¿Cuántas versiones operativas al mismo tiempo? Estructura Secuencial Estructura Arbórea P. de cambios Método de examen de cada petición de cambios. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo Bibliografía Artículos: Theory-W Software Project Management: principles and examples. B.Boehm, R. Ross, UCLA. IEEE Transactions on Software Engineering, 1989. The Shlaer-Mellor method. S. Shlaer, S. J. Mellor. Project Technology. Enlaces: Cetus Links sobre metodologías: http://www.cetus-links.org/oo_ooa_ood_methods.html Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo