MDA, MDA en Java, Metodologías de Booch y de Rumbaugh (OMT)

17
MDA, MDA en Java, Metodologías de Booch y de Rumbaugh (OMT) Por Carlos López, Ernesto Rodríguez y Jeffry Turcios Objetos y Abstracción de Datos UNIVERSIDAD DEL VALLE DE GUATEMALA Facultad de Ingeniería Febrero del 2009 1

description

Ésta investigación trata acerca de cuatro temas en general: MDA (Model Driven Architecture) MDA en JAVA, como se aplica MDA en Java (Lenguaje de programación)Metodología de Booch, Metodología de Raumburgh (OMT, Object Modeling Technique).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.

Transcript of MDA, MDA en Java, Metodologías de Booch y de Rumbaugh (OMT)

MDA MDA en Java Metodologiacuteas de Booch y de Rumbaugh (OMT)

Por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry TurciosObjetos y Abstraccioacuten de Datos

UNIVERSIDAD DEL VALLE DE GUATEMALAFacultad de Ingenieriacutea

Febrero del 2009

1

IacuteNDICECaacutepitulos13 13 13 13 13 13 13 13 13 Paacutegina

I INTRODUCCIOacuteN 1313 3

II MDA 413 II1 Queacute es y coacutemo surge 13 413 II2 Coacutemo funciona 13 413 II3 Para queacute sirve1313 513 II4 Quieacutenes la soportan 13 13 5

III MDA en JAVA 613 III1 Introduccioacuten a MDA en Java 6 13 III2 Estructura de una aplicacioacuten 13 13 613 III3 Desarrollo de aplicaciones Java 13 7

IV Metodologiacutea de Booch 8 13 IV1 Queacute es y como funcioacutena 13 813 IV2 Coacutemo funciona 13 813 IV3 Queacute soporte tiene13 13 8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT) 13 913 V1 Coacutemo y cuaacutendo surgioacute13 13 913 V2 Queacute es y para queacute sirve13 13 913 V3 Coacutemo funciona 13 1013 V4 Quieacutenes lo soportan

VI LICENCIA 13 `11VII CONCLUSIONES 13 13 11VIII ANEXOS13 12IX BIBLIOGRAFIacuteA 16

2

I INTRODUCCIOacuteN

Eacutesta investigacioacuten trata acerca de cuatro temas en generalbull MDA Model Driven Architecturebull MDA en JAVA como se aplica MDA en Java (Lenguaje de programacioacuten)bull Metodologiacutea de Boochbull Metodologiacutea de Raumburgh (OMT Object Modeling Technique)

Todos estaacuten relacionados con el campo de desarrollo de software Las metodologiacuteas que se cubriraacuten han sido soacutelo alguna de las bases y los primeros intentos que se hicieron de un proceso para desarrollar software Actualmente eacutestas metodologiacuteas ya no se usan mucho a pesar de esto han contribuiacutedo considerablemente a los meacutetodos teacutecnicas y arquitecturas que se usan hoy en diacutea

3

II MDA

II1 Queacute es y coacutemo surgeModel Driven Architecture o MDA es una herramienta y una arquitectura de las Tecnologiacuteas de Informacioacuten perteneciente a el Object Management Group (OMG) creado en 1989 por 11 compantildeias liacutederes en eacuteste campo1

En 1996 OMG decide adoptar la modelacioacuten con el objetivo de ampliar su campo de aplicacioacuten un antildeo maacutes tarde adoptariacutea dos estaacutendares que seriacutean vitales para MDA el Unified Model Language (UML) y Metamodel Object Facilities (MOF) maacutes adelante adoptariacutea CWM (Common Warehouse Metalmodel) y XMI (XML Metadata Interchange) para completar la base de lo que es MDA2

El objetivo principal de MDA es el de unificar e implementar modelos en un ambiente que maximice el retorno de las inversiones que se hacen en tecnologiacuteas de informacioacuten integrando cada aspecto de eacutestas desde el modelamiento en el funcionamiento de tecnologeias independientes desarrollo e integracioacuten en cada plataforma hasta el despliegue y el mantenimiento3

MDA permite la creacioacuten de aplicaciones portables e interoperables desde sistemas incrustados de escritorio mainframes servidores y sistemas en la internet4

La base del 99 de los proyectos que son desarrollados con MDA es UML a pesar de esto el estaacutendar que es formalmente requerido para que una arquitectura pueda hacerse llamar MDA es MOF

MOF es un meta-modelo5 que permite que la estructura y el comportamiento de los demas estaacutendares involucrados en MDA sean transmitidos viacutea XMI almacenados en repositorios MOF-compatibles transformados y manipulados por herramientas MOF y generadores de coacutedigo5

MDA significa una especificacioacuten de un sistema de Tecnologiacuteas de Informacioacuten que separa la especificacioacuten de la funcionalidad de un sistema de la especificacioacuten de la implementacioacuten de eacutesta funcionalidad en una plataforma especiacutefica6

II2 Coacutemo funciona El primer modelo es hecho por un analista de negocios en donde eacuteste no tendraacute ninguna relacion computacional se describe el sistema en base a sus requerimientos Los demaacutes modelos son derivados de eacuteste a travez de capas de abstraccioacuten como es mostrado en la Figura 17

4

Figura 1 Capas de abstraccioacuten en MDA

II3 Para queacute sirveLas herramientas estandarizadas MDA consiguen

bull Automatizar la transformacioacuten del disentildeo de modelo de negocio a la implementacioacuten de eacuteste produciendo nuevas aplicaciones mejores maacutes baratas y maacutes raacutepidas

bull Asegurar requerimientos no soacutelo en la implementacioacuten final del modelo si no tambieacuten escabilidad y seguridad

bull Obtener coacutedigo optimizado para procesos determinados el desarrollo a partir de las libreriacuteas ha sido disentildeado por algunos de los mejores desarrolladores de la industria es por eso que el coacutedigo generado por herramientas MDA es de lo mejor que se puede obtener

bull Aplicaciones son interoperables y portables disentildeadas para muacuteltiples plataformas

II4 Quieacutenes la soportanMDA es respaldado por OMG una organizacioacuten fundada por liacutederes en Tecnologiacuteas de Informacioacuten entre ellas se encuentran SuPackard American Airlines entre otras8

5

III MDA en JavaIII1 IntroduccioacutenExisten varios programas que generan coacutedigo Java mediante esta tecnologiacutea En este documento se utilizara Andromda como referencia aunque todos los programas deberiacutean lograr lo mismo Andromda puede utilizar UML 14XMI o UML 2EMF Andromda puede utilizar varias bases de datos El coacutedigo generado es de JavaEE (AndroMDA 2009)

III2 Estructura de una aplicacioacutenAntes de entrar a los pasos especiacuteficos de Java entraremos al disentildeo de una aplicacioacuten Una aplicacioacuten esta compuesta de varios componentes Los componentes con funciones similares se agrupan en capas y las capas se organizan en stacks donde una capa de un nivel superior utiliza los servicios de una capa de nivel inferior Esa aplicaciones empresariales generalmente se dividen en estas cuatro capas

bull Capa de presentacioacuten Contiene todos los componentes necesarios para interactuar con una aplicacioacuten Pueden ser paacuteginas web formatos ect Andromda permite crear interfaces con Struts y JSF Utiliza un diagrama de actividad para generar los componentes de la paacutegina web que se comunican con el sistema

bull Business Layer Contiene toda la funcionalidad y loacutegica de una aplicacioacuten Generalmente contiene una interfaz para acceder a los servicios con mayor facilidad Andromda se encarga de crear servicios para acceder informacioacuten y comunicarse con la capa de presentacioacuten Tambieacuten provee meacutetodos vaciacuteos donde va la programacioacuten que corresponde a la loacutegica del sistema

bull Cada de Acceso de informacioacuten Tiene interfaces que permiten acceder y manipular informacioacuten faacutecilmente Andromda utiliza una herramienta de mapeo llamada Hibernate que crea objetos para acceder informacioacuten Estos objetos se convierten de registros de una base de datos a objetos y viceversa

bull Capa de almacenamiento Contiene toda la informacioacuten que se desea almacenar Hibernate puede crear objetos de diversas bases de datos

La capa de presentacioacuten y el business layer pueden comunicarse de dos maneras La primera es permitirle a la capa de presentacioacuten acceso completo y la otra es comunicarse a traveacutes de objetos con propiedades La primera forma es mas faacutecil implementar y la segunda ofrece mayor seguridad y funciona cuando las capas estaacuten dispersas en varios sistemas Para mayor informacioacuten consultar la bibliografia (AndroMDA 2009)

6

III3 Desarrollo de Aplicaciones JavaAndromda utiliza los siguientes componentes para crear aplicaciones java

bull Java Development Kit

bull Maven es na herramienta que se utiliza para administrar diferentes partes de un proyecto como la construccioacuten documentacioacuten y reportaje Maven utiliza el concepto POM (Project Object Model) que es un archivo XML que indica las dependencias del proyecto y las propiedades del ambiente donde se esta desarrollando el proyecto de manera que le permite a Maven construir instalar y eliminar el proyecto Maven se encarga de recuperar todas las dependencias del proyecto (Maven 2009)

bull Jboss en un servidor de aplicaciones Un servidor de aplicaciones es la parte que se encarga del funcionamiento del sistema JBoss se encarga de servicios como la organizacioacuten y persistencia de la informacioacuten (TechTarget 2009)

Luego de alimentar a Andromda con un diagrama UML siguiendo las instrucciones de la pagina web de Andromda que se encuentra en la bibliografia Este genera el coacutedigo Java necesario para que los objetos interactuen de la forma que indica el diagrama Si los objetos interactuan con bases de datos Andromda se encarga de generar el coacutedigo necesario para recuperar y guardar archivos en la base de datos Luego de generar las clases necesarias Andromda separa el coacutedigo en dos partes El coacutedigo generado por Andromda y el coacutedigo generado por el usuario Cuando a Andromda se le indica que una clase tendraacute coacutedigo a la medida Andromda crea dos clases Una clase estaacutetica donde esta todo el coacutedigo generado por Andromda Esta clase es sobrescrita cada vez que se genera coacutedigo Por eso no se debe agregar coacutedigo manual en esa clase Luego crea clases no estaacuteticas que son la implementacioacuten de las clases creadas por Andromda El coacutedigo manual se escribe en estas clases (AndroMDA 2009)

Andromda se encarga de generar el coacutedigo necesario para que los objetos interactuen como lo indica el diagrama UML El coacutedigo agregado manualmente corresponde a la loacutegica y el funcionamiento del sistema que se esta implementando Andromda se encarga de convertir la informacioacuten automaacuteticamente Pero hay casos en los que la conversioacuten automaacutetica no satisface las necesidades del sistema y se debe sobrescribir manualmente Andromda se encarga de crear los componentes necesarios para que la capa de presentacioacuten interactue con el sistema utilizando como referencia un diagrama de actividad Al programador le corresponde crear la interfaz que el usuario observara (AndroMDA 2009)91011

7

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

IacuteNDICECaacutepitulos13 13 13 13 13 13 13 13 13 Paacutegina

I INTRODUCCIOacuteN 1313 3

II MDA 413 II1 Queacute es y coacutemo surge 13 413 II2 Coacutemo funciona 13 413 II3 Para queacute sirve1313 513 II4 Quieacutenes la soportan 13 13 5

III MDA en JAVA 613 III1 Introduccioacuten a MDA en Java 6 13 III2 Estructura de una aplicacioacuten 13 13 613 III3 Desarrollo de aplicaciones Java 13 7

IV Metodologiacutea de Booch 8 13 IV1 Queacute es y como funcioacutena 13 813 IV2 Coacutemo funciona 13 813 IV3 Queacute soporte tiene13 13 8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT) 13 913 V1 Coacutemo y cuaacutendo surgioacute13 13 913 V2 Queacute es y para queacute sirve13 13 913 V3 Coacutemo funciona 13 1013 V4 Quieacutenes lo soportan

VI LICENCIA 13 `11VII CONCLUSIONES 13 13 11VIII ANEXOS13 12IX BIBLIOGRAFIacuteA 16

2

I INTRODUCCIOacuteN

Eacutesta investigacioacuten trata acerca de cuatro temas en generalbull MDA Model Driven Architecturebull MDA en JAVA como se aplica MDA en Java (Lenguaje de programacioacuten)bull Metodologiacutea de Boochbull Metodologiacutea de Raumburgh (OMT Object Modeling Technique)

Todos estaacuten relacionados con el campo de desarrollo de software Las metodologiacuteas que se cubriraacuten han sido soacutelo alguna de las bases y los primeros intentos que se hicieron de un proceso para desarrollar software Actualmente eacutestas metodologiacuteas ya no se usan mucho a pesar de esto han contribuiacutedo considerablemente a los meacutetodos teacutecnicas y arquitecturas que se usan hoy en diacutea

3

II MDA

II1 Queacute es y coacutemo surgeModel Driven Architecture o MDA es una herramienta y una arquitectura de las Tecnologiacuteas de Informacioacuten perteneciente a el Object Management Group (OMG) creado en 1989 por 11 compantildeias liacutederes en eacuteste campo1

En 1996 OMG decide adoptar la modelacioacuten con el objetivo de ampliar su campo de aplicacioacuten un antildeo maacutes tarde adoptariacutea dos estaacutendares que seriacutean vitales para MDA el Unified Model Language (UML) y Metamodel Object Facilities (MOF) maacutes adelante adoptariacutea CWM (Common Warehouse Metalmodel) y XMI (XML Metadata Interchange) para completar la base de lo que es MDA2

El objetivo principal de MDA es el de unificar e implementar modelos en un ambiente que maximice el retorno de las inversiones que se hacen en tecnologiacuteas de informacioacuten integrando cada aspecto de eacutestas desde el modelamiento en el funcionamiento de tecnologeias independientes desarrollo e integracioacuten en cada plataforma hasta el despliegue y el mantenimiento3

MDA permite la creacioacuten de aplicaciones portables e interoperables desde sistemas incrustados de escritorio mainframes servidores y sistemas en la internet4

La base del 99 de los proyectos que son desarrollados con MDA es UML a pesar de esto el estaacutendar que es formalmente requerido para que una arquitectura pueda hacerse llamar MDA es MOF

MOF es un meta-modelo5 que permite que la estructura y el comportamiento de los demas estaacutendares involucrados en MDA sean transmitidos viacutea XMI almacenados en repositorios MOF-compatibles transformados y manipulados por herramientas MOF y generadores de coacutedigo5

MDA significa una especificacioacuten de un sistema de Tecnologiacuteas de Informacioacuten que separa la especificacioacuten de la funcionalidad de un sistema de la especificacioacuten de la implementacioacuten de eacutesta funcionalidad en una plataforma especiacutefica6

II2 Coacutemo funciona El primer modelo es hecho por un analista de negocios en donde eacuteste no tendraacute ninguna relacion computacional se describe el sistema en base a sus requerimientos Los demaacutes modelos son derivados de eacuteste a travez de capas de abstraccioacuten como es mostrado en la Figura 17

4

Figura 1 Capas de abstraccioacuten en MDA

II3 Para queacute sirveLas herramientas estandarizadas MDA consiguen

bull Automatizar la transformacioacuten del disentildeo de modelo de negocio a la implementacioacuten de eacuteste produciendo nuevas aplicaciones mejores maacutes baratas y maacutes raacutepidas

bull Asegurar requerimientos no soacutelo en la implementacioacuten final del modelo si no tambieacuten escabilidad y seguridad

bull Obtener coacutedigo optimizado para procesos determinados el desarrollo a partir de las libreriacuteas ha sido disentildeado por algunos de los mejores desarrolladores de la industria es por eso que el coacutedigo generado por herramientas MDA es de lo mejor que se puede obtener

bull Aplicaciones son interoperables y portables disentildeadas para muacuteltiples plataformas

II4 Quieacutenes la soportanMDA es respaldado por OMG una organizacioacuten fundada por liacutederes en Tecnologiacuteas de Informacioacuten entre ellas se encuentran SuPackard American Airlines entre otras8

5

III MDA en JavaIII1 IntroduccioacutenExisten varios programas que generan coacutedigo Java mediante esta tecnologiacutea En este documento se utilizara Andromda como referencia aunque todos los programas deberiacutean lograr lo mismo Andromda puede utilizar UML 14XMI o UML 2EMF Andromda puede utilizar varias bases de datos El coacutedigo generado es de JavaEE (AndroMDA 2009)

III2 Estructura de una aplicacioacutenAntes de entrar a los pasos especiacuteficos de Java entraremos al disentildeo de una aplicacioacuten Una aplicacioacuten esta compuesta de varios componentes Los componentes con funciones similares se agrupan en capas y las capas se organizan en stacks donde una capa de un nivel superior utiliza los servicios de una capa de nivel inferior Esa aplicaciones empresariales generalmente se dividen en estas cuatro capas

bull Capa de presentacioacuten Contiene todos los componentes necesarios para interactuar con una aplicacioacuten Pueden ser paacuteginas web formatos ect Andromda permite crear interfaces con Struts y JSF Utiliza un diagrama de actividad para generar los componentes de la paacutegina web que se comunican con el sistema

bull Business Layer Contiene toda la funcionalidad y loacutegica de una aplicacioacuten Generalmente contiene una interfaz para acceder a los servicios con mayor facilidad Andromda se encarga de crear servicios para acceder informacioacuten y comunicarse con la capa de presentacioacuten Tambieacuten provee meacutetodos vaciacuteos donde va la programacioacuten que corresponde a la loacutegica del sistema

bull Cada de Acceso de informacioacuten Tiene interfaces que permiten acceder y manipular informacioacuten faacutecilmente Andromda utiliza una herramienta de mapeo llamada Hibernate que crea objetos para acceder informacioacuten Estos objetos se convierten de registros de una base de datos a objetos y viceversa

bull Capa de almacenamiento Contiene toda la informacioacuten que se desea almacenar Hibernate puede crear objetos de diversas bases de datos

La capa de presentacioacuten y el business layer pueden comunicarse de dos maneras La primera es permitirle a la capa de presentacioacuten acceso completo y la otra es comunicarse a traveacutes de objetos con propiedades La primera forma es mas faacutecil implementar y la segunda ofrece mayor seguridad y funciona cuando las capas estaacuten dispersas en varios sistemas Para mayor informacioacuten consultar la bibliografia (AndroMDA 2009)

6

III3 Desarrollo de Aplicaciones JavaAndromda utiliza los siguientes componentes para crear aplicaciones java

bull Java Development Kit

bull Maven es na herramienta que se utiliza para administrar diferentes partes de un proyecto como la construccioacuten documentacioacuten y reportaje Maven utiliza el concepto POM (Project Object Model) que es un archivo XML que indica las dependencias del proyecto y las propiedades del ambiente donde se esta desarrollando el proyecto de manera que le permite a Maven construir instalar y eliminar el proyecto Maven se encarga de recuperar todas las dependencias del proyecto (Maven 2009)

bull Jboss en un servidor de aplicaciones Un servidor de aplicaciones es la parte que se encarga del funcionamiento del sistema JBoss se encarga de servicios como la organizacioacuten y persistencia de la informacioacuten (TechTarget 2009)

Luego de alimentar a Andromda con un diagrama UML siguiendo las instrucciones de la pagina web de Andromda que se encuentra en la bibliografia Este genera el coacutedigo Java necesario para que los objetos interactuen de la forma que indica el diagrama Si los objetos interactuan con bases de datos Andromda se encarga de generar el coacutedigo necesario para recuperar y guardar archivos en la base de datos Luego de generar las clases necesarias Andromda separa el coacutedigo en dos partes El coacutedigo generado por Andromda y el coacutedigo generado por el usuario Cuando a Andromda se le indica que una clase tendraacute coacutedigo a la medida Andromda crea dos clases Una clase estaacutetica donde esta todo el coacutedigo generado por Andromda Esta clase es sobrescrita cada vez que se genera coacutedigo Por eso no se debe agregar coacutedigo manual en esa clase Luego crea clases no estaacuteticas que son la implementacioacuten de las clases creadas por Andromda El coacutedigo manual se escribe en estas clases (AndroMDA 2009)

Andromda se encarga de generar el coacutedigo necesario para que los objetos interactuen como lo indica el diagrama UML El coacutedigo agregado manualmente corresponde a la loacutegica y el funcionamiento del sistema que se esta implementando Andromda se encarga de convertir la informacioacuten automaacuteticamente Pero hay casos en los que la conversioacuten automaacutetica no satisface las necesidades del sistema y se debe sobrescribir manualmente Andromda se encarga de crear los componentes necesarios para que la capa de presentacioacuten interactue con el sistema utilizando como referencia un diagrama de actividad Al programador le corresponde crear la interfaz que el usuario observara (AndroMDA 2009)91011

7

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

I INTRODUCCIOacuteN

Eacutesta investigacioacuten trata acerca de cuatro temas en generalbull MDA Model Driven Architecturebull MDA en JAVA como se aplica MDA en Java (Lenguaje de programacioacuten)bull Metodologiacutea de Boochbull Metodologiacutea de Raumburgh (OMT Object Modeling Technique)

Todos estaacuten relacionados con el campo de desarrollo de software Las metodologiacuteas que se cubriraacuten han sido soacutelo alguna de las bases y los primeros intentos que se hicieron de un proceso para desarrollar software Actualmente eacutestas metodologiacuteas ya no se usan mucho a pesar de esto han contribuiacutedo considerablemente a los meacutetodos teacutecnicas y arquitecturas que se usan hoy en diacutea

3

II MDA

II1 Queacute es y coacutemo surgeModel Driven Architecture o MDA es una herramienta y una arquitectura de las Tecnologiacuteas de Informacioacuten perteneciente a el Object Management Group (OMG) creado en 1989 por 11 compantildeias liacutederes en eacuteste campo1

En 1996 OMG decide adoptar la modelacioacuten con el objetivo de ampliar su campo de aplicacioacuten un antildeo maacutes tarde adoptariacutea dos estaacutendares que seriacutean vitales para MDA el Unified Model Language (UML) y Metamodel Object Facilities (MOF) maacutes adelante adoptariacutea CWM (Common Warehouse Metalmodel) y XMI (XML Metadata Interchange) para completar la base de lo que es MDA2

El objetivo principal de MDA es el de unificar e implementar modelos en un ambiente que maximice el retorno de las inversiones que se hacen en tecnologiacuteas de informacioacuten integrando cada aspecto de eacutestas desde el modelamiento en el funcionamiento de tecnologeias independientes desarrollo e integracioacuten en cada plataforma hasta el despliegue y el mantenimiento3

MDA permite la creacioacuten de aplicaciones portables e interoperables desde sistemas incrustados de escritorio mainframes servidores y sistemas en la internet4

La base del 99 de los proyectos que son desarrollados con MDA es UML a pesar de esto el estaacutendar que es formalmente requerido para que una arquitectura pueda hacerse llamar MDA es MOF

MOF es un meta-modelo5 que permite que la estructura y el comportamiento de los demas estaacutendares involucrados en MDA sean transmitidos viacutea XMI almacenados en repositorios MOF-compatibles transformados y manipulados por herramientas MOF y generadores de coacutedigo5

MDA significa una especificacioacuten de un sistema de Tecnologiacuteas de Informacioacuten que separa la especificacioacuten de la funcionalidad de un sistema de la especificacioacuten de la implementacioacuten de eacutesta funcionalidad en una plataforma especiacutefica6

II2 Coacutemo funciona El primer modelo es hecho por un analista de negocios en donde eacuteste no tendraacute ninguna relacion computacional se describe el sistema en base a sus requerimientos Los demaacutes modelos son derivados de eacuteste a travez de capas de abstraccioacuten como es mostrado en la Figura 17

4

Figura 1 Capas de abstraccioacuten en MDA

II3 Para queacute sirveLas herramientas estandarizadas MDA consiguen

bull Automatizar la transformacioacuten del disentildeo de modelo de negocio a la implementacioacuten de eacuteste produciendo nuevas aplicaciones mejores maacutes baratas y maacutes raacutepidas

bull Asegurar requerimientos no soacutelo en la implementacioacuten final del modelo si no tambieacuten escabilidad y seguridad

bull Obtener coacutedigo optimizado para procesos determinados el desarrollo a partir de las libreriacuteas ha sido disentildeado por algunos de los mejores desarrolladores de la industria es por eso que el coacutedigo generado por herramientas MDA es de lo mejor que se puede obtener

bull Aplicaciones son interoperables y portables disentildeadas para muacuteltiples plataformas

II4 Quieacutenes la soportanMDA es respaldado por OMG una organizacioacuten fundada por liacutederes en Tecnologiacuteas de Informacioacuten entre ellas se encuentran SuPackard American Airlines entre otras8

5

III MDA en JavaIII1 IntroduccioacutenExisten varios programas que generan coacutedigo Java mediante esta tecnologiacutea En este documento se utilizara Andromda como referencia aunque todos los programas deberiacutean lograr lo mismo Andromda puede utilizar UML 14XMI o UML 2EMF Andromda puede utilizar varias bases de datos El coacutedigo generado es de JavaEE (AndroMDA 2009)

III2 Estructura de una aplicacioacutenAntes de entrar a los pasos especiacuteficos de Java entraremos al disentildeo de una aplicacioacuten Una aplicacioacuten esta compuesta de varios componentes Los componentes con funciones similares se agrupan en capas y las capas se organizan en stacks donde una capa de un nivel superior utiliza los servicios de una capa de nivel inferior Esa aplicaciones empresariales generalmente se dividen en estas cuatro capas

bull Capa de presentacioacuten Contiene todos los componentes necesarios para interactuar con una aplicacioacuten Pueden ser paacuteginas web formatos ect Andromda permite crear interfaces con Struts y JSF Utiliza un diagrama de actividad para generar los componentes de la paacutegina web que se comunican con el sistema

bull Business Layer Contiene toda la funcionalidad y loacutegica de una aplicacioacuten Generalmente contiene una interfaz para acceder a los servicios con mayor facilidad Andromda se encarga de crear servicios para acceder informacioacuten y comunicarse con la capa de presentacioacuten Tambieacuten provee meacutetodos vaciacuteos donde va la programacioacuten que corresponde a la loacutegica del sistema

bull Cada de Acceso de informacioacuten Tiene interfaces que permiten acceder y manipular informacioacuten faacutecilmente Andromda utiliza una herramienta de mapeo llamada Hibernate que crea objetos para acceder informacioacuten Estos objetos se convierten de registros de una base de datos a objetos y viceversa

bull Capa de almacenamiento Contiene toda la informacioacuten que se desea almacenar Hibernate puede crear objetos de diversas bases de datos

La capa de presentacioacuten y el business layer pueden comunicarse de dos maneras La primera es permitirle a la capa de presentacioacuten acceso completo y la otra es comunicarse a traveacutes de objetos con propiedades La primera forma es mas faacutecil implementar y la segunda ofrece mayor seguridad y funciona cuando las capas estaacuten dispersas en varios sistemas Para mayor informacioacuten consultar la bibliografia (AndroMDA 2009)

6

III3 Desarrollo de Aplicaciones JavaAndromda utiliza los siguientes componentes para crear aplicaciones java

bull Java Development Kit

bull Maven es na herramienta que se utiliza para administrar diferentes partes de un proyecto como la construccioacuten documentacioacuten y reportaje Maven utiliza el concepto POM (Project Object Model) que es un archivo XML que indica las dependencias del proyecto y las propiedades del ambiente donde se esta desarrollando el proyecto de manera que le permite a Maven construir instalar y eliminar el proyecto Maven se encarga de recuperar todas las dependencias del proyecto (Maven 2009)

bull Jboss en un servidor de aplicaciones Un servidor de aplicaciones es la parte que se encarga del funcionamiento del sistema JBoss se encarga de servicios como la organizacioacuten y persistencia de la informacioacuten (TechTarget 2009)

Luego de alimentar a Andromda con un diagrama UML siguiendo las instrucciones de la pagina web de Andromda que se encuentra en la bibliografia Este genera el coacutedigo Java necesario para que los objetos interactuen de la forma que indica el diagrama Si los objetos interactuan con bases de datos Andromda se encarga de generar el coacutedigo necesario para recuperar y guardar archivos en la base de datos Luego de generar las clases necesarias Andromda separa el coacutedigo en dos partes El coacutedigo generado por Andromda y el coacutedigo generado por el usuario Cuando a Andromda se le indica que una clase tendraacute coacutedigo a la medida Andromda crea dos clases Una clase estaacutetica donde esta todo el coacutedigo generado por Andromda Esta clase es sobrescrita cada vez que se genera coacutedigo Por eso no se debe agregar coacutedigo manual en esa clase Luego crea clases no estaacuteticas que son la implementacioacuten de las clases creadas por Andromda El coacutedigo manual se escribe en estas clases (AndroMDA 2009)

Andromda se encarga de generar el coacutedigo necesario para que los objetos interactuen como lo indica el diagrama UML El coacutedigo agregado manualmente corresponde a la loacutegica y el funcionamiento del sistema que se esta implementando Andromda se encarga de convertir la informacioacuten automaacuteticamente Pero hay casos en los que la conversioacuten automaacutetica no satisface las necesidades del sistema y se debe sobrescribir manualmente Andromda se encarga de crear los componentes necesarios para que la capa de presentacioacuten interactue con el sistema utilizando como referencia un diagrama de actividad Al programador le corresponde crear la interfaz que el usuario observara (AndroMDA 2009)91011

7

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

II MDA

II1 Queacute es y coacutemo surgeModel Driven Architecture o MDA es una herramienta y una arquitectura de las Tecnologiacuteas de Informacioacuten perteneciente a el Object Management Group (OMG) creado en 1989 por 11 compantildeias liacutederes en eacuteste campo1

En 1996 OMG decide adoptar la modelacioacuten con el objetivo de ampliar su campo de aplicacioacuten un antildeo maacutes tarde adoptariacutea dos estaacutendares que seriacutean vitales para MDA el Unified Model Language (UML) y Metamodel Object Facilities (MOF) maacutes adelante adoptariacutea CWM (Common Warehouse Metalmodel) y XMI (XML Metadata Interchange) para completar la base de lo que es MDA2

El objetivo principal de MDA es el de unificar e implementar modelos en un ambiente que maximice el retorno de las inversiones que se hacen en tecnologiacuteas de informacioacuten integrando cada aspecto de eacutestas desde el modelamiento en el funcionamiento de tecnologeias independientes desarrollo e integracioacuten en cada plataforma hasta el despliegue y el mantenimiento3

MDA permite la creacioacuten de aplicaciones portables e interoperables desde sistemas incrustados de escritorio mainframes servidores y sistemas en la internet4

La base del 99 de los proyectos que son desarrollados con MDA es UML a pesar de esto el estaacutendar que es formalmente requerido para que una arquitectura pueda hacerse llamar MDA es MOF

MOF es un meta-modelo5 que permite que la estructura y el comportamiento de los demas estaacutendares involucrados en MDA sean transmitidos viacutea XMI almacenados en repositorios MOF-compatibles transformados y manipulados por herramientas MOF y generadores de coacutedigo5

MDA significa una especificacioacuten de un sistema de Tecnologiacuteas de Informacioacuten que separa la especificacioacuten de la funcionalidad de un sistema de la especificacioacuten de la implementacioacuten de eacutesta funcionalidad en una plataforma especiacutefica6

II2 Coacutemo funciona El primer modelo es hecho por un analista de negocios en donde eacuteste no tendraacute ninguna relacion computacional se describe el sistema en base a sus requerimientos Los demaacutes modelos son derivados de eacuteste a travez de capas de abstraccioacuten como es mostrado en la Figura 17

4

Figura 1 Capas de abstraccioacuten en MDA

II3 Para queacute sirveLas herramientas estandarizadas MDA consiguen

bull Automatizar la transformacioacuten del disentildeo de modelo de negocio a la implementacioacuten de eacuteste produciendo nuevas aplicaciones mejores maacutes baratas y maacutes raacutepidas

bull Asegurar requerimientos no soacutelo en la implementacioacuten final del modelo si no tambieacuten escabilidad y seguridad

bull Obtener coacutedigo optimizado para procesos determinados el desarrollo a partir de las libreriacuteas ha sido disentildeado por algunos de los mejores desarrolladores de la industria es por eso que el coacutedigo generado por herramientas MDA es de lo mejor que se puede obtener

bull Aplicaciones son interoperables y portables disentildeadas para muacuteltiples plataformas

II4 Quieacutenes la soportanMDA es respaldado por OMG una organizacioacuten fundada por liacutederes en Tecnologiacuteas de Informacioacuten entre ellas se encuentran SuPackard American Airlines entre otras8

5

III MDA en JavaIII1 IntroduccioacutenExisten varios programas que generan coacutedigo Java mediante esta tecnologiacutea En este documento se utilizara Andromda como referencia aunque todos los programas deberiacutean lograr lo mismo Andromda puede utilizar UML 14XMI o UML 2EMF Andromda puede utilizar varias bases de datos El coacutedigo generado es de JavaEE (AndroMDA 2009)

III2 Estructura de una aplicacioacutenAntes de entrar a los pasos especiacuteficos de Java entraremos al disentildeo de una aplicacioacuten Una aplicacioacuten esta compuesta de varios componentes Los componentes con funciones similares se agrupan en capas y las capas se organizan en stacks donde una capa de un nivel superior utiliza los servicios de una capa de nivel inferior Esa aplicaciones empresariales generalmente se dividen en estas cuatro capas

bull Capa de presentacioacuten Contiene todos los componentes necesarios para interactuar con una aplicacioacuten Pueden ser paacuteginas web formatos ect Andromda permite crear interfaces con Struts y JSF Utiliza un diagrama de actividad para generar los componentes de la paacutegina web que se comunican con el sistema

bull Business Layer Contiene toda la funcionalidad y loacutegica de una aplicacioacuten Generalmente contiene una interfaz para acceder a los servicios con mayor facilidad Andromda se encarga de crear servicios para acceder informacioacuten y comunicarse con la capa de presentacioacuten Tambieacuten provee meacutetodos vaciacuteos donde va la programacioacuten que corresponde a la loacutegica del sistema

bull Cada de Acceso de informacioacuten Tiene interfaces que permiten acceder y manipular informacioacuten faacutecilmente Andromda utiliza una herramienta de mapeo llamada Hibernate que crea objetos para acceder informacioacuten Estos objetos se convierten de registros de una base de datos a objetos y viceversa

bull Capa de almacenamiento Contiene toda la informacioacuten que se desea almacenar Hibernate puede crear objetos de diversas bases de datos

La capa de presentacioacuten y el business layer pueden comunicarse de dos maneras La primera es permitirle a la capa de presentacioacuten acceso completo y la otra es comunicarse a traveacutes de objetos con propiedades La primera forma es mas faacutecil implementar y la segunda ofrece mayor seguridad y funciona cuando las capas estaacuten dispersas en varios sistemas Para mayor informacioacuten consultar la bibliografia (AndroMDA 2009)

6

III3 Desarrollo de Aplicaciones JavaAndromda utiliza los siguientes componentes para crear aplicaciones java

bull Java Development Kit

bull Maven es na herramienta que se utiliza para administrar diferentes partes de un proyecto como la construccioacuten documentacioacuten y reportaje Maven utiliza el concepto POM (Project Object Model) que es un archivo XML que indica las dependencias del proyecto y las propiedades del ambiente donde se esta desarrollando el proyecto de manera que le permite a Maven construir instalar y eliminar el proyecto Maven se encarga de recuperar todas las dependencias del proyecto (Maven 2009)

bull Jboss en un servidor de aplicaciones Un servidor de aplicaciones es la parte que se encarga del funcionamiento del sistema JBoss se encarga de servicios como la organizacioacuten y persistencia de la informacioacuten (TechTarget 2009)

Luego de alimentar a Andromda con un diagrama UML siguiendo las instrucciones de la pagina web de Andromda que se encuentra en la bibliografia Este genera el coacutedigo Java necesario para que los objetos interactuen de la forma que indica el diagrama Si los objetos interactuan con bases de datos Andromda se encarga de generar el coacutedigo necesario para recuperar y guardar archivos en la base de datos Luego de generar las clases necesarias Andromda separa el coacutedigo en dos partes El coacutedigo generado por Andromda y el coacutedigo generado por el usuario Cuando a Andromda se le indica que una clase tendraacute coacutedigo a la medida Andromda crea dos clases Una clase estaacutetica donde esta todo el coacutedigo generado por Andromda Esta clase es sobrescrita cada vez que se genera coacutedigo Por eso no se debe agregar coacutedigo manual en esa clase Luego crea clases no estaacuteticas que son la implementacioacuten de las clases creadas por Andromda El coacutedigo manual se escribe en estas clases (AndroMDA 2009)

Andromda se encarga de generar el coacutedigo necesario para que los objetos interactuen como lo indica el diagrama UML El coacutedigo agregado manualmente corresponde a la loacutegica y el funcionamiento del sistema que se esta implementando Andromda se encarga de convertir la informacioacuten automaacuteticamente Pero hay casos en los que la conversioacuten automaacutetica no satisface las necesidades del sistema y se debe sobrescribir manualmente Andromda se encarga de crear los componentes necesarios para que la capa de presentacioacuten interactue con el sistema utilizando como referencia un diagrama de actividad Al programador le corresponde crear la interfaz que el usuario observara (AndroMDA 2009)91011

7

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

Figura 1 Capas de abstraccioacuten en MDA

II3 Para queacute sirveLas herramientas estandarizadas MDA consiguen

bull Automatizar la transformacioacuten del disentildeo de modelo de negocio a la implementacioacuten de eacuteste produciendo nuevas aplicaciones mejores maacutes baratas y maacutes raacutepidas

bull Asegurar requerimientos no soacutelo en la implementacioacuten final del modelo si no tambieacuten escabilidad y seguridad

bull Obtener coacutedigo optimizado para procesos determinados el desarrollo a partir de las libreriacuteas ha sido disentildeado por algunos de los mejores desarrolladores de la industria es por eso que el coacutedigo generado por herramientas MDA es de lo mejor que se puede obtener

bull Aplicaciones son interoperables y portables disentildeadas para muacuteltiples plataformas

II4 Quieacutenes la soportanMDA es respaldado por OMG una organizacioacuten fundada por liacutederes en Tecnologiacuteas de Informacioacuten entre ellas se encuentran SuPackard American Airlines entre otras8

5

III MDA en JavaIII1 IntroduccioacutenExisten varios programas que generan coacutedigo Java mediante esta tecnologiacutea En este documento se utilizara Andromda como referencia aunque todos los programas deberiacutean lograr lo mismo Andromda puede utilizar UML 14XMI o UML 2EMF Andromda puede utilizar varias bases de datos El coacutedigo generado es de JavaEE (AndroMDA 2009)

III2 Estructura de una aplicacioacutenAntes de entrar a los pasos especiacuteficos de Java entraremos al disentildeo de una aplicacioacuten Una aplicacioacuten esta compuesta de varios componentes Los componentes con funciones similares se agrupan en capas y las capas se organizan en stacks donde una capa de un nivel superior utiliza los servicios de una capa de nivel inferior Esa aplicaciones empresariales generalmente se dividen en estas cuatro capas

bull Capa de presentacioacuten Contiene todos los componentes necesarios para interactuar con una aplicacioacuten Pueden ser paacuteginas web formatos ect Andromda permite crear interfaces con Struts y JSF Utiliza un diagrama de actividad para generar los componentes de la paacutegina web que se comunican con el sistema

bull Business Layer Contiene toda la funcionalidad y loacutegica de una aplicacioacuten Generalmente contiene una interfaz para acceder a los servicios con mayor facilidad Andromda se encarga de crear servicios para acceder informacioacuten y comunicarse con la capa de presentacioacuten Tambieacuten provee meacutetodos vaciacuteos donde va la programacioacuten que corresponde a la loacutegica del sistema

bull Cada de Acceso de informacioacuten Tiene interfaces que permiten acceder y manipular informacioacuten faacutecilmente Andromda utiliza una herramienta de mapeo llamada Hibernate que crea objetos para acceder informacioacuten Estos objetos se convierten de registros de una base de datos a objetos y viceversa

bull Capa de almacenamiento Contiene toda la informacioacuten que se desea almacenar Hibernate puede crear objetos de diversas bases de datos

La capa de presentacioacuten y el business layer pueden comunicarse de dos maneras La primera es permitirle a la capa de presentacioacuten acceso completo y la otra es comunicarse a traveacutes de objetos con propiedades La primera forma es mas faacutecil implementar y la segunda ofrece mayor seguridad y funciona cuando las capas estaacuten dispersas en varios sistemas Para mayor informacioacuten consultar la bibliografia (AndroMDA 2009)

6

III3 Desarrollo de Aplicaciones JavaAndromda utiliza los siguientes componentes para crear aplicaciones java

bull Java Development Kit

bull Maven es na herramienta que se utiliza para administrar diferentes partes de un proyecto como la construccioacuten documentacioacuten y reportaje Maven utiliza el concepto POM (Project Object Model) que es un archivo XML que indica las dependencias del proyecto y las propiedades del ambiente donde se esta desarrollando el proyecto de manera que le permite a Maven construir instalar y eliminar el proyecto Maven se encarga de recuperar todas las dependencias del proyecto (Maven 2009)

bull Jboss en un servidor de aplicaciones Un servidor de aplicaciones es la parte que se encarga del funcionamiento del sistema JBoss se encarga de servicios como la organizacioacuten y persistencia de la informacioacuten (TechTarget 2009)

Luego de alimentar a Andromda con un diagrama UML siguiendo las instrucciones de la pagina web de Andromda que se encuentra en la bibliografia Este genera el coacutedigo Java necesario para que los objetos interactuen de la forma que indica el diagrama Si los objetos interactuan con bases de datos Andromda se encarga de generar el coacutedigo necesario para recuperar y guardar archivos en la base de datos Luego de generar las clases necesarias Andromda separa el coacutedigo en dos partes El coacutedigo generado por Andromda y el coacutedigo generado por el usuario Cuando a Andromda se le indica que una clase tendraacute coacutedigo a la medida Andromda crea dos clases Una clase estaacutetica donde esta todo el coacutedigo generado por Andromda Esta clase es sobrescrita cada vez que se genera coacutedigo Por eso no se debe agregar coacutedigo manual en esa clase Luego crea clases no estaacuteticas que son la implementacioacuten de las clases creadas por Andromda El coacutedigo manual se escribe en estas clases (AndroMDA 2009)

Andromda se encarga de generar el coacutedigo necesario para que los objetos interactuen como lo indica el diagrama UML El coacutedigo agregado manualmente corresponde a la loacutegica y el funcionamiento del sistema que se esta implementando Andromda se encarga de convertir la informacioacuten automaacuteticamente Pero hay casos en los que la conversioacuten automaacutetica no satisface las necesidades del sistema y se debe sobrescribir manualmente Andromda se encarga de crear los componentes necesarios para que la capa de presentacioacuten interactue con el sistema utilizando como referencia un diagrama de actividad Al programador le corresponde crear la interfaz que el usuario observara (AndroMDA 2009)91011

7

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

III MDA en JavaIII1 IntroduccioacutenExisten varios programas que generan coacutedigo Java mediante esta tecnologiacutea En este documento se utilizara Andromda como referencia aunque todos los programas deberiacutean lograr lo mismo Andromda puede utilizar UML 14XMI o UML 2EMF Andromda puede utilizar varias bases de datos El coacutedigo generado es de JavaEE (AndroMDA 2009)

III2 Estructura de una aplicacioacutenAntes de entrar a los pasos especiacuteficos de Java entraremos al disentildeo de una aplicacioacuten Una aplicacioacuten esta compuesta de varios componentes Los componentes con funciones similares se agrupan en capas y las capas se organizan en stacks donde una capa de un nivel superior utiliza los servicios de una capa de nivel inferior Esa aplicaciones empresariales generalmente se dividen en estas cuatro capas

bull Capa de presentacioacuten Contiene todos los componentes necesarios para interactuar con una aplicacioacuten Pueden ser paacuteginas web formatos ect Andromda permite crear interfaces con Struts y JSF Utiliza un diagrama de actividad para generar los componentes de la paacutegina web que se comunican con el sistema

bull Business Layer Contiene toda la funcionalidad y loacutegica de una aplicacioacuten Generalmente contiene una interfaz para acceder a los servicios con mayor facilidad Andromda se encarga de crear servicios para acceder informacioacuten y comunicarse con la capa de presentacioacuten Tambieacuten provee meacutetodos vaciacuteos donde va la programacioacuten que corresponde a la loacutegica del sistema

bull Cada de Acceso de informacioacuten Tiene interfaces que permiten acceder y manipular informacioacuten faacutecilmente Andromda utiliza una herramienta de mapeo llamada Hibernate que crea objetos para acceder informacioacuten Estos objetos se convierten de registros de una base de datos a objetos y viceversa

bull Capa de almacenamiento Contiene toda la informacioacuten que se desea almacenar Hibernate puede crear objetos de diversas bases de datos

La capa de presentacioacuten y el business layer pueden comunicarse de dos maneras La primera es permitirle a la capa de presentacioacuten acceso completo y la otra es comunicarse a traveacutes de objetos con propiedades La primera forma es mas faacutecil implementar y la segunda ofrece mayor seguridad y funciona cuando las capas estaacuten dispersas en varios sistemas Para mayor informacioacuten consultar la bibliografia (AndroMDA 2009)

6

III3 Desarrollo de Aplicaciones JavaAndromda utiliza los siguientes componentes para crear aplicaciones java

bull Java Development Kit

bull Maven es na herramienta que se utiliza para administrar diferentes partes de un proyecto como la construccioacuten documentacioacuten y reportaje Maven utiliza el concepto POM (Project Object Model) que es un archivo XML que indica las dependencias del proyecto y las propiedades del ambiente donde se esta desarrollando el proyecto de manera que le permite a Maven construir instalar y eliminar el proyecto Maven se encarga de recuperar todas las dependencias del proyecto (Maven 2009)

bull Jboss en un servidor de aplicaciones Un servidor de aplicaciones es la parte que se encarga del funcionamiento del sistema JBoss se encarga de servicios como la organizacioacuten y persistencia de la informacioacuten (TechTarget 2009)

Luego de alimentar a Andromda con un diagrama UML siguiendo las instrucciones de la pagina web de Andromda que se encuentra en la bibliografia Este genera el coacutedigo Java necesario para que los objetos interactuen de la forma que indica el diagrama Si los objetos interactuan con bases de datos Andromda se encarga de generar el coacutedigo necesario para recuperar y guardar archivos en la base de datos Luego de generar las clases necesarias Andromda separa el coacutedigo en dos partes El coacutedigo generado por Andromda y el coacutedigo generado por el usuario Cuando a Andromda se le indica que una clase tendraacute coacutedigo a la medida Andromda crea dos clases Una clase estaacutetica donde esta todo el coacutedigo generado por Andromda Esta clase es sobrescrita cada vez que se genera coacutedigo Por eso no se debe agregar coacutedigo manual en esa clase Luego crea clases no estaacuteticas que son la implementacioacuten de las clases creadas por Andromda El coacutedigo manual se escribe en estas clases (AndroMDA 2009)

Andromda se encarga de generar el coacutedigo necesario para que los objetos interactuen como lo indica el diagrama UML El coacutedigo agregado manualmente corresponde a la loacutegica y el funcionamiento del sistema que se esta implementando Andromda se encarga de convertir la informacioacuten automaacuteticamente Pero hay casos en los que la conversioacuten automaacutetica no satisface las necesidades del sistema y se debe sobrescribir manualmente Andromda se encarga de crear los componentes necesarios para que la capa de presentacioacuten interactue con el sistema utilizando como referencia un diagrama de actividad Al programador le corresponde crear la interfaz que el usuario observara (AndroMDA 2009)91011

7

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

III3 Desarrollo de Aplicaciones JavaAndromda utiliza los siguientes componentes para crear aplicaciones java

bull Java Development Kit

bull Maven es na herramienta que se utiliza para administrar diferentes partes de un proyecto como la construccioacuten documentacioacuten y reportaje Maven utiliza el concepto POM (Project Object Model) que es un archivo XML que indica las dependencias del proyecto y las propiedades del ambiente donde se esta desarrollando el proyecto de manera que le permite a Maven construir instalar y eliminar el proyecto Maven se encarga de recuperar todas las dependencias del proyecto (Maven 2009)

bull Jboss en un servidor de aplicaciones Un servidor de aplicaciones es la parte que se encarga del funcionamiento del sistema JBoss se encarga de servicios como la organizacioacuten y persistencia de la informacioacuten (TechTarget 2009)

Luego de alimentar a Andromda con un diagrama UML siguiendo las instrucciones de la pagina web de Andromda que se encuentra en la bibliografia Este genera el coacutedigo Java necesario para que los objetos interactuen de la forma que indica el diagrama Si los objetos interactuan con bases de datos Andromda se encarga de generar el coacutedigo necesario para recuperar y guardar archivos en la base de datos Luego de generar las clases necesarias Andromda separa el coacutedigo en dos partes El coacutedigo generado por Andromda y el coacutedigo generado por el usuario Cuando a Andromda se le indica que una clase tendraacute coacutedigo a la medida Andromda crea dos clases Una clase estaacutetica donde esta todo el coacutedigo generado por Andromda Esta clase es sobrescrita cada vez que se genera coacutedigo Por eso no se debe agregar coacutedigo manual en esa clase Luego crea clases no estaacuteticas que son la implementacioacuten de las clases creadas por Andromda El coacutedigo manual se escribe en estas clases (AndroMDA 2009)

Andromda se encarga de generar el coacutedigo necesario para que los objetos interactuen como lo indica el diagrama UML El coacutedigo agregado manualmente corresponde a la loacutegica y el funcionamiento del sistema que se esta implementando Andromda se encarga de convertir la informacioacuten automaacuteticamente Pero hay casos en los que la conversioacuten automaacutetica no satisface las necesidades del sistema y se debe sobrescribir manualmente Andromda se encarga de crear los componentes necesarios para que la capa de presentacioacuten interactue con el sistema utilizando como referencia un diagrama de actividad Al programador le corresponde crear la interfaz que el usuario observara (AndroMDA 2009)91011

7

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

IV Metodologiacutea de BoochIV1 Queacute es y coacutemo surgeLa metodologiacutea de Booch o el disentildeo orientado a objetos de Grady Booch (OOD) es un precursor al Modelamiento Unificado (UML) Provee una forma de desarrollar anaacutelisis y disentildeo 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

La metodologiacutea de Booch es secuencial en el sentido que la fase de anaacutelisis es completada y posteriormente la fase de disentildeo tambieacuten Es ciacuteclica en el sentido que cada fase estaacute compuesta de pasos ciacuteclicos maacutes pequentildeos

La metodologiacutea de Booch se enfoca en el anaacutelisis y el disentildeo y no en la implementacioacuten o la prueba del resultado de estos13

Define seis tipos de diagramas clase objeto estado de transicioacuten interaccioacuten modulo y proceso

IV2 Coacutemo funcionaLa fase de anaacutelisis se divide en pasos

1 Establecer los requerimientos desde una perspectiva del consumidor o usuario eacuteste paso genera una descripcioacuten de alto nivel del funcionamiento y de la estructura del sistema

2 Anaacutelisis de dominio aquiacute se definen las clases sus atributos la herencia de clases y meacutetodos de eacutestas Los diagramas de los objetos son realizados posteriormente

3 Eacuteste paso completa la fase del anaacutelisis con la validacioacuten hasta que la consistencia se alcance

Despueacutes de haber desarrollado la fase de anaacutelisis se procede a la fase de disentildeo La fase de disentildeo tambieacuten es iterativa Un disentildeo loacutegico es mapeado fiacutesicamente en donde los detalles de la ejecucioacuten procesos rendimiento tipo de datos estructura de datosvisibilidad y distribucioacuten son establecidos Se crea un prototipo y se prueba eacuteste proceso consiste en la iteracioacuten a travez de el disentildeo loacutegico el disentildeo fiacutesico prototipo y la prueba

IV3 Queacute soporte tieneActualmente la metodologiacutea de Booch fue praacutecticamente suplantada por UML tambieacuten propuesta por Grady Booch y otras dos personas A pesar de esto ha contribuiacutedo y se ha utilizado en otras metodologiacuteas que se usan actualmente como la RUP (Rational Unified Process)

8

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

V Metodologiacutea de Rumbaugh (Object Modeling Technique OMT)

V1 iquestCoacutemo y cuaacutendo surgioacute

En 1991 James Rumbaugh quien es un metodoacutelogo de la programacioacuten orientada a objetos mientras trabajaba en General Electric Research amp Development (GE RampD) desarrolloacute junto a Mike Blaha Bill Premerlani Fred Eddy y Bill Lorensen una teacutecnica llamada OMT (Object Modeling Techinque)3 Esta teacutecnica no solo funciona para programacioacuten ya que tambieacuten se ha usado para problemas de la vida real 1 Esta metodologiacutea fue uno de los atributos de James Rumbaugh para la creacioacuten de UML (Unified Modeling Language)

V2 iquestQueacute es y para queacute sirve

Este metodologiacutea la cual es predecesora de UML ayuda en el desarrollo de procesos orientados a objetos ya que sirve para definir un sistema a traveacutes de tres modelos modelo de objetos (object model) modelo dinaacutemico (dynamic model) y modelo funcional (funtional model)

Modelo de Objetos13 Es el maacutes importante de los tres ya que este describe las clases de las cuales se derivan los objetos en un sistema mostrando la relacioacuten entre las clases sus atributos y operaciones (meacutetodos) Este modelo es representado graacuteficamente por un diagrama de clases 14

Modelo Dinaacutemico13 Este modelo describe la dinaacutemica entre los objetos y sus cambios de estado a traveacutes del tiempo Los cambios de estado son dados por eventos de un objeto que afectan a otro objeto al interactuar 14

Este modelo es representado por diagramas que describen escenarios en estos escenarios se presentan los objetos y la secuencia de eventos de estos objetos que ocurren en un tiempo preciso 15

Graacuteficamente se representan por diagramas de estado (state charts)1416

Modelo Funcional13 Este modelo es un diagrama que muestra las transformaciones que sufre la informacioacuten que maneja del sistema En otras palabras describe lo que el sistema hace sin embargo no describe como lo hace13 Este modelo es representado graacuteficamente con un data flow diagram (DFD) que muestra el flujo de los valores Este flujo ser refiere a lo que puede pasar con la informacioacuten (valores) como por ejemplo el ingreso de valores operaciones entre valores guardar valores o salida de valores 15

9

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

V3 iquestCoacutemo funcionaPara desarrollar un proceso OMT se necesitan seguir los siguientes pasos

bull Anaacutelisisbull Disentildeo del Sistemabull Disentildeo de Objetosbull Implementacioacuten

El modelaje OMT se hace uacutenicamente en el primer paso y despueacutes solo sirve de apoyo para los demaacutes pasos

Anaacutelisis 14

13 En este paso se debe de saber la descripcioacuten del problema y el dominio del problema teniendo ya en claro esto se procede a elaborar un modelo de objetos el cual ayudara a

bull Identificar los objetosbull Descartar clases innecesarias o incorrectasbull Identificar asociaciones entre objetos clasesbull Descartar asociaciones innecesarias o incorrectasbull Identificar atributos de los objetosbull Descartar atributos innecesarios o incorrectosbull Usar herencia para compartir estructuras comunes entre objetos

Ya que se tiene el modelo de objetos se procede a elaborar el modelo dinaacutemico para esto se necesita

bull Identificar casos de uso y preparar escenariosbull Identificar los eventos entre objetos estos son las operaciones que se describen

en el diagrama de modelo de objetosbull Preparar un flujo de eventos para el sistemabull Elaborar diagramas de estado para las clase

Despueacutes se procede a elaborar el modelo funcional para esto se deben seguir los siguientes pasos

bull Identificar ingresos de valores y salidas de valoresbull Describir que es lo que hace cada funcioacuten (evento)

V 4 iquestQuieacutenes lo soportan13 Cualquier software que soporte diagramas UML ya que el OMT tiene sus equivalentes con respecto a UML

10

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

VI LICENCIAMDA MDA en Java Metodologiacutea de Booch por Carlos Loacutepez Ernesto Rodriacuteguez y Jeffry Turcios estaacute registrado bajo la licencia Creative Commons Attribution 30 Guatemala License

VII CONCLUSIONESbull La tecnologia MDA facilita programar la interaccioacuten que hay entre objetos aunque no

puede programar la logica y funcionamiento del programabull MDA puede hacer la programacion maacutes eficiente ya que el programador no se tiene que

preocupar de programar la interaccioacuten entre objetos y otros componentes como base de datos

bull El coacutedigo que se genera con herramientas MDA Model Driven Architecture es de el coacutedigo maacutes optimizado que puede obtenerse en la industria

bull MDA Model Driven Architecture estaacute siendo desarrollada por empresas liacutederes en la industria de Tecnologiacuteas de la informacioacuten y son los maacutes interesados en seguirla mejorando

bull La metodologiacutea de Booch sirvioacute en su tiempo ya que fue uno de los primeros intentos por modelar un sistema a travez de un proceso Eacuteste contribuyo mucho a lo que ahora es UML

11

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

VIII ANEXOS

VII1 Notaciones Baacutesicas de OMTModelo de Objetos

Clase1313 13 13 13 13 13

Asosiacioacuten

Agregacioacuten13

Modelo

Herencia

12

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

13

Modelo Dinaacutemico

Evento

Evento con atributo

Estado inicial y final

Mandar un objeto a otro objeto

Modelo funcional

Proceso

Flujo de informacioacuten entre procesos

13

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

Guardar Informacioacuten

Control de flujo

Ingresar a informacioacuten guardada

Actualizar informcaioacuten guardada

Composicioacuten de valores

Duplicacioacuten de valores

Descomposicioacuten de valores

14

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

VII2 Diagramas de la metodologiacutea de Booch

Adornos en las clases Se usan para proveer maacutes informacioacuten de la clase

15

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

16

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522

IX BIBLIOGRAFIacuteA

17

1 About the Object Management Grouptrade (OMGtrade) Paacutegina web de OMGtrade httpwwwomgorggettingstartedgettingstartedindexhtm

2 MDA Frequently Asked Questions Paacutegina web de OMGtrade Can you tell me something about the history of the MDA httpwwwomgorgmdafaq_mdahtm

3 Jon Siegel Vicepresidente de tecnologiacuteas de transferencia SD Times 15 de Octubre del 2002 OMGs Model Driven Architecture httpwwwsdtimescomcontentarticleaspxArticleID=26807

4 MDA Frequently Asked Questions Paacutegina web de OMGtrade What is the role of UML and MOF in the MDA httpwwwomgorgmdafaq_mdahtm

5 Metamodeling Wikipedia the free encyclopedia httpenwikipediaorgwikiMeta_model

6 OMGrsquos approach validation in MASTER IST Project Master Overview httpmodeldrivenarchitectureesiesmda_overviewhtml

7 Mahesh H Donani IBM Software USA A picture is Worth a 1000 Words httpwwwjotfmissuesissue_2006_03column4

8 MDA Vendor Directory Listing Paacutegina web de OMGtrade httpmda-directoryomgorgvendorlisthtm

9 AndroMDAorg 2009 Getting Started Java Recuperado el 25 de Febrero del 2009 de Joomialis Free Software URL httpgalaxyandromdaorgindexphpoption=com_contentamptask20=categoryampsectionid20=11ampid=42ampItemid=89

10 Maven 2009 Introduction to POM Recuperado el 25 de feberero del 2009 de Apache Software Foundation URL httpmavenapacheorgguidesintroductionintroduction-to-the-pomhtml

11 TechTarget 2009 Application Server Recuperado el 25 de febrero del 2009 de TechTarget URL httpsearchsqlservertechtargetcomsDefinition0sid87_gci21158400html

12 IBM 2003 IBM Rational Software joins IBM traning portfolio httpdownloadboulderibmcomibmdlpubsoftwaredwrationaledgeaug03t_trainingportfoliopdf

13 Ronald LeRoi Burback Stanford University 1998 The Booch Methodology httpinfolabstanfordedu~burbackwatersluicenode55html

14 W Schaufelberger D Keller and F Kraus Computermethoden der Automatisierungstechnik (1998) Object-Oriented Software Development Using Object Modeling Technique (OMT) URL httppublicationsksuedusaConferencesSystems20Analysis20SeminarArticle8pdf

15 Debra j Richardson University of California Information and computer Schience 125 Project in Software System Development Object Modeling Technique URL httpwwwicsuciedu~djrics125OMThtml

16 James Rumbaugh InformIT URL httpwwwinformitcomauthorsbioaspxa=D3DD9437-09E2-448F-9EE3-6AAD01752522