Professional Documents
Culture Documents
SISTEMAS
Objetivos:
– Asegurar la producción de software de calidad
dentro de plazos y presupuestos predecibles.
– Dirigido por casos de uso, centrado en la
arquitectura, iterativo (mini-proyectos) e
incremental (versiones).
Diseño
?
•La mayoría de los proyectos de software ? ?
utilizan procesos que no están bien ?
definidos. En su lugar los miembros del equipo ? ?
(re)inventan sus propios procesos. ?
Administrador
Base de Datos
Administrador de
Configuración
Líder de
Proyecto
Analista
Diseñador/ Pruebas
Desarrollador
DESARROLLO ITERATIVO
Se abordan las tareas más riesgosas Un proceso iterativo permite una
primero, con esto se logra reducir los riesgos comprensión creciente de los
del proyecto y tener un subsistema
requerimientos a la vez que se va
ejecutable tempranamente para no cancelar
haciendo crecer el sistema.
por defectos grandes posteriores.
RUP sigue un modelo iterativo que
Refinamientos sucesivos.
usuario. primero.
Metas específicas. Con esto se logra reducir los riesgos
El progreso es medido conforme avanzan las del proyecto y tener un subsistema
implementaciones.
ejecutable tempranamente.
El software moderno es complejo y
novedoso. No es realista usar un modelo
lineal de desarrollo como el de cascada.
DESARROLLO ITERATIVO
Cada iteración resulta en un release
ejecutable
Requerimientos
Implementación
Ambiente de
Planeamiento Administración
inicial
Evaluación
Prueba
Distribución
RUP
Ventajas Desventaja
Utiliza UML.
Gramática bien definida.
Terminología para los procesos.
Define nueve disciplinas y faces.
Base de conocimiento, plantillas y herramientas.
Modelamiento visual, programación, pruebas, etc.
Se centra en la producción y mantenimiento de
modelos del sistema más que en producir
documentos.
6 MEJORES PRÁCTICAS
RUP describe cómo utilizar de forma efectiva procedimientos
comerciales probados en el desarrollo de software para equipos de
desarrollo de software, conocidos como “mejores prácticas”.
Administrar requerimientos
Desarrollar Arquitecturas
Iterativamente Verificar Modelizar
Calidad Visualmente Basadas en
Componentes
Controlar Cambios
6 MEJORES PRÁCTICAS
Licitar, organizar, y documentar la funcionalidad y restricciones requeridas.
Administración de Llevar un registro y documentación de cambios y decisiones.
Los requerimientos de negocio son fácilmente capturados y comunicados a través de casos de uso.
Requerimientos Los casos de uso son instrumentos importantes de planeación.
Crea pruebas para cada escenario (casos de uso) para asegurar que todos los requerimientos están
Verificación de la Calidad propiamente implementados.
Verifica la calidad del software con respecto a los requerimientos basados en la confiabilidad, funcionalidad,
del Software desempeño de la aplicación y del sistema.
Prueba cada iteración
• Los cambios son inevitables, pero es necesario evaluar si éstos son necesarios y rastrear su impacto.
Control de cambios • RUP indica como controlar, rastrear y monitorear los cambios dentro del proceso iterativo de desarrollo.
FASES EN RUP
Inicio Elaboración Construcción Transición
Producto Producto •En esta fase todas las •El objetivo es traspasar el
•Un documento de visión •Es la parte más crítica del componentes restantes se software desarrollado a la
general: proceso: desarrollan e incorporan al comunidad de usuarios.
–Al final toda la ingeniería producto.
–Requerimientos
“dura” está hecha
generales del proyecto •Una vez instalado surgirán
–Se puede decidir si vale
–Características •Todo es probado en nuevos elementos que
la pena seguir adelante
principales profundidad. implicarán nuevos desarrollos
•A partir de aquí la arquitectura,
–Restricciones (ciclos).
los requerimientos y los planes de
desarrollo son estables. •El énfasis está en la
•Modelo inicial de casos de uso •Ya hay menos riesgos y se puede producción eficiente y no ya en •Incluye:
(10% a 20 % listos). planificar el resto del proyecto con la creación intelectual. –Pruebas Beta para validar
menor incertidumbre. el producto con las
•Se construye una arquitectura •Puede hacerse construcción expectativas del cliente
•Glosario. ejecutable que contemple:
en paralelo, pero esto exige –Ejecución paralela con
–Los casos de uso críticos una planificación detallada y sistemas antiguos
•Caso de negocio: –Los riesgos identificados una arquitectura muy estable. –Conversión de datos
–Contexto •Modelo de casos de uso (80%
completo) con descripciones –Entrenamiento de usuarios
–Criterios de éxito •Producto. –Distribuir el producto
detalladas.
–Pronóstico financiero •Otros requerimientos no
funcionales o no asociados a •El producto de software •Obtener autosuficiencia de
•Identificación inicial de casos de uso. integrado y corriendo en la parte de los usuarios.
riesgos. •Descripción de la Arquitectura del plataforma adecuada.
Software.
•Un prototipo ejecutable de la •Concordancia en los logros
•Plan de proyecto. arquitectura. •Manuales de usuario. del producto de parte de las
•Lista revisada de riesgos y del personas involucradas.
•Uno o más prototipos. caso de negocio. •Una descripción del “release”
•Plan de desarrollo para el resto actual. •Lograr el consenso cuanto
del proyecto. antes para liberar el producto
•Un manual de usuario preliminar. al mercado.
ARTEFACTO
Inicio Elaboración Construcción
•Un documento de visión •Modelo de casos de uso (80% •El producto de software
general: completo) con descripciones integrado y corriendo en la
–Requerimientos generales del detalladas. plataforma adecuada.
proyecto •Otros requerimientos no
–Características principales funcionales o no asociados a •Manuales de usuario.
–Restricciones casos de uso.
•Modelo inicial de casos de uso •Descripción de la Arquitectura •Una descripción del “release”
(10% a 20 % listos). del Software. actual.
•Glosario. •Un prototipo ejecutable de la
arquitectura.
•Caso de negocio:
•Lista revisada de riesgos y del
–Contexto caso de negocio.
–Criterios de éxito •Plan de desarrollo para el resto
–Pronóstico financiero del proyecto.
•Identificación inicial de riesgos. •Un manual de usuario
•Plan de proyecto. preliminar.
•Uno o más prototipos.
HITO
Inicio Elaboración Construcción Transición
Empaquetamiento
Diagramas de Interacción de diseño (Secuencia y
Diseño Colaboraciones)
Diagrama de Clases de diseño
Modelo de Datos
Diagrama de Componentes
Implementación Diagrama de Despliegue
RUP VISIÓN DINÁMICA
Fases
Disciplinas de Procesos Inicio Elaboración Construcción Transición
Modelación de Negocios
Requerimientos
Análisis y Diseño
Implementación
Estática
Prueba
Despliegue
Disciplinas de Soporte
Admin. Configuración
Administración
Ambiente
Iteración(es) Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Preliminar #1 #2 #n #n+1 #n+2 #m #m+1
Iteraciones
Dinámica
DEFINICIONES
Trabajador Actividades
• Una actividad es una unidad de trabajo que
• Un trabajador define el se asigna a un trabajador. Ejemplo:
comportamiento y las – Crear o modificar un artefacto
responsabilidades de un individuo.
• Es como un “sombrero” que la • Una actividad lleva entre un par de horas y
un par de días, involucra un solo trabajador
persona usa durante el proyecto: y un número pequeño de artefactos.
– Una persona puede tener varios • Las actividades se consideran en la
planificación y evaluación del progreso del
sombreros proyecto.
– Es el rol que desempeña en un
momento dado • Ejemplos:
– Planificar una iteración - Administrador
• Responsabilidades: de proyecto
– Hacer una serie de actividades – Encontrar actores y casos de uso -
Analista
– Ser el responsable de una serie – Revisar el diseño - Revisor de diseño
de artefactos – Ejecutar pruebas de performance - Ing.
de pruebas de performance.
ASIGNACIÓN DE ACTIVIDADES
FLUJOS DE TRABAJO
Analista del sistema Encontrar Actores y Casos de Uso Estructurar el Modelo de Casos de
Uso
Ingeniero de pruebas Planear las Pruebas Diseñar las Pruebas Evaluar las Pruebas
Administrador Consulta
<<extend>>
X
OX
X
OX
Modelo de prueba
• Usados para comunicarse con el usuario final y el experto de dominio.
• Proporciona credibilidad en una etapa inicial del desarrollo del sistema.
• Asegura una comprensión mutua de los requisitos
Clases
con sus relaciones.
• Especificación: uestra la estructura del sistema
o sus partes, destacando las interfaces.
• Implementación: el diseño del código fuente.
• Usados para representar el comportamiento del sistema.
•Destacan:
•Mensajes enviados entre los objetos.
•Orden secuencial entre los mensajes.
Secuencia •Un escenario concreto, sin condiciones.
• Destacan:
• Mensajes enviados entre los objetos
• Enlaces entre los objetos
• Un escenario concreto, sin condiciones
• Destacan:
• Condiciones y flujos alternativos.
• Tareas y procesos concurentes.
Actividades • Responsabilidades sobre ciertas actividades.
• Destacan:
• Estados
• Transiciones y condiciones de las transiciones
Estados • Actividades realizadas
Subsistemas
Modelización Visual
Clases
eleva el nivel de
abstracción
Código
DISCIPLINAS
Proceso Soporte
1. Modelado del negocio: describe la estructura
y la dinámica de la organización.
1. Gestión de configuraciones:
2. Requisitos: describe el método basado en
controla los cambios y mantiene
casos de uso para extraer los requisitos. la integridad de los artefactos de
3. Análisis y diseño: describe las diferentes un proyecto.
vistas arquitectónicas.
2. Gestión del Proyecto: describe
4. Implementación: tiene en cuenta el desarrollo
de software, la prueba de unidades y la varias estrategias de trabajo en
integración. un proceso iterativo.
5. Pruebas: describe los casos de pruebas, los 3. Ambiente: cubre la
procedimientos y las métricas para evaluación
de defectos. infraestructura necesaria para
6. Despliegue: cubre la configuración del sistema desarrollar un sistema.
entregable.
WORKFLOW
REQUERIMIENTOS
Trabajador Responsable de (artefacto)
Analista de sistemas Modelo de casos de uso
Actores
Glosario
Puede no mantenerse todo el ciclo de vida. Debe ser mantenido todo el ciclo de vida.
DISEÑO