You are on page 1of 40

El Proceso Unificado de Desarrollo de Software

Ing. Anglica Garzn Cullar

Agosto - 2008

Antecedentes
1960s - 70s

COBOL, FORTRAN, C Structured analysis and design techniques Smalltalk, Ada, C++, Visual Basic Early generation OO methods

1980s - early 1990s


Mid/late 1990s
Java UML Unified Process/Unified Approach:Ali agc-2008 Bahrami

Mtodos de Desarrollo de Software


Conjunto de pasos y procedimientos que deben seguirse para el desarrollo de software

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

Qu es un mtodo de desarrollo de software?


Definicin alternativa de (Sommerville 2002) Un mtodo de ingeniera de software es un enfoque sistematico para el desarrollo de software cuyo propsito es facilitar la produccin de software de alta calidad de una forma costeable. Todos los mtodos se basan en la idea de modelos grficos de desarrollo de un sistema y en el uso de estos modelos como un sistema de especificacin o diseo.

agc-2008

Mtodos de desarrollo Adaptacin del mtodo


No existe un mtodo universal o ideal

Mtodos diferentes tienen distintas reas donde son aplicables


P.ej., los mtodos OO son adecuados para sistemas interactivos, pero no para sistemas en tiempo real con requisitos severos (Sommerville 2002)

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.

Requisitos del usuario

Proceso de desarrollo de Software

Sistema software

agc-2008

Evolucion del Proceso Unificado


1998

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 casos de uso


agc-2008

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

La vida del proceso unificado


Fases Flujos de trabajo fundamentales
Requisitos
una iteracin en la fase de elaboracin

Inicio

Elaboracin

Construccin

Transicin

Anlisis

Diseo

Implementacin

Prueba

iter #1

iter #2

---

---

---

---

---

iter #n-1

iter #n

agc-2008

Iteraciones

14

Caracteristicas del PUDS


El Proceso Unificado es:

Dirigido por los Casos de Uso

Centrado en la Arquitectura
agc-2008

Iterativo e Incremental
15

Dirigido por casos de uso

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

Dirigido por casos de Uso


Requisitos Analisis Diseo Implement. Prueba

Casos de uso enlaza todos los flujos de trabajo

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

Architecture and Models


Use Case Model Analysis Model Design Model Depl. Model Impl. Model Test Model

Models

Views

agc-2008

19

Funcion versus Forma

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

Ventajas del enfoque iterativo


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 Ingeniera Arquitectura Base


Fase Inicio: Elaboracin: Construccin: Transicin:
agc-2008

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

Tipico 10% Complejos: 20%

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

State Diagramas Diagrams Objecto

Modelos

State Diagramas Diagrams Componentes


Component Diagramas Diagrams

Diagramas Actividades

Despliegue

agc-2008

28

Flujo de trabajos y Modelos


Requisitos Caso Uso Model

Los diagramas de UML proporcionan las vistas en cada modelo


Analysis Model

Analisis

Diseo

Design Model

Depl. Model

Implementacion

Impl. Model

Prueba

Prueba Model

agc-2008

Cada flujo de trabajo es asociado con uno o ms modelos

29

Modelo de Casos de Usos


Use Case Diagrams
Use Case Model

Class Diagrams Component Diagrams

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

Modelo de Analisis y Diseo


Use Case Diagrams
Use Case Model

Class Diagrams Component Diagrams

Object Diagrams

Analysis Model

Design Model

Deployment Diagrams
Sequence Diagrams

Incluye SubSistemas y Paquetes

Depl. Model

Impl. Model

Collaboration Diagrams
Statechart Diagrams Activity Diagrams

Test Model
agc-2008

31

Modelo de Despliegue e Implementacion


Use Case Diagrams
Use Case Model

Class Diagrams Component Diagrams

Object Diagrams

Analysis Model

Design Model

Deployment Diagrams
Sequence Diagrams

Depl. Model

Incluye clases activas y componenetes

Impl. Model

Collaboration Diagrams
Statechart Diagrams Activity Diagrams

Test Model
agc-2008

32

Modelo de Pruebas
Use Case Diagrams
Use Case Model

Class Diagrams Component Diagrams

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

Un rol de un individuo o equipo

El Proceso Unificado es Ingenieria


Una unidad de trabajo

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

Caso de Uso Empaquetado

34

Flujo de Trabajo: Captura de Requisitos


Analista Encontrar actores y casos de uso Estructurar el modelo de casos de uso

Arquitecto

Priorizar los casos de uso

Especificador

Detallar un caso de uso

Diseador
agc-2008

Prototipar la interfaz de usuario


35

Flujo de Trabajo: ANALISIS


Arquitecto Anlisis de la Arquitectura

Ing. de Caso de Uso

Analizar una Caso de Uso

Ing. de Componente

Analizar una Clase

Analizar un Paquete

agc-2008

36

Flujo de Trabajo: DISEO


Diseo de la Arquitectura

Arquitecto

Ing. de Caso de Uso

Disear un Caso de Uso

Ing. de Componente

Disear un subsistema
Disear una Clase

agc-2008

37

Flujo de Trabajo: IMPLEMENTACION


Arquitecto Implementacin de la Arquitectura

Integrador de sistemas

Integrar Sistemas

Ing. de Componentes Implementar un Subsistema


agc-2008

Implementar una Clase

Realizar Prueba de Unidad


38

Flujo de Trabajo: PRUEBA


Ing. de Prueba Planificar Prueba Disear Prueba Evaluar Prueba

Ing. de prueba de integracin

Realizar Prueba de Integracin

Ing. de Prueba de Sistemas

Realizar Prueba de Sistema

Implementar Pruebas Ing. de Componentes


agc-2008 39

Dos Partes de un Metodo Unificado


El lenguje Unificado de Modelado
OMG standard

El Proceso Unificado

Convergencia en el futuro

Convergencia a traves del patrones de procesos


agc-2008 40

You might also like