Monografias | Metodología OMT (Rumbaugh)Metodología OMT (Rumbaugh)Resumen: Generalización y Herencia. Modelo Avanzado de Datos. Notaciones del modelo de objetos. Sucesos y Estados. Desarrollo de un modelo dinámico. Modelo Funcional. Aplicaciones. Ejemplos. Introducción. La metodología OMT (Object Modeling Technique) fue creada por
James Rumbaugh y Michael Blaha en 1991, mientras James dirigía un equipo de
investigación de los laboratorios General Electric. OMT es una de las metodologías de análisis y diseño
orientadas a objetos, más maduras y eficientes que existen en la actualidad. La
gran virtud que aporta esta metodología es su carácter de abierta (no
propietaria), que le permite ser de dominio público y , en consecuencia,
sobrevivir con enorme vitalidad. Esto facilita su evolución para acoplarse a
todas las necesidades actuales y futuras de la ingeniería de software. Las fases que conforman a la metodología OMT son: La metodología OMT emplea tres clases de modelos para
describir el sistema: Modelo de Objetos Esta es la parte principal de la Técnica para modelado ya que
se fundamenta en la teoría de OO. La definición clara de las entidades que
intervienen en el sistema es un paso inicial necesario para poder definir qué
transformaciones ocurren en ellas y cuándo se producen estas transformaciones.
Esta forma de pensar es inherente al paradigma de OO donde las clases y su
jerarquía determinan el sistema. Los diagramas de objetos permiten representar gráficamente
los objetos, las clases y sus relaciones mediante dos tipos de diagramas: los
diagramas de clases y los diagramas de casos concretos (instancias). Los
diagramas de clases describen las clases que componen el sistema y que
permitirán la creación de casos concretos, los diagramas de casos concretos
describen la manera en que los objetos del sistema se relacionan y los casos
concretos que existen en el sistema de cada clase. En los diagramas que componen
este modelo se pueden representar los siguientes elementos del sistema: objetos
y clases, atributos, operaciones, y relaciones o asociaciones. Clases y Objetos Los objetos y sus componentes se representan gráficamente en
OMT de forma que es posible obtener una idea de los elementos que intervienen en
el sistema estudiando el modelo. Los elementos y sus características con
representación gráfica son los siguientes: -Diagrama de clases. Esquema, patrón o
plantilla para describir muchas instancias de datos posibles. -Diagrama de instancias. Describe la forma en
que un cierto conjunto de objetos se relacionan entre sí. Enlaces y Asociaciones Las relaciones entre clases determinan el comportamiento del
sistema y constituyen una parte muy importante del mismo ya que mediante las
relaciones definimos la forma en que los objetos se comunican, lo que también se
conoce como comportamiento. Además las relaciones tienen una serie de características que
son de interés para el modelado del sistema. Conceptos Avanzados de Enlaces y Asociaciones Generalización y Herencia En el paradigma de la orientación a objetos uno de los
elementos más importantes es la herencia. La cualidad que permite que los
objetos hereden las características (atributos) y las operaciones (métodos)
dentro de una estructura jerárquica conlleva una serie de consecuencias de
máxima relevancia a la hora de diseñar un sistema informático. Los objetos
heredan un comportamiento que puede ser modificado y unas estructuras de datos
de forma que se permite y se facilita la reutilización de las clases y del
código que implementa sus funcionalidades. Ambos conceptos van unidos: herencia y estructura jerárquica,
de forma que la herencia se produce por la existencia de una estructura entre
los componentes del sistema y la estructura se consigue en la implementación del
código a través de la herencia en los lenguajes OO. La herencia está íntimamente relacionada con la forma
concreta en que un lenguaje implementa la generalización, que es un término más
abstracto. Se han propuesto una serie de reglas a la hora de implementar
la herencia para minimizar los errores y maximizar la reutilización de código: Agrupación de entidades Los elementos que hemos estudiado en el Modelo de Objetos se
pueden agrupar para construir el modelo completo, así, las clases, las
asociaciones y las generalizaciones forman lo que se denomina módulo y varios
módulos forman el modelo de objetos. En un módulo no se deben repetir los
nombres de las clases y de las asociaciones, aunque se puede hacer referencia a
la misma clase dentro de distintos módulos. También se definen las denominadas
hojas que se utilizan para descompones un Modelo de Objetos en unidades que
podemos manejar. Una hoja es una parte de un módulo que podemos manejar con
facilidad, sea en el formato que sea. Modelo Avanzado de Datos Construcción de un modelo de objetos Notaciones del modelo de objetos Notaciones
del modelo avanzado de objetos Modelo Dinámico Los aspectos del sistema que están relacionados con el tiempo
y con los cambios constituyen el modelo dinámico. Los conceptos más importantes del modelado dinámico son los
sucesos, que representan estímulos externos, y los estados, que representan los
valores de los objetos. El diagrama de estados va a representar los sucesos y
los estados que se dan en el sistema. El modelo de objetos describe las posibles tramas de objetos,
atributos y enlaces que pueden existir en un sistema. Los valores de los
atributos y de los enlaces mantenidos por un objeto son lo que se denomina su
estado. A lo largo del tiempo, los objetos se estimulan unos a otros, dando
lugar a una serie de cambios en sus estados. Un estímulo individual proveniente
de un objeto y que llega a otro es un suceso. La respuesta a un suceso depende
del estado del objeto que lo recibe, y puede incluir un cambio de estado o el
envío de otro suceso al remitente o a un tercer objeto. La trama de sucesos,
estados y transiciones de estados para una clase dada se puede abstraer y
representar en forma de un diagrama de estados. El modelo dinámico consta de
múltiples diagramas de estados, con un diagrama de estados para cada clase que
posea un comportamiento dinámico importante, y muestra la trama de actividad
para todo el sistema. Sucesos y Estados Diagrama de Estados Un diagrama de estados relaciona sucesos y estados. Cuando se
recibe un suceso, el estado siguiente depende del actual, así como del suceso;
un cambio de estado causado por un suceso es lo que se llama una transición. Un
diagrama de estados es un grafo cuyos nodos son estados, y cuyos arcos dirigidos
son transiciones rotuladas con nombres de sucesos. El diagrama de estados especifica la secuencia de estados que
causa una cierta secuencia de sucesos. Si un objeto se encuentra en un cierto
estado y se produce un suceso cuyo nombre corresponda al de una de sus
transiciones, entonces el objeto pasa al estado que se encuentra en el extremo
de destino de la transición. Se dice que la transición se dispara. Si hay más de
una transición que sale de un estado, entonces el primer suceso que se produzca
dará lugar a que se dispare la transición correspondiente. Si se produce un suceso que no tiene ninguna transición que
salga del estado actual, entonces el suceso se ignora. Una secuencia de sucesos
se corresponde con un camino a través del grafo. Un diagrama de estados describe el comportamiento de una sola
clase de objetos. Dado que todas las instancias de un clase tienen el mismo
comportamiento, todas ellas comparten el mismo diagrama de estados, por cuanto
todas ellas comparten las mismas características de clase. Pero dado que todo
objeto posee sus propios valores de atributos, cada objeto posee su propio
estado, que es el resultado de la especial secuencia de sucesos que haya
recibido. Todo objeto es independiente de los demás objetos, y procede a su
paso. Los diagramas de estados pueden representar ciclos vitales
únicos o bien bucles continuos. Los diagramas de un solo uso representan objetos
de duración finita y tienen estados iniciales y finales. Se entra en el estado
inicial al crear el objeto; al entrar en el estado final estamos implicando la
destrucción del objeto. Los diagramas de un solo uso son una "subrutina" del
diagrama de estados, a la cual se puede hacer alusión desde distintos lugares en
un diagrama de alto nivel. El modelo dinámico es una colección de diagramas de estados
que interactúan entre sí a través de sucesos compartidos. Condiciones Una
condición es una función Booleana lógica que tiene a objetos como valores. Las
condiciones se pueden utilizar como protecciones en las transiciones. Una
transición con protección se dispara cuando se produce su suceso, pero sólo si
la condición de protección es verdadera. Operaciones Los diagramas de estados tendrían muy poca utilidad si
solamente describiesen tramas de sucesos. Una descripción de un objeto debe
especificar lo que hace el objeto como respuesta a los sucesos. Una actividad es una operación cuya realización requiere un
cierto tiempo. Toda actividad está asociada a un estado. Entre las actividades
se cuentan las operaciones continuas, tales como mostrar un imagen en una
pantallas, así como las operaciones secuenciales que terminan por sí mismas
después de un cierto intervalo de tiempo. Un estado puede controlar una
actividad continua o una actividad secuencial que va avanzando hasta que termina
o hasta que se produce un suceso que la hace finalizar prematuramente. La
anotación "hacer: X" indica que la actividad secuencial X comienza al entrar en
ese estado, y se detiene cuando ha finalizado. Si un suceso da lugar a una
transición que sale de ese estado antes de que haya finalizado la actividad,
entonces, la actividad finaliza de forma prematura. Una acción es una operación instantánea que va asociada a un
suceso. Una acción representa a una operación cuya duración es insignificante en
comparación con la resolución del diagrama de estados. Realmente, no hay
operaciones que sean instantáneas, pero se modelan de esta manera aquellas
operaciones de las que no nos importa su estructura interna. Las acciones también pueden representar operaciones internas
de control, tales como dar valores a atributos o generar otros sucesos. Estas
acciones no tienen contrapartidas en el mundo real, sino que son mecanismos para
estructurar el control dentro de una implementación. Diagramas de Estados Anidados Los diagramas de estados se pueden estructurar, para hacer
posibles unas descripciones concisas de sistemas complejos. Las formas de
estructurar máquinas de estados son similares a las formas de estructurar los
objetos: la generalización y la agregación. La generalización es el equivalente
a expandir las actividades anidadas. Permite describir una actividad empleando
un nivel alto, y expandirla después en un nivel más bajo añadiendo detalles, de
forma similar a las llamadas a procedimientos anidados. Además, la
generalización permite que los estados y los sucesos se dispongan en jerarquías
de generalización con herencia de estructuras y comportamientos comunes, de
forma similar a la herencia de atributos y de operaciones en las clases. La
agregación permite que el estado se descomponga en componentes ortogonales, con
una interacción limitada entre ellos, de forma similar a una jerarquía de
agregación de objetos. La agregación es el equivalente a la concurrencia de
estados. Los estados concurrentes suelen corresponderse con agregaciones de
objetos, posiblemente de todo un sistema, que tengan partes que interactúen. Concurrencia Desarrollo de un modelo dinámico Notaciones Modelo
Funcional El modelo funcional
describe los cálculos existentes dentro del sistema siendo la tercera parte del
modelado. Dentro del modelado del sistema, el modelo funcional especifica lo que
sucede, el modelo dinámico cuándo sucede, y el modelo de objetos especifica a
qué le sucede. El modelo funcional muestra la forma en que se derivan los
valores producidos en un cálculo a partir de los valores introducidos, sin tener
en cuenta el orden en el cual se calculan los valores. Consta de múltiples
diagramas de flujo de datos, que muestran el flujo de valores desde las entradas
externas, a través de las operaciones y almacenes internos de datos hasta las
salidas externas. También incluyen restricciones entre valores dentro del modelo
de objetos. Los diagramas de flujo de datos no muestran el control ni tampoco
información acerca de la estructura de los objetos; todo esto pertenece a los
modelos dinámico y de objetos. Diagramas de flujo de datos El
modelo funcional consta de múltiples diagramas de flujo de datos, que
especifican el significado de las operaciones y de las restricciones. Un
diagrama de flujo de datos (DFD) muestra las relaciones funcionales entre los
valores calculados por un sistema, incluyendo los valores introducidos, los
obtenidos, y los almacenes internos de datos. Un diagrama de flujo de datos es
un grafo que muestra el flujo de valores de datos desde sus fuentes en los
objetos mediante procesos que los transforman, hasta sus destinos en otros
objetos. Un diagrama de flujo de datos no muestra información de control como
puede ser el momento en que se ejecutan los procesos o se toman decisiones entre
vías de datos alternativas; esta información pertenece al modelo dinámico. Un
diagrama de flujo de datos no muestra la organización de los valores en objetos;
esta información pertenece al modelo de objetos. Un diagrama de flujo de datos contiene procesos que
transforman datos, flujos de datos que los trasladan, objetos actores que
producen y consumen datos, y de almacenes de datos que los almacenan de forma
pasiva. Especificación de Operaciones Los procesos de los diagramas de flujo deben ser
implementados eventualmente como operaciones que se aplican a objetos. Todo
proceso atómico del más bajo nivel es una operación. Los procesos de nivel
superior también se pueden considerar operaciones, aún cuando una implementación
pueda estar organizada de forma distinta del diagrama de datos que representa
como consecuencia de la optimización. Toda operación se podrá especificar de
diferentes maneras, entre las que están: La especificación de una operación se compone de dos partes.
La primera de ellas es la que indica la interfaz de la operación: los argumentos
que requiere y los valores que proporciona. La segunda, es la que explica la
transformación de los valores de entrada para producir los valores de salida. La especificación externa de una operación describe solamente
cambios visibles fuera de ella. Durante la implementación de una operación, se
pueden crear valores internos por conveniencia o por optimización. Algunos
pueden incluso formar parte del estado interno de un objeto. El propósito de la
especificación es indicar lo que debe hacer una operación lógicamente, y no como
debe ser implementada. Por tanto, el estado del objeto en sí debe dividirse en
información visible externamente e información privada, interna. Los cambios del
estado interno de un objeto que no sean externamente visibles no modificarán su
valor. Las operaciones de acceso son operaciones que leen o escriben
atributos o enlaces de un objeto. No es necesario enumerarlos o especificarlos
durante el análisis. Durante el diseño, es necesario observar cuáles de las
operaciones de acceso van a ser públicas, y cuáles privadas para esa clase de
objetos. La razón para restringir el acceso no es una razón de corrección
lógica, sino más bien para encapsular las clases con el objetivo de protegerlas
contra errores y para permitir modificaciones en la implementación en un futuro.
Las operaciones de acceso se derivan directamente de los atributos y
asociaciones de la clase dentro del modelo de objetos. Las operaciones no triviales se pueden desglosar en tres
categorías: consultas, acciones y actividades. Una consulta es una operación que
carece de efectos laterales en el estado visible externamente de cualquier
objeto; es una función pura. Una consulta sin parámetros recibe el nombre de
atributo derivado porque tiene la forma de un atributo. Una acción es una transformación que posee efectos laterales
sobre el objeto destino, o sobre otros objetos del sistema que resulten
alcanzables desde él. Las acciones no tienen una duración temporal: son
instantáneas. Dado que el estado de un objeto queda definido por sus atributos y
enlaces, todas las acciones deben de ser definibles en términos de
actualizaciones de los atributos y enlaces básicos. Se puede definir una acción
en términos del estado del sistema antes y después de la acción, no es necesario
un componente de control. Las acciones se pueden describir de diferentes maneras,
incluyendo las ecuaciones matemáticas, árboles, tablas de decisión, enumeración
de todas las posibles entradas, cálculo de predicados y lenguaje natural. Es
importante que la especificación sea clara y no ambigua. Es necesaria una
especificación formal. Hay varios elementos en la especificación: el nombre de
la función, las entradas y salidas, las transformaciones de valores y las
restricciones. Una actividad es una operación hecha por o sobre un objeto
que tiene una cierta duración temporal, por oposición a las consultas y
acciones, que se consideran instantáneas. Una actividad tiene efectos
colaterales como consecuencia de su duración temporal. Las actividades sólo
tienen sentido para actores y objetos que generen operaciones propias, porque
los pasivos son solamente depósitos de datos. Los detalles de una actividad son
especificados por el modelo dinámico, así como por el modelo funciones, y no se
pueden considerar tan sólo una transformación. En la mayoría de los casos, una
actividad corresponde a un diagrama de estados del modelo dinámico. Restricciones Una restricción muestra la relación entre dos objetos al
mismo tiempo o bien entre distintos valores del mismo objeto en instantes
diferentes. Las restricciones se pueden expresar como una función total (un
valor que es especificado completamente por otro) o como una función parcial (un
valor que está restringido, pero no completamente especificado por otro valor).
Las restricciones pueden aparecer en todas las clases del modelo. Las restricciones de objetos especifican que algunos objetos
dependen entera o parcialmente de otros objetos. Las restricciones dinámicas
especifican relaciones entre los estados o sucesos de distintos objetos. Las
restricciones funcionales especifican limitaciones aplicables a operaciones. Una restricción entre valores de un objeto a lo largo del
tiempo es lo que suele denominarse un invariante. Construcción de un modelo funcional Notación El objetivo del análisis es desarrollar un modelo del
funcionamiento del sistema. El modelo se expresa en términos de objetos y
relaciones, el control dinámico de flujo y las transformaciones funcionales. El
proceso de capturar los requerimientos y consultar con el solicitante debe ser
continuo a través del análisis. A saber: Documento de análisis = enunciado del problema + modelo
de objetos + modelo dinámico + modelo funcional. Durante el diseño de sistemas, se selecciona la estructura de
alto nivel del sistema. Existen varias arquitecturas canónicas que pueden servir
como un punto de inicio adecuado. El paradigma orientado a objetos no introduce
vistas especiales en el diseño del sistema, pero se incluye para tener una
cobertura completa del proceso de desarrollo de software. Los pasos son: Documento de diseño de sistemas = estructura de la
arquitectura básica del sistema + las decisiones de estrategias de alto nivel. Durante el diseño de objetos se elabora el modelo de análisis
y se proporciona una base detallada para la implantación. Se toman las
decisiones necesarias para realizar un sistema sin entrar en los detalles
particulares de un lenguaje o base de datos particular. El diseño de objetos
inicia un corrimiento en el enfoque de la orientación del mundo real del modelo
de análisis hacia la orientación en la computadora requerida para una
implantación práctica. Los pasos son: Documento de diseño = modelo de objetos detallado + modelo
dinámico detallado + modelo funcional detallado. Ventajas Desventajas Aplicaciones Esta Tecnología puede ser aplicada en varios aspectos de
implementación incluyendo: Y en general, en prácticamente cualquier actividad de
ingeniería que requiera hacer un análisis de un problema para poder resolver un
problema. Herramientas CASE que soportan OMT Ejemplos Sistema de cajero automático: ATM (Automated Teller Machine) Diseñar el software para dar soporte a una red bancaria
automatizada, que incluya tanto cajeros humanos como cajeros automáticos (CA), y
que deberán ser compartidos por un consorcio de bancos. Cada banco proporciona
sus propias computadoras para mantener sus cuentas y procesar transacciones
relativas a ellas. Las terminales de cajero son propiedades de cada banco, y se
comunican directamente con las computadoras del banco. Los cajeros humanos
insertan los datos de la cuenta y de la transacción. Los cajeros automáticos se
comunican con una computadora central que aprueba las transacciones con los
bancos adecuados. Los cajeros automáticos admiten tarjetas, interaccionan con el
usuario, se comunican con el sistema central para llevar a cabo la transacción,
entregan dinero e imprimen recibos. El sistema necesita mantener unos registros
adecuados y también las oportunas medidas de seguridad y debe admitir accesos
concurrentes a una misma cuenta de forma correcta. Los bancos proporcionarán su
propio software para sus computadoras; el analista debe diseñar el software para
los CA y para la red. El coste del sistema compartido será prorrateado entre los
bancos de acuerdo con el número de clientes que tengan sus tarjetas de crédito. Una red de CA ANÁLISIS Modelo de objetos: Identificar los objetos y la clase. Clases extraídas de los nombres de definición del problema Clases de CA identificadas a partir del conocimiento del
dominio del problema Clases Incorrectas Clases Correctas Preparar un diccionario de datos Cuentaà
Cuenta individual de un banco a la cual se le pueden aplicar transacciones.
Las cuentas pueden ser de varios tipos; como mínimo serán de ahorro o a la
vista. Un cliente puede tener más de una CAà
Punto que permite a los clientes introducir sus propias transacciones
empleando una tarjeta de crédito como identificación. El CA interacciona con
el cliente para obtener información de la transacción, la envía a la
computadora central para su verificación y procesamiento, y suministra
dinero al usuario. Suponemos que el CA no necesita funcionar
independientemente de la red. Bancoà
Una institución financiera que tiene cuentas para clientes y que proporciona
tarjeta de crédito que autorizan para acceder a dichas cuentas a través de
la red de CA. Computadora de bancoà
Computadora de un banco, que tiene una interfaz con la red de CA, y con los
puestos de cajeros del propio blanco. Éste puede tener su propia red interna
de computadoras para procesar las cuentas, aunque sólo nos concierne la que
se comunica con la red. Tarjeta de Créditoà
Tarjeta que le ha sido asignada a un cliente del banco, y que le autoriza
para acceder a cuentas empleando un CA. Cada tarjeta contiene un número y
código de banco, que estarán codificados, con toda probabilidad, de acuerdo
con los estándares nacionales para tarjetas de crédito y de débito
(bancarias). El código del banco le identifica de forma única dentro del
consorcio. El número de la tarjeta determina las cuentas a las cuales puede
acceder. Una tarjeta no accede necesariamente a todas las cuentas del
cliente. Toda tarjeta bancaria es poseída por un único cliente, pero pueden
existir múltiples copias de ella de modo que es preciso considerar la
posibilidad de su uso simultáneo en varias máquinas distintas. Cajeroà
Empelado de un banco que está autorizado para efectuar transacciones en los
terminales de cajero y para admitir y proporcionar dinero y cheques a los
clientes. Las transacciones, el dinero y los cheques gestionados por cada
cajero deben ser insertados en las computadoras y controlados debidamente. Terminal de cajeroà
Puesto en el cual los cajeros introducen transacciones de sus clientes. Los
cajeros proporcionan dinero y cheques; el terminal imprime recibos. El
terminal de cajero se comunica con la computadora del banco para verificar y
procesar las transacciones. Computadora centralà
Computadora explotada por el consorcio y encargada de despachar las
transacciones entre los CA y las computadoras de los bancos. Verifica los
códigos de los bancos, pero no procesa directamente las transacciones. Consorcioà
Organización de los bancos que contrata y explota la red de CA. La red sólo
admite transacciones para los bancos del consorcio. Clienteà
Poseedor de una o más cuentas de un banco. Un cliente puede ser una o más
personas o compañías; la correspondencia no es relevante para este problema.
Una misma persona que tenga una cuenta en distintos bancos será considerada
como varios clientes distintos. Transacciónà
Única solicitud completa de operaciones que afecta a cuentas de un solo
cliente. Hemos especificado que los CA deben de proporcionar dinero, aunque
no debería excluirse la posibilidad de imprimir cheques o de admitir dinero
o cheques. Quizá sea necesario también ofrecer la flexibilidad para operar
sobre cuentas de distintos clientes, aunque esto no se necesita todavía. Las
distintas operaciones deben cuadrar correctamente. Diccionario de datos para las clases de CA. Identificar asociaciones entre objetos Locuciones Verbales La red bancaria incluye cajeros y CA El consorcio comparte los CA. El banco proporciona la computadora del banco. La computadora del banco proporciona las cuentas. La computadora del banco procesa las transacciones de
cada cuenta. El banco posee el punto de caja. El punto de caja se comunica con la computadora del
banco. El cajero introduce las transacciones para la cuenta. Los CA se comunican con la computadora central para la
transacción. La computadora central verifica la transacción con el
banco. El CA admite tarjetas bancarias. El CA interacciona con el usuario. El CA proporciona dinero. El CA imprime recibos. El sistema gestiona accesos concurrentes. Los bancos aportan su software. Los costes se prorratean entre los bancos. Locuciones verbales implícitas El consorcio está formado por bancos. Los bancos tienen cuentas. El consorcio posee la computadora central. El sistema se encarga del registro. El sistema se encarga de la seguridad. Los clientes tienen tarjeta de crédito. Conocimiento del dominio del problema Las tarjetas de crédito acceden a cuentas. Los bancos emplean cajeros. Asociaciones para la definición del problema de un CA. Diagrama inicial para un sistema ATM. Modelo de objetos de un CA con sus atributos Organizar y simplificar la clase de objetos usando
herencia. Modelo de objetos de un CA con atributos y herencia Modelo de objetos del CA después de otra revisión Agregar las clases en módulos MODELADO DINÁMICO: Se preparan escenarios de secuencias típicas de
interacción. El CA pide al usuario que inserte una tarjeta; el usuario
inserta una tarjeta de crédito. El CA admite la tarjeta y lee su número de serie. El CA solicita la contraseña; el usuario escribe "1234". El CA verifica el número de serie y la contraseña con el
consorcio; esta la comprueba con el banco "39" y notifica la aceptación al
CA. El CA pide al usuario que seleccione la clase de
transacción que desea (retirar fondos, hacer un ingreso o una
transferencia); el usuario selecciona retirar fondos. El CA verifica que la cantidad se encuentre dentro de los
límites de crédito predefinidos, y pide al consorcio que procese la
transacción; éste pasa la solicitud al banco, que eventualmente confirma el
éxito de la misma y proporciona el nuevo saldo disponible en cuenta. El CA proporciona el dinero y pide al usuario que lo
recoja; éste toma el dinero. El CA pregunta si el usuario desea continuar; éste dice que
no. El CA imprime un recibo, expulsa la tarjeta y pide al
usuario que la recoja; el usuario toma el recibo y la tarjeta. El CA pide a un usuario que inserte una tarjeta. Escenario normal de un CA. El CA pide al usuario que inserte una tarjeta; inserta
una tarjeta de crédito. El CA admite la tarjeta y se lee un número de serie. El CA solicita la contraseña; el usuario escribe "9999". El CA verifica el número de serie y la contraseña con el
consorcio, que los rechaza después de consultar con el banco adecuado. El CA indica que la contraseña es incorrecta, y pide al
usuario que vuelva a escribirla; éste usuario escribe "1234", y la tarjeta
es admitida por el consorcio tras verificar el CA. El CA pide al usuario que seleccione la clase de
transacción que desea; el usuario selecciona una retirada de fondos. El CA pregunta la cantidad de dinero; el usuario cambia
de opinión y pulsa "cancelar". El CA expulsa la tarjeta y pide al usuario la recoja, el
usuario la recoge. El CA pide a un usuario que inserte una tarjeta. Un escenario de CA con excepciones. Se identificar sucesos que actúen entre objetos. Formato de la interfaz ATM Se prepara un seguimiento de sucesos para cada escenario. Seguimiento de sucesos para un escenario de CA. Diagrama de flujo de sucesos para el ejemplo de CA. Se construye un diagrama de estados. Diagrama de estados para la clase CA Diagrama de estados para la clase Consorcio. Diagrama de estados para la clase Banco. Se comparan los sucesos intercambiados entre objetos para
verificar la congruencia. MODELO FUNCIONAL: Identificar los valores de entrada y salida. Valores de entrada y salida para el sistema CA. Construir diagramas de flujo de datos que muestren
las dependencias funcionales. Diagrama de flujo de datos del más alto nivel para el CA Diagrama de flujo de datos para el proceso efectuar
transacción en un CA. Describir funciones. Actualizar cuenta (cuenta, cantidad, tipo-de-transacción)
-> dinero, recibo, mensaje Si la cantidad que se intenta retirar supera el saldo
disponible, Rechazar la transacción y no entregar ningún dinero. Si la cantidad que se intenta retirar no supera el saldo
disponible, Cargar el importe y dispensar el efectivo solicitado Si la transacción es un ingreso, Abandonar el importe y no dispensar efectivo. Si la transacción es una petición de saldo No dispensar efectivo. En todo caso, El recibo muestra el número del CA, fecha, hora, número
de cuenta, tipo-de-transacción, importe (si lo hubiere) y nuevo saldo. Descripción de la función actualizar cuenta. Diseño Arquitectura del Sistema CA Control de un CA Pseudocódigo Hacer para siempre Mostrar pantalla principal Leer tarjeta Repetir Pedir contraseña Leer contraseña Verificar cuenta Hasta que la verificación de cuenta sea correcta Repetir Repetir Preguntar clase de transacción Leer clase Leer cantidad Comenzar transacción Esperar que acabe Hasta que la transacción sea correcta Dispensar efectivo Esperar a que lo tome el cliente Preguntar si continúa Hasta que el usuario quiera terminar Expulsar tarjeta Esperar hasta que el cliente tome la tarjeta Conclusiones OMT pone énfasis en la importancia del modelo y uso del
modelo para lograr una abstracción, en el cual el análisis esta enfocado en el
mundo real para un nivel de diseño, también pone detalles particulares para
modelado de recursos de la computadora. Esta Tecnología puede ser aplicada en
varios aspectos de implementación incluyendo archivos, base de datos
relacionales, base de datos orientados a objetos. OMT esta construido alrededor
de descripciones de estructura de datos, constantes, sistemas para procesos de
transacciones. Es muy fácil de aprender ya que para el 90% de casi todos los
proyectos se ocupan casi todo el mismo subconjunto de notaciones, además debido
a su sencillez se ha extendido a casi todo los niveles de ingeniería de
software, pero esta simplicidad del método hace posible que en algunos casos
(sobre todo complejos) no se puedan modelar con este sistema. Recomendamos esta metodología como base para aprender métodos
más modernos y profesionales como pueden ser UML u Objectory por mencionar
algunos. Esta investigación dejó en nosotros la importancia y las
facilidades que brindan el análisis y diseño orientado a objetos usando una
metodología en particular, la cual en nuestro caso fue OMT, la cual debido a la
poca práctica con este nuevo paradigma no lo hemos asimilado del todo pero con
la práctica de nuestra tercera parte del proyecto quedarán comprendidas todas
estas ideas. OMT 2 En 1994 una revisión de OMT apareció con la introducción
formal de los casos de uso. OMT2 declara que los casos de uso están limitados a
la etapa de análisis de OMT. Esto requiere una extensión sobre que está definido
en OMT añadiendo 2 nuevos modelos a la etapa de análisis: En esta revisión, los casos de uso son un método para
examinar las interacciones de los actores del sistema desde el punto de vista de
un usuario. Además OMT 2 introduce cambios en el modelo de objetos para
hacerlo compatible con UML.: OMT 2 está publicado en las
páginas blancas de
www.rational.com Bibliografía Modelado y diseño orientados a objetos Metodología OMT James Rumbaugh, Michael Blaha, William Premerlani, Frederick Hedí y William
Lorensen Editorial Prentice Hall 1996 Primera reimpresión. Metodologías orientadas a objetos (Revisión comparativa) Instituto Tecnológico de Morelia 1999 Monografía presentada por: Helio Bernandino Hernández Ponce Elaborado por: Víctor Manuel Chávez Gaona Juan Carlos Olivares Rojas Morelia, Michoacán Publicación enviada por Víctor Manuel Chávez Gaona y Otro Autor Contactar mailto:webmaster@oliviagras.zzn.com Código ISPN de la Publicación EpZVVlVVpEwHfxFRbG Publicado Saturday 31 de January de 2004 Ultimas Publicaciones en ilustrados.com
ilustrados.com nace con el fin difundir el conocimiento publicando trabajos de investigación, monografias, tesis, presentaciones powerpoint y afines. Publicar trabajos en ilustrados.com ha alcanzado prestigio y reconocimiento internacional siendo cada vez más el número de académicos, empresas, investigadores, científicos que consultan las publicaciones de nuestro portal. | |||||||||