You are on page 1of 9

Modelo Estatico, Dinamico y Funcional en OMT(Object Modeling Technique

)
Hola a todos!!!, hoy voy a escribir sobre estos tres tipos de modelos, por si acaso esta
explicación no es solo para OMT ya que puede ser usada para entender sus pares de estos
en UML, esto es gracias a que UML desciende de OMT.
Antes de comenzar a hablar sobre los diagramas que comprenden los modelos, primero
deberemos de tener algunos conceptos claros como que es un objeto, que es una clase y
cosas por el estilo, en este post hare un resumen de los conceptos más importantes y
necesarios para poder entender lo diagramas, pero si desean un explicación más extensa
lean este otro post, que hice hace algún tiempo.
Objeto.- Es una abstracción de algo en el dominio de un problema, reflejando las
capacidades de un sistema, guardando información sobre este, interactuando con este o
ambos.1
Clase.- Una clase es una abstracción que describe características comunes de todos los
objetos en un grupo de objetos similares.
Herencia.- La herencia es la idea derivada del hecho que un objeto es formado por una
clase, esto nos da la idea de que se puede definir una clase superior o superclase que posee
algunos atributos y operaciones muy generales, de esta clase luego se crea otra y esta otra
clase hereda los atributos y parámetros de la superclase.
Modelo Estático
El modelo estático es uno de los tres modelos que componen OMT, este modelo tiene la
tarea de modelar la estructura estática de nuestro sistema, mostrándonos las clases, objeto y
relaciones que existen dentro del sistema.
Ahora este modelo tiene dos herramientas para mostrar de una manera más grafica el
comportamiento estático del sistema, estas son “El diagrama de Clases” y “El diagrama de
Objetos”.
El diagrama de clases como sus nombre indica, solo hace uso de clases para representar el
sistema, mientras el diagrama de objetos usa los objetos instanciados del diagrama de
clases, por lo cual para hacer un diagrama de objetos, previamente debimos de haber
realizado un diagrama de clases. El diagrama de clases usa los siguientes símbolos para
modelar el sistema.
Clases:

Para definir niveles de acceso se usa la siguiente nomenclatura:
+ (Publico)
# (Protegido)
- (Privado)
Seguido al nombre del atributo o método, se puede definir el tipo que representa o que
devuelve (solo métodos), para hacer esto deberemos de seguir la siguiente nomenclatura:
Nombre_Atributo/Metodo: Tipo_Dato

<!--[endif]-->Uno a Cero o Muchos (1 – 0..1) <!--[if !supportLists]-->. la relación de herencia no tiene multiplicidad ni tampoco se debe de etiquetar.<!--[endif]-->Muchos a Muchos (* .De igual modo para los parámetros de entrada usaremos la misma nomenclatura.<!--[endif]-->Uno a Cero o Uno (1 – 0.. En el siguiente ejemplo se muestra una relación de herencia múltiple: Relación de Composición: La relación de composición debe de denotarse de la siguiente manera: . ya que viene implícito. las multiplicidades existentes son: <!--[if !supportLists]-->.. Relaciones Binarias: La relación Binaria entre clase y objeto se representa mediante una línea recta y en cada extremo se denota la multiplicidad de la relación.*) <!--[if !supportLists]-->.*) Además encima de la línea que representa la relación.*) <!--[if !supportLists]-->. se le deberá de etiquetar con algún nombre: Relación de Herencia: La relación de herencia se denota de la siguiente manera: La flecha siempre debe de ir apuntando a la clase padre.<!--[endif]-->Uno a muchos (1 .<!--[endif]-->Uno a Uno o Muchos (1 – 1.<!--[endif]-->Uno a Uno (1 – 1) <!--[if !supportLists]-->.*) <!--[if !supportLists]-->.

Alta Cohesión: La alta cohesión hace referencia a que: “Los atributos y operaciones de una clase deben referenciar a la misma clase y no a atributos o funcionalidades de otras clases que estén dentro del contexto del problema”. pero no así etiqueta ya que al igual que la herencia esto ya viene implícito.Esta relación al igual que la binaria simple debe de tener multiplicidad. en otras palabras. el Objeto que se representa de la siguiente manera: Como se puede observar es muy parecido a la representación de una clase. en el siguiente ejemplo se denota como se debe de usar: Ahora en el diagrama de Objetos se incluye un nuevo elemento. ya que por ejemplo en un atributo del tipo Integer no deberemos de guardar cadenas de texto o numero con punto flotante. no olvidar esto. la diferencia es que ya no se ponen los métodos y ahora se observan los valores que tiene los atributos. tus clases deben de tener solo atributos y métodos que le conciernan solo a sí mismas. no olvidar esto. que nos ayudaran a hacer mejores modelos estáticos. Antes de finalizar este modelo quiero agregar algunos conceptos. Nombre_Atributo: Tipo_Dato = “Valor” Para los atributos se debe de respetar el tipo de dato. como apunte se debe de recordar que el rombo debe de ir apuntando a la clase que está compuesta de la otra clase. Bajo Acoplamiento: . El nombre del objeto y los atributos tienen la siguiente nomenclatura: Nombre_Objeto: Nombre_Clase Todo el nombre debe de estar subrayado.

“salir” y “hacer”. en el identificador hacer. y muestra los estados Inicial y Final de una secuencia de cambios de estados”2 Para entender mejor la anterior definición procedamos a definir que es un estado: “Estado es la situación en la cual se encuentra un objeto con sus respectivos valores para sus atributos en un punto del tiempo especifico”. Estado Inicial: El estado inicial es cuando un objeto acaba de ser instanciado. ahora lo que nos resta es ver los símbolos que se utilizan para modelar uno de estos diagramas: Estado: La nomenclatura de un estado es simple. en la parte de arriba se debe de especificar el nombre del estado sin subrayados. esto nos dice que no hagamos asociaciones inútiles entre clases. negrillas u otras cosas. junto con las transacciones entre los estados. Modelo Dinámico El modelo dinámico tiene la tarea de mostrar el comportamiento del sistema durante el transcurso del tiempo o mejor dicho en función al tiempo. así que sería bueno definir formalmente que es un evento o suceso: Evento: “Hecho que se produce en un punto del tiempo. La variación de un atributo casi siempre se debe a un Evento o Suceso. El modelo dinámico al igual que el estático tiene dos herramientas para representar esto. por lo cual es necesario representarlo de una manera diferente al resto de los estados: . la clave candidata se parece al OID. Ahora me gustaría definir que es un diagrama de estados para que se entienda mejor. y estas son “El Diagrama de Estado” y “El diagrama de Sucesos”. que puede o no modificar un atributo” Con esto ya definido. donde y como implementarlo Diagrama de Estados: “Es un diagrama que presenta los estados en los que puede encontrarse un objeto. y digo posibilidad ya que puede darse el caso que si un atributo se modifica este puede no variar el estado del objeto. tanto entrada como salir son acciones que se deben de dar tanto cuando se entra al estado como cuando se sale del estado. La anterior definición nos da como pauta que si alguno de los atributos se modifica existe la posibilidad de cambio de estado. podemos definir tareas que el objeto va a realizar mientras este en ese estado. después en la estructura tenemos tres identificadores básicos que son “entrada”. Clave Candidata: La clave candidata se la puede definir como: “Un atributo que debe de tener un valor único”. creo que el concepto de Diagrama de estados se entiende a cabalidad. pero a diferencia de esta.El bajo acoplamiento: “Define la característica de un diagrama de clase donde cada clase debe de tener la mínima cantidad de asociaciones posible con otras clases”. en la clave candidata se puede modificar su valor o eliminar el valor.

es quien interactúa con el sistema. pero creo que mejoraría si defino que es un escenario. procederemos a definirlo. Creo que el concepto está realmente claro. otro sistema o alguno objeto de nuestro sistema. . Con esto ya esta re-claro que modela el diagrama de sucesos. la representación es la siguiente: Ahora es el turno del diagrama de sucesos. todo depende de nuestro escenario. es un estado que engloba a dos o más estados dentro de uno solo. Actor: El actor. Diagrama de Sucesos: “Es un diagrama que muestra la interacción entre los distintos objetos mediante los mensajes que se mandan entre ellos. en un escenario en especifico”. Escenario: “Es un conjunto especifico de eventos o sucesos que se dan dentro del sistema en un momento de tiempo dado”. al igual que el otro diagrama. Estado Final: El estado final es cuando un objeto es destruido. al actor se lo representa como un hombrecito. por lo cual solo me resta explicar los elemento con los que se modela este diagrama.Un Circulo relleno representa el estado inicial. la manera de representarlo es la siguiente: Transición: La transición se representa con una línea recta y encima de esta el evento que produjo el cambio de estado: Estado Compuesto: Un estado compuesto o súper estado. este actor puede ser una persona real.

que los mensajes que se indiquen en el diagrama de sucesos previamente debieron de ser definidos en el diagrama de estados. esta representa su línea de tiempo. mostrando operaciones y transformaciones durante el uso del sistema. Mensaje: Los mensajes se representan con una línea recta y una flechita. un proceso se representa mediante un ovalo. Flujo: . esta puede ser grande o solo la simple implementación de un método. Modelo Funcional El modelo funcional tiene la tarea de modelar el funcionamiento operacional. entonces al ser un objeto. donde se sitúa el nombre del objeto. la representación es igual que en el modelo estático. ya que en ese diagrama definimos las relaciones que por donde fluye el mensaje. que provee y consume información de los procesos. bueno entonces definamos que figuras son necesarias para poder representar el sistema en este diagrama: Actor: El actor es un objeto activo dentro del sistema. El modelo funcional tiene una única herramienta. y en el medio el nombre del almacén de datos. con excepción que no se muestran los atributos. como un apunte recordar. además en la parte de arriba se encuentra la etiqueta de este. que es el “Diagrama de funciones”. Proceso: Un proceso es una operación que se da dentro del sistema. Almacén de Datos: El almacén de datos es un objeto pasivo que almacena datos. además tiene una línea punteada saliendo de la parte baja del recuadro.Objeto: Los objeto en este diagrama se representan con un cuadrado. su representación es dos líneas horizontales y paralelas. todo sub-rayado.

Alumno . se lo representa con una línea recta y una flecha en alguna de las puntas. la biblioteca está a cargo de una bibliotecaria y de su ayudante. se ha establecido multas dependiendo de la cantidad de días de retraso. los estudiantes pueden sacar libros tanto para leerlos en sala como para llevárselos a su casa. a través de la clase persona. hay que agregar las clases que se encuentran implícitas como son: .Préstamo . en la parte superior debe de ir el nombre del Flujo o acción que genera ese flujo. por lo cual usaremos composición.Inventario A estas clases que están explicitas. pasamos agregar a cada una de ellas sus atributos y operaciones que creamos necesarias.Es un elemento que vincula los procesos.Catalogo Con todas las clases definidas.Libro . Caso de Estudio Para que todos los conceptos y herramientas que mencione queden aun más claros.Autor . Para comenzar vamos a hacer el diagrama de clases.Docente . a mi manera de ver el diagrama de clases debería de quedar así: .Editorial . actores y almacenes de datos entre sí.Bibliotecario . El caso de estudio que elegí es el de una biblioteca de un colegio. como esto pude producir retrasos en la entrega. Otro punto es el de los catálogos e inventarios ya que estos son clases que están compuestas de otras. para lo cual identificaremos todas las clases candidatas: . aquí va el planteamiento del problema: El colegio “Saint SomeBody” tiene una pequeña biblioteca donde almacena alrededor de unos 1000 libros. no hay que olvidar que los docentes del colegio pueden sacar libros. No hay que olvidar que el colegio pide a la bibliotecaria mensualmente un informe de los inventarios. Alumno y Bibliotecario. por lo cual se les aplicara el mismo mecanismo de multa. además tanto el docente como el alumno se los puede generalizar una vez más en una clase llamada Prestatario. voy a realizar un caso práctico donde veremos donde y como utilizar todos los modelos. además si se analiza el listado de clases podemos ver que se puede crear relaciones de herencia entre Docente. Diseñar el sistema para esta biblioteca.

para lo cual modelaremos el escenario de alquiler de un libro. el cambio de estado solo se da a través del evento préstamo. eso quedaría de la siguiente manera: Ahora el siguiente diagrama que nos toca es el de secuencia. eso quedaría así: .Eso sería todo el proceso para generar su diagrama de clases. Ahora el diagrama de estados. un libro solo puede tener dos estados alquilado o disponible. es solo de un objeto en particular por lo cual elegiremos el objeto Libro_1234 que es la instanciación de la clase Libro. para el de objeto lo único que debemos de hacer es instanciar estos. que esa tarea se los dejo a ustedes.

registrado en el sistema el prestamos. el sistema a través de su objeto préstamo_123 procede a imprimir la boleta de comprobante de préstamo. que se identifique como tal a través de la entrega de sus datos personales básicos. ya que él es quien interactúa con el sistema. que en este caso es un alumno. procedemos a registrar la boleta con los objetos. . libro y prestatario. Como ven no es para nada difícil hacer estos diagramas. con los datos básicos obtenidos. primero pide ver el inventario.El escenario muestra al bibliotecario como actor. luego elige el libro que se desea sacar. después le pide al prestatario. le deseo suerte para esta noche ByE.