La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

6. Componentes del Ciclo de Vida de un Proyecto SW

Presentaciones similares


Presentación del tema: "6. Componentes del Ciclo de Vida de un Proyecto SW"— Transcripción de la presentación:

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

2 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

3 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

4 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

5 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

6 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

7 ¡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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

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

18 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

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

20 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

21 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

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

23 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 (más adelante) Proceso Métrica v3. Proceso Unificado. Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo

24 Procesos Clásicos: Métrica v3
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

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

26 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

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

28 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

29 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

30 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

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

32 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

33 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

34 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

35 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

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

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

38 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

39 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

40 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

41 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

42 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

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

44 Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo
Otros procesos Método Shlaer/Mellor 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

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

46 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

47 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

48 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

49 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

50 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

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

52 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

53 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

54 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

55 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: Calidad de Software - 6. Ciclo de Vida - Justo Hidalgo


Descargar ppt "6. Componentes del Ciclo de Vida de un Proyecto SW"

Presentaciones similares


Anuncios Google