Beruflich Dokumente
Kultur Dokumente
Rumbaugh (OMT)
1
ÍNDICE
Cápitulos
Página
I. INTRODUCCIÓN ...................................... 3
Todos están relacionados con el campo de desarrollo de software. Las metodologías que
se cubrirán han sido sólo alguna de las bases y los primeros intentos que se hicieron de
un proceso para desarrollar software. Actualmente, éstas metodologías ya no se usan
mucho, a pesar de esto, han contribuído considerablemente a los métodos, técnicas y
arquitecturas que se usan hoy en día.
3
II. MDA
II.1. Qué es y cómo surge?
Model Driven Architecture o MDA, es una herramienta y una arquitectura de las
Tecnologías de Información perteneciente a el Object Management Group (OMG), creado
en 1989 por 11 compañias líderes en éste campo.1
La base del 99% de los proyectos que son desarrollados con MDA, es UML, a pesar de
esto, el estándar que es formalmente requerido para que una arquitectura pueda hacerse
llamar MDA, es MOF.
4
Figura 1: Capas de abstracción en MDA
5
III. MDA en Java
III.1 Introducción
Existen varios programas que generan código Java mediante esta tecnología En este
documento se utilizara Andromda como referencia aunque todos los programas deberían
lograr lo mismo. Andromda puede utilizar UML 1.4/XMI o UML 2/EMF. Andromda puede
utilizar varias bases de datos. El código generado es de JavaEE (AndroMDA, 2009).
6
III.3 Desarrollo de Aplicaciones Java
Andromda utiliza los siguientes componentes para crear aplicaciones java:
Andromda se encarga de generar el código necesario para que los objetos interactuen
como lo indica el diagrama UML. El código agregado manualmente corresponde a la
lógica y el funcionamiento del sistema que se esta implementando. Andromda se encarga
de convertir la información automáticamente. Pero hay casos en los que la conversión
automática no satisface las necesidades del sistema y se debe sobrescribir manualmente.
Andromda se encarga de crear los componentes necesarios para que la capa de
presentación interactue con el sistema utilizando como referencia un diagrama de
actividad. Al programador le corresponde crear la interfaz que el usuario observara
(AndroMDA, 2009).910 11
7
IV. Metodología de Booch
IV.1 Qué es y cómo surge?
La metodología de Booch o el diseño orientado a objetos de Grady Booch (OOD) es un
precursor al Modelamiento Unificado (UML). Provee una forma de desarrollar análisis y
diseño de un sistema orientado a objetos.
Fue desarrollada por Grady Booch mientras trabajaba en Rational Software, que es parte
de IBM desde el 2003. 12
Define seis tipos de diagramas: clase, objeto, estado de transición, interacción, modulo y
proceso.
8
V. Metodología de Rumbaugh (Object
Modeling Technique, OMT)
V.1. ¿Cómo y cuándo surgió?
En 1991 James Rumbaugh, quien es un metodólogo de la programación orientada a
objetos, mientras trabajaba en General Electric Research & Development (GE R&D)
desarrolló junto a Mike Blaha, Bill Premerlani, Fred Eddy y Bill Lorensen una técnica
llamada OMT (Object Modeling Techinque)3. Esta técnica no solo funciona para
programación, ya que también se ha usado para problemas de la vida real 1. Esta
metodología fue uno de los atributos de James Rumbaugh para la creación de UML
(Unified Modeling Language).
Modelo de Objetos
Es el más importante de los tres ya que este describe las clases de las cuales se
derivan los objetos en un sistema mostrando la relación entre las clases, sus atributos y
operaciones (métodos). Este modelo es representado gráficamente por un diagrama de
clases. 14
Modelo Dinámico
Este modelo describe la dinámica entre los objetos y sus cambios de estado a
través del tiempo. Los cambios de estado son dados por eventos de un objeto que
afectan a otro objeto al interactuar. 14
Modelo Funcional
Este modelo es un diagrama que muestra las transformaciones que sufre la
información que maneja del sistema. En otras palabras describe lo que el sistema hace,
sin embargo no describe como lo hace.
Este modelo es representado gráficamente con un data flow diagram (DFD), que
muestra el flujo de los valores. Este flujo ser refiere a lo que puede pasar con la
información (valores) como por ejemplo: el ingreso de valores, operaciones entre valores,
guardar valores, o salida de valores. 15
9
V.3. ¿Cómo funciona?
Para desarrollar un proceso OMT se necesitan seguir los siguientes pasos:
• Análisis
• Diseño del Sistema
• Diseño de Objetos
• Implementación
El modelaje OMT se hace únicamente en el primer paso y después solo sirve de apoyo
para los demás pasos.
Análisis 14
En este paso se debe de saber la descripción del problema y el dominio del
problema, teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual
ayudara a:
• Identificar los objetos
• Descartar clases innecesarias o incorrectas
• Identificar asociaciones entre objetos clases
• Descartar asociaciones innecesarias o incorrectas
• Identificar atributos de los objetos
• Descartar atributos innecesarios o incorrectos
• Usar herencia para compartir estructuras comunes entre objetos
Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinámico, para esto
se necesita:
• Identificar casos de uso y preparar escenarios.
• Identificar los eventos entre objetos, estos son las operaciones que se describen
en el diagrama de modelo de objetos.
• Preparar un flujo de eventos para el sistema
• Elaborar diagramas de estado para las clase.
Después se procede a elaborar el modelo funcional, para esto se deben seguir los
siguientes pasos:
• Identificar ingresos de valores y salidas de valores.
• Describir que es lo que hace cada función (evento)
V. 4. ¿Quiénes lo soportan?
Cualquier software que soporte diagramas UML ya que el OMT tiene sus
equivalentes con respecto a UML.
10
VI. LICENCIA
MDA, MDA en Java, Metodología de Booch por Carlos López, Ernesto
Rodríguez y Jeffry Turcios está registrado bajo la licencia Creative
Commons Attribution 3.0 Guatemala License.
VII. CONCLUSIONES
• La tecnologia MDA facilita programar la interacción que hay entre objetos aunque no
puede programar la logica y funcionamiento del programa.
• MDA puede hacer la programacion más eficiente ya que el programador no se tiene que
preocupar de programar la interacción entre objetos y otros componentes como base de
datos.
• El código que se genera con herramientas MDA Model Driven Architecture es de el
código más optimizado que puede obtenerse en la industria.
• MDA Model Driven Architecture está siendo desarrollada por empresas líderes en la
industria de Tecnologías de la información y son los más interesados en seguirla
mejorando.
• La metodología de Booch, sirvió en su tiempo, ya que fue uno de los primeros intentos
por modelar un sistema a travez de un proceso. Éste contribuyo mucho a lo que ahora
es UML.
11
VIII. ANEXOS
VII.1. Notaciones Básicas de OMT
Modelo de Objetos
Clase:
Asosiación:
Agregación:
Modelo:
Herencia:
12
Modelo Dinámico
Evento:
Modelo funcional
Proceso:
13
Guardar Información:
Control de flujo:
Composición de valores:
Duplicación de valores:
Descomposición de valores:
14
VII.2. Diagramas de la metodología de Booch
15
16
IX. BIBLIOGRAFÍA
1About the Object Management Group™ (OMG™), Página web de OMG™, http://www.omg.org/
gettingstarted/gettingstartedindex.htm
2 MDA Frequently Asked Questions, Página web de OMG™, Can you tell me something about the history of
the MDA?, http://www.omg.org/mda/faq_mda.htm
3Jon Siegel, Vicepresidente de tecnologías de transferencia, SD Times, 15 de Octubre del 2002, OMG's
Model Driven Architecture, http://www.sdtimes.com/content/article.aspx?ArticleID=26807
4MDA Frequently Asked Questions, Página web de OMG™, What is the role of UML and MOF in the MDA?,
http://www.omg.org/mda/faq_mda.htm
5 Metamodeling, Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Meta_model
6OMG’s approach validation in MASTER IST Project, Master Overview, http:/modeldrivenarchitecture.esi.es/
mda_overview.html
7 Mahesh H. Donani, IBM Software, U.S.A. A picture is Worth a 1000 Words?, http://www.jot.fm/issues/
issue_2006_03/column4/
8 MDA Vendor Directory Listing, Página web de OMG™, http://mda-directory.omg.org/vendor/list.htm
9AndroMDA.org, 2009, Getting Started Java, Recuperado el 25 de Febrero del 2009 de Joomialis Free
Software, URL: http://galaxy.andromda.org/index.php?option=com_content&task%20=category§ionid
%20=11&id=42&Itemid=89
10Maven. 2009. Introduction to POM. Recuperado el 25 de feberero del 2009 de Apache Software
Foundation. URL: http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
11TechTarget. 2009. Application Server. Recuperado el 25 de febrero del 2009 de TechTarget. URL: http://
searchsqlserver.techtarget.com/sDefinition/0,,sid87_gci211584,00.html
12IBM, 2003, IBM Rational Software joins IBM traning portfolio, http://download.boulder.ibm.com/ibmdl/pub/
software/dw/rationaledge/aug03/t_trainingportfolio.pdf
13Ronald LeRoi Burback, Stanford University, 1998, The Booch Methodology, http://infolab.stanford.edu/
~burback/watersluice/node55.html
14W. Schaufelberger, D. Keller and F. Kraus. Computermethoden der Automatisierungstechnik. (1998).
Object-Oriented Software Development Using Object Modeling Technique (OMT). URL: http://
publications.ksu.edu.sa/Conferences/Systems%20Analysis%20Seminar/Article8.pdf
15Debra j. Richardson. University of California. Information and computer Schience 125: Project in Software
System Development. Object Modeling Technique. URL: http://www.ics.uci.edu/~djr/ics125/OMT.html
16James Rumbaugh, InformIT. URL: http://www.informit.com/authors/bio.aspx?
a=D3DD9437-09E2-448F-9EE3-6AAD01752522
17