2. Desarrollo Iterativo e Incremental
¿Qué es un Desarrollo Iterativo e
Incremental?
El desarrollo iterativo e incremental es el
proceso de construir el sistema en
pequeños pasos
Beneficios
Reducción de riesgos basado en una
respuesta temprana
Mejor flexibilidad para acomodar
requerimientos nuevos o modificados
Incrementar la calidad del programa
3. El Ciclo de Vida del Software
El ciclo de vida de un programa
desencadena una secuencia de ciclos
de desarrollo, en la cual el resultado
de estos ciclos es la generación de un
producto (Ejecutable)
Cada ciclo es una sucesión de fases
Inicio
Elaboración
Construcción
Transición
5. Fase de Inicio
Propósito
Establecer el caso de negocio para un
nuevo sistema o para la puesta al día de un
sistema ya existente
Artefactos desarrollados
El núcleo de lo solicitado para el proyecto
Una asesoría de riesgo inicial
Artefactos opcionales:
Un prototipo conceptual
Un modelo inicial de dominio (10% - 20%
completo)
6. Fase de Elaboración
Propósito
◦ Analizar el dominio del problema
◦ Abordar el elemento más riesgoso del proyecto
◦ Desarrollar un plan integral para mostrar cómo el
proyecto será terminado
Productos
◦ Una arquitectura ejecutable
◦ Una evaluación del riesgo
◦ Un plan de desarrollo
◦ Criterios de evaluación
◦ Un manual preliminar para el usuario (opcional)
◦ Estrategias de pruebas
◦ Plan de pruebas
7. Fase de Construcción
Objetivo
◦ Desarrollar incrementalmente un producto
completo (un programa) que está listo para
introducirse en la comunidad de los usuarios
Productos
◦ Una secuencia de ejecutables
◦ Prototipos de comportamiento
◦ Resultados de calidad asegurados
◦ Documentación del usuario y del sistema
◦ Plan de despliegue
◦ Criterios de evaluación para al menos la
siguiente iteración
8. Fase de Transición
Propósito
◦ Implantar el software en su entorno de
operación
Productos
◦ Una secuencia de ejecutables.
◦ Resultados de calidad asegurados
◦ Documentación del usuario y del sistema
actualizada
◦ Análisis del rendimiento del proyecto
9. ¿Qué es una Iteración?
Una iteración es un ciclo de desarrollo
que termina en la entrega de un
subconjunto de productos finales
Cada iteración pasa por todos los
aspectos de desarrollo del programa
◦ Análisis de Requerimientos
◦ Diseño e Implementación
◦ Prueba
◦ Documentación
Cada entrega iterativa es una “pieza”
totalmente documentada del sistema
final
11. Proceso de Planificación de
una Iteración
Identificar y priorizar los riesgos del proyecto
Seleccionar un número pequeño de escenarios
que contengan los mayores riesgos
Los escenarios seleccionados son usados por:
◦ Los desarrolladores
◦ Los probadores
Al final de la iteración
◦ Determinar qué riesgo ha sido reducido o eliminado
◦ Determinar si algún nuevo riesgo ha sido
descubierto
Poner al día el plan para las iteraciones restantes
13. Proceso Unificado Racional (RUP)
Es una metodología de desarrollo de
software desarrollada por la Rational
Corporation.
Rup es un proceso interactivo, donde
cada interacción representa el ciclo
completo de desarrollo.
14. Un metodología de desarrollo
• El conjunto de actividades necesarias para
transformar los requisitos de un usuario en
un sistema software
• Está basado en componentes
• Utiliza el Lenguaje Unificado de Modelado
(UML).
15.
16.
17. ventajas
Identifica los requerimientos iniciales durante la
fase de concepción y elaboración
personalmente.
Minimiza la posibilidad de que los riesgos críticos
afecten el éxito del proyecto, porque RUP
permite manejar los riesgos.
Mejora la velocidad de proceso de desarrollo,
reduciendo costos, teniendo en cuenta la calidad
del producto a través de la reutilización de
componentes con interfaces bien definidas
porque RUP está basado en componentes.
Permite que cada miembro del equipo del
proyecto y los clientes trabajen en conjunto
18. El CV del proceso unificado
Flujos de
trabajo:
Fases
Actividades
Inicio Elaboración Construcción Transición
Requisitos
Análisis
Diseño
Implementación
Prueba
ite r. ite r. ite r. ite r. ite r. ite r. ite r.
Iteraciones: #1 #2 #n # n+ 1 # n+2 #m #m +1
18
19. El CV del proceso unificado
Versiones del producto
EN CONSTRUCCIÓN
Iniciación Elaboración construcción
Prdct Producto
Iniciación transición final
iteración #1 iteración #2 iteración #3 lll iteración #n-1 fnll iteración #n-1
Iniciación Elaboración Construcción Transición
NUEVA VERSIÓN DEL PRODUCTO (en este CV)
19
21. DIAGRAMAS UML
1. Diagrama de Casos de Uso
2. Diagrama de Clases
3. Diagrama de Objetos
4. Diagrama de Estado
5. Diagrama de Secuencia
6. Diagrama de Colaboración
7. Diagrama de Actividad
8. Diagrama de Casos de Uso
9. Diagrama de Componentes
10. Diagrama de Despliegue
22. Desarrollo guiado por
Tomar Préstamo 1.- CASO DE USO
CASOS DE USO
Persona
2.- ANÁLISIS DEL
CASO DE USO
: IU-1 : GestorLibro : Libro elLibro:Libro
1: Introducir Signatura y NumeroDeSocio
Se repite hasta que se
2: Aceptar encuentre un libro
con la signatura que
3.- DISEÑO DEL 3: obtenerLibro(signaturaLibro:String) estamos buscando
4: getSignatura()
CASO DE USO elLibro
5: getCopias()
6: isCopiaPrestada()
4.- IMPLEMENTACIÓN DEL CASO DE USO
5.- PRUEBA DEL CASO DE USO 22
24. 1. Diagramas de Casos de Uso
Un Diagrama de Casos de Uso
representa lo que hace el sistema y
como se relaciona con su entorno.
Representa los distintos requerimientos
que hacen los usuarios de un sistema.
Un diagrama de casos de uso esta
compuesto por:
Casos de uso
Actores
Relaciones entre ellos
27. Diagramas de Casos de Uso
Elementos
Caso de Uso (Use Case)
Es una secuencia de acciones realizadas por
el sistema que producen un resultado
observable e importante.
Nombre del Caso de Uso
28. Actor
Es un agente externo (persona,
software, dispositivo de hardware) que
interactúa directamente con el
sistema.
Nombre del Actor
29. Relaciones entre los elementos
Relaciones entre actores
La única relación permitida entre los
actores es la Relación de Generalización.
Director de Escuela Usuario
30. Relaciones entre un actor y un caso
de uso
La única relación permitida es una
Asociación y se le conoce como Relación
de Comunicación o <<comunicates>>.
31. Relaciones entre casos de uso
Pueden ser de tres tipos:
1. Relación de generalización
El Caso de Uso de A hereda la
especificación del Caso de Uso B.