Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CursoOOconUML PDF
CursoOOconUML PDF
Introduccin: Modelado de SI
Anlisis y Diseo Breve Tour por UML
El Paradigma Orientado a Objetos
Orientado a Objetos usando Fundamentos del Modelado OO
Captura de Requisitos
la notacin UML Modelado de Interacciones
Modelado de la Estructura del Sistema
Ing. Mario Alberto Prez Diagramas de Estados
Universidad Nacional de Colombia Modelado de Componentes
Modelado de Distribucin
Proceso de Desarrollo de SW con UML
Basada en material de la Universidad Politcnica de Valencia Conclusiones
1 2
Introduccin: Modelado de SI
Puede hacerlo una sola persona
Requiere :
Modelado mnimo
Proceso simple
Herramientas simples
3 4
1
Claves en Desarrollo de SI Abstraccin - Modelado Visual (MV)
Orden
Item
envo
Proceso de Negocios
Herramientas Proceso
Sistema Computacional
7 8
Servidor de BDs
(C++ & SQL, ..)
MV promueve la reutilizacin
Mltiples Sistemas
Componentes
Reutilizados
11 12
2
Qu es UML? Situacin de Partida
UML = Unified Modeling Language Diversos mtodos y tcnicas OO, con muchos aspectos
en comn pero utilizando distintas notaciones
Un lenguaje de propsito general para el
modelado orientado a objetos Inconvenientes para el aprendizaje, aplicacin,
Documento OMG Unified Modeling Language construccin y uso de herramientas, etc.
Specification Pugna entre distintos enfoques (y correspondientes
UML combina notaciones provenientes desde: gurs)
Modelado Orientado a Objetos
Modelado de Datos => Necesidad de una notacin estndar
Modelado de Componentes
Modelado de Flujos de Trabajo (Workflows)
13 14
Historia de UML
Historia de UML
2001 ? UML 2.0
15 16
Shlaer-Mellor
IBM Sterling Software Objectlife cycles
UML
ICON Computing Harel
Taskon State Charts
(Desmond DSouza) Gamma et. al.
Texas Instruments
Intellicorp and James Frameworks, patterns,
Unisys
notes
Martin & co. (James Odell) Embly Wirfs-Brock
Singleton classes Responsabilities
Fusion
Operation descriptions,
message numbering
17 18
3
Aspectos Novedosos Mtodos Formales en Modelado
Definicin semi-formal del Metamodelo de UML Tipos de enfoques: no-formales, semi-formales y
formales
Mecanismos de Extensin en UML:
Stereotypes Las principales mejoras al utilizar mtodos formales
son:
Constraints
Mayor rigor en la especificacin
Tagged Values
Mejores condiciones para realizar la verificacin
Permiten adaptar los elementos de modelado, y validacin en forma ms exhaustiva
asignndoles una semntica particular Mejores condiciones para automatizacin de
Ver UML V1.3 pgina 2-67 procesos para la generacin automtica de
prototipos y/o cdigo final
19 20
4
Paquetes en UML Paquetes en UML
Los paquetes ofrecen un mecanismo general Cada paquete corresponde a un subconjunto
para la organizacin de los modelos del modelo y contiene, segn el modelo, clases,
agrupando elementos de modelado objetos, relaciones, componentes y diagramas
asociados
Se representan grficamente como:
Un paquete puede contener otros paquetes, sin
lmite de anidamiento pero cada elemento
Nombre de
paquete pertenece a (est definido en) slo un paquete
25 26
Prctica 1
27 28
Tipos de Venta
29 30
5
Ejemplos Ejemplos
En el paquete tipos de venta:
Venta Normal
Realizar prstamo
Socio Encargado
tarjeta caducada
<<extend>>
<<extends>>
Venta en Rebajas
Cliente Vendedor
Venta en Oferta
31 32
Prctica 2
Coger libro
Solicitar prstamo
Situacin socio ok
Cliente Validar operacin
Verificar situacin libro
Situacin libro ok
<<uses>>
<<include>>
Introducir prstamo
Autorizar prstamo
33 34
Prctica 3
: Ficha li
bro
operaciones
35 36
6
Ejemplos (Clase y Visibilidad) Ejemplos (Asociacin)
Alumno
DNI : char[10] dirige director
nmero_exp : int Departamento Profesor
nombre : char[50]
0..1 1
alta()
poner_nota(asignatura : char *, ao : int, nota : float)
matricular(cursos : asignatura, ao : int)
listar_expediente()
37 38
empleador trabajador
Empresa Empleado
Empleado
* 1..*
39 40
Prcticas 4-8
alta baja
1..4 1..2 1
nmero_prstamos = 0
sin prstamos
1 * *
1 * 1 * Socio Biblioteca
Avin Vuelo Reserva
Nmero : int
Nombre : char[50] prestar devolver[ nmero_prstamos = 1 ]
* Nmero prstamos : int = 0
{ disjunta, completa }
Alta()
Baja() nmero_prstamos > 0
1 Prestar(CdigoLibro : int, Fecha : date)
Devolver(CdigoLibro : int, Fecha : date)
Avin comercial con prstamos
Avin militar Lnea area
prestar
{ disjunta, completa }
41 42
7
Prctica 9
Confirmar
indicador de fin Pagar pasaje plaza reservada
Servir caf
Beber
Emitir billete
43 44
Prctica 10
Comment
Rutinas de Coneccion
Terminal de Consulta
Interfaz de Terminal
Gestin de Cuentas Acceso a BD Rutinas de Coneccion
Rutinas de Coneccion Comment
Comment Comment
Comment Punto de Venta
Rutinas de Coneccion
Comment
45 46
Resumen
Captura de Requisitos Anlisis y Diseo Implementacin
Diagramas de
Estados
Diagramas de
Secuencia Diagramas de
Distribucin El Paradigma
Orientado a Objetos
Diagramas de Diagramas
Casos de Uso De Clases
Diagramas de Diagramas de
Colaboracin Componentes
Diagramas de Diagramas de
Actividad Actividad
"You can model 80 percent of most problems by using about 20 percent of the UML."-- Grady Booch
47 48
8
Por qu la Orientacin a Objetos? Por qu la Orientacin a Objetos?
49 50
Problemas en OO Problemas en OO
Un objeto contiene datos y operaciones que operan
...Los conceptos bsicos de la OO se conocen desde hace sobre los datos, pero ...
dos dcadas, pero su aceptacin todava no est tan Podemos distinguir dos tipos de objetos degenerados:
extendida como los beneficios que esta tecnologa puede Un objeto sin datos (que sera lo mismo que una biblioteca
sugerir de funciones)
Un objeto sin operaciones, con slo operaciones del tipo
...La mayora de los usuarios de la OO no utilizan los crear, recuperar, actualizar y borrar (que se correspondera
conceptos de la OO de forma purista, como inicialmente con las estructuras de datos tradicionales)
se pretenda. Esta prctica ha sido promovida por Un sistema construido con objetos degenerados no es
muchas herramientas y lenguajes que intentan utilizar los un sistema verdaderamente orientado a objetos
conceptos en diversos grados
Las aplicaciones de gestin estn constituidas
--Wolfgang Strigel
mayoritariamente por objetos degenerados
51 52
DFDs DEs
Enfoque Entornos de
Estructurado E-R
Modelo
Programacin
Visual Fundamentos del Modelado
Orientado a Objetos
Diagramas de Casos de Uso Relacional
Diagramas de Actividad
Diagramas de Secuencia
Diagramas de Colaboracin Modelo
Bosquejos de Interfaces Relacional !!
Bases de Datos
(Objeto-)
Enfoque OO Diagrama de Clases Relacionales
Diagrama de Estados
Diagramas de Actividad
53 54
9
Objetos Objetos
Objeto = unidad atmica que integra estado y El Modelado de Objetos permite representar el
comportamiento ciclo de vida de los objetos a travs de sus
interacciones
La encapsulacin en un objeto permite una alta En UML, un objeto se representa por un
cohesin y un bajo acoplamiento rectngulo con un nombre subrayado
Otro
Objeto
55 56
Objetos Objetos
Ejemplo de varios objetos relacionados: Objeto = Identidad + Estado + Comportamiento
El estado est representado por los valores de los
Cuenta
atributos
Dos clientes
del banco corriente
Felipe
Un atributo toma un valor en un dominio concreto
Libreta de
ahorro a
Un coche
Juan plazo
Azul
Libreta de 979 Kg
ahorro 70 CV
Cuenta ...
corriente
57 58
Identidad Identidad
Oid (Object Identifier) Es independiente de las propiedades del objeto, lo cual
Cada objeto posee un oid. El oid establece la identidad implica independencia de valor y de estructura
del objeto y tiene las siguientes caractersticas:
No cambia durante toda la vida del objeto. Adems, un
Constituye un identificador nico y global para cada oid no se reutiliza aunque el objeto deje de existir
objeto dentro del sistema
No se tiene ningn control sobre los oids y su
Es determinado en el momento de la creacin del objeto manipulacin resulta transparente
Es independiente de la localizacin fsica del objeto, es Sin embargo, es preciso contar con algn medio para
decir, provee completa independencia de localizacin hacer referencia a un objeto utilizando referencias del
dominio (valores de atributos)
59 60
10
Estado Comportamiento
El estado evoluciona con el tiempo Ejemplo de interaccin:
Algunos atributos pueden ser constantes
Otro objeto
El comportamiento agrupa las competencias de Un mensaje
un objeto y describe las acciones y reacciones
de ese objeto Operacion 2
61 62
Comportamiento Persistencia
Los mensajes navegan por los enlaces, a La persistencia de los objetos designa la capacidad de
un objeto trascender en el espacio/tiempo
priori en ambas direcciones
Un objeto persistente conserva su estado en un
Estado y comportamiento estn relacionados sistema de almacenamiento permanente (usualmente
memoria secundaria)
Ejemplo: no es posible aterrizar un avin si Podremos despus reconstruirlo , es decir, cogerlo de
no est volando. Est volando como memoria secundaria para utilizarlo en la ejecucin
consecuencia de haber despegado del suelo (materializacin del objeto)
Comunicacin Comunicacin
Un sistema informtico puede verse como un Categoras de objetos:
conjunto de objetos autnomos y concurrentes Activos - Pasivos
que trabajan de manera coordinada en la Cliente Servidores, Agentes
consecucin de un fin especfico Objeto Activo: posee un hilo de ejecucin (thread)
propio y puede iniciar una actividad
El comportamiento global se basa pues en la Objeto Pasivo: no puede iniciar una actividad pero
comunicacin entre los objetos que la puede enviar estmulos una vez que se le solicita un
componen servicio
Cliente es el objeto que solicita un servicio. Servidor
es el objeto que provee el servicio solicitado
65 66
11
Comunicacin Comunicacin
Los agentes renen las caractersticas de Ejemplo en el que un agente hace de aislante:
clientes y servidores Enrutamiento
dinmico
Son la base del mecanismo de delegacin
Sevidor 1
Introducen indireccin: un cliente puede Un agente
Aislante
67 68
: Mensaje D
69 70
Mensaje y Estmulo
Un estmulo causar la invocacin de una operacin, la
creacin o destruccin de un objeto o la aparicin de
una seal
Un mensaje es la especificacin de un estmulo Captura de Requisitos
Tipos de flujo de control:
Llamada a procedimiento o flujo de control anidado
Flujo de control plano
Retorno de una llamada a procedimiento
Otras variaciones
Esperado (balking)
Cronometrado ( time-out)
71 72
12
Casos de Uso Casos de Uso
Los Casos de Uso (Ivar Jacobson) describen Los Casos de Uso cubren la carencia existente
bajo la forma de acciones y reacciones el en mtodos previos (OMT, Booch) en cuanto a
comportamiento de un sistema desde el p.d.v. la determinacin de requisitos
del usuario
Los Casos de Uso particionan el conjunto de
Permiten definir los lmites del sistema y las
necesidades atendiendo a la categora de
relaciones entre el sistema y el entorno
usuarios que participan en el mismo
Los Casos de Uso son descripciones de la
funcionalidad del sistema independientes de la Estn basado en el lenguaje natural, es decir, es
implementacin accesible por los usuarios
Comparacin con respecto a los Diagramas de
Flujo de Datos del Enfoque Estructurado
73 74
75 76
77 78
13
Casos de Uso: Relaciones Casos de Uso: Relaciones
Inclusin : una instancia del Caso de Uso origen Extensin : el Caso de Uso origen extiende el
incluye tambin el comportamiento descrito por el comportamiento del Caso de Uso destino
Caso de Uso destino
<<include> >
<<extend >>
Caso de uso destino
79 80
Cliente
<<includes>>
<<include>> Transferencia
Giro
Caso de uso destino
81 82
14
RF - <id del requisito> <nombre del requisito funcional>
Versin <numero de versin y fecha>
Autores <autor>
Modelo Conceptual
La especificacin de cada caso de uso y los
correspondientes D. de Interaccin establecen
el vnculo con el modelo conceptual
Modelado de Interacciones
En mtodos OO que carecen de una tcnica de
captura de requisitos se comienza
inmediatamente con la construccin del
modelo conceptual
87 88
89 90
15
Diagramas de Secuencia Diagramas de Secuencia
Muestra la secuencia de mensajes entre Un ejemplo:
objetos durante un escenario concreto
A B C
oblicua m5
91 92
tono
a
marcar
Las bandas
mensaje reflexivo
rectangulares
indicacin de llamada timbre
periodos de
actividad de los diga?
objetos
93 94
95 96
16
Diagrama de Secuencia Tipos de Control
El Diagrama de Secuencia refleja de manera
En el caso asncrono el retorno, si existe, se
indirecta las opciones de control
debe representar:
Un control centralizado tiene una forma como
esta:
a : aa b : aa
97 98
While X
Loop
end Loop
99 100
else
end if
101 102
17
Diagramas de Colaboracin Mensajes
Son tiles en la fase exploratoria para identificar Un mensaje desencadena una accin en el
objetos objeto destinatario
La distribucin de los objetos en el diagrama
permite observar adecuadamente la interaccin de Un mensaje se enva si han sido enviados los
un objeto con respecto de los dems mensajes de una lista (sincronizacin):
103 104
Mensajes Mensajes
Un mensaje se enva iterada y secuencialmente Un mensaje se enva iterada y
a un conjunto de instancias: concurrentemente a un conjunto de instancias:
1 *[i:=1..n] : Mensaje
1 *| | [i:=1..n] : Mensaje
B
B
A
A
105 106
Mensajes Mensajes
Un mensaje se enva de manera condicionada: Un mensaje que devuelve un resultado:
A A
107 108
18
Prctica 12
Mensajes
Los argumentos de un mensaje pueden ser
valores obtenidos como consecuencia de las
llamadas anteriores
Los argumentos pueden ser tambin Modelado Conceptual
expresiones de navegacin construidas a partir
del objeto cliente
109 110
Clases Clases
Modelado Conceptual: El mundo real puede ser visto desde abstracciones
diferentes (subjetividad)
113 114
19
Clases: Notacin Grfica Clases: Encapsulacin
Otros ejemplos: La encapsulacin presenta dos ventajas bsicas:
Se protegen los datos de accesos indebidos
lista El acoplamiento entre las clases se disminuye
pila Favorece la modularidad y el mantenimiento
115 116
117 118
Generalizacin/Especializacin
119 120
20
Asociacin Asociacin
Ejemplo: Especificacin de multiplicidad
(mnima...mxima)
marido 1 Uno y slo uno
0..1 Cero o uno
0.. 1
casado -con
0.. 1 M..N Desde M hasta N (enteros naturales)
trabaja-para * Compaa
mujer Persona * * Cero o muchos
emplea -a
jefe nombre nombre 0..* Cero o muchos
0.. 1 s. s. direccin 1..* Uno o muchos (al menos uno)
Administra
* empleado
La multiplicidad mnima >= 1 establece una
restriccin de existencia
121 122
123 124
21
Agregacin: Caracterizacin Ejemplos
Las caracterizaciones 1, 3, 4 y 5 estn incluidas en el
concepto ms amplio de multiplicidad
1 *
Multiplicidad Mnima Multiplicidad Mnima 0..2
0 nulos permitidos 0 flexible
+Padre
> 0 nulos no permitidos > 0 estricta
1
Multiplicidad Mxima Multiplicidad Mxima
motor
1 univaluado 1 disjunto
> 1 multivaluado >1 no disjunto
Objeto Componente
127 128
131 132
22
... Jerarquas de ... Jerarquas de
Generalizacin/Especializacin Generalizacin/Especializacin
Abstracciones ms generales.
La Generalizacin y Especializacin son vehiculo
equivalentes en cuanto al resultado: la
jerarqua y herencia establecidas
transitivas
133 134
137 138
23
... Jerarquas de ... Jerarquas de
Generalizacin/Especializacin Generalizacin/Especializacin
Un ejemplo de Especializacin Dinmica: Extensin: Posibles instancias de una clase
A
int(A) int(B)
funcionando estropeado
ext(B) ext(A)
B
139 140
141 142
militar
avion helicoptero
143 144
24
... Jerarquas de ... Jerarquas de
Generalizacin/Especializacin Generalizacin/Especializacin
En la Especializacin Dinmica un objeto puede Ejemplo: especializaciones dinmicas de la
migrar durante su vida entre las distintas misma superclase:
subclases de la especializacin
de menos de 1000kms
La migracin puede definirse en funcin de su coche
estado o de los eventos que le acontezcan
de ms de 1000 kms
funcionando estropeado
145 146
comercial
esttica
esttica militar
dinmica
funcionando estropeado
147 148
149 150
25
Herencia Mltiple Herencia Mltiple
Se presenta cuando una subclase tiene ms de La multiplicidad de la clasificacin mltiple se
una superclase puede representar tambin mediante
asociaciones:
La herencia mltiple debe manejarse con Realiza >
precaucin. Algunos problemas son el conflicto Clase Tipo
de nombre y el conflicto de precedencia *
151 152
153 154
155 156
26
Principio de Sustitucin Polimorfismo
Dado que los programadores pueden introducir El trmino polimorfismo se refiere a que una
cdigo en las subclases redefiniendo las caracterstica de una clase puede tomar
operaciones, es posible introducir involuntaria- varias formas
mente incoherencias que violen el principio de El polimorfismo representa en nuestro caso
sustitucin la posibilidad de desencadenar operaciones
distintas en respuesta a un mismo mensaje
El polimorfismo que veremos a continuacin no
Cada subclase hereda las operaciones pero
debera implementarse sin este principio tiene la posibilidad de modificar localmente
el comportamiento de estas operaciones
157 158
Polimorfismo Polimorfismo
Ejemplo: todo animal duerme, pero cada Zoo
1
Animal Dormir()
* }
Zoo Animal
1
?
*
dormir
Len Oso Tigre
Polimorfismo Comentarios
Los Diagramas de Clases v/s los modelos de
La bsqueda automtica del cdigo que en datos (Diagramas Entidad -Relacin)
cada momento se va a ejecutar es fruto del
enlace dinmico
161 162
27
Diagramas de Estados
Los Diagramas de Estados representan
autmatas de estados finitos, desde el p.d.v.
de los estados y las transiciones
Diagramas de Estados Son tiles slo para los objetos con un
comportamiento significativo
El resto de objetos se puede considerar que
tienen un nico estado
El formalismo utilizado proviene de los
Statecharts (Harel)
163 164
165 166
167 168
28
Diagramas de Estados Diagramas de Estados
Si la comunicacin es sncrona el cliente Las guardas permiten condicionar la
debe esperar la respuesta. Con lo cual en el transicin:
cliente tendramos:
Evento[ condicin ]
a a b
plantear pregunta
169 170
Acciones Acciones
Podemos especificar la ejecucin de una Podemos especificar el envo de un evento a
accin como consecuencia de la transicin: otro objeto como consecuencia de la
transicin:
a
Evento[ condicin ] / accin
a b
171 172
Acciones .. Acciones
Se puede especificar el hacer una accin Se puede especificar el hacer una accin
como consecuencia de entrar, salir o estar cuando ocurre en dicho estado un evento
en un estado: que no conlleva salir del estado:
estado A estado A
entry: accin por entrar on evento_activador( arg1 )[ condicin ]: accin por evento
exit: accin por salir
do: accin mientras en estado
173 174
29
Actividades Actividades
Las actividades son similares a las acciones Cuando una actividad finaliza se produce una
pero tienen duracin y se ejecutan dentro de transicin automtica de salida del estado
un estado del objeto [ not condicin ]
a b
Las actividades pueden interrumpirse en do: actividad
todo momento, cuando se desencadena la
operacin de salida del estado [ condicin ]
175 176
disjuntos e2
Los subestados heredan las variables de c
estado y las transiciones externas
177 178
e2
e0
e2
c
c
179 180
30
Generalizacin de Estados Generalizacin de Estados
Es preferible tener estados iniciales de Es posible ocultar los detalles de los sub-
entrada a un nivel de manera que desde los estados:
niveles superiores no se sepa a qu
subestado se entra:
e1 c
a b e0
c
e2
e0
181 182
183 184
Historial Historial
Por defecto, los autmatas no tienen Ejemplo:
memoria a
out
d1
H
185 186
31
Historial Historial
Tambin es posible la memorizacin para Ejemplo:
cualquiera de los subestados anidados (aparece
un * junto a la H) Enjuague Lavado Secado
a
d2
H
in
h x y
out Cerrar
Abrir Puerta Abrir Puerta
Cerrar
d1
H*
Espera
187 188
189 190
introduce el dinero se
el evento esperado tiene lugar termina la actividad esperar dinero
anular transaccin
pasando a anular la entry: Mostrar mensaje
Este evento desencadena una transicin que transaccin. En do: Esperar 30 segundos
exit: cerrar ranura
permite salir del estado que alberga la cualquier caso se cierra
la ranura.
actividad de espera. El flujo de control se Depsito efectuado
transmite entonces a otro estado
b
191 192
32
Transiciones temporizadas Diagrama de Actividades
Ejemplo v.2: a El Diagrama de Actividades es una variante
de los Diagramas de Estados, organizado
/ Abrir ranura
respecto de las acciones y principalmente
destinado a representar el comportamiento
esperar dinero Temporizador interno de un mtodo (la realizacin de una
entry: Mostrar mensaje
(30 segundos)
anular transaccin
operacin), de un caso de uso o de un
exit: cerrar ranura proceso de negocio (Workflow)
Depsito efectuado
Una actividad puede considerarse un
estereotipo de estado
b
193 194
195 196
Solicitar pasaje
Verificar
Modelado de Componentes
existencia vuelo
Informar alternativas
y precios
Seleccionar vuelo
Confirmar
Pagar pasaje plaza reservada
Emitir billete
197 198
33
Diagrama de Componentes ...Diagramas de Componentes
Los diagramas de componentes describen los Los componentes representan todos los tipos
elementos fsicos del sistema y sus relaciones de elementos software que entran en la
fabricacin de aplicaciones informticas.
Muestran las opciones de realizacin Pueden ser simples archivos, paquetes de
incluyendo cdigo fuente, binario y ejecutable Ada, bibliotecas cargadas dinmicamente,
etc.
Cada clase del modelo lgico se realiza en
dos componentes: la especificacin y el
cuerpo
199 200
201 202
<<subsistema>>
NewPackage4
203 204
34
Subsistemas
Los subsistemas organizan la vista de realizacin de
un sistema
Cada subsistema puede contener componentes y
otros subsistemas Modelado de Distribucin
La descomposicin en subsistemas no es
necesariamente una descomposicin funcional
Paquetes (Categorias) y clases en el nivel lgico.
Paquetes (Subsistemas) y componentes en el nivel
fsico
205 206
207 208
Diagramas de Distribucin
Ejemplo de conexin entre nodos:
<<Procesador> <<dispositivo>>
Proceso de Desarrollo
Nodo <<<<TCP/IP>>>>
conexin1
nodo2 de SW con UML
conexin7
<<RDSI>>
dispositiv
En Rational Rose podemos
o
distinguir entre el dispositivo por
estereotipado y el dispositivo con
su propio smbolo
209 210
35
Hacia un Mtodo OO Hacia un Mtodo OO
Un proceso de desarrrollo de programas UML no incorpora por s mismo el modelo de
tiene como objetivo la formalizacin de las proceso
actividades relacionadas con la elaboracin Los autores destacan las siguientes caractersticas
de sistemas informticos
de UML como esenciales para determinar el proceso
Debe ser: de desarrollo:
Reproducible
Est dirigido por los casos de uso: desde la especificacin
Definido
hasta el mantenimiento
Medible en cuanto a rendimiento
Optimizable Se centra en la arquitectura: reutilizable y como gua
... hasta la solucin
Iterativo e incremental: el trabajo se divide en iteraciones
pequeas en funcin de la importancia de los casos de
uso y el estudio de riesgos
211 212
Vista de
Vista Lgica Realizacin
Los Casos de Uso forman la unin Vista de los
Casos de Uso
Vista de Vista de
Procesos Distribucin
36
...Ciclo de Vida Iterativo e
Incremental Gestin del Riesgo
Cada iteracin comprende: El anlisis de riegos consiste en evaluar el
proyecto, la tecnologa y los recursos con el fin
Planificar la iteracin (estudio de riesgos)
determinar y comprender la naturaleza y el
Anlisis de los Casos de Uso y escenarios origen de los riesgos
Diseo de opciones arquitectnicas
Riesgos:
Codificacin y pruebas. La integracin del nuevo Comerciales (competencia, etc.)
cdigo con el existente de iteraciones anteriores Financieros (econmicos, etc.)
se hace gradualmente durante la construccin
Tcnicos (base tecnolgica slida y probada?)
Evaluacin de la entrega ejecutable (evaluacin
De desarrollo (equipo experimentado?)
del prototipo en funcin de las pruebas y de los
criterios definidos) El mayor riesgo consiste en no saber dnde
Preparacin de la entrega (documentacin e estn los riesgos
instalacin del prototipo)
217 218
221 222
37
...Fases del Ciclo de Vida ...Fases del Ciclo de Vida
Construccin Transicin
El producto se desarrolla a travs de iteraciones
donde cada iteracin involucra tareas de anlisis, Se libera el producto y se entrega al usuario
diseo e implementacin para un uso real
Las fases de estudio y anlisis slo dieron una Se incluyen tareas de marketing, empaquetado
arquitectura bsica que es aqu refinada de manera atractivo, instalacin, configurac in,
incremental conforme se construye (se permiten
entrenamiento, soporte, mantenimiento, etc.
cambios en la estructura)
Gran parte del trabajo es programacin y pruebas Los manuales de usuario se completan y refinan
Se documenta tanto el sistema construido como el con la informacin anterior
manejo del mismo Estas tareas se realizan tambin en iteraciones
Esta fase proporciona un producto construido junto
con la documentacin
223 224
15%
Requisitos Requisitos
Una iteracin en la Una iteracin en la
fase de elaboracin fase de elaboracin
Anlisis 10% Anlisis
30% Implementacin
Implementacin
P re lim i na ry i ter. i te r. i te r. i te r. iter. iter. ite r. P re lim i na ry i ter. i te r. i te r. i te r. iter. iter. ite r.
Iter atio n(s) #1 #2 #n # n+ 1 #n +2 #m # m +1 Iter atio n(s) #1 #2 #n # n+ 1 #n +2 #m # m +1
Claves en el Desarrollo de SI
Notacin
UML
Conclusiones
Herramientas Proceso
p.e. Rational Rose p.e. Proceso Unificado
227 228
38
Contexto de Desarrollo :
Grado de Complejidad Modelado de SI: Algunas Reflexiones
Modelar para la concebir el sistema y/o para la
documentarlo
Pragmatismo, los modelos deben ser tiles
Sencillez y Elegancia
Distintos nivel de abstraccin, diferentes modelos
Seguimiento de transformaciones durante el proceso
(Traceability)
Sincronizacin de modelos
Dificultades para la introduccin de tcnicas y
herramientas de modelado
229 230
231 232
39