Documentos de Académico
Documentos de Profesional
Documentos de Cultura
§ Introducción: Modelado de SI
Análisis y Diseño § Breve Tour por UML
§ El Paradigma Orientado a Objetos
Orientado a Objetos usando – Fundamentos del Modelado OO
– Captura de Requisitos
la notación UML – Modelado de Interacciones
– Modelado de la Estructura del Sistema
Ing. Mario Alberto Pérez – Diagramas de Estados
Universidad Nacional de Colombia – Modelado de Componentes
– Modelado de Distribución
§ Proceso de Desarrollo de SW con UML
Basada en material de la Universidad Politécnica de Valencia § Conclusiones
1 2
Introducción: Modelado de SI
Puede hacerlo una sola persona
Requiere :
Modelado mínimo
Proceso simple
Herramientas simples
3 4
1
Claves en Desarrollo de SI Abstracción - Modelado Visual (MV)
Orden
Item
envío
Proceso de Negocios
Herramientas Proceso
Sistema Computacional
7 8
Servidor de BDs
(C++ & SQL, ..)
MV promueve la reutilización
Múltiples Sistemas
Componentes
Reutilizados
11 12
2
¿Qué es UML? Situación de Partida
§ UML = Unified Modeling Language § Diversos métodos y técnicas OO, con muchos aspectos
en común pero utilizando distintas notaciones
§ Un lenguaje de propósito general para el
modelado orientado a objetos § Inconvenientes para el aprendizaje, aplicación,
§ Documento “OMG Unified Modeling Language construcción y uso de herramientas, etc.
Specification” § Pugna entre distintos enfoques (y correspondientes
§ UML combina notaciones provenientes desde: gurús)
• Modelado Orientado a Objetos
• Modelado de Datos => Necesidad de una notación estándar
• 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 D’Souza) 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 Métodos Formales en Modelado
§ Definición semi-formal del Metamodelo de UML § Tipos de enfoques: no-formales, semi-formales y
formales
§ Mecanismos de Extensión en UML:
§ Stereotypes § Las principales mejoras al utilizar métodos formales
son:
§ Constraints
• Mayor rigor en la especificación
§ Tagged Values
• Mejores condiciones para realizar la verificación
Permiten adaptar los elementos de modelado, y validación en forma más exhaustiva
asignándoles una semántica particular • Mejores condiciones para automatización de
Ver UML V1.3 página 2-67 procesos para la generación automática de
prototipos y/o código final
19 20
4
Paquetes en UML … Paquetes en UML
§ Los paquetes ofrecen un mecanismo general § Cada paquete corresponde a un subconjunto
para la organización de los modelos del modelo y contiene, según el modelo, clases,
agrupando elementos de modelado objetos, relaciones, componentes y diagramas
asociados
§ Se representan gráficamente como:
§ Un paquete puede contener otros paquetes, sin
límite de anidamiento pero cada elemento
Nombre de
paquete pertenece a (está definido en) sólo un paquete
25 26
Práctica 1
27 28
Tipos de Venta
29 30
5
… Ejemplos … Ejemplos
En el paquete tipos de venta:
Venta Normal
Realizar préstamo
Socio Encargado
tarjeta caducada
<<extend>>
<<extends>>
Venta en Rebajas
Cliente Vendedor
Venta en Oferta
31 32
Práctica 2
Coger libro
Solicitar préstamo
Situación socio ok
Cliente Validar operación
Verificar situación libro
Situación libro ok
<<uses>>
<<include>>
Introducir préstamo
Autorizar préstamo
33 34
Práctica 3
: Ficha li
bro
operaciones
35 36
6
Ejemplos (Clase y Visibilidad) … Ejemplos (Asociación)
Alumno
DNI : char[10] dirige director
número_exp : int Departamento Profesor
nombre : char[50]
0..1 1
alta()
poner_nota(asignatura : char *, año : int, nota : float)
matricular(cursos : asignatura, año : int)
listar_expediente()
37 38
empleador trabajador
Empresa Empleado
Empleado
* 1..*
39 40
Prácticas 4-8
alta baja
1..4 1..2 1
número_préstamos = 0
sin préstamos
1 * *
1 * 1 * Socio Biblioteca
Avión Vuelo Reserva
Número : int
Nombre : char[50] prestar devolver[ número_préstamos = 1 ]
* Número préstamos : int = 0
{ disjunta, completa }
Alta()
Baja() número_préstamos > 0
1 Prestar(CódigoLibro : int, Fecha : date)
Devolver(CódigoLibro : int, Fecha : date)
Avión comercial con préstamos
Avión militar Línea aérea
prestar
{ disjunta, completa }
41 42
7
Práctica 9
Confirmar
indicador de fin Pagar pasaje plaza reservada
Servir café
Beber
Emitir billete
43 44
Práctica 10
Comment
Rutinas de Coneccion
Terminal de Consulta
Interfaz de Terminal
Gestión 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 Análisis y Diseño Implementación
Diagramas de
Estados
Diagramas de
Secuencia Diagramas de
Distribución El Paradigma
Orientado a Objetos
Diagramas de Diagramas
Casos de Uso De Clases
Diagramas de Diagramas de
Colaboración 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 Orientación a Objetos? ¿Por qué la Orientación a Objetos?
49 50
Problemas en OO … Problemas en OO
§ Un objeto contiene datos y operaciones que operan
“...Los conceptos básicos de la OO se conocen desde hace sobre los datos, pero ...
dos décadas, pero su aceptación todavía no está tan § Podemos distinguir dos tipos de objetos degenerados:
extendida como los beneficios que esta tecnología puede • Un objeto sin datos (que sería lo mismo que una biblioteca
sugerir” de funciones)
• Un objeto sin “operaciones”, con sólo operaciones del tipo
“...La mayoría de los usuarios de la OO no utilizan los crear, recuperar, actualizar y borrar (que se correspondería
conceptos de la OO de forma purista, como inicialmente con las estructuras de datos tradicionales)
se pretendía. Esta práctica 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 gestión están constituidas
--Wolfgang Strigel
mayoritariamente por objetos degenerados”
51 52
DFDs DEs
Enfoque Entornos de
Estructurado E-R
Modelo
Programación
Visual Fundamentos del Modelado
Orientado a Objetos
Diagramas de Casos de Uso Relacional
Diagramas de Actividad
Diagramas de Secuencia
Diagramas de Colaboración 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 atómica que integra estado y § El Modelado de Objetos permite representar el
comportamiento ciclo de vida de los objetos a través de sus
interacciones
§ La encapsulación en un objeto permite una alta § En UML, un objeto se representa por un
cohesión y un bajo acoplamiento rectángulo 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 características:
• No cambia durante toda la vida del objeto. Además, 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 ningún control sobre los oids y su
• Es determinado en el momento de la creación del objeto manipulación resulta transparente
• Es independiente de la localización física del objeto, es § Sin embargo, es preciso contar con algún medio para
decir, provee completa independencia de localización 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 interacción:
§ 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 están relacionados sistema de almacenamiento permanente (usualmente
memoria secundaria)
§ Ejemplo: no es posible aterrizar un avión si § Podremos después reconstruirlo , es decir, cogerlo de
no está volando. Está volando como memoria secundaria para utilizarlo en la ejecución
consecuencia de haber despegado del suelo (materialización del objeto)
Comunicación … Comunicación
§ Un sistema informático puede verse como un § Categorías de objetos:
conjunto de objetos autónomos y concurrentes • Activos - Pasivos
que trabajan de manera coordinada en la • Cliente – Servidores, Agentes
consecución de un fin específico § Objeto Activo: posee un hilo de ejecución (thread)
propio y puede iniciar una actividad
§ El comportamiento global se basa pues en la § Objeto Pasivo: no puede iniciar una actividad pero
comunicación entre los objetos que la puede enviar estímulos 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
… Comunicación … Comunicación
§ Los agentes reúnen las características de § Ejemplo en el que un agente hace de aislante:
clientes y servidores Enrutamiento
dinámico
§ Son la base del mecanismo de delegación
Sevidor 1
§ Introducen indirección: un cliente puede Un agente
Aislante
67 68
: Mensaje D
69 70
Mensaje y Estímulo
§ Un estímulo causará la invocación de una operación, la
creación o destrucción de un objeto o la aparición de
una señal
§ Un mensaje es la especificación de un estímulo 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 métodos previos (OMT, Booch) en cuanto a
comportamiento de un sistema desde el p.d.v. la determinación de requisitos
del usuario
§ Los Casos de Uso particionan el conjunto de
§ Permiten definir los límites del sistema y las
necesidades atendiendo a la categoría 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 § Están basado en el lenguaje natural, es decir, es
implementación accesible por los usuarios
§ Comparación 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
• Inclusión : una instancia del Caso de Uso origen • Extensión : el Caso de Uso origen extiende el
incluye también 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>
Versión <numero de versión y fecha>
Autores <autor>
Modelo Conceptual
§ La especificación de cada caso de uso y los
correspondientes D. de Interacción establecen
el vínculo con el modelo conceptual
Modelado de Interacciones
§ En métodos OO que carecen de una técnica de
captura de requisitos se comienza
inmediatamente con la construcción 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
indicación 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 asíncrono 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 Colaboración Mensajes
§ Son útiles en la fase exploratoria para identificar § Un mensaje desencadena una acción en el
objetos objeto destinatario
§ La distribución de los objetos en el diagrama
permite observar adecuadamente la interacción de § Un mensaje se envía si han sido enviados los
un objeto con respecto de los demás mensajes de una lista (sincronización):
103 104
… Mensajes … Mensajes
§ Un mensaje se envía iterada y secuencialmente § Un mensaje se envía 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 envía de manera condicionada: § Un mensaje que devuelve un resultado:
A A
107 108
18
Práctica 12
… Mensajes
§ Los argumentos de un mensaje pueden ser
valores obtenidos como consecuencia de las
llamadas anteriores
§ Los argumentos pueden ser también Modelado Conceptual
expresiones de navegación 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: Notación Gráfica Clases: Encapsulación
§ Otros ejemplos: § La encapsulación presenta dos ventajas básicas:
• 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
• Generalización/Especialización
119 120
20
… Asociación … Asociación
§ Ejemplo: § Especificación de multiplicidad
(mínima...máxima)
marido 1 Uno y sólo uno
0..1 Cero o uno
0.. 1
casado -con
0.. 1 M..N Desde M hasta N (enteros naturales)
trabaja-para * Compañía
mujer Persona * * Cero o muchos
emplea -a
jefe nombre nombre 0..* Cero o muchos
0.. 1 s. s. dirección 1..* Uno o muchos (al menos uno)
Administra
* empleado
§ La multiplicidad mínima >= 1 establece una
restricción de existencia
121 122
123 124
21
… Agregación: Caracterización Ejemplos
§ Las caracterizaciones 1, 3, 4 y 5 están incluidas en el
concepto más amplio de multiplicidad
1 *
Multiplicidad Mínima Multiplicidad Mínima 0..2
0 → nulos permitidos 0 → flexible
+Padre
> 0 → nulos no permitidos > 0 → estricta
1
Multiplicidad Máxima Multiplicidad Máxima
motor
1 → univaluado 1 → disjunto
> 1 → multivaluado >1 → no disjunto
Objeto Componente
127 128
131 132
22
... Jerarquías de ... Jerarquías de
Generalización/Especialización Generalización/Especialización
Abstracciones más generales.
§ La Generalización y Especialización son vehiculo
equivalentes en cuanto al resultado: la
jerarquía y herencia establecidas
transitivas
133 134
137 138
23
... Jerarquías de ... Jerarquías de
Generalización/Especialización Generalización/Especialización
§ Un ejemplo de Especialización Dinámica: § Extensión: 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
... Jerarquías de ... Jerarquías de
Generalización/Especialización Generalización/Especialización
§ En la Especialización Dinámica un objeto puede § Ejemplo: especializaciones dinámicas de la
migrar durante su vida entre las distintas misma superclase:
subclases de la especialización
de menos de 1000kms
§ La migración puede definirse en función de su coche
estado o de los eventos que le acontezcan
145 146
comercial
estática
estática militar
dinámica
funcionando estropeado
147 148
149 150
25
Herencia Múltiple … Herencia Múltiple
§ Se presenta cuando una subclase tiene más de § La multiplicidad de la clasificación múltiple se
una superclase puede representar también mediante
asociaciones:
§ La herencia múltiple debe manejarse con Realiza >
precaución. Algunos problemas son el conflicto Clase Tipo
de nombre y el conflicto de precedencia *
151 152
153 154
155 156
26
… Principio de Sustitución Polimorfismo
§ Dado que los programadores pueden introducir § El término polimorfismo se refiere a que una
código en las subclases redefiniendo las característica 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
sustitución la posibilidad de desencadenar operaciones
distintas en respuesta a un mismo mensaje
§ El polimorfismo que veremos a continuación no
§ Cada subclase hereda las operaciones pero
debería 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
León Oso Tigre
… Polimorfismo Comentarios
§ Los Diagramas de Clases v/s los modelos de
§ La búsqueda automática del código que en datos (Diagramas Entidad -Relación)
cada momento se va a ejecutar es fruto del
enlace dinámico
161 162
27
Diagramas de Estados
§ Los Diagramas de Estados representan
autómatas de estados finitos, desde el p.d.v.
de los estados y las transiciones
Diagramas de Estados § Son útiles sólo 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 comunicación es síncrona el cliente § Las guardas permiten condicionar la
debe esperar la respuesta. Con lo cual en el transición:
cliente tendríamos:
Evento[ condición ]
a a b
plantear pregunta
169 170
Acciones … Acciones
§ Podemos especificar la ejecución de una § Podemos especificar el envío de un evento a
acción como consecuencia de la transición: otro objeto como consecuencia de la
transición:
a
Evento[ condición ] / acción
a b
171 172
… Acciones .. Acciones
§ Se puede especificar el hacer una acción § Se puede especificar el hacer una acción
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: acción por entrar on evento_activador( arg1 )[ condición ]: acción por evento
exit: acción por salir
do: acción mientras en estado
173 174
29
Actividades … Actividades
§ Las actividades son similares a las acciones § Cuando una actividad finaliza se produce una
pero tienen duración y se ejecutan dentro de transición automática de salida del estado
un estado del objeto [ not condición ]
a b
§ Las actividades pueden interrumpirse en do: actividad
todo momento, cuando se desencadena la
operación de salida del estado [ condición ]
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
… Generalización de Estados … Generalización 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 autómatas no tienen § Ejemplo:
memoria a
out
d1
H
185 186
31
… Historial … Historial
§ También es posible la memorización 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 transacción
pasando a anular la entry: Mostrar mensaje
§ Este evento desencadena una transición que transacción. 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 Depósito 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 método (la realización de una
entry: Mostrar mensaje
(30 segundos)
anular transacción
operación), de un caso de uso o de un
exit: cerrar ranura proceso de negocio (Workflow)
Depósito 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 físicos del sistema y sus relaciones de elementos software que entran en la
fabricación de aplicaciones informáticas.
§ Muestran las opciones de realización Pueden ser simples archivos, paquetes de
incluyendo código fuente, binario y ejecutable Ada, bibliotecas cargadas dinámicamente,
etc.
§ Cada clase del modelo lógico se realiza en
dos componentes: la especificación y el
cuerpo
199 200
201 202
<<subsistema>>
NewPackage4
203 204
34
… Subsistemas
§ Los subsistemas organizan la vista de realización de
un sistema
§ Cada subsistema puede contener componentes y
otros subsistemas Modelado de Distribución
§ La descomposición en subsistemas no es
necesariamente una descomposición funcional
§ Paquetes (Categorias) y clases en el nivel lógico.
Paquetes (Subsistemas) y componentes en el nivel
físico
205 206
207 208
… Diagramas de Distribución
§ Ejemplo de conexión entre nodos:
<<Procesador> <<dispositivo>>
Proceso de Desarrollo
Nodo <<<<TCP/IP>>>>
conexión1
nodo2 de SW con UML
conexión7
<<RDSI>>
dispositiv
En Rational Rose podemos
o
distinguir entre el dispositivo por
estereotipado y el dispositivo con
su propio símbolo
209 210
35
Hacia un Método OO … Hacia un Método OO
§ Un proceso de desarrrollo de programas § UML no incorpora por sí mismo el modelo de
tiene como objetivo la formalización de las proceso
actividades relacionadas con la elaboración § Los autores destacan las siguientes características
de sistemas informáticos
de UML como esenciales para determinar el proceso
§ Debe ser: de desarrollo:
• Reproducible
• Está dirigido por los casos de uso: desde la especificación
• Definido
hasta el mantenimiento
• Medible en cuanto a rendimiento
• Optimizable • Se centra en la arquitectura: reutilizable y como guía
• ... hasta la solución
• Iterativo e incremental: el trabajo se divide en iteraciones
pequeñas en función de la importancia de los casos de
uso y el estudio de riesgos
211 212
Vista de
Vista Lógica Realización
Los Casos de Uso forman la unión Vista de los
Casos de Uso
Vista de Vista de
Procesos Distribución
36
...Ciclo de Vida Iterativo e
Incremental Gestión del Riesgo
§ Cada iteración comprende: § El análisis de riegos consiste en evaluar el
proyecto, la tecnología y los recursos con el fin
• Planificar la iteración (estudio de riesgos)
determinar y comprender la naturaleza y el
• Análisis de los Casos de Uso y escenarios origen de los riesgos
• Diseño de opciones arquitectónicas
§ Riesgos:
• Codificación y pruebas. La integración del nuevo • Comerciales (competencia, etc.)
código con el existente de iteraciones anteriores • Financieros (económicos, etc.)
se hace gradualmente durante la construcción
• Técnicos (base tecnológica sólida y probada?)
• Evaluación de la entrega ejecutable (evaluación
• De desarrollo (equipo experimentado?)
del prototipo en función de las pruebas y de los
criterios definidos) § El mayor riesgo consiste en no saber dónde
• Preparación de la entrega (documentación e están los riesgos
instalación del prototipo)
217 218
221 222
37
...Fases del Ciclo de Vida ...Fases del Ciclo de Vida
§ Construcción § Transición
• El producto se desarrolla a través de iteraciones
donde cada iteración involucra tareas de análisis, • Se libera el producto y se entrega al usuario
diseño e implementación para un uso real
• Las fases de estudio y análisis sólo dieron una • Se incluyen tareas de marketing, empaquetado
arquitectura básica que es aquí refinada de manera atractivo, instalación, configurac ión,
incremental conforme se construye (se permiten
entrenamiento, soporte, mantenimiento, etc.
cambios en la estructura)
• Gran parte del trabajo es programación y pruebas • Los manuales de usuario se completan y refinan
• Se documenta tanto el sistema construido como el con la información anterior
manejo del mismo • Estas tareas se realizan también en iteraciones
• Esta fase proporciona un producto construido junto
con la documentación
223 224
15%
Requisitos Requisitos
Una iteración en la Una iteración en la
fase de elaboración fase de elaboración
Análisis 10% Análisis
30% Implementación
Implementación
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
Notación
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 abstracción, diferentes modelos
§ Seguimiento de transformaciones durante el proceso
(Traceability)
§ Sincronización de modelos
§ Dificultades para la introducción de técnicas y
herramientas de modelado
229 230
231 232
39