Vous êtes sur la page 1sur 26

ANALISIS ORIENTADO A OBJETOS

Un sistema orientado a objetos se disea considerando la interaccin entre


ellos, tales objetos mantienen su propio estado local (localidades de memoria) y
otorgan operaciones sobre tales estados.
o1:C1
estado o1
ops1 ()
o3:C3
estado o3
ops3 ()
o4:C4
estado o4
ops4 ()
o2:C3
estado o2
ops3 ()
o6:C1
estado o6
ops1 ()
o5:C5
estado o5
ops5 ()
ESTRATEGIAS DEL DISEO ORIENTADO
A OBJETOS
El proceso de diseo orientado a objetos involucra disear clases de objetos y las
relaciones entre estas clases. Dichas clases definen a los objetos en el sistema y
sus interacciones.
Anlisis Orientado
a Objetos.
Desarrollo de un modelo
Orientado a objetos del
dominio de la
aplicacin
1
Diseo Orientado
a Objetos.
Desarrollo de un modelo
Orientado a objetos de un
sistema de Software,
para implementar los
requerimientos
2
Programacin Orientado
a Objetos.
Elaborar un diseo
de software usando un lenguaje
de programacin
Tal como: JAVA, C++ u otro
3
REUTILIZACIN, UML Y CASOS DE USO
Los objetos son, potencialmente, componentes reutilizables porque son
encapsulaciones independientes de estados y operaciones. Los diseos pueden
ser desarrollados utilizando objetos que han sido creados en diseos anteriores. Lo
cual reduce el diseo, as como tambin la programacin y los costos de
validacin. Aunque la reutilizacin se lleva a cabo de mejor forma al utilizar
componentes en lugar de objetos individuales.
Muchos mtodos de diseo orientado a objetos se han propuesto (Coad and
Yourdon, 1990; Robinson, 1992; Jacobson, et al., 1993; Graham, 1994; Booch,
1994). UML (Unified Modelling Language Lenguaje de Modelado Unificado -), es
una unificacin de las notaciones utilizadas en los mtodos antes mencionados.
Dentro de los diferentes diagramas que se encuentran est el de Casos de Uso, el
cual tiene como principal caracterstica de hacer notar que el diseo es centrado
en el usuario y considera las interacciones que tiene ste con el sistema.
CLASES Y OBJETOS
Un objeto es una entidad
que tiene un estado y un
conjunto de operaciones
definidas que afectan a
dicho estado. El estado se
representa por un
conjunto de atributos. Las
operaciones asociadas
con el objeto otorgan
servicios a otros objetos
(clientes) que requieren
esos servicios cuando
algn clculo se requiere.
[Sommerville, 2001]
CEmpleado
nombre: String
direccion: String
fecha_nac: date
Id_empleado:int
departamento:dept
supervisor:CEmpleado
estado:{activo,no_activo,retirado)
.
.
.
Entra( )
Sale( )
CambiarDetalles( )
Representacin en UML de una clase
Atributos
Operaciones
Nombre
EJEMPLOS DE COMUNICACIN ENTRE
OBJETOS
//Llamar a un mtodo asociado con un objeto de tipo buffer que devuelve el
//siguiente valor en el buffer
v=circularBuffer.Get();
// Llamada al mtodo asociado con un objeto termostato que establece el nivel //de
temperatura al que ser mantenido
Thermostat.setTemp(20);

A esta forma de peticin de servicios se le conoce como sincrona. Esto es, que el
objeto espera a que la peticin del servicio sea completada. Sin embargo, si los
objetos son creados como procesos concurrentes o hilos, la comunicacin entre los
objetos es asincrona. La llamada al objeto puede continuar su operacin mientras la
peticin del servicio se est ejecutando.
HERENCIA EN UML
Las clases de los
objetos se pueden
organizar en una
generalizacin o
herencia jerrquica
que muestre las
relaciones entre las
clases de objetos ms
especficos y
generales. En UML
una flecha que apunta
de la clase heredada
a su clase padre es
representativa de la
relacin de herencia
existente entre ellas.
Empleado
Supervisor
Puntosdecontrol
Fechadesuper
Programador
Proyecto
Lenaguajesprog
Supervisor de
proyecto
Proyectos
Supervisor de
departamento
Departamento
Supervisor de
planeacin
Responsabilidades
LAS ASOCIACIONES EN UML
La asociacin es una relacin muy simple y es utilizada de forma regular en UML
para indicar que ya sea un atributo de un objeto es un objeto asociado o la
implementacin de un mtodo del objeto recae en un objeto asociado. Una de las
asociaciones ms frecuentes es la de agregacin.
Empleado
Supervisor
Departamento
supervisa
es miembro de
es supervisado por
OBJETOS CONCURRENTES
Conceptualmente, un objeto requiere un servicio de otro pero enviando una peticin
de servicio o mensaje a ese objeto. Al no existir alguna forma de requerimiento para
la ejecucin serial el modelo general de la interaccin permite a los objetos
ejecutarse concurrentemente como procesos paralelos.
o1:C1
estado o1
ops1 ()
o2:C2
estado o2
ops2 ()
o
n
:C
n
estado o
n
ops
n
()
o
k
:C
k
estado o
k
ops
k
()
CONCURRENCIA
Objetos ejecutndose
en la misma mquina
u objetos distribuidos
ejecutndose en
diferentes mquinas
OBJETOS CONCURRENTES
En la prctica, la mayora de los lenguajes de programacin tienen por omisin
un modelo de ejecucin serial de tal forma que las ejecuciones para los servicios
del objeto se implementan en la misma forma que las llamadas a las funciones.
Logrando con ello suspender la llamada a tal objeto.
Sin embargo, Java y C++ proporcionan un mecanismo llamado Thread (Hilos),
que permite la ejecucin de objetos de forma concurrente.
TIPOS DE
IMPLEMENTACIN DE
OBJETOS
CONCURRENTES
SERVIDORES. Donde el objeto es ejecutado como
un proceso en paralelo. Los mtodos inician en
respuesta a un mensaje externo y se pueden
ejecutar en paralelo con mtodos asociados con
otros objetos. Cuando finaliza, el objeto se suspende
y espera por ms peticiones de servicio. Aplicado en
sistemas distribuidos.
OBJETOS ACTIVOS. El estado del objeto puede
cambiar por operaciones internas ejecutadas dentro
del mismo objeto. El objeto nunca se suspende por s
mismo, como en el caso anterior. Aplicado en
sistemas de tiempo real.
UN PROCESO DE DISEO ORIENTADO A
OBJETOS
Se tomar un software que se encuentra inmerso en una estacin climatolgica
automatizada, como ejemplo de diseo. Las etapas del proceso se encuentran
estrechamente relacionadas y se listan a continuacin:
1. Entendimiento y definicin del contexto de las formas de uso del
sistema
2. Diseo de la arquitectura del sistema
3. Identificacin de los objetos principales del sistema
4. Desarrollo de los modelos de diseo
5. Especificacin de las interfaces de los objetos
A continuacin se describen las caractersticas que la planta climatolgica tiene,
as como tambin las necesidades que tiene. Tomando en consideracin y en gran
detalle el hecho de que cada una de ellas debern de ser tomadas para el diseo
correspondiente.
UN PROCESO DE DISEO ORIENTADO A
OBJETOS
Un sistema de registro del clima es necesario con el fin de generar mapas
climatolgicos haciendo uso de datos recabados de estaciones climatolgicas
lejanas y desatendidas, adems de otras fuentes de datos tales como:
observadores climatolgicos e informacin va satlite. Las estaciones
climatolgicas transmiten sus datos a la computadora en respuesta a las
peticiones de esa mquina.
Un sistema computacional dedicado valida los datos coleccionados y recaba la
Informacin de las diferentes fuentes. Tales datos son almacenados para
Posteriormente, son utilizados en conjunto con la informacin contenida dentro
De una base de datos de mapas digitalizados, para crear los mapas climatolgicos.
Dichos mapas, pueden ser impresos para su distribucin o pueden ser desplegados
En un nmero determinado de formatos
DISEO DE LA ARQUITECTURA
Subsistema
Desplegado de los datos
Subsistema
Almacenamiento de datos
Subsistema
Procesamiento de datos
Subsistema
Coleccin de datos
En donde los objetos se relacionan con la
forma en la que los datos puedan ser
presentados en forma adecuada a los seres
humanos
En donde los objetos se relacionan con la
forma en la que los datos puedan ser
almacenados para su uso posterior
En donde los objetos se relacionan con la
verificacin e integracin de los datos
En donde los objetos se relacionan con la
adquisicin de los datos de las fuentes
remotas
PAQUETES DE UML
En la figura anterior se han mostrado las capas y se ha incluido el nombre de la
capa en un smbolo de paquete de UML que se ha denotado como un subsistema.
Un paquete de UML representa una coleccin de objetos y otros paquetes. Se
verifica que cada capa incluye un nmero determinado de otros componentes.
Almacenamiento
de datos
Almacenamiento
de mapas
Almacenamiento
de datos
Subsistema
Almacenamiento de datos
Checar
datos
Integracin
de datos
Subsistema de
Procesamiento de datos
Observador
Comms
Satlite
Estacin
climatolgica
Ballon
Subsistema de
Coleccin de datos
Interfaz de
usuario
Mapa de
desplegado
Mapa
Mapa de
impresin
Subsistema de
desplegado de datos
SISTEMA DE CONTEXTO DE CASOS DE USO
La primera etapa en algn proceso de desarrollo de software est en entender las
relaciones entre el software que se disea y su ambiente externo. Lo que permitir
proveer la funcionalidad requerida del sistema y como estructurar el sistema para
comunicarse con su ambiente.
El contexto del sistema y el modelo del uso del sistema representa dos modelos
complementarios de las relaciones entre un sistema y su medio ambiente.
1) El contexto del sistema es un modelo esttico que describe a otros sistemas
en ese ambiente
2) El modelo del uso del sistema es un modelo dinmico que describe como el
sistema interacta con su medio ambiente.
El modelo del contexto se puede implementar por medio de asociaciones (como el de la
diapositiva 8). La consecuencia de dicho anlisis est en la creacin de los modelos del
subsistema ilustrados en la diapositiva anterior.
CASOS DE USO
Cuando se modelan las
interacciones de un sistema con
su medio ambiente se deben de
utilizar enfoques abstractos que
no incluyan mucho detalle, los
casos de uso son ejemplo de
ello y cada uno de ellos
representa una interaccin con
el sistema.
Cada uno de esos casos de uso
puede describirse en lenguaje
natural estructurado, lo que
ayuda a los diseadores a
identificar objetos en el sistema
y darles a entender de manera
clara lo que el sistema realiza.
Inicio
Apagar
Reportar
Calibrar
Probar
DESCRIPCIN DEL CASO DE USO
SISTEMA Estacin climatolgica
CASO DE USO Reportar
ACTORES Sistema de recoleccin de datos del clima y estacin climatolgica
DATOS La estacin climatolgica enva un resumen de los datos climatolgicos
que han sido coleccionados de los instrumentos en el periodo de
recoleccin al sistema de recoleccin de datos climatolgicos. Los datos
enviados son el mximo, mnimo, promedio de las temperaturas del aire,
as como tambin el mximo, mnimo y promedio de las presiones del aire,
las direcciones del viento como datos muestreados cada 5 minutos.
ESTMULOS El sistema de coleccin de datos climatolgicos establece un enlace por
medio del modem con la estacin climatolgica y recibe la transmisin de
los datos.
RESPUESTA Los datos suministrados son enviados al sistema de recoleccin de datos
climatolgicos.
COMENTARIOS Las estaciones climatolgicas regularmente una vez por hora sobre sus
mediciones, pero tal frecuencia puede diferir de una estacin a otra y se
puede modificar en futuras operaciones.
DISEO DE LA ARQUITECTURA
Una vez que las interacciones entre el sistema del software que se est diseando
y el ambiente del sistema han sido definidas, se puede utilizar est informacin
para disear la arquitectura del sistema.
Las tres capas en el software de la estacin climatolgica son:
1) La capa interfaz que est relacionada con todas las comunicaciones con otras
partes del sistema y con la capacidad de otorgar las interfaces del sistema.
2) La capa de coleccin de datos, la cual est relacionada con la gestin de la
coleccin de datos de los instrumentos y con el resumen de los datos
climatolgicos antes de ser transmitidos al sistema de mapeo.
3) La capa de instrumentos, la cual es la encapsulacin de todos los instrumentos
usados para recabar la totalidad de datos relacionadas con las condiciones
climatolgicas.
4) Una buena regla indica que no deben de existir ms de siete entidades
fundamentales incluidas en el modelo de la arquitectura.
ARQUITECTURA DE LA ESTACIN
CLIMATOLGICA
Subsistema
Interfaz
Subsistema
Coleccin de datos
Subsistema
Instrumentos
Gestiona todas las
comunicaciones
externas
Colecciona y resume
los datos
climatolgicos
Paquete de
instrumentos para una
coleccin de datos
Estacin climatolgica
MODELOS DE DISEO, TIPOS Y
CARACTERSTICAS
Los modelos de diseo muestran a los objetos o clases de objetos en un sistema y,
la forma apropiada de las relaciones entre estas entidades. Representan el puente
entre los requerimientos del sistema y la implementacin del mismo.
Un paso importante en el proceso de diseo, de alguna manera es decidir cuales
modelos de diseo se necesitan y el nivel de detalle de estos modelos. Lo cual
depende del tipo de sistema que se est desarrollando. Un sistema de
procesamiento de datos secuenciales ser diseado de forma diferente al de un
sistema de tiempo real embebido. Existen dos tipos de modelos de diseo que se
deberan de producir para describir un diseo orientado a objetos:
TIPOS DE
MODELOS DE
DISEO
Modelos estticos. Describe la estructura esttica
del sistema usando clases de objetos y sus posibles
relaciones.
Modelos dinmicos. Describen la estructura
dinmica del sistema y muestran las interacciones
entre los objetos del sistema (no las clases de
objetos)
MODELOS DE DISEO, TIPOS Y
CARACTERSTICAS
UML presenta 12 diferentes modelos tanto estticos como dinmicos que se pueden
producir para documentar un determinado diseo. Algunos de los cuales no resultan
apropiados para ciertas aplicaciones. Los modelos que se acoplan y se describirn
para el ejemplo actual son:

1. Modelos de subsistemas, el cual muestra los agrupamientos lgicos de los
objetos dentro de subsistemas coherentes. Se representan usando formas de
diagramas de clases en donde cada subsistema se muestra como un
paquete. Los modelos de subsistema son estticos.
2. Los modelos de secuencia. Que muestran la secuencia de interaccin entre
los objetos. En UML se utiliza un diagrama de colaboracin o secuencia para
representarlos. Los modelos de secuencia son modelos dinmicos.
3. Modelo de mquina de estado, los cuales muestran como ciertos objetos
individuales cambian su estado en respuesta a un conjunto de eventos. UML
utiliza los diagramas de estado para representarlos. Los modelos de
mquinas de estado son modelos de tipo dinmico.
MODELO DE SUBSISTEMA
Un modelo de subsistema es un modelo esttico til ya que muestra como el
diseo puede ser organizado dentro de grupos de objetos relacionados
lgicamente. El siguiente programa no solamente muestra los paquetes sino
ciertas asociaciones entre los objetos internos y externos de la misma.
Termmetro
de aire
Subsistema de
Instrumentos
Control de
Comunicaciones
Estacin
climatolgica
Subsistema
Interfaz
Estados de
los instrumentos
Datos
climatolgicos
Subsistema de
Coleccin de datos
Termmetro
de tierra
Seal de viento
Barmetro
Anemmetro
Paleta de
viento
MODELOS DE SECUENCIA
Los modelos de secuencia son modelos dinmicos. Por cada modo de interaccin,
una secuencia de interacciones entre objetos se realiza. En un modelo de
secuencia:
a) Los objetos involucrados en la interaccin son colocados de forma
horizontal con una lnea vertical que enlaza a cada objeto.
b) El tiempo se representa de forma vertical conforme el tiempo avanza en
las lneas verticales punteadas se muestra tal efecto. Por lo que, la
secuencia de operaciones puede ser leda fcilmente del modelo.
c) Las flechas etiquetadas que enlazan a las lneas verticales, representan
interacciones entre los objetos. Estos no son flujos de datos pero
representan mensajes o eventos que son fundamentales para la
interaccin.
d) El rectngulo delgado sobre la lnea punteada representa la cantidad de
tiempo en que el objeto es el objeto de control en el sistema. Un objeto
toma el control desde el momento representado por la parte superior del
rectngulo y lo deja a otro objeto a partir de la parte inferior del mismo.
MODELOS DE SECUENCIA
Cuando se documenta un diseo, se debera de producir un modelo de secuencia
por cada interaccin significativa. Si se han definido un conjunto de casos de uso,
entonces se debera tener un modelo de secuencia por cada caso de uso que se
haya definido con anterioridad.
:Controlador_Coms :estacin_climatolgica :Datos_climatolgicos
Peticin (reporte)
Acuse_de_recibo()
Reporte()
Acuse_de_recibo()
Emisin_reporte()
Enviar_reporte()
resumen_info()
MODELOS DE SECUENCIA
La lectura del diagrama anterior se realiza de la parte superior a la parte inferior, quedando
como sigue:
1) Un objeto que es una instancia de (Controlador de Comunicaciones
:Controlador_coms) recibe una peticin de su ambiente para emitir un reporte. Un
acuse de recibo es el resultado a esta peticin. Una flecha con punta a la mitad
indica esto.
2) Este objeto enva un mensaje a otro objeto que es una instancia de
:estacin_climatolgica, para crear un reporte del clima. La instancia de
:Controlador_coms se suspende de forma automtica. La flecha con la punta
completa indica que las instancias de los objetos se pueden ejecutar de forma
concurrente.
3) El objeto que es una instancia de :Estacin_climatolgica enva un mensaje al
objeto de :Datos_climatolgicos para pedir los datos del clima.
4) El resultado es calculado y se regresa el control al objeto :Estacin_climatolgica.
La flecha punteada indica retorno de control.
5) Este objeto enva un mensaje al :Controlador_coms para transferir el dato al
sistema remoto. El objeto :estacin_climatolgica se suspende.
6) El objeto :Controlador_Coms enva el dato al sistema externo, a su vez recibe al
acuse de recibo y se suspende de forma automtica.

DIAGRAMAS DE ESTADO
apagar
esperar
calibrando
probando
transmitiendo
resumiendo coleccionando
reloj
Iniciar()
Terminar()
calibrar()
probar()
transmisin realizada
Coleccin
realizada
Reporte_clima()
prueba
completa
Resumen
completo
del clima
Calibracin OK
Operacin
ESPECIFICACIN DE LA INTERFAZ DEL
OBJETO
Una parte importante del proceso de diseo es la especificacin de las interfaces
entre los componentes en el diseo. Se requieren especificar las interfaces de tal
forma que los objetos y los subsistemas puedan ser diseados en paralelo. Una
vez que la interfaz ha sido especificada, los desarrolladores de otros objetos
pueden considerar que la interfaz ser implementada.

Vous aimerez peut-être aussi