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

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

Embed Size (px)

Citation preview

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

6. Componentes del Ciclo de 6. Componentes del Ciclo de Vida de un Proyecto SWVida de un Proyecto SW

LS3148 - Calidad de SoftwareLS3148 - Calidad de Software3IM1

Universidad Antonio de NebrijaJusto Hidalgo

Page 2: 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

2

ContenidosContenidos

• Introducción al ciclo de vida de un proyecto SW

• Introducción a Metodologías SW

• V&V

• Defectos

• Pruebas

• Mantenimiento SW

Page 3: 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

3

Introducción (I)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

Page 4: 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

4

Introducción (II)Introducción (II)

• Ciclo de Vida de Desarrollo:1. Revisiones

– Para cada artefacto generado:– Reuniones formales de diseño

– “Peer reviews”

2. Opiniones de Expertos

3. Pruebas SW– Lo veremos más adelante en detalle.

Page 5: 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

5

Introducción (III)Introducción (III)

• Operación y Mantenimiento:

1. Correctivo

2. Adaptativo

3. Perfectivo

• También lo veremos más adelante.

Page 6: 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

6

Introducción (y IV)Introducción (y IV)

• SQA de los participantes externos:– Subcontratas (outsourcing, body-shopping)– COTS –Commercial Off-The-Shelf- SW.

Page 7: 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

7

MetodologíasMetodologí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!

Page 8: 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

8

ContenidosContenidos

• 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

Page 9: 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

9

DefiniciónDefinició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.

Page 10: 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

10

Un hechoUn 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.

Page 11: 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

11

Ventajas de la metodología (I)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

Page 12: 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

12

Ventajas de la metodología (II)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

Page 13: 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

13

Ventajas de la metodología (y III)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

Page 14: 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

14

Ciclo de vidaCiclo de vida

• … 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.

Page 15: 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

15

Funciones básicas de una Funciones básicas de una metodologíametodologí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.

Page 16: 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

16

Ciclos de vida clásicos (I)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.

Page 17: 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

17

Ciclos de vida clásicos (II)Ciclos de vida clásicos (II)

Requisitos

Análisis

Diseño

Implemen-tación

Pruebas

Manteni-miento

Page 18: 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

18

Ciclos de vida clásicos (III)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.

Page 19: 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

19

Ciclos de vida clásicos (IV)Ciclos de vida clásicos (IV)

Requisitos

Análisis

Diseño

Implemen-tación

Pruebas

Manteni-miento

Page 20: 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

20

Ciclos de vida clásicos (V)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.

Page 21: 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

21

Ciclos de vida clásicos (VI)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.

Page 22: 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

22

Ciclos de vida clásicos (y VII)Ciclos de vida clásicos (y VII)

Page 23: 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

23

Procesos ClásicosProcesos 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.

Page 24: 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

24

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

Page 25: 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

25

Proceso UnificadoProceso Unificado

Page 26: 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

26

Qué es el Proceso Unificado (I)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.

Page 27: 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

27

Qué es el Proceso Unificado (II)Qué es el Proceso Unificado (II)

• Proviene de:– Objectory

– OMT

– Rational Approach

Page 28: 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

28

Qué es el Proceso Unificado (y III)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.

Page 29: 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

29

CaracterísticasCaracterísticas

• Es guiado por casos de uso (use-case driven)

• Se centra en la arquitectura (architecture-centric)

• Es iterativo (iterative)

• Es incremental (incremental)

Page 30: 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

30

Use-case drivenUse-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-.

Page 31: 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

31

Ejemplo de caso de usoEjemplo de caso de uso

Page 32: 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

32

Architecture-centricArchitecture-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.

Page 33: 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

33

Iterative & Incremental (I)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.

Page 34: 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

34

Iterative & Incremental (y II)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?-.

Page 35: 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

35

Vida del Proceso UnificadoVida 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.

Page 36: 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

36

Representaciones del Producto SW: dependenciasRepresentaciones del Producto SW: dependencias

Catedral

Modelo de Casos de Uso

Modelo de Pruebas

Modelo de DiseñoModelo de Despliegue

Modelo de Análisis

Modelo de Implementación

especificado porrealizado por

implementado por

distribuido por

verificado por

Page 37: 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

37

Visión global del ciclo de vidaVisión global del ciclo de vida

Page 38: 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

38

Fases del Proceso Unificado (I)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.

Page 39: 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

39

Fases del Proceso Unificado (II)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.

Page 40: 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

40

Fases del Proceso Unificado (III)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?

Page 41: 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

41

Fases del Proceso Unificado (IV)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?

Page 42: 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

42

Fases del Proceso Unificado (y V)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.

Page 43: 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

43

Relaciones de las Cuatro PsRelaciones de las Cuatro Ps

Process

Product

ProjectTools

PeopleParticipantes

AutomatizaciónPlantilla

Resultado

Page 44: 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

44

Otros procesosOtros 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

Page 45: 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

45

Fin MetodologíasFin Metodologías

Page 46: 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

46

V&VV&V

• V&V: Verificación & Validación

• Utilizar apuntes de ISW I

• Cualificación: ¿se puede usar? Está centrado en mantenimiento.

Page 47: 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

47

Defectos (I)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

Page 48: 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

48

Defectos (II). ¿Por qué?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)

Page 49: 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

49

Defectos (y III). DistribuciónDefectos (y III). Distribución

Distribución Característica de Defectos

Requisitos 15%

Diseño 35%

Codificación 30%

Integración 10%

Documentación 10%

Page 50: 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

50

PruebasPruebas

• Vitales en el Plan de Calidad.

• Lo veremos en detalle al final del cuatrimestre.

Page 51: 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

51

Mantenimiento (I). TiposMantenimiento (I). Tipos

• Mantenimiento correctivo

• Mantenimiento adaptativo

• Mantenimiento perfectivo– M. perfectivo puro– M. preventivo

Page 52: 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

52

Mantenimiento (II). CausasMantenimiento (II). Causas

1. Error de código

2. Fallo de documentación (textos, ayuda en línea, …)

3. Documentación imprecisa / vaga.

4. Conocimiento insuficiente por parte del usuario (¿imputable?).

Page 53: 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

53

Mantenimiento (III). FundamentosMantenimiento (III). Fundamentos

1. 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

Page 54: 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

54

Mantenimiento (y IV). FundamentosMantenimiento (y IV). Fundamentos

2. 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.

Page 55: 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

55

BibliografíaBibliografí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