1 Puds
1 Puds
1 Puds
Agosto - 2008
Antecedentes
1960s - 70s
COBOL, FORTRAN, C Structured analysis and design techniques Smalltalk, Ada, C++, Visual Basic Early generation OO methods
Mid/late 1990s
Java UML Unified Process/Unified Approach:Ali agc-2008 Bahrami
Cmo se debe dividir un proyecto en etapas. Qu tareas se llevan a cabo en cada etapa. Heursticas para llevar a cabo dichas tareas. Qu salidas se producen y cundo se deben producir. Qu restricciones se aplican. Qu herramientas se van a utilizar. Cmo se gestiona y controla un proyecto.
3
agc-2008
agc-2008
El mtodo est condicionado por el tamao y estructura de la organizacin, y el tipo de aplicaciones. No es razonable pensar que dos organizaciones utilicen la misma metodologa sin realizar cambios sobre ella.
agc-2008 5
Mtodos. Ejemplos
Estructurados
OO
De Marco 79 Gane & Sarson 79 Yourdon 89 SSADM Merise MTRICA 2.1 JSP/JSD Jackson Warnier 74
Orientados a datos
OMT (Rumbaugh et al. 91) Booch 94 Objectory/OOSE (Jacobson 93) FUSION (Coleman 94) OOram (Reenskaug 96) Proceso Unificado (Jacobson et al. 99) Rational Unified Process (RUP) (Krutchen et al. 99) Ward & Mellor 85 Hatley & Pirbhay 87
6
Tiempo real
agc-2008
UML no es suficiente
Equipo de Desarrollo
Lenguaje de Modelado
Proceso Unificado
agc-2008
Que es un Proceso?
Define Quien lo hace Que hacer, Cuando lo hace, y Como lo hace para alcanzar metas.
Sistema software
agc-2008
Rational Unified Process 5.0 Rational Objectory Process 4.1 Rational Objectory Process 4.0 Rational Inicio Objectory Process Ericsson method
9
1997
1996
1995 1987
agc-2008
Personas
Arquitectos, desarrolladores, ingenieros de prueba, personal de gestin, usuarios, clientes El proceso de desarrollo afecta a las personas (viabilidad, gestin del riesgo, estructura de los equipos, planificacin, comprensin, cumplimiento) Formacin, entrenamiento y experiencia De recurso a trabajador (puestos que asumen las personas) Cada trabajador tiene un conjunto de responsabilidades
agc-2008 10
Proyecto
Elemento organizativo de gestin El proyecto construye el producto Secuencia de cambio. El sistema evoluciona Serie de iteraciones. Cada iteracin implementa un conjunto de casos de uso o atena algunos riesgos. Mini-proyecto Patrn organizativo. Tipos de trabajadores y artefactos a conseguir
agc-2008 11
Producto
Artefactos que se crean durante la vida del proyecto Artefactos: Modelos, cdigo, ejecutables, documentacin, diagramas UML, bocetos de la interfaz de usuario, prototipos, componentes, planes de prueba Artefactos de ingeniera y de gestin
Coleccin de modelos
traza traza traza
Modelo de anlisis
Modelo de diseo
Modelo de despliegue
Modelo de implementacin
Modelo de prueba
12
Proceso
Conjunto de actividades para crear el producto Es una plantilla para crear proyectos (Instancia del proceso) Se define en trminos de flujos de trabajo (conjunto de actividades) Se identifican trabajadores y artefactos Adaptacin o especializacin del proceso Se utilizan diagramas de actividad de UML para describir los flujos de trabajo
agc-2008
13
Inicio
Elaboracin
Construccin
Transicin
Anlisis
Diseo
Implementacin
Prueba
iter #1
iter #2
---
---
---
---
---
iter #n-1
iter #n
agc-2008
Iteraciones
14
Centrado en la Arquitectura
agc-2008
Iterativo e Incremental
15
Se centra en la funcionalidad que el sistema debe poseer para satisfacer las necesidades de un usuario (persona, sistema externo, dispositivo) que interactua con l Casos de uso como el hilo conductor que orienta las actividades de desarrollo
Casos de Uso
<<defineNecesidades>> <<realiza>> Anlisis Recopilar, Clarificar y Validar los requerimientos <<verifica>> Pruebas Verificar que se satisfacen los casos de uso
16
Diseo
Realizar los casos de uso
agc-2008
agc-2008
17
Centrado en la arquitectura
Concepto similar a la arquitectura de un edificio
Varios planos con diferentes aspectos del edificio Tener una imagen completa del edificio antes comience la construccin
que
Arquitectura en sofware
Diferentes vistas del sistema: estructural, funcional, dinmico, etc. Plataforma en la que va a operar Determina la forma del sistema
Arquitectura: determina la forma del sistema Casos de uso: determinan la funcin del sistema
agc-2008 18
Models
Views
agc-2008
19
Use cases
Architecture
Casos de uso especifica la funcion y la arquitectura especifica la forma Casos de Uso y Arquitectura deben estar balanceados
agc-2008
20
Iterativo e incremental
Descomposicin de un proyecto grande en miniproyectos Cada mini-proyecto es una iteracin Las iteraciones deben estar controladas Cada iteracin trata un conjunto de casos de uso
Deteccin temprana de riesgos Administracin adecuada del cambio Mayor grado de reutilizacin Mayor experiencia para el grupo de desarrollo
21
agc-2008
Hitos en PUDS
Tiempo
Inicio
Elaboracin
Construccin
Transicin
Etapa de Produccin
Hito a Alcanzar Definir el alcance del proyecto Planificar el proyecto, elaborar una arquitectura base Construir el sistema Transicin a los usuarios
22
Fase Inicio
Objetivo: Definir la razn de ser y el alcance del proyecto. Establecer casos de negocios para un nuevo sistema o para alguna actualizacin importante de un sistema existente Actividades
Especificacin de los criterios de xito del proyecto Definicin de los requerimientos Estimacin de los recursos necesarios Cronograma inicial de fases
Documento de definicin del proyecto
23
Artefactos
agc-2008
Fase Elaboracin
Objetivo: establecer un plan de proyecto y una arquitectura correcta del sistema Actividades
Anlisis del dominio del problema Definicin de la arquitectura bsica Anlisis de riesgos Planificacin del proyecto Modelo del dominio Modelo de procesos Modelo funcional de alto nivel Arquitectura bsica
24
Artefactos
agc-2008
Fase Construccin
Objetivo: desarrollar el sistema a lo largo de una serie de iteraciones Actividades
Anlisis, Diseo, Codificacin. Pruebas (individuales, de integracin) Liberaciones de productos ejecutables de funcionalidad incremental Documentacin de usuario Una liberacin beta del producto
25
Artefacto
agc-2008
Fase Transicin
Objetivo: Hacer la transicin final del producto de
software al usuario
Actividades
Liberaciones ejecutables de producto Validar el nuevo sistema vs. las expectaciones del usuario. Est el usuario satisfecho? Gastos reales de los recursos vs. Gastos previstos Aceptables? Liberacin de versin operativa del producto
26
Artefacto
agc-2008
Distribucin de Recursos
Recurso
Construccion Elaboracion
Inicio Transicion
Tiempo
30% 33%
50% 40%
10% 7%
agc-2008
27
Modelos y Diagramas
Un modelo es una descripcin completa de un sistema de una perspectiva particular
Use Case Diagramas Diagrams Caso de Uso State Diagramas Diagrams Clase
Use Case Diagramas Diagrams Secuencia Scenario Diagramas Diagrams Colaboracin Scenario Diagramas Diagrams Estado
Modelos
Diagramas Actividades
Despliegue
agc-2008
28
Analisis
Diseo
Design Model
Depl. Model
Implementacion
Impl. Model
Prueba
Prueba Model
agc-2008
29
Object Diagrams
Analysis Model
Design Model
Deployment Diagrams
Sequence Diagrams
Depl. Model
Impl. Model
Collaboration Diagrams
Statechart Diagrams Activity Diagrams
Test Model
agc-2008
30
Object Diagrams
Analysis Model
Design Model
Deployment Diagrams
Sequence Diagrams
Depl. Model
Impl. Model
Collaboration Diagrams
Statechart Diagrams Activity Diagrams
Test Model
agc-2008
31
Object Diagrams
Analysis Model
Design Model
Deployment Diagrams
Sequence Diagrams
Depl. Model
Impl. Model
Collaboration Diagrams
Statechart Diagrams Activity Diagrams
Test Model
agc-2008
32
Modelo de Pruebas
Use Case Diagrams
Use Case Model
Object Diagrams
Analysis Model
Design Model
Depl. Model
Modelo de la prueba se refiere a todos los otros modelos y usa los diagramas correspondientes
Deployment Diagrams
Sequence Diagrams
Impl. Model
Collaboration Diagrams
Statechart Diagrams Activity Diagrams
Test Model
agc-2008
33
Actividad
Trabajador
Analyst Describe a Use Case
Responsable de
Artefacto
Una pieza de informacion que es producida, modificada o usada por un proceso
Caso de Uso
agc-2008
34
Arquitecto
Especificador
Diseador
agc-2008
Ing. de Componente
Analizar un Paquete
agc-2008
36
Arquitecto
Ing. de Componente
Disear un subsistema
Disear una Clase
agc-2008
37
Integrador de sistemas
Integrar Sistemas
El Proceso Unificado
Convergencia en el futuro