Você está na página 1de 40

El Proceso

Unificado de
Desarrollo de
Software
Ing. Anglica Garzn Cullar

Abril 2012

Antecedentes
1960s - 70s

COBOL, FORTRAN, C
Structured analysis and design techniques

1980s - early 1990s

Smalltalk, Ada, C++, Visual Basic


Early generation OO methods

Mid/late 1990s

Java
UML
Unified Process/Unified Approach:Ali 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

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.

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.
5

Mtodos. Ejemplos
Estructurados

De Marco 79
Gane & Sarson 79
Yourdon 89
SSADM
Merise
MTRICA 2.1

Orientados a datos

JSP/JSD Jackson
Warnier 74

OO

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)

Tiempo real

Ward & Mellor 85


Hatley & Pirbhay 87
6

UML no es suficiente

Equipo de
Desarrollo

Lenguaje de
Modelado

Proceso
Unificado

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

Evolucion del Proceso Unificado


1998

Rational Unified
Process 5.0

1997

Rational Objectory
Process 4.1

1996

Rational Objectory
Process 4.0

1995
1987

Rational
Inicio

Objectory
Process

Ericsson
method
9

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
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
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

Modelo de
casos de uso

Modelo de
anlisis

traza

Modelo de
diseo

traza

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

13

La vida del proceso unificado


Fases
Flujos de trabajo
fundamentales

Inicio

Construccin

Elaboracin

Transicin

Requisitos
una iteracin en la
fase de elaboracin

Anlisis

Diseo

Implementacin

Prueba

iter #1

agc-2008

iter #2

---

---

---

Iteraciones

---

---

iter #n-1

iter #n

14

Caracteristicas del PUDS


El Proceso Unificado es:

Dirigido por los


Casos de Uso

Centrado en la
Arquitectura
Agc-2012

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>>
Anlisis
Recopilar,
Clarificar y
Validar los
requerimientos

agc-2012

<<realiza>>

<<verifica>>

Diseo

Pruebas

Realizar los
casos de uso

Verificar que se
satisfacen los
casos de uso
16

Dirigido por casos de Uso


Requisitos

Analisis

Diseo

Implement.

Prueba

Casos de uso enlaza todos los flujos de trabajo

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 que comience la
construccin

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

18

Architecture and Models


Use Case
Model

Analysis
Model

Design
Model

Depl.
Model

Impl.
Model

Test
Model

Models

Views

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

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

Hitos en PUDS
Tiempo

Inicio
Inicio

Elaboracin

Construccin
Construccin

Etapa de Ingeniera

Transicin
Transicin

Etapa de Produccin

Arquitectura Base
Fase

Hito a Alcanzar

Inicio:

Definir el alcance del proyecto

Elaboracin:

Planificar el proyecto, elaborar una arquitectura base

Construccin:

Construir el sistema

Transicin:

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

Artefactos

Documento de definicin del proyecto

agc-2008

23

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

Artefactos

Modelo del dominio


Modelo de procesos
Modelo funcional de alto nivel
Arquitectura bsica

agc-2008

24

Fase Construccin
Objetivo: desarrollar el sistema a lo largo
de una serie de iteraciones
Actividades

Anlisis, Diseo, Codificacin.


Pruebas (individuales, de integracin)

Artefacto

agc-2008

Liberaciones de productos ejecutables de


funcionalidad incremental
Documentacin de usuario
Una liberacin beta del producto
25

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?

Artefacto

Liberacin de versin operativa del producto

agc-2008

26

Distribucin de Recursos
Recurso

Construccion
Transicion

Elaboracion
Inicio

Tiempo

Tipico
10%
Complejos: 20%

30%
33%

50%
40%

10%
7%

27

Modelos y Diagramas
Un modelo es una descripcin completa
de un sistema de una perspectiva
particular

Use Case
Diagramas
Diagrams
Secuencia
Scenario
Diagramas
Diagrams
Colaboracin
Scenario
Diagramas
Diagrams
Estado

Use Case
Diagramas
Diagrams
Caso de Uso

State
Diagramas
Diagrams
Clase

Modelos

Diagramas
Actividades

State
Diagramas
Diagrams
Objecto

State
Diagramas
Diagrams
Componentes
Component
Diagramas
Diagrams

Despliegue

28

Flujo de trabajos y Modelos


Requisitos

Analisis

Diseo

Los diagramas de
UML proporcionan
las vistas en cada
modelo

Caso Uso
Model

Analysis
Model

Design
Model

Depl.
Model

Impl.
Model

Implementacion

Prueba
Model

Prueba

Cada flujo de trabajo


es asociado con uno
o ms modelos

29

Modelo de Casos de Usos


Use Case
Diagrams
Use Case
Model

Analysis
Model

Design
Model

Depl.
Model
Impl.
Model

Test
Model

Class
Diagrams

Object
Diagrams

Component
Diagrams
Deployment
Diagrams
Sequence
Diagrams
Collaboration
Diagrams
Statechart
Diagrams
Activity
Diagrams

30

Modelo de Analisis y Diseo


Use Case
Diagrams

Use Case
Model

Analysis
Model

Design
Model

Depl.
Model
Impl.
Model

Test
Model

Class
Diagrams

Object
Diagrams

Component
Diagrams
Deployment
Diagrams

Incluye
SubSistemas y
Paquetes

Sequence
Diagrams
Collaboration
Diagrams
Statechart
Diagrams
Activity
Diagrams

31

Modelo de Despliegue e
Implementacion
Use Case
Diagrams

Use Case
Model

Analysis
Model

Design
Model

Depl.
Model
Impl.
Model

Test
Model

Class
Diagrams

Object
Diagrams

Component
Diagrams
Deployment
Diagrams
Sequence
Diagrams

Incluye clases
activas y
componenetes

Collaboration
Diagrams
Statechart
Diagrams
Activity
Diagrams

32

Modelo de Pruebas
Use Case
Diagrams
Use Case
Model

Class
Diagrams

Analysis
Model

Design
Model

Depl.
Model
Impl.
Model

Test
Model

Modelo de la
prueba se refiere a
todos los otros
modelos y usa los
diagramas
correspondientes

Object
Diagrams

Component
Diagrams
Deployment
Diagrams
Sequence
Diagrams
Collaboration
Diagrams
Statechart
Diagrams
Activity
Diagrams

33

El Proceso Unificado es
Ingenieria
Una unidad de
trabajo

Un rol de un
individuo o equipo

Actividad

Trabajador
Analyst

Responsable de

Caso de Uso

Caso de Uso
Empaquetado

Describe a
Use Case

Artefacto
Una pieza de informacion
que es producida,
modificada o usada por un
proceso
34

Flujo de Trabajo:
Captura de Requisitos
Analista

Arquitecto

Especificador

Diseador

Encontrar actores y
casos de uso

Estructurar el modelo
de casos de uso

Priorizar los casos de


uso

Detallar un caso de
uso

Prototipar la interfaz
de usuario
35

Flujo de Trabajo:
ANALISIS
Arquitecto

Ing. de Caso de
Uso

Ing. de
Componente

Anlisis de la
Arquitectura

Analizar una Caso de


Uso

Analizar una Clase

Analizar un Paquete

36

Flujo de Trabajo: DISEO


Arquitecto

Ing. de Caso de
Uso

Ing. de
Componente

Diseo de la
Arquitectura

Disear un Caso de
Uso

Disear un
subsistema
Disear una Clase
37

Flujo de Trabajo:
IMPLEMENTACION
Arquitecto

Integrador de
sistemas

Implementacin de la
Arquitectura

Integrar Sistemas

Implementar una
Clase

Ing. de
Componentes
Implementar un
Subsistema

Realizar Prueba de
Unidad
38

Flujo de Trabajo: PRUEBA


Ing. de Prueba

Planificar
Prueba

Realizar Prueba de
Integracin

Ing. de prueba
de integracin

Realizar Prueba de
Sistema

Ing. de Prueba
de Sistemas

Ing. de
Componentes

Evaluar Prueba

Disear
Prueba

Implementar Pruebas

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
40

Você também pode gostar