Upload
willy0303
View
11.348
Download
1
Embed Size (px)
DESCRIPTION
Sesión 1 Analisis de Diseño de Sistemas (ADS) El Rational Unified Process.
Citation preview
Análisis y Diseño de Sistemas I
EL RATIONAL UNIFIED PROCESS RUP
Profesores del Curso
Análisis y Diseño de Sistemas I
AdministradorBase de Datos
Líder deProyecto
AnalistaDiseñador/
Desarrollador
Ingeniero deDesempeño
Pruebas
Administrador deConfiguración
–1 Base de conocimiento –1 Proceso
–1 Enfoque de cómo desarrollar software
–1 Lenguaje Modelamiento (UML)
RUP y el incremento de la Productividad en Equipo
Análisis y Diseño de Sistemas I
Desarrollo Iterativo
Modelamiento VisualVerificación de
la CalidadArquitecturas
con Componentes
Administración de Requerimientos
Control de Cambios
RUP y las 6 mejores Prácticas
“Best Practices”
Análisis y Diseño de Sistemas I
Modelo de Diseño Modelo de
ImplementaciónModelo de
Prueba
verificarealización influenciado por
Los casos de uso dirigen el trabajo desde el análisis
hasta las pruebas
1. Administración de Requerimientos
• Organizar y documentar la funcionalidad y restricciones requeridas.
• Los requerimientos de negocio son fácilmente capturados y comunicados a través de diagramas.
• Llevar un registro y documentación de cambios y decisiones.
Análisis y Diseño de Sistemas I
2. Desarrollo iterativo de Software
• Dados los sistemas de software sofisticados de la actualidad, no es posible hacer de manera secuencial la definición completa del problema, diseñar la solución completa, construir el software y por último probarlo.
• El descubrimiento de defectos en fases posteriores de diseño dan como resultado un aumento en los costos y/ó la cancelación del proyecto.
El tiempo y dinero gastados en
la implementación de un
diseño fallido, son no
recuperablesEl tiempo y dinero gastados en
la implementación de un
diseño fallido, son no
recuperables
Análisis y Diseño de Sistemas I
Requerimientos Análisis y DiseñoImplementación
PruebasEvaluación
Cada iteraciónproduce un producto
ejecutable
•¿Cómo se produce la Iteración?
Análisis y Diseño de Sistemas I
• Las características fundamentales son:Permite un entendimiento incremental del
problema a través de refinamientos sucesivos.Habilita una fácil retroalimentación del usuario.Permite lograr metas específicas al equipo de
desarrollo porque sabe que resultados generar.El progreso es medido conforme avanzan las
implementaciones.
Análisis y Diseño de Sistemas I
3. Modelamiento Visual del Software
• Captura la estructura y comportamiento de arquitecturas y componentes.
• Muestra como encajan de forma conjunta los componentes del sistema.
• Mantiene la consistencia entre un diseño y su implementación.
• Promueve una comunicación no ambigua.
Análisis y Diseño de Sistemas I
4. Verificación de la calidad del Software
• Crea pruebas de validación para asegurar que todos los requerimientos estén implementados apropiadamente.
• Verifica la calidad del software con respecto a las especificaciones técnicas basadas en la confiabilidad, funcionalidad, desempeño de la aplicación y del sistema.
• Prueba cada iteraciónLos problemas del softw
are son de 100 a
1000 veces mas costosos
de encontrar y reparar después del
desarrollo
Análisis y Diseño de Sistemas I
5. Arquitectura basada en Componentes
Se enfoca en el pronto desarrollo de una arquitectura ejecutable robusta.• Resistente al cambio mediante el uso de componentes bien definidos.
• Intuitivamente comprensible.• Promueve la reutilización efectiva de software.• Es la base del Software Factory.
Análisis y Diseño de Sistemas I
Administración deEspacios de Trabajo
Desarrollo enParalelo
Administraciónde
Construcción
Integración deProceso
ALERTREPORT
6. Control de cambios de Software
• Controlar, llevar un registro y monitorear cambios para permitir un desarrollo iterativo.
• Establece espacios de trabajo seguros para cada desarrollador. Controla todos los
artefactos de softwaremodelos, código,documentos, etc…
Análisis y Diseño de Sistemas I
Definiciones en RUP
ROL• Un rol define las responsabilidades y el comportamiento de un individuo.
• Es como un “sombrerosombrero” que la persona usa durante el proyecto:Una persona puede tener varios sombreros.Es el rol que desempeña en un momento
dado.
Análisis y Diseño de Sistemas I
ACTIVIDAD:• Es una unidad de trabajo que se asigna a un rol. Ejemplos: Crear o modificar una clase.
• Una actividad lleva entre un par de horas y un par de días, involucra un solo rol y un número pequeño de artefactos.
• Las actividades se consideran en la planificación y evaluación del progreso de un proyecto.
Análisis y Diseño de Sistemas I
Recurso Rol Actividad
Pablo Diseñador Diseño de Objetos
María Autor de Casos de Uso Detallar un Caso de Uso
José Diseñador de Casos de Uso Diseñar un Caso de Uso
Silvia Revisor de Diseño Revisar el Diseño
Eduardo Arquitecto Análisis de Arquitectura Diseño de Arquitectura
ASIGNACION DE ACTIVIDADES
¿Cómo realizo una asignación de actividades?
Análisis y Diseño de Sistemas I
ARTEFACTO :
• Elementos de información producidos, modificados o usados por el proceso.
• Son usados por los roles para realizar nuevas actividades y son el resultado de esas actividades.
• Ejemplos: Especificaciones funcionales, código fuente,documento de arquitectura, etc.
Análisis y Diseño de Sistemas I
Análisis deArquitectura
Diseño deArquitectura
DescribirConcurrencia
DescribirDistribución
Análisis deCasos de Uso
Diseño deCasos de Uso
Análisis deObjetos Diseño de
Objetos
Revisar elAnálisis
Revisar elDiseño
Revisar laArquitecturaRevisor de
Diseño
Diseñador
Diseñador deCasos de Uso
Arquitecto
FLUJOS DE TRABAJO:
Es una lista de actividades, roles y artefactos.
Es una secuenciade actividades que produce un resultado de valor.
Análisis y Diseño de Sistemas I
Estructura de RUP
El proceso puede describirse en dos dimensiones, o a lo largo de dos ejes:• El eje horizontal representa tiempo y muestra el aspecto dinámico del proceso, expresado en términos de ciclos, fases, iteraciones, y metas.
• El eje vertical representa el aspecto estático del proceso; como está descrito en términos de actividades, artefactos, trabajadores y flujos de trabajo.
Análisis y Diseño de Sistemas I
Admin. de Proyectos
Ambiente o Entorno
Modelación de Negocios
Implementación
Prueba
Análisis y Diseño
Iteración(es)Preliminar
Iter.#1
FasesFlujos de Trabajo de Procesos
Iteraciones
Flujos de Trabajo de Soporte
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Implantación
Admin. Configuración
Requerimientos
Elaboración TransiciónInicio Construcción
Con
ten
ido
Análisis y Diseño de Sistemas I
Inicio Elaboración Construcción
Transición<-------------------------------------Tiempo------------------------------------->
MetasPrincipales
1. Fases de RUP
• Inicio – Define el alcance y objetivos del proyecto.• Elaboración – Plan del proyecto, Especificación de características y Arquitectura base.
• Construcción – Construye y opera el producto.• Transición – Transición del producto a la comunidad del usuario.
Análisis y Diseño de Sistemas I
1.1. Fase de INICIO
Propósito• Establece la propuesta técnica para un nuevo sistema o para alguna actualización importante de un sistema existente
• Especificar el alcance del proyecto• Define el plan
Análisis y Diseño de Sistemas I
Ejemplo: MCUN
Caso de Negocios: modelar laempresa (como funciona laempresa a la que se le va adesarrollar el software) Gestionar Horarios
(from Casos de Uso de Negocio)Sistema Horarios
(from Actores del Negocio)
Gestionar Registro de Docentes
(from Casos de Uso de Negocio)
Gestionar Dictado Profesor
(from Casos de Uso de Negocio)
Profesor
(from Actores del Negocio)
Gestion Estadistica de horario
(from Casos de Uso de Negocio)
Gestionar Cursos
(from Casos de Uso de Negocio)
Jefe Carreras
(from Actores del Negocio)
Pre-Matricular
(from Casos de Uso de Negocio)
Gestionar Matricula
(from Casos de Uso de Negocio)
Gestionar Retiro/cambio
(from Casos de Uso de Negocio)
Alumno.
(from Actores del Negocio)
Análisis y Diseño de Sistemas I
1.2. Fase de ELABORACION
Propósito• Analizar el dominio del problema.• Establecer una buena arquitectura.• Lidiar con los elementos de riesgo más altos del proyecto.
• Desarrollar un plan detallado mostrando como el proyecto será completado.
Análisis y Diseño de Sistemas I
1.3. Fase de CONSTRUCCION
Propósito• Desarrollar incrementalmente el producto de software completo.
• Operar la aplicación
Análisis y Diseño de Sistemas I
Hello, everyone!
Hello, everyone!
1.4. Fase de TRANSICION
Propósito• Hacer la transición final del producto de software al usuario.
Análisis y Diseño de Sistemas Iiteraciones
IteraciónIteraciónPreliminarPreliminar
Iteración deIteración deArquitecturaArquitectura
Iteración deIteración deArquitecturaArquitectura
Iteración deIteración deDesarrolloDesarrollo
Iteración deIteración deDesarrolloDesarrollo
Iteración deIteración deDesarrolloDesarrollo
Iteración deIteración deTransiciónTransición
Iteración deIteración deTransiciónTransición
InicioInicio ElaboraciónElaboración ConstrucciónConstrucción TransiciónTransición
Liberaciones
externasinternas
2. ITERACIONES
Cada fase en RUP puede descomponerse en iteraciones. Una iteración es un ciclo de desarrollo completo que genera como resultado una entrega de producto ejecutable (interna o externa).
Análisis y Diseño de Sistemas I
3. Flujos de Trabajo
Una enumeración de todos los roles, actividades y artefactos no constituyen un proceso. Se necesita una forma de describir secuencias significativas que produzcan algún resultado válido, y que muestre la interacción entre los elementos que participan.
Un flujo de trabajo es una secuencia de actividades que producen un resultado de valor observable.
Análisis y Diseño de Sistemas I
• Flujos de Trabajo para el desarrollo del sistema– Modelado del negocio– Requerimientos– Análisis y Diseño– Implementación– Prueba– Implantación
• Flujos de Trabajo para la gestión del proyecto– Configuración y administración de cambios– Administración del proyecto– Administración del entorno
Análisis y Diseño de Sistemas I
3.1. Modelo del Negocio
• Su objetivo es que el analista entienda los procesos de la empresa que son el contexto que necesita para realizar su propuesta informática.
• Asegurarse que clientes, usuarios, desarrolladores y otros involucrados tengan igual entendimiento de la empresa.
Análisis y Diseño de Sistemas I
3.2. Requerimientos
• Los desarrolladores y clientes deben acordar qué es lo que el sistema debe hacer:Documentar funcionalidad y restriccionesRelevar requerimientosDocumentar decisionesIdentificar actoresIdentificar casos de uso
Análisis y Diseño de Sistemas I
3.3. Análisis y Diseño
• Descripción de cómo se implementará el sistema: un plano
• Definición de la arquitectura tecnológica, de datos y funcional
• Identificación de los componentes• Planteamiento de algoritmos• Definición de patrones de diseño
Análisis y Diseño de Sistemas I
3.4. Implementación
• Definir la organización del código• Implementar clases y objetos en forma de componentes (fuente, ejecutables, etc.)
• Probar los componentes desarrollados• Integrar los componentes en un sistema ejecutable.
Análisis y Diseño de Sistemas I
3.5. Pruebas
• Verificar la interacción entre los objetos• Verificar la integración apropiada de componentes• Validar que se satisfacen los requerimientos• Identificar los defectos y corregirlos antes de la instalación.
Análisis y Diseño de Sistemas I
3.6. Distribución /Despliegue
• Producir un producto y hacerlo llegar a sus usuarios finales.
• Incluye varias actividades:Producir un “release”Empaquetar el softwareDistribuir el softwareInstalar el softwareApoyar a los usuarios
Análisis y Diseño de Sistemas I
3.7. Administración de Proyectos
• Gestiona el cumplimiento de objetivos, maneja riesgos y conduce la producción del software hacia la satisfacción de clientes y usuarios.
• Existen pocos proyectos realmente exitosos.• RUP incluye:
Un framework para manejo de proyectos de softwareGuías para planificación, provisión de personal,
ejecución y monitoreo de planesUn framework para manejar riesgos.
Análisis y Diseño de Sistemas I
3.8. Configuración y Administración de Cambios
• Forma de controlar los artefactos producidos por las personas que trabajan en el proyecto.
• Algunos problemas habituales:Actualizaciones simultáneasMúltiples versiones
• RUP da guías para:Control de versionesSeguimiento a los cambiosAdministrar defectos
Análisis y Diseño de Sistemas I
3.9. Administración del Entorno
• Prepara el ambiente y herramientas de despliegue que harán posible llevar a cabo el proyecto.
• RUP guía en la configuración de un ambiente de proceso apropiado a cada proyecto.
• Provee el soporte al equipo de desarrollo durante todo el ciclo de vida del proyecto.
Análisis y Diseño de Sistemas I
RUP
• Guiado por lo casos de uso: Los casos de uso son el instrumento para validar la arquitectura del software y extraer los casos de prueba.
• Centrado en la arquitectura: Los modelos son proyecciones del análisis y el diseño constituye la arquitectura del producto a desarrollar.
• Iterativo e incremental: Durante todo el proceso de desarrollo se producen versiones incrementales (que se acercan al producto terminado) del producto en desarrollo.