Documentos de Académico
Documentos de Profesional
Documentos de Cultura
M1 Tema 4
M1 Tema 4
MODULO I:
Tema 4: Desarrollo de Sistemas Orientado a Objetos. Proceso Unificado de Desarrollo
La combinacin de ambas dimensiones nos permite identificar en que momento comenzarn cada una de las disciplinas y la carga de trabajo que representa por la amplitud de la curva. Por ejemplo, durante la fase de inicio, se comenzaran el modelado de negocio, requisitos, anlisis y diseo, implementacin, pruebas, etc, teniendo las dos primeras la mayor carga de trabajo del proyecto durante esta fase.
Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 5
Centrado en la arquitectura
Es la pieza clave que permite comprender el sistema, organizar el desarrollo y hacer evolucionar el software.
Capturar, definir y validar los casos de uso Realizar los casos de uso Verificar que se satisfacen los casos de uso
trace
X
Test Case
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999] Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 8
10
Centrado en la arquitectura
La arquitectura involucra los elementos ms significativos del sistema y est influenciada entre otros por plataformas software, sistemas operativos, manejadores de bases de datos, protocolos, consideraciones de desarrollo como sistemas heredados y requisitos no funcionales. Es como una radiografa del sistema que estamos desarrollando, lo suficientemente completa como para que todos los implicados en el desarrollo tengan una idea clara de qu es lo que estn construyendo, pero lo suficientemente simple como para que si quitamos algo, ninguna parte importante del sistema quede sin especificar. Se representa mediante varias vistas que se centran en aspectos concretos del sistema, abstrayndose de lo dems. Todas las vistas juntas forman el llamado modelo 4+1 de la arquitectura, recibe este nombre porque lo forman cuatro vistas: la vista lgica, que es el modelo de objetos del diseo, la vista de realizacin, que describe la organizacin esttica del software en su entorno de desarrollo. la vista de proceso, que captura los aspectos de sincronizacin y concurrencia del diseo, la vista de distribucin, que describe la correspondencia del software sobre el hardware y refleja sus aspectos distribuidos, A ellas se une la vista de casos de uso que es la que da cohesin a todas
Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 11
Centrado en la arquitectura
Modelo 4 + 1 de la arquitectura Vista de Vista de Vista Lgica Vista Lgica Realizacin Realizacin Vista de los Casos de Uso Vista de Vista de Vista de Vista de Distribucin Procesos Distribucin Procesos
12
Vista Lgica
La vista lgica describe los aspectos estticos y dinmicos de un sistema en trminos de clases y objetos. Se usan:
Objetos Clases Colaboraciones Interacciones Categoras (paquetes estereotipados)
13
Vista de Realizacin
Se preocupa de la organizacin de los componentes en el entorno de desarrollo Muestra el reparto de clases en componentes y estos en subsistemas Se usan:
Mdulos Subprogramas Tareas Subsistemas (paquetes estereotipados)
14
Vista de Procesos
Representa la descomposicin en flujos de ejecucin (threads), la sincronizacin entre flujos y la asignacin de objetos y clases en dichos flujos. Fiabilidad, rendimiento, etc. Importante en entornos multitarea. Se usan:
Tareas, threads, procesos. Interacciones.
15
Vista de Distribucin
Describe los diferentes recursos de hardware y la implementacin del programa en dichos recursos Se consideran:
Tiempos de respuesta y rendimiento restricciones geogrficas potencia de clculo distribuido sobrecargas tolerancia a fallos y a averas
Se usan:
nodos, mdulos y programas principales
16
17
Centrado en la arquitectura
Arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantes Una arquitectura ejecutable es una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedades RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo
Inicio Elaboracin Construccin Transicin
Arquitectura
18
Workflows Primarios
Workflows de Apoyo
Environment (Entorno) Project Management (Gestin del Proyecto) Configuration & Change Management (Gestin de Configuracin y Cambios)
Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 19
Fases
Construction Transition
Diseo
Implementacin
Prueba
P re lim ina ry Ite ra tion (s) ite r. #1 ite r. #2 ite r. #n ite r. # n+ 1 ite r. # n+2 ite r. #m ite r. #m +1
20
10
Testing professional workers Test Designer Tester Manager workers Change Control Manager Configuration Manager Deployment Manager Process Engineer Project Manager Project Reviewer Other workers Any Worker Course Developer Graphic Artist Stakeholder System Administrator Technical Writer Tool Specialist
21
Deployment Set Project Management Set Configuration & Change Management Set Environment Set
11
23
24
12
25
Un modelo captura una vista de un sistema del mundo real. Es una abstraccin de dicho sistema, considerando un cierto propsito. Por ello, ste describe completamente aquellos aspectos del sistema que son relevantes a su propsito y con un apropiado nivel de detalle. Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de inters
Test Model
<<trace>>
Requirement Model
<<trace>>
<<trace>>
Design Model
Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos.
Ingeniera del Software I (4 I.I.)
<<trace>> <<trace>>
Impementation Model
26
13
27
Anlisis
Conseguir una compresin ms precisa de los requisitos.
Diseo
Compresin de requisitos no funcionales y adaptacin de los requisitos funcionales para su implementacin.
Implementacin
Implementacin de clases y pruebas de componentes individuales. Distribucin del sistema asignndolo a nodos.
Prueba
Planificar, disear y realizar las pruebas de integracin y de sistema.
Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 28
14
Elaboracin
Se especifican en detalle la mayora de los casos de uso y se disea la arquitectura.
Construccin
Se crea el producto. La base arquitectnica crece hasta convertirse en el producto final.
Transicin
Bsicamente, agrupa actividades encaminadas a hacer llegar el producto al usuario: distribucin, training, soporte, mantenimiento.
29
Enfoque Cascada
Enfoque Iterativo
30
15
31
Etapa de inicio
Establece la viabilidad
Delimitar el mbito del sistema. Esbozar una propuesta de arquitectura del sistema. Identificar riesgos crticos. Demostrar a usuarios o clientes que el sistema propuesto es capaz de solventar sus problemas, para lo cual puede ser til construir un pequeo prototipo.
Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 32
Inicio
Objetivos Planificacin Actividades Evaluacin
16
Etapa de inicio
Inicio
Objetivos Planificacin Actividades Evaluacin
33
Planificacin
Llevar a cabo los siguientes pasos:
Inicio
Objetivos Planificacin Actividades Evaluacin
Reunir la informacin recogida antes de que el proyecto comenzase. Organizarla de forma que pueda ser utilizada. Reunir a un pequeo grupo de gente que sepa cmo utilizarla. Descubrir lo que falta, no en trminos de las cuatro fases, sino en trminos de los objetivos altamente limitados de la fase de inicio.
34
17
Fuentes de informacin
Explorar fuentes de informacin previa.
Inicio
Objetivos Planificacin Actividades Evaluacin
Grandes tareas
Inicio
Objetivos Planificacin Actividades Evaluacin
36
18
Comprender el contexto del sistema. Representar los requisitos funcionales como casos de uso. Encontrar actores y casos de uso Determinar la prioridad de los casos de uso. Detallar cada caso de uso Construir un prototipo de la interfaz Estructurar el modelo de casos de uso. Recoger los requisitos no funcionales.
Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 37
Refinar los requisitos y estructurarlos en un modelo de anlisis. Analizar la arquitectura candidata. Definir un modelo de anlisis que permita apreciar los recursos compartidos por varios casos de uso. Analizar una clase y analizar un paquete.
38
19
39
En algunos proyectos que se tiene poca experiencia en su desarrollo puede ser necesario la realizacin de un pequeo prototipo. En general no es necesario realizar este flujo.
Probar
No se realiza ningn trabajo significativo de pruebas durante esta etapa.
Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 40
20
Inicio
Objetivos Planificacin Actividades Evaluacin
41
Si no se planifican los riesgos estos se suelen presentar al finalizar el proyecto. Cuanto antes se detecten y se estudien los efectos y las acciones de contingencia ser mejor.
Ingeniera del Software I (4 I.I.) Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 42
21
Relativos a la arquitectura.
Seleccin de los casos de uso crticos para definirla.
Evaluacin
Evaluar la etapa finalizada.
Inicio
Objetivos Planificacin Actividades Evaluacin
22
Etapa de elaboracin
Objetivo: elaborar una arquitectura estable para guiar el sistema a lo largo de su vida futura. Se centra en la factibilidad Se centra en el estudio de la funcionalidad significativa desde el punto de vista arquitectnico. Identifica los riesgos significativos. Especifica los valores de los atributos de calidad, como: tiempo de respuesta, seguridad, fiabilidad, etc. Recopila los casos de uso para el 80% de los requisitos funcionales. Presenta una propuesta detallada del sistema a construir.
Mdulo 1. Tema 4: Desarrollo de Sistemas OO: Proceso Unificado de Desarrollo 45
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Construccin Transaccin
Etapa de elaboracin
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Construccin Transaccin
46
23
Planificacin
Antes de empezar.
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Revisar la planificacin realizada al final de la fase de inicio. Creacin del equipo de trabajo. Establecer las metas a alcanzar tras la finalizacin de la etapa.
Extensin de requisitos. Definicin de la lnea base de la arquitectura. Mitigar riesgos significativos. Reevaluar el anlisis de coste/beneficio realizado en la fase de inicio.
Construccin Transaccin
47
Actividades
Recopilar de requisitos
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Encontrar casos de uso y actores. Desarrollar prototipos de las interfaces de usuario. Determinar la prioridad de los casos de uso. Detallar cada caso de uso. Estructurar el modelo de casos de uso.
Construccin Transaccin
48
24
Actividades
Analizar
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Analizar la arquitectura candidata. Analizar cada caso de uso, ver las clases y roles con que participa cada una. Definir un modelo de anlisis que permita apreciar los recursos compartidos por varios casos de uso. Analizar una clase. Analizar un paquete.
Construccin Transaccin
49
Actividades
Disear
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Construccin Transaccin
25
Actividades
Implementar
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Implementacin de la arquitectura. Implementacin de las clases que forman parte de la arquitectura. Integrar el sistema desarrollado.
Construccin Transaccin
51
Actividades
Probar
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Planificar las pruebas. Disear las pruebas. Realizar pruebas de integracin. Realizar pruebas del sistema.
Construccin Transaccin
52
26
Evaluacin
Evaluar la etapa finalizada.
Inicio Elaboracin
Objetivos Planificacin Actividades Evaluacin
Construccin Transaccin
53
Etapa de Construccin
Objetivo: Desarrollar el sistema de una forma rpida, econmica y respetando los estndares de calidad.
Minimizar los costes de desarrollo, optimizando
Inicio Elaboracin
Construccin Objetivos Actividades Evaluacin
Transaccin
recursos y evitando rehacer y descartar trabajo. Alcanzar los niveles de calidad rpidamente. Alcanzar versiones tiles (alpha, beta, otras versiones de test) rpidamente.
54
27
Actividades
Gestin y control de recursos, optimizacin del proceso Desarrollo completo de componentes y test contra los criterios de evaluacin definidos. Evaluacin de las versiones del producto frente a los criterios de aceptacin
Inicio Elaboracin
Construccin Objetivos Actividades Evaluacin
Transaccin
55
Evaluacin
Productos
Inicio Elaboracin
Construccin Objetivos Actividades Evaluacin
Sistema integrado en su plataforma Los manuales de usuario Una descripcin de la versin actual
Transaccin
56
28
Etapa de Transaccin
Objetivo: transferir el producto software objeto del proyecto a los usuarios.
Inicio Elaboracin Construccin
Transaccin Objetivos Actividades Evaluacin
Alcanzar los usuarios un nivel de autosuficiencia. Alcanzar un acuerdo por parte de los stakeholders que se han conseguido los objetivos propuestos. Hacer el producto final tan rpida, econmica y prcticamente como sea posible
57
Actividades
Ingeniera especfica de distribucin Actividades de ajuste: errores, rendimiento y usabilidad Evaluacin del producto frente a los criterios de aceptacin y los requisitos del sistema (visin)
58
29
Evaluacin
Evaluar la etapa finalizada.
Inicio Elaboracin Construccin
Transaccin Objetivos Actividades Evaluacin
Estimar si el producto cumple con los requisitos, sino nueva iteracin. Evaluar si los recursos consumidos respecto a los estimados son aceptables o no.
59
30