Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodología Booch
Metodología Booch
de la Laguna
Estructura de clases
Modelo Lgico
Estructura de Objetos
Modelo Fsico
Arquitectura de mdulos
Arquitectura de procesos
El hecho de que esta notacin sea detallada no significa que se deben utilizar todos sus
aspectos en la totalidad de las ocasiones, de hecho, un subconjunto de ella es suficiente para
expresar la semntica de un gran porcentaje de problemas de anlisis y diseo. La notacin
utilizada es independiente del lenguaje seleccionado, es necesario tener en cuenta que algunos
elementos de la notacin no tienen equivalencia en determinados lenguajes de programacin, por lo
que se deben evitar para la implementacin.
3.3.2 Modelos y vistas.
Son necesarias dos dimensiones para especificar la estructura y comportamiento de un
sistema orientado a objetos:
Dimensin uno: Fsica / Lgica.
Dimensin dos: Esttica / Dinmica.
Para cada dimensin se definen una serie de diagramas que denotan una vista de los
modelos del sistema, stos reflejan "toda la verdad" sobre sus clases, relaciones y otras entidades,
y cada diagrama representa una proyeccin de estos modelos. En el estado estable, todos estos
diagramas deben ser consistentes con el modelo y tambin consistentes entre ellos mismos.
Modelos lgicos contra modelos fsicos.
Modelo lgico: Describe la existencia y significado de las abstracciones principales y
los mecanismos que forman el espacio del problema o para definir la arquitectura del
sistema.
Modelo fsico: Describe la composicin concreta en cuanto a hardware y software del
contexto o implantacin del sistema.
Paola Romero Guilln
62
Instituto Tecnolgico
de la Laguna
63
Instituto Tecnolgico
de la Laguna
Operaciones: denotan algn servicio proporcionado por la clase, se distinguen de los atributos
aadiendo parntesis.
! N() Nombre de la operacin solamente.
! R N(Argumento) Clase de retorno de la operacin, nombre y parmetros formales (si los
hay).
Relaciones de clase: representan una colaboracin con otras clases de diversas maneras. Las
conexiones esenciales entre clases incluyen las siguientes relaciones:
Asociacin
Herencia
Posesin
Uso
Figura # 46 Iconos de relaciones
Asociacin: conecta dos clases y denota una conexin semntica, se etiquetan con
expresiones sustantivas, denotando la naturaleza de la relacin.
Herencia: denota una relacin de generalizacin / especializacin (una relacin <<es un>>), y
aparece como una asociacin con una cabeza de flecha. La flecha apunta a la superclase, y el
extremo opuesto de la asociacin designa la subclase. La subclase hereda la estructura y
comportamiento de su superclase. Las relaciones de herencia no pueden llevar indicaciones de
cardinalidad.
Posesin: denota una relacin todo / parte (relacin <<tiene un>> o agregacin), aparece
como una asociacin con un crculo relleno en el extremo que seala al agregado, la clase que
esta en el otro extremo denota la parte cuyas instancias estn contenidas por el objeto
agregado.
Utilizacin: denota una relacin cliente / servidor y aparece como una asociacin con una
circunferencia en el extremo que denota al cliente. En esta relacin de alguna forma el cliente
depende del servidor para que ste le proporcione determinados servicios.
Pildora
Come
50
Pacman
1
Fruta
1Come
1
64
Instituto Tecnolgico
de la Laguna
Tipos de clases:
Abstracta
Amiga
Esttica
Virtual
Figura # 48
Abstracta: es aquella clase la cual no puede tener instancias. Para representarla se seala el icono
de clase con la letra (A), situada en el interior de un triangulo, en cualquier punto del interior del
icono de clase.
Esttica: la designacin de un objeto o funcin miembro de una clase (S).
Virtual: la designacin de una clase base compartida en una trama de herencias con forma de
rombo(V).
Amiga: la designacin de una clase que concede a otra derechos de acceso a sus partes no
publicas (F).
Pacman
Laberinto
Posicin : entero
1
1 Come
S n
S
4 F
Come
4
Fantasma
Pildora
n
Pildora_m
A
A
Pildora_N
n
65
Instituto Tecnolgico
de la Laguna
Diagramas de Objetos.
Un diagrama de objetos se utiliza para mostrar la existencia de objetos y sus relaciones en
el diseo lgico de un sistema. Los dos elementos esenciales de un diagrama de objetos son los
objetos y sus relaciones.
Objetos: La Figura # 50 muestra el icono que se usa para representar un objeto en un diagrama de
objetos. Al igual que en el diagrama de clases, tambin se pueden especificar algunos atributos del
objeto.
Nombre
Atributo
Mensaje: la existencia de una asociacin entre dos clases denota por tanto una va de
comunicacin entre instancias de clases, por la que un objeto puede enviar mensajes a otro. Un
objeto tambin puede enviarse un mensaje a s mismo. Cualquier objeto que invoque la operacin
se conoce como cliente, cualquier objeto que suministre la operacin se conoce como proveedor o
servidor. Un enlace se puede adornar mediante una serie de mensajes. Cada mensaje consta de
tres elementos.
D Un smbolo de sincronizacin que denota la direccin de la invocacin.
M Una invocacin de operacin o despacho de evento.
S Opcionalmente, un nmero de secuencia.
La direccin del mensaje se indica mediante una lnea dirigida que apunta al objeto servidor.
La invocacin de una operacin es el tipo de mensaje ms comn. La sintaxis es la siguiente:
N() Solamente el nombre de la operacin.
R N(argumentos) Objeto de retorno, nombre y argumentos actuales de la
operacin.
Paola Romero Guilln
66
Instituto Tecnolgico
de la Laguna
Papeles, claves y restricciones: denotan el propsito o carcter de la relacin que asocia una
clase con otra. Es til declarar este papel en el enlace correspondiente entre dos objetos, ya que
ayuda a explicar porque un objeto opera sobre otro.
Flujo de datos: los datos pueden fluir en la misma direccin que un mensaje o en direccin
contraria. El mostrar explcitamente la direccin del flujo de datos ayuda a explicar la semntica de
un escenario particular.
Sincronizacin (para objetos activos).
Objetos activos: son aquellos que incorporan su propio hilo de control.
Simple: simple paso de mensajes secuencial.
Figura # 53 Visibilidad
67
Instituto Tecnolgico
de la Laguna
Pildora
Posicion : entero = 150
Valor : entero = 5
Numero : entero = 50
50
Come
Pacman
Posicion : entero = 12
Puntos : entero = 200
Vida : entero = 3
Velocidad : entero = 20
1
1
Come
Fruta
1
68
Instituto Tecnolgico
de la Laguna
nombre
evento / accin
acciones
a) icono de estado
Activo
entry: Camina
Come Pildora_M
En Borde
do: Espera
Diagramas de interaccin.
Es otra manera de representar el diagrama de objetos, tomando la mayora de sus
elementos esenciales de los diagramas de objeto. Con este tipo de diagramas es ms fcil leer el
paso de mensajes en orden relativo.
69
Instituto Tecnolgico
de la Laguna
: Pacman
: Jugador
: Fruta
: Pildora
Mover
Camina_
Camina_Fruta(Posicion)
Come_
Decrementa(n
Come_
c) Programa Principal
Figura # 58
Paola Romero Guilln
70
Instituto Tecnolgico
de la Laguna
Figura # 59
Subsistema: Los subsistemas sirven para modularizar el modelo fsico de un sistema. Un
subsistema es un agregado que contiene otros mdulos y otros subsistemas.
Cada modulo engloba la declaracin o definicin de clases, objetos y otros detalles del lenguaje.
Sistema del Pacman
nombre
Definicin de Pacman
Definicin de Pildora
Definicin de Fruta
d) Subsistema.
Figura # 60
Definicin de Campo
Campo
71
Instituto Tecnolgico
de la Laguna
Dependencias: la nica relacin que puede darse entre dos mdulos es una dependencia de
compilacin, representada por una lnea dirigida que apunta al modulo respecto al cual existe la
dependencia.
Las flechas denotan dependencias, la flecha sale del el icono dependiente.
Diagrama de procesos.
Se usa un diagrama de procesos para mostrar la asignacin de procesos a procesadores en
el diseo fsico de un sistema. Un solo diagrama de procesos presenta una vista de la estructura de
procesos de un sistema.
Elementos del diagrama
nombre
nombre
a) icono de proceso
b) icono de dispositivo
c) icono de conexin
Estacin de Juego
del Usuario
JoyStick
3.3.4 El proceso.
El proceso de diseo orientado a objetos no puede describirse mediante reglas, aunque
esta bastante bien definido como para brindar un proceso predecible y repetible para una
organizacin de software madura.
Un proyecto de software bien hecho es aquel en el que el software entregado satisface y
posiblemente excede las expectativas del cliente. Se ha desarrollado de forma econmica,
Paola Romero Guilln
72
Instituto Tecnolgico
de la Laguna
entregado en tiempo, y es flexible al cambio y al crecimiento. En los proyectos que han tenido xito
se ha visto que existen los siguientes aspectos:
!
!
!
!
!
!
!
La existencia de una fuerte visin arquitectnica. Un sistema con una buena arquitectura es
aquel que cuenta con integridad conceptual, y las siguientes propiedades:
Esta construido en capas de abstraccin bien definida.
Existe una separacin entre la interfaz y la implementacin de cada capa.
La arquitectura es simple.
La aplicacin de un ciclo de vida bien dirigido, iterativo e incremental.
Es iterativo ya que conduce al refinamiento sucesivo de una arquitectura orientada a
objetos.
Es incremental ya que en cada pasada por el ciclo; anlisis / diseo / evolucin conduce a
un refinamiento gradual de las decisiones estratgicas y tcticas, convergiendo hacia los
requerimientos reales y habitualmente no expresados por el usuario final.
El micro-proceso de desarrollo.
Esta dirigido por la corriente de escenarios y productos arquitectnicos, resultantes del macroproceso y refinamientos sucesivos. El micro-proceso sigue las siguientes actividades:
73
Instituto Tecnolgico
de la Laguna
Identificar clases
y objetos.
Refinamiento del
diccionario
Diccionario de datos
(clases y objetos)
.
Especificar interfaces e
implementacin de
clases y objetos.
Identificar
semntica de
clases y objetos.
Diccionario de datos
(responsabilidades y
accesibilidad entre ellos)
Identificar
relaciones entre
clases y objetos.
Diccionario de datos
(clases y objetos
responsabilidades)
Propsito.
Productos.
Actividades.
Hitos y medidas.
El macro-proceso de desarrollo.
En el marco de referencia para el control del micro-proceso, se dicta una serie de
actividades cuantificables que permiten al equipo de desarrollo tasar el riego de forma significativa y
realizar correcciones iniciales al micro-proceso de forma de centrar mejor las actividades de anlisis
y diseo del equipo. El macro-proceso realiza las siguientes actividades:
!
!
!
!
!
Propsito.
Productos.
Actividades.
Hitos y medidas.
74
Instituto Tecnolgico
de la Laguna
Establecer
requisitos bsicos
(conceptualizacin)
Desarrollar un
modelo del
comportamiento
deseado (anlisis)
Crear una
arquitectura
(diseo)
Gestionar la
evolucin despus de
la entrega
(mantenimiento)
Transformar la
implementacin
(evolucin)
75