Beruflich Dokumente
Kultur Dokumente
Introduccin
Modelado de SW
I. Introduccin: Modelado de SW
I. Introduccin: Modelado de SW
I. Introduccin: Modelado de SI
Construccin de un rascacielos
I. Introduccin: Modelado de SW
Claves en Desarrollo de SI
Notacin
Herramientas
Proceso
I. Introduccin: Modelado de SW
envo
Proceso de Negocios
Sistema Computacional
I. Introduccin: Modelado de SW
I. Introduccin: Modelado de SW
MV promueve la reutilizacin
Mltiples Sistemas
Componentes
Reutilizados
Problemas en OO
...Los conceptos bsicos de la OO se conocen
desde hace dos dcadas, pero su aceptacin
todava no est tan extendida como los beneficios
que esta tecnologa puede sugerir
...La mayora de los usuarios de la OO no utilizan
los conceptos de la OO de forma purista, como
inicialmente se pretenda. Esta prctica ha sido
promovida por muchas herramientas y lenguajes
que intentan utilizar los conceptos en diversos
grados
--Wolfgang Strigel
Problemas en OO
Un objeto contiene datos y operaciones que operan sobre los
datos, pero ...
Podemos distinguir dos tipos de objetos degenerados:
Un objeto sin datos (que sera lo mismo que una biblioteca
de funciones)
Un objeto sin operaciones, con slo operaciones del tipo
crear, recuperar, actualizar y borrar (que se correspondera
con las estructuras de datos tradicionales)
Un sistema construido con objetos degenerados no es un
sistema verdaderamente orientado a objetos
Fundamentos de Modelado OO
Objetos
Objeto = unidad atmica que encapsula estado y
comportamiento
La encapsulacin en un objeto permite una alta
cohesin y un bajo acoplamiento
Un objeto puede caracterizar una entidad fsica
(coche) o abstracta (ecuacin matemtica)
Objetos
El Modelado de Objetos permite representar el
ciclo de vida de los objetos a travs de sus
interacciones
En UML, un objeto se representa por un
rectngulo con un nombre subrayado
Otro
Objeto
ms
Un Objeto
Otro
Objeto
Objetos
Ejemplo de varios objetos relacionados:
Cuenta Corriente 101
Juan
Banco de Valencia
Felipe
Cuenta Corriente 114
Objetos
Objeto = Identidad + Estado + Comportamiento
El estado est representado por los valores de los
atributos
Un atributo toma un valor en un dominio concreto
Un coche
Azul
979 Kg
70 CV
...
Clases y Objetos
Estado
El estado evoluciona con el tiempo
Algunos atributos pueden ser constantes
El comportamiento agrupa las competencias de un objeto y
describe las acciones y reacciones de ese objeto
Las operaciones de un objeto son consecuencia de un
estmulo externo representado como mensaje enviado desde
otro objeto
Comportamiento
Ejemplo de interaccin:
Comportamiento
Los mensajes navegan por los enlaces, a priori
en ambas direcciones
Estado y comportamiento estn relacionados
Ejemplo: no es posible aterrizar un avin si no
est volando. Est volando como consecuencia
de haber despegado del suelo
Persistencia
La persistencia de los objetos designa la capacidad de un
objeto trascender en el espacio/tiempo
Podremos despus reconstruirlo, es decir, cogerlo de
memoria secundaria para utilizarlo en la ejecucin
(materializacin del objeto)
Los lenguajes OO no proponen soporte adecuado para la
persistencia, la cual debera ser transparente, un objeto
existe desde su creacin hasta que se destruya
Comunicacin
Un sistema informtico puede verse como un
conjunto de objetos autnomos y concurrentes
que trabajan de manera coordinada en la
consecucin de un fin especfico
El comportamiento global se basa pues en la
comunicacin entre los objetos que la componen
Comunicacin
Categoras de objetos:
Activos - Pasivos
Cliente Servidores, Agentes
Objeto Activo: posee un hilo de ejecucin (thread) propio y puede iniciar
una actividad
Objeto Pasivo: no puede iniciar una actividad pero puede enviar estmulos
una vez que se le solicita un servicio
Cliente es el objeto que solicita un servicio. Servidor es el objeto que provee
el servicio solicitado
Comunicacin
Los agentes renen las caractersticas de
clientes y servidores
Son la base del mecanismo de delegacin
Introducen indireccin: un cliente puede
comunicarse con un servidor que no conoce
directamente
Comunicacin
Ejemplo en el que un agente hace de aislante:
Un agente
Sevidor 1
Servidor 2
Un cliente
El Concepto de Mensaje
La unidad de comunicacin entre objetos se llama
mensaje
El mensaje es el soporte de una comunicacin que
vincula dinmicamente los objetos que fueron
separados previamente en el proceso de descomposicin
Adquiere toda su fuerza cuando se asocia al
polimorfismo y al enlace dinmico
El Concepto de Mensaje
Objeto 1
: Mensaje A
Objeto 2
: Mensaje C
: Mensaje E
Objeto 3
Objeto 4
: Mensaje D
Proceso de Desarrollo
de SW basado en UML
Proceso de Desarrollo
de Software
Sistema nuevo
o modificado
Historia de RUP
RationalObjectory Process
1996-1997
Objectory Process
1987-1995
Enfoque Ericsson
Pruebas funcionales
Pruebas de desempe
Gestin de requisitos
Gestin de cambios y
configuracin
Ingeniera de Negocio
Ingeniera de datos
Diseo de interfaces
UML
Dos Dimensiones
Objetivos
(Vision)
tiempo
Construction
Arquitectura
Transition
Capacidad
Operacional
Inicial
Release
del Producto
n veces
Codific.
Pruebas e
Integracin
Enfoque
Iterativo e
Incremental
Construccin
El producto se desarrolla a travs de iteraciones
donde cada iteracin involucra tareas de anlisis,
diseo e implementacin
Las fases de estudio y anlisis slo dieron una
arquitectura bsica que es aqu refinada de manera
incremental conforme se construye (se permiten
cambios en la estructura)
Gran parte del trabajo es programacin y pruebas
Se documenta tanto el sistema construido como el
manejo del mismo
Esta fase proporciona un producto construido junto
con la documentacin
Elaboration
Construction
Transition
15%
Requisitos
Una iteracin en la
fase de elaboracin
Anlisis
10%
Diseo
15%
30%
Implementacin
15%
Pruebas
P re lim ina ry
Ite ra tion (s)
ite r.
#1
ite r.
#2
ite r.
#n
ite r.
# n+ 1
ite r.
# n+2
ite r.
#m
ite r.
#m +1
Elaboration
Construction
Transition
Requisitos
Una iteracin en la
fase de elaboracin
Anlisis
Diseo
Implementacin
Pruebas
P re lim ina ry
Ite ra tion (s)
Esfuerzo:
Duracin:
5%
10%
ite r.
#1
ite r.
#2
20%
30%
ite r.
#n
ite r.
# n+ 1
65%
50%
ite r.
# n+2
ite r.
#m
ite r.
#m +1
10%
10%
Conclusiones
V. Conclusiones
Claves en el Desarrollo de SI
Notacin
UML
Herramientas
p.e. Rational Rose
Proceso
p.e. Rational Unified Process
Contexto de Desarrollo:
Grado de Complejidad
V. Conclusiones
V. Conclusiones
Bibliografa Recomendada
UML
www.omg.org/uml/
Meta-links www.celigent.com/uml/ y www.cetus-links.org/oo_uml.html
Pierre-Alain Muller Instant UML
Martin Fowler, UML Destilled (UML Gota a Gota)
Terry Quatrani, Visual Modeling ..., un caso de estudio
Herramientas CASE
Herramientas basadas en UML www.objectsbydesign.com/tools/umltools_byPrice.html
International Council in SE (INCOSE) www.incose.org/tools/
Herramientas basadas en UML www.objectsbydesign.com/tools/umltools_byPrice.html
Otras
Revista IEEE Software, Conferencias: OOPSLA, ECOOP
Patrones www.enteract.com/bradapp/docs/patterns-intro.html,
Tutoriales en ingls www.celigent.com/omg/umlrtf/tutorials.htm