SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Interação entre MDA e PMBOK para Suporte ao
                Desenvolvimento de Aplicações Complexas

                        João Marco C. Silva, Thiago L. Feitoza, Marcel L. Oliveira,
                                                                                    ∗
                       Paulo E. Osses, Thiago F. Freire, Rogério P. C. Nascimento
                                               Universidade Federal de Sergipe
                                                        Sergipe, Brasil

                joaomarco@dcomp.ufs.br, {tfeitoza, marcel.ufs, paulo.darc}@gmail.com
                            fraga_ufs@yahoo.com.br, rogerio@ufs.br

ABSTRACT                                                          conceitua¸˜o da MDA e do PMBOK, juntamente com uma
                                                                            ca
Model-Driven Architecture (MDA) is a development metho-           proposta de integra¸˜o entre os mesmos. Especificamente,
                                                                                       ca
dology where the modeling is the central focus. This mode-        ser˜o abordados conceitos e tecnologias relacionadas com a
                                                                     a
ling should be done in a way that is independent of a spe-        MDA, como UML e CWM; os modelos definidos pela MDA;
cific platform. Thus, the model generated can be used to           o ciclo de vida MDA; ferramentas CASE que suportam essa
develop the system across multiple platforms, which helps         metodologia; uma descri¸˜o geral do PMBOK; uma sugest˜o
                                                                                          ca                              a
in future maintenance, upgrades and migration of the sys-         de uso da MDA com o PMBOK; e, finalmente, as conclus˜es o
tem. In order to manage the development, the use of a guide       e trabalhos futuros.
containing good management practices can be applied. The
guide that can be used is the PMBOK, which can be used
for various areas of knowledge, not only for projects of infor-
                                                                  PALAVRAS-CHAVE
                                                                  MDA, PMBOK, EAP
mation technology. This work brings a concept of MDA and
the PMBOK, along with a proposal for integration between
them. Specifically, it will be addressed concepts and tecno-       1. INTRODUÇÃO
logies related to MDA, such as UML and CWM; the models            Atualmente, o r´pido desenvolvimento na ´rea da computa-
                                                                                  a                           a
defined by MDA; the MDA lifecycle; CASE tools that sup-            ¸˜o est´ diminuindo bastante o tempo necess´rio para tornar
                                                                  ca     a                                      a
port this methodology; a brief description of PMBOK; a            uma determinada tecnologia obsoleta. Empresas que visam
suggestion of use of MDA alongside PMBOK; and, finally,            manter seus sistemas sempre atuais gastam um tempo e es-
the conclusions and future work.                                  for¸o consider´veis nas tarefas de atualiza¸˜o e migra¸˜o [6].
                                                                     c          a                            ca         ca
                                                                  Para solucionar esses problemas, surgem abordagens que vi-
RESUMO                                                            sam separar as funcionalidades de um sistema de sua imple-
Model-Driven Architecture, ou MDA, trata-se de uma me-            menta¸˜o. Uma dessas abordagens ´ a MDA (Model-Driven
                                                                         ca                            e
todologia de desenvolvimento onde a modelagem ´ o foco
                                                   e              Architecture).
central. Essa modelagem deve ser feita de forma que seja
independente de uma plataforma espec´    ıfica. Dessa forma,       A MDA ´ uma abordagem para o desenvolvimento de softwa-
                                                                          e
o modelo gerado pode ser utilizado para o desenvolvimento         res proposta pela OMG (Object Management Group) em
do sistema em diversas plataformas, o que ajuda em futuras        2001. De forma simplificada, a MDA visa, a partir do desen-
         co           co         co
manuten¸˜es, atualiza¸˜es e migra¸˜es do sistema. De forma        volvimento de v´rios modelos, capturar a l´gica do neg´cio
                                                                                  a                         o            o
a gerenciar o desenvolvimento, a utiliza¸˜o de um guia con-
                                        ca                        em uma forma independente de plataforma. A partir des-
tendo boas pr´ticas de gerenciamento pode ser aplicada. O
              a                                                   ses modelos, seriam utilizadas ferramentas que gerariam o
guia citado trata-se do PMBOK, o qual pode ser utilizado          c´digo do produto para uma determinada plataforma. Por-
                                                                   o
para diversas ´rea de conhecimento, e n˜o s´ para proje-
               a                           a o                    tanto, numa eventual mudan¸a de tecnologia, precisa-se ape-
                                                                                              c
tos de tecnologia da informa¸˜o. Este trabalho traz uma
                             ca                                   nas aplicar uma ferramenta que transforme os modelos ge-
                                                                  rados anteriormente em c´digo para essa nova tecnologia.
                                                                                           o
∗Orientador
                                                                  Abordagens anteriores em desenvolvimento dirigido por mo-
                                                                  delos falharam por um fenˆmeno denominado “vendor lock-
                                                                                             o
                                                                  in”. Cada ferramenta anteriormente utilizava um formato
                                                                  pr´prio, com um contrato de licen¸a restritivo [4]. Para so-
                                                                     o                              c
                                                                  lucionar esse problema, a OMG definiu um conjunto de pa-
                                                                  dr˜es abertos para o desenvolvimento de software. Alguns
                                                                     o
                                                                  deles j´ existentes previamente, outros elaborados especial-
                                                                         a
                                                                  mente para a abordagem MDA. Por exemplo, pode-se citar:
                                                                  UML (Unified Modeling Language), MOF (Meta-Object Fa-
                                                                  cility) e XMI (XML Metadata Interchange).
e             ca
Al´m da utiliza¸˜o de uma metodologia de desenvolvimento                                            ıvel
                                                                 metamodelos. E o n´ M3 ´ o n´ do meta-metamodelo,
                                                                                      ıvel    e
como a MDA, ´ importante que haja uma gerˆncia do pro-
                 e                             e                 isto ´, o MOF. Um bom exemplo dessa arquitetura seria uma
                                                                      e
cesso de desenvolvimento. A fim de organizar a pr´tica de
                                                    a            aplica¸˜o de a¸˜es da bolsa de valores. No n´ M0 estariam
                                                                        ca       co                          ıvel
gerˆncia, foi lan¸ado o PMBOK (Project Management Body
    e             c                                              informa¸˜es sobre as empresas e os valores das a¸˜es de cada
                                                                           co                                     co
of Knowlegde). O PMBOK corresponde a um guia que re´ ne  u       uma. No n´ M1 est˜o as defini¸˜es do banco de dados, que
                                                                              ıvel     a           co
um s´rie de pr´ticas para a realiza¸˜o da gest˜o de projetos
      e         a                  ca         a                  indica que o nome da empresa ´ do tipo String. O n´ M2
                                                                                                 e                    ıvel
em diversas ´reas de conhecimento. Uma boa gest˜o de pro-
             a                                    a              cont´m informa¸˜es sobre a estrutura do banco de dados,
                                                                      e            co
cessos pode resultar em bons resultados e redu¸˜o do tempo
                                               ca                por exemplo, que uma tabela ´ composta de registros, que
                                                                                                 e
e esfor¸o aplicado nas tarefas de migra¸˜o e atualiza¸˜o de
        c                               ca            ca         s˜o compostos de campos e que cada campo deve ter um
                                                                  a
sistemas.                                                        tipo. Finalmente, o n´ M3 ´ o modelo MOF, que engloba
                                                                                       ıvel    e
                                                                 defini¸˜es para v´rios modelos e meta-modelos. O modelo
                                                                        co          a
As pr´ximas se¸˜es desse artigo estar˜o assim organizadas:
      o         co                     a                         MOF pode ser visto na Figura 1.
a se¸˜o 2 tratar´ sobre conceitos e tecnologias utilizadas em
    ca          a
MDA; a se¸˜o 3 abordar´ brevemente o PMBOK; a inte-
            ca            a
ra¸˜o entre PMBOK e MDA ser´ discutida na se¸˜o 4; e,
  ca                               a                 ca
finalmente, a se¸˜o 5 apresentar´ as conclus˜es e os poss´
                 ca               a           o             ı-
veis trabalhos futuros.

1.1 Trabalhos relacionados
Uma sugest˜o de crit´rios a serem considerados na avalia¸˜o
            a         e                                   ca
de ferramentas utilizadas para uma abordagem MDA, bem
como as funcionalidades que uma ferramenta ideal apresen-
taria, est˜o dispon´
          a         ıveis em [6]. Em [4], ´ apresentado como
                                          e
aplicar uma abordagem MDA no contexto de uma Enter-
prise Architecture, a partir do uso de boas pr´ticas e heur´
                                               a           ıs-
ticas para se atingir o sucesso da abordagem.

Um trabalho interessante a ser citado ´ o [14]. Este faz
                                       e
um estudo aprofundado da implementa¸˜o de metodologias
                                      ca
´geis para desenvolvimento de software (em espec´
a                                                  ıfico, o
Scrum) em conjunto com as pr´ticas de gerenciamento de
                                 a
projetos do PMBOK. O resultado dessa combina¸˜o ´ bas-
                                                ca e
tante criticada especialmente por aqueles que defendem a
ado¸˜o pura de apenas um dos dois. Apesar disso, ´ cons-
    ca                                             e
tatado que h´ sim a possibilidade de utilizar ambas juntas
             a
e que seus resultados s˜o positivos.
                       a                                                         Figura 1: Modelo MOF

2.   MDA: CONCEITOS E TECNOLOGIAS                                2.1.2 UML - Unified Modelling Language
Nessa se¸˜o, ser˜o abordados tecnologias de suporte ` MDA,
        ca      a                                   a            UML ´ uma linguagem visual de modelagem baseada no
                                                                        e
como MOF (Meta-Object Facility) e UML (Unified Model-             conceito de orienta¸˜o a objetos. Ela foi criada por Grady
                                                                                      ca
ling Language). Ser˜o apresentados tamb´m os v´rios mode-
                    a                    e      a                Booch, James Rumbaugh e Ivar Jacobson [8]. Atualmente,
los definidos pela MDA, como CIM (Computation Indepen-            a UML foi padronizada e ´ mantida pela OMG. Em MDA,
                                                                                             e
dent Model ) e PSM (Platform Specific Model ). Posterior-         os modelos UML precisam estar bem definidos, para que as
mente, ser´ apresentado o ciclo de vida MDA e, por ultimo,
          a                                          ´           ferramentas possam trabalhar em cima deles. Um dos con-
algumas ferramentas CASE (Computer-Aided Software En-            ceitos utilizados, principalmente na abordagem Agile MDA,
gineering) que suportam a MDA.                                   ´ o de UML execut´vel [10]. Uma UML execut´vel ´ um
                                                                 e                     a                           a   e
                                                                 perfil UML que define semˆnticas de execu¸˜o para um sub-
                                                                                             a              ca
2.1 Tecnologias de suporte                                       conjunto restrito da UML. Este subconjunto ´ computaci-
                                                                                                                e
A OMG adota algumas tecnologias para MDA. A maioria              onalmente completo, possibilitando a sua execu¸˜o. Esses
                                                                                                                  ca
      e                o              a
delas ´ mantida pela pr´pria OMG. Ser˜o abordadas algu-          modelos execut´veis se comportam como c´digo, mas est˜o
                                                                                 a                          o            a
mas que servem para modelagem e gerenciamento de mo-             num n´ ıvel de abstra¸˜o maior, mais pr´ximo da linguagem
                                                                                       ca                o
delos. S˜o elas: MOF, UML, CWM (Common Warehouse
        a                                                        do cliente.
Metamodel ) e XMI (XML Metadata Interchange). Apesar
de a OMG encorajar o uso dessas tecnologias para o desen-        2.1.3 CWM - Common Warehouse Metamodel
volvimento MDA, qualquer uma delas pode ser substitu´ ıda        CWM ´ uma tecnologia para a troca de metamodelos dispo-
                                                                        e
por uma equivalente.                                             n´
                                                                  ıveis em ambientes de data warehouses entre ferramentas,
                                                                 plataformas e reposit´rios [7]. Especificado pela OMG e ba-
                                                                                      o
2.1.1 MOF - Meta-Object Facility                                 seado em MOF, sua fun¸˜o ´ estender o modelo de objetos
                                                                                         ca e
MOF ´ uma tecnologia de meta-metamodelagem. Ela se
       e                                                         da UML, fornecendo um framework para representar meta-
baseia num arquitetura de 4 n´ ıveis de modelagem [11]. O        dados, desde os dados at´ as opera¸˜es das data warehouses.
                                                                                          e         co
n´
 ıvel M0 ´ o n´
          e    ıvel da informa¸˜o, dos dados propriamente
                              ca                                 CWM permite que ambientes de dados diferentes possam se
          ıvel     e    ıvel
ditos. O n´ M1 ´ o n´ de modelos. No n´ M2, temos
                                            ıvel                 comunicar, trocando informa¸˜es.
                                                                                               co
2.1.4 XMI - XML Metadata Interchange                            especificar rela¸˜es entre propriedades de uma entidade ou
                                                                               co
XMI ´ um padr˜o de formato para a troca de modelos e
      e          a                                              as intera¸˜es entre entidades distintas. Esse modelo se ca-
                                                                         co
metamodelos UML e baseados em MOF atrav´s de XML
                                               e                racteriza, como o pr´prio nome indica, pela independˆncia
                                                                                     o                                e
[13]. Desenvolvido pela OMG, provˆ um framework para
                                     e                          de plataforma, ou seja, ´ tecnologicamente neutra [9]. E
                                                                                         e                               ´
definir, trocar, manipular e integrar dados e objetos XML.       projetado para que seja capaz de definir a arquitetura que
Atrav´s de uso de XMI, ´ poss´ realizar um mapeamento
      e                 e     ıvel                              o sistema ter´ em qualquer plataforma que venha a ser de-
                                                                             a
de MOF para XML.                                                finida, ainda que sem detalhes de implementa¸˜o.
                                                                                                              ca

2.2 Modelos definidos pela MDA                                   Exemplificando na comunica¸˜o abordada, tem-se como parte
                                                                                             ca
A MDA possui processos estabelecidos pela OMG, cujos re-        do modelo independente de idioma a defini¸˜o de que se
                                                                                                               ca
sultados de cada um d˜o-se como modelos diferentes. Cada
                       a                                        trata de uma frase interrogativa (´ um pedido), portanto
                                                                                                    e
modelo possui um n´ de independˆncia de maneira a pro-
                    ıvel             e                          precisar´ de um elemento que atribua a interroga¸˜o ao idi-
                                                                        a                                          ca
porcionar um melhor reaproveitamento, seja para a mesma         oma a ser adotado. Tamb´m ´ necess´rio definir os objetos
                                                                                           e e        a
      ca                                                 ca
aplica¸˜o em plataformas diferentes, seja para uma aplica¸˜o        ca                       a                    e
                                                                da a¸˜o (a pessoa em quest˜o), os sujeitos (algu´m a quem
diferente que necessite de defini¸˜es equivalentes a outras
                                 co                             se pedir ajuda) e a a¸˜o propriamente dita (ajudar). Esses
                                                                                      ca
previamente desenvolvidas. Segundo Beydeda [3], existem         elementos existem em qualquer idioma, por´m, abordados
                                                                                                              e
quatro tipos de camadas, descritas em ordem decrescente de      com regras diferentes. Essas regras ainda n˜o foram envol-
                                                                                                             a
independˆncia:
         e                                                      vidas, tornando a constru¸˜o da id´ia (a pessoa precisa pedir
                                                                                          ca      e
                                                                ajuda a algu´m) flex´ aos idiomas existentes.
                                                                             e       ıvel

i) CIM - Computation Independent Model                          2.2.3 PSM - Platform Specific Model
ii) PIM - Platform Independent Model                            Designada uma plataforma, o modelo PIM ser´ transfor-
                                                                                                               a
                                                                mado em um modelo PSM. Esse modelo ´ capaz de descre-
                                                                                                        e
iii) PSM - Platform Specific Model                               ver como ser´ desenvolvido o sistema de maneira mais espe-
                                                                            a
                                                                c´
                                                                 ıfica, j´ que resultar´ da combina¸˜o de especifica¸˜es do
                                                                        a             a            ca             co
iv) ISM - Implementation Specific Model                          modelo anterior com detalhes de como o sistema funcionar´a
                                                                na plataforma em quest˜o.
                                                                                        a
Para tornar a compreens˜o dos modelos mais simples, ser´
                          a                                 a
abordada uma analogia da gera¸˜o de c´digo de programa-
                                ca       o                      Em analogia, ´ a aplica¸˜o das regras de sintaxe do idioma
                                                                                e       ca
ca                                  e
¸˜o com o uso de idiomas. O que ´ coerente, pois um idi-        em espec´                 ca          e
                                                                          ıfico na constru¸˜o da id´ia escolhida. Sendo o
oma nada mais ´ que um c´digo utilizado pelas pessoas para
                 e         o                                    idioma portuguˆs, os elementos identificados devem seguir
                                                                                  e
que as mesmas possam se comunicar, da mesma forma que           as regras gramaticais da l´
                                                                                          ıngua portuguesa. Por exemplo, o
            o                     a    a             co
utiliza-se c´digos para comunicar `s m´quinas instru¸˜es do                                                  o           c˜
                                                                elemento a se atribuir para caracterizar o c´digo (a ora¸ao)
que deve ser executado. Adotando como exemplo, tem-se           como interrogativa seria o s´ ımbolo (signo) “?” no final da
uma situa¸˜o em que uma pessoa necessita da ajuda de uma
           ca                                                   ora¸˜o. Caso fosse escolhido o idioma espanhol, os s´
                                                                    ca                                               ımbolos
outra e, portanto, precisa construir a ora¸˜o a ser utilizada
                                           ca                   a utilizar seriam “¿” no in´ıcio, e “?” no final da ora¸˜o.
                                                                                                                      ca
para se comunicar.
                                                                Os detalhes das plataformas s˜o fornecidos pelo PDM.
                                                                                             a
2.2.1 CIM - Computation Independent Model
Em uma aplica¸˜o desenvolvida com MDA, faz-se necess´ria
               ca                                         a     2.2.4 PDM - Platform Definition Model
a cria¸˜o de modelos cujas defini¸˜es sejam independentes de
      ca                         co                             O PDM n˜o ´ um modelo resultado dos processos MDA,
                                                                            a e
estrutura e processamento do sistema [9]. Ou seja, modelos      mas sim um modelo que fornece os conceitos t´cnicos de
                                                                                                                 e
voltados apenas ` compreens˜o das regras de neg´cio. Tal
                 a            a                     o           diferentes partes que comp˜e a plataforma, e os elementos
                                                                                            o
modelo chama-se Computation Independent Model (CIM). A                                              ca ´
                                                                que o sistema pode oferecer ` aplica¸˜o. E a partir dele que
                                                                                             a
inten¸˜o principal deste ´ especificar o dom´
      ca                 e                                 ca
                                            ınio da aplica¸˜o      a
                                                                ser´ poss´ıvel a transforma¸˜o de PIM para PSM. Uma vez
                                                                                           ca
a ser definida e os servi¸os e entidades com ela envolvidas.
                         c                                      que ´ escolhida a plataforma, faz-se necess´rio saber como
                                                                     e                                     a
Compete a ele identificar requisitos do dom´ınio, mas n˜o seu
                                                        a       a mesma funciona e os servi¸os que oferece para que as de-
                                                                                             c
funcionamento interno ou especifica¸˜es t´cnicas. Trata-se
                                     co    e                    fini¸˜es estabelecidas no PIM possam ser realizadas.
                                                                    co
apenas de uma abstra¸˜o, um conceito. Comparando com o
                      ca
exemplo adotado, esse modelo consiste na forma¸˜o de uma
                                                  ca            Analogamente, o PDM seria a gram´tica do idioma esco-
                                                                                                      a
id´ia, uma mensagem. Essa id´ia seria que a pessoa precisa
  e                            e                                lhido, com todas as regras espec´
                                                                                                ıficas.
pedir ajuda de outra pessoa. Nenhuma palavra de idioma
algum foi envolvida ainda. Por esse mesmo motivo, sendo         2.2.5 ISM - Implementation Specific Model
puramente conceitual, ´ dependente da interpreta¸˜o dos
                        e                             ca        Por fim, tendo o modelo da aplica¸˜o j´ adaptado para fun-
                                                                                                ca a
desenvolvedores (analista e especialista de neg´cio), e por-
                                                 o              cionar na plataforma designada, o que resta a ser feito ´
                                                                                                                        e
tanto de mapeamento complexo. Portanto, torna-se invi´vel a     o c´digo em si. O produto final da MDA. Este modelo ´
                                                                   o                                                    e
o processamento autom´tico da transforma¸˜o do modelo
                         a                    ca                tamb´m conhecido como ISM.
                                                                     e
CIM para o modelo seguinte, PIM.
                                                                Este modelo seria, por fim, a ora¸˜o formada com a apli-
                                                                                                 ca
2.2.2 PIM - Platform Independent Model                          ca¸˜o apropriada dos signos. “Pode me ajudar?” em por-
                                                                  ca
O modelo PIM j´ ´ capaz de descrever caracter´
                 a e                            ısticas da      tuguˆs, “¿Puede usted atenderme?” em espanhol, “Pouvez-
                                                                     e
      ca       a          ıvel fazer no CIM. Por exemplo,
aplica¸˜o que n˜o era poss´                                     vous m’aider ?” em francˆs, “Can You help me?” em inglˆs,
                                                                                        e                             e
servem como exemplos das v´rias formas que a mensagem
                          a                                     modelos e uma s´rie de plugins para transforma¸˜o desses
                                                                                e                             ca
(CIM) pode tomar.                                               modelos. Suas caracter´
                                                                                      ısticas s˜o:
                                                                                               a

2.3 Ciclo de Vida MDA                                           i) Design modular: o AndroMDA ´ dividido em m´dulos
                                                                                                  e                o
Focando no ciclo seguido pelos processos do MDA, obt´m- e
                                                                     que podem ser divididos para atender `s necessidades
                                                                                                          a
se o seguinte esquema apresentado na Figura 2. O ciclo
                                                                     do usu´rio;
                                                                           a
tem seu in´ıcio na an´lise de requisitos, onde ser˜o obtidas
                      a                            a
as informa¸˜es de neg´cio a respeito da aplica¸˜o a ser de-
           co           o                       ca              ii) Suporta o meta-modelo UML 1.4, mas o suporte ao mo-
senvolvida. Desse processo, o resultado ´ o CIM. Este ser´
                                          e                 a         delo 2.0 j´ se encontra em desenvolvimento;
                                                                                a
transformado em PIM com ajuda de ferramentas, mas essen-
cialmente com a¸˜es dos pr´prios projetistas, dada a grande
                 co           o                                 iii) Suporta a inclus˜o de meta-modelos customizados em
                                                                                     a
complexidade de o sistema interpretar e mapear o modelo               MOF ou XMI e gera¸˜o de c´digo a partir deles;
                                                                                          ca     o
CIM. Ap´s a transforma¸˜o, o PIM resultante ser´ parcial,
         o                 ca                        a
sendo ainda analisado pelos projetistas envolvidos, onde ha-    iv) Plugins para plataformas espec´
                                                                                                  ıficas;
ver˜o os ajustes necess´rios para ent˜o o PIM ser definitivo.
   a                    a            a
Este ent˜o ser´, com ferramentas, transformado em PSM.
         a     a                                                v) Atualmente dispon´ na vers˜o 3.3.
                                                                                    ıvel     a
Este, por sua vez, sofrer´ novas transforma¸˜es que gerar˜o
                          a                 co            a
o ISM (o c´digo propriamente dito).
           o
                                                                Os plugins do AndroMDA s˜o chamados de cartuchos (car-
                                                                                           a
            ´                  co                    a
Essas duas ultimas transforma¸˜es, a curto prazo, s˜o exe-      tridges). Cada cartucho ´ respons´vel por transforma¸˜es
                                                                                         e          a                  co
cutadas pelos programadores ainda com aux´ de ferramen-
                                           ılio                 para uma determinada plataforma. Nativamente, o An-
tas. Futuramente, elas dever˜o ocorrer automaticamente [9],
                             a                                  droMDA j´ possui cartuchos para as plataformas Spring,
                                                                           a
cabendo ao programador apenas analisar os resultados e fa-      JSF, Hibernate, Java, EJB 2 / 3, entre outros. A ferramenta
zer as modifica¸˜es cab´
               co       ıveis. As vantagens fornecidas pela     tamb´m possui um kit para cria¸˜o de cartuchos novos ou
                                                                      e                          ca
cria¸˜o desses modelos ser´ abordada no t´pico “Vantagens
    ca                     a              o                               ca      a
                                                                customiza¸˜o dos j´ existentes [2].
e Desvantagens”. Depois de ter o c´digo pronto, ele entra
                                    o
em testes, dando resultados que ser˜o levados em conside-
                                    a                           Apesar de ser baseado na MDA, o AndroMDA n˜o realiza
                                                                                                                  a
ra¸˜o na nova an´lise do PIM obtido para altera¸˜es. Esse
  ca             a                                co            transforma¸˜es do modelo PIM para o modelo PSM. A fer-
                                                                            co
PIM modificado, passa pelas transforma¸˜es at´ chegar no-
                                        co      e               ramenta j´ traduz do modelo PIM para c´digo fonte em uma
                                                                          a                             o
vamente no ISM, como um processo iterativo.                     determinado plataforma, dependendo do cartucho escolhido
                                                                para realizar a transforma¸˜o. Vale ressaltar que o modelo
                                                                                          ca
                                                                PIM aceito pelo AndroMDA tem que ser modelado em outra
                                                                ferramenta e salvo no formato .XMI. Esse modelo deve ser
                                                                composto pelo diagrama de casos de uso, o diagrama de clas-
                                                                ses e o diagrama de atividades. Esses modelos ainda devem
                                                                levar em considera¸˜o o conceito de marcas, onde os elemen-
                                                                                   ca
                                                                tos dos diagramas s˜o marcados com esteri´tipos UML. Por
                                                                                    a                     o
                                                                exemplo, um caso de uso pode ser marcado com o esteri´-  o
                                                                tipo ≪ F rontEndU seCase ≫, indicando que ´ um caso de
                                                                                                              e
                                                                uso que interage com o usu´rio. A partir desses modelos, o
                                                                                           a
                                                                AndroMDA ´ capaz de gerar o c´digo fonte correspondente,
                                                                             e                  o
                                                                automatizando grande parte do processo de desenvolvimento
                                                                [5].

                                                                2.4.2 OptimalJ
                                                                A OptimalJ ´ uma ferramenta comercial, constru´ por
                                                                              e                                     ıda
                                                                uma empresa chamada Compuware. Por ser constru´ em   ıda
                                                                cima da IDE (Integrated Development Environment) Eclipse,
                                                                se caracteriza por ser um ambiente de desenvolvimento diri-
           Figura 2: Ciclo de vida do MDA
                                                                gido a modelos voltado ` plataforma Java. Essa ferramenta
                                                                                          a
                                                                permite a cria¸˜o de modelos utilizando UML e MOF como
                                                                               ca
2.4 Ferramentas CASE                                            meta-metamodelo. Se encontra atualmente na vers˜o 4.3 a
Muitas ferramentas CASE podem ser utilizadas para au-           e tem como caracter´  ıstica importante o fato de permitir o
xiliar a MDA atrav´s da constru¸˜o de modelos em UML
                    e            ca                             desenvolvimento em trˆs etapas, cada uma contendo um mo-
                                                                                        e
e gerando c´digo a partir deles. Para a MDA, foram en-
            o                                                   delo espec´
                                                                          ıfico:
contradas duas ferramentas espec´ıficas que podem atuar de
maneira interessante dentro dessa metodologia. Essas ferra-
mentas s˜o o AndroMDA e a OptimalJ.
         a                                                      i) O modelo de dom´
                                                                                  ınio, o qual equivale ao PIM;

                                                                ii) O modelo de aplica¸˜o, o qual equivale ao PSM;
                                                                                      ca
2.4.1 AndroMDA
                                   ´
Seu nome pronuncia-se andrˆmeda. E um framework de
                            o                                   iii) O modelo de c´digo, representado pelo c´digo fonte
                                                                                  o                         o
c´digo aberto que utiliza a UML para a interpreta¸˜o de
 o                                               ca                   Java.
O modelo de dom´    ınio (PIM) ´ representado pelo diagrama
                                e                              cessos, onde, em cada fase, um conjunto de atividades s˜o
                                                                                                                      a
de classes e o diagrama de atividades. O diagrama de classes   executadas de maneira a tornar o processo de desenvolvi-
modelado na OptimalJ apresenta algumas restri¸˜es, como
                                                 co            mento o mais gerenci´vel poss´
                                                                                   a        ıvel.
o fato de n˜o suportar a modelagem de interfaces. Com re-
            a
la¸˜o ao diagrama de atividades, a ferramenta imp˜e que
  ca                                                  o        O ciclo de vida do projeto ´ apresentado na Figura 4, que
                                                                                          e
cada fluxo tenha que especificar o objeto que ´ passado de
                                               e               apresenta cinco grupo de processos de um projeto: de inici-
uma atividade para outra. O diagrama de casos de uso e         a¸˜o, de planejamento, de execu¸˜o, de controle e monito-
                                                                ca                             ca
o conceito de marcas n˜o s˜o necess´rios para que a ferra-
                          a a         a                        ramento e de encerramento.
menta realize a transforma¸˜o entre o PIM e o PSM. Essa
                             ca
transforma¸˜o utiliza regras para mapear os elementos do
            ca
modelo fonte para o modelo alvo. Vale ressaltar que ao apli-
car essa transforma¸˜o, a OptimalJ insere uma arquitetura
                      ca
de camadas ao modelo PSM, al´m de realizar o registro da
                                  e
transforma¸˜o, como ´ sugerido pela MDA [5].
            ca          e

Em [15] ´ apresentado um estudo de caso que mostra a cons-
        e
tru¸˜o de um sistema de e-commerce, especificamente o Pet
   ca
Store desenvolvido pela Sun para demonstrar padr˜es deo
projeto. O estudo desenvolveu o sistema utilizando a pla-
taforma .NET, a plataforma J2EE de forma manual e com
o OptimalJ, seguindo as etapas da MDA. A Figura 3 mos-
tra uma gr´fico onde ´ poss´
            a          e     ıvel ver o n´ mero de linhas de
                                         u
c´digo escritas manualmente em cada um dos m´todos ado-
 o                                               e
tados. Dessa forma, ´ poss´
                     e     ıvel verificar que o n´ mero total
                                                u
de linhas de c´digo que foram escritas manualmente depois
               o
de se utilizar a OptimalJ foi consideravelmente inferior aos
outros m´todos adotados, demonstrando o quanto uma fer-
         e
ramente pode auxiliar o processo de desenvolvimento.                     Figura 4: Ciclo de vida do projeto

                                                               Cada grupo de processos do ciclo de vida do projeto con-
                                                               siste em atividades relacionadas a uma das nove ´reas de
                                                                                                               a
                                                               conhecimentos definidos pelo PMBOK:


                                                               i) Escopo;

                                                               ii) Tempo;

                                                               iii) Custos;

                                                               iv) Qualidade;

                                                               v) Recursos humanos;

                                                               vi) Comunica¸˜es;
                                                                           co

                                                               vii) Riscos;

                                                               viii) Aquisi¸˜es;
                                                                           co

Figura 3: Quantidade de linhas de c´digo escritas
                                   o                           ix) Integra¸˜o.
                                                                          ca
manualmente

                                                               Segundo o PMBOK [12], uma boa gerˆncia do escopo do
                                                                                                    e
3.   PMBOK - PROJECT MANAGEMENT                                projeto garante que todo o trabalho necess´rio ser´ bem
                                                                                                          a      a
     BODY OF KNOWLEDGE                                         entendido e evitar´ trabalhos que n˜o estejam dentro do
                                                                                  a               a
O PMBOK ´ um guia editado e publicado pelo PMI (Project
           e                                                   escopo do projeto.
Management Institute) que re´ ne o que se considera ser as
                             u
melhores pr´ticas em gest˜o de projetos em v´rias ´reas de
           a             a                  a     a            Ao final da fase de planejamento do escopo do projeto, os
conhecimento.                                                  artefatos criados consistem de uma declara¸˜o do escopo do
                                                                                                         ca
                                                               projeto e do produto, incluindo sua Estrutura Anal´ıtica do
O guia est´ na terceira edi¸˜o, publicada em 2004, e tem
          a                ca                                  Projeto (EAP) e um dicion´rio da EAP, que garantir´ um
                                                                                           a                         a
se tornado uma referˆncia mundial na gerˆncia de projetos.
                    e                    e                     correto entendimento de todos os integrantes da equipe do
O guia define o ciclo de vida do projeto por grupos de pro-     projeto.
A estrutura anal´ıtica do projeto apresenta uma decomposi-
¸˜o hier´rquica de todos os pacotes de trabalho necess´rios
ca      a                                             a
ao objetivo do projeto, incluindo atividades ligadas ` sua
                                                     a
gerˆncia e ao processo de desenvolvimento em si.
   e

4.   SUGESTÃO DE USO DA MDA COM O
     PMBOK
Segundo a especifica¸˜o da MDA, durante o desenvolvimento
                   ca
de sistemas complexos, ´ preciso que sejam feitos sucessivos
                       e
refinamentos nos seus modelos at´ um ponto em que todo o
                                 e
escopo do produto seja alcan¸ado pelo projeto, assim como
                            c
apresentado na Figura 5.
                                                                                Figura 6: Exemplo de EAP


                                                                  de desenvolvimento de software. O adequado detalhamento
                                                                  da entrega referente ao software poder´ ser usada durante a
                                                                                                        a
                                                                  aplica¸˜o de MDA no sentido de encontrar quantos e quais
                                                                        ca
                                                                  modelos independentes de arquitetura ser˜o gerados, assim,
                                                                                                            a
                                                                  poderemos evitar os refinamentos dos modelos mais espec´   ı-
                                                                  ficos, o que trar´ um ganho de tempo significativo [6].
                                                                                  a

                                                                  5. CONCLUSÕES
                                                                  O princ´ıpio da MDA ´ o uso de modelos para abstrair a pla-
                                                                                        e
                                                                  taforma na qual o produto ser´ implementado. Entretanto,
                                                                                                 a
                                                                  a etapa de modelagem n˜o ´ devidamente realizada no ce-
                                                                                            a e
                                                                  n´rio atual da engenharia de software. Al´m disso, a MDA
                                                                   a                                         e
                                                                  n˜o provˆ uma estrutura de gerenciamento de projeto. Ba-
                                                                   a        e
                                                                  seado neste fato, propˆs-se o uso das pr´ticas de gerˆncia de
                                                                                         o                a            e
                                                                  projetos do PMBOK.

     Figura 5: Processo para sistemas complexos                   No decorrer do trabalho, constatou-se que sistemas comple-
                                                                  xos poderiam ser melhor gerenciados com o uso da EAP. Tal
              ue                                 e
Uma conseq¨ˆncia direta desta abordagem ´ o excessivo                   ca           c                                  co
                                                                  avalia¸˜o foi alcan¸ada dadas as sucessivas transforma¸˜es
tempo gasto nos refinamentos, j´ que, como apresentado na
                                 a                                sofridas por um sistema complexo numa abordagem MDA.
Figura 4, a atividade de refinamento ´ executada para todos
                                       e
os n´ıveis de modelagem, desde os modelos independentes           5.1 Vantagens e desvantagens
de plataforma, at´ o modelo espec´
                   e                  ıfico. Uma t´cnica que
                                                     e            A gera¸˜o de modelos na MDA, apesar de consumir um
                                                                          ca
permite reduzir o tempo gasto pelos sucessivos refinamentos        consider´vel esfor¸o e tempo, possui benef´
                                                                            a        c                       ıcios. Um deles,
nos v´rios n´
      a                            e               a
             ıveis de modelagem ´ aplicar o m´ximo desta          como j´ mencionado, ´ a possibilidade de reutiliz´-los em
                                                                          a              e                            a
atividade ao modelo de mais alto n´  ıvel, j´ que este ´ desen-
                                            a          e          uma outra aplica¸˜o de requisitos semelhantes. Em [14],
                                                                                     ca
volvido atrav´s de uma linguagem mais pr´xima do dom´
              e                              o             ınio   apresentam-se outras vantagens do uso de MDA: facilidade
do neg´cio e permite um melhor entendimento pelas diver-
       o                                                          de manuten¸˜o e documenta¸˜o (como as mudan¸as devem
                                                                                ca             ca                   c
sas partes envolvidas no projeto de desenvolvimento. Esta         ser feitas nos modelos, estes est˜o sempre atualizados, im-
                                                                                                   a
t´cnica permite n˜o s´ a redu¸˜o no tempo de desenvolvi-
 e                 a o          ca                                pedindo a defasagem que normalmente ocorrem entre a do-
mento do sistema, mas tamb´m um melhor entendimento do
                             e                                    cumenta¸˜o e o produto final em modelos de desenvolvi-
                                                                            ca
escopo do produto de software em quest˜o, o que acaba por
                                           a                      mento tradicionais) e portabilidade (de um mesmo PIM, que
reduzir os riscos associados e os custos do projeto.              por defini¸˜o ´ independente de plataforma, pode-se gerar a
                                                                              ca e
                                                                  mesma aplica¸˜o em diferentes plataformas).
                                                                                  ca
Uma outra vantagem de concentrar o trabalho de refinar o
trabalho ao m´ximo concentrando-se no modelo de mais alto
              a                                                   Entretanto, como apresentado em [1], a utiliza¸˜o de MDA
                                                                                                                   ca
n´ da MDA ´ que ele geralmente ´ feito em um momento
  ıvel         e                     e                            tem alguns pr´-requisitos, alguns deles bastante severos. Den-
                                                                                e
inicial do projeto. Isso permite um conhecimento anteci-          tre eles, apontamos: a equipe de desenvolvimento deve ter
pado dos riscos e um melhor planejamento de respostas e           modeladores de grande habilidade, algo ainda incomum no
alternativas a eles. Ainda na fase de planejamento do pro-        mercado; o atual conjunto de ferramentas para MDA ainda
jeto de desenvolvimento, segundo o PMBOK [12] a defini¸˜oca        n˜o suporta todas as etapas de desenvolvimento contidas na
                                                                    a
                               ca      a
da EAP permite uma organiza¸˜o hier´rquica do escopo to-                                                        e
                                                                  especifica¸˜o; al´m disso, esse atual conjunto ´ relativamente
                                                                            ca    e
tal do projeto de maneira a subdividir todo o trabalho em         pequeno em rela¸˜o ` quantidade de ferramentas dispon´
                                                                                   ca a                                    ıveis
partes menores, mais f´ceis de ser executadas, gerenciadas e
                       a                                          para outras metodologias, tais como RUP (Rational Unified
dimensionadas.                                                    Process) e XP (eXtreme Programming); o suporte para es-
                                                                  trat´gias de teste por estas ferramentas ainda ´ insatisfat´-
                                                                       e                                           e          o
A Figura 6, apresenta uma EAP ilustrativa de um projeto           rio.
A longo prazo, as duas ultimas transforma¸˜es, de PIM a
                         ´                  co                  [11] OMG - Object Management Group. Meta-Object
PSM e de PSM a ISM, ser˜o automatizadas. Isso torna
                             a                                       Facility (MOF) Specification.
muito simples o desenvolvimento de software, tal como, por      [12] Project Management Institute. Project Management
analogia, se tornou a programa¸˜o de baixo n´
                                ca             ıvel para alto        Body of Knowlewdge Guide, 3 edition, 2004.
n´ıvel. Contudo, talvez esse seja o maior desafio da MDA.        [13] R. Santos. XMI. Faculdade de Ciˆncias e Tecnologia
                                                                                                      e
O foco do desenvolvimento de softwares se torna a etapa de           da Universidade Nova de Lisboa, 2004.
modelagem e documenta¸˜o, em contraste com as metodo-
                         ca                                     [14] A. Tavares. Gerˆncia de projeto com PMBOK e
                                                                                     e
logias atuais, em especial as ´geis. A etapa de codifica¸˜o
                              a                          ca          Scrum. Master’s thesis, Faculdade Cenecista Nossa
perde importˆncia, sendo realizada apenas para determina-
               a                                                     Senhora dos Anjos, Gravata´ı/RS, 2008.
das partes em que as ferramentas n˜o foram capazes de re-
                                     a                          [15] S. Witkop. Driving business agility with model driven
alizar atrav´s dos modelos fornecidos. Os programadores
             e                                                       architecture. Ohio/Pennsylvania Solution Centre.
n˜o mais utilizam linguagens tradicionais, como C# e Java,
  a
mas sim em QVT (Query/View/Transformation). Todas
essas mudan¸as acabam por afastar os desenvolvedores de
              c
softwares, receosos em utilizar uma metodologia ainda n˜o  a
solidificada.


5.2 Trabalhos futuros
Para poss´ ıveis trabalhos futuros, sugere-se analisar o uso
de outras metodologias de gerˆncia de projetos (por exem-
                               e
plo, MPS.BR) para auxiliar no desenvolvimento de produtos
usando MDA, visto que a mesma n˜o fornece uma estrutura
                                    a
de gerenciamento. Sugere-se ainda verificar se h´ outros ar-
                                                 a
tefatos do PMBOK que possam ser utilizados numa aborda-
gem MDA. Outra poss´ extens˜o do trabalho ´ a aplica¸˜o
                       ıvel      a              e        ca
da proposta para o desenvolvimento de um produto.


6.   REFERÊNCIAS
 [1] S. W. Amber. Are you ready for the MDA.
     http://www.agilemodeling.com/essays/readyForMDA.htm,
     2004.
 [2] AndroMDA Team. AndroMDA.
     http://www.andromda.org/.
 [3] S. Beydeda, M. Book, and V. Gruhn. Model-driven
     Software Development. Birkh¨user, 2005.
                                    a
 [4] A. W. Brown. MDA redux: Practical realization of
     Model Driven Architecture. In Proceedings of the
     Seventh International Conference on
     Composition-Based Software Systems, pages 174–183,
     2008.
 [5] G. L. P. Caliari. Transforma¸˜es e mapeamentos da
                                   co
     MDA e sua implementa¸˜o em trˆs ferramentas.
                             ca         e
     Master’s thesis, Escola Polit´cnica da Universidade de
                                  e
     S˜o Paulo, 2007.
       a
 [6] T. Calic and S. Egbert. Tools for MDA software
     development: Evaluation criteria and set of desirable
     features. In Proceedings of the Fifth International
     Conference on Information Technology: New
     Generations, pages 44–50, 2008.
 [7] D. T. Chang and J. D. Poole. Common Warehouse
     Metamodel (CWM). In OMG First Workshop on
     UML in the .com Enterprise: Modeling CORBA,
     Components, XML/XMI and Metadata, 2000.
 [8] A. Esmin. Modelando com UML - Unified Modeling
     Language.
     http://www.dcc.ufla.br/infocomp/artigos/v1.1/tutorialUML.pdf,
     2000.
 [9] P. Jandl Junior. Uma an´lise da OMG Model Driven
                              a
     Architecture. An´lise, (11), 2005.
                       a
[10] S. J. Mellor. Agile MDA.
     http://www.omg.org/mda/mda files/Agile MDA.pdf.

Más contenido relacionado

La actualidad más candente

PLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a ModelosPLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a Modeloselliando dias
 
Macrosolutions Treinamento: Gerenciamento de Tempo em Projetos
Macrosolutions Treinamento: Gerenciamento de Tempo em ProjetosMacrosolutions Treinamento: Gerenciamento de Tempo em Projetos
Macrosolutions Treinamento: Gerenciamento de Tempo em ProjetosMacrosolutions SA
 
Mps.br guia de_implementacao_parte_5_2016
Mps.br guia de_implementacao_parte_5_2016Mps.br guia de_implementacao_parte_5_2016
Mps.br guia de_implementacao_parte_5_2016Francisco Vasconcellos
 
PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...
PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...
PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...CADWARE-TECHNOLOGY
 
Fermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.BrFermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.BrJuliana Cindra
 
Dru - Desenvolvimento para Reuso
Dru - Desenvolvimento para ReusoDru - Desenvolvimento para Reuso
Dru - Desenvolvimento para ReusoJuliana Cindra
 
Engenharia de Software
Engenharia de SoftwareEngenharia de Software
Engenharia de SoftwareSm3nd3s29
 
Mps.br guia geral_software_2012-c-isbn-1
Mps.br guia geral_software_2012-c-isbn-1Mps.br guia geral_software_2012-c-isbn-1
Mps.br guia geral_software_2012-c-isbn-1Diego Dos Anjos
 
MPS.BR Lições Aprendidas
MPS.BR Lições AprendidasMPS.BR Lições Aprendidas
MPS.BR Lições AprendidasGorio Eduardo
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Urique Hoffmann
 
Macrosolutions Treinamento: Gerenciamento de Programas
Macrosolutions Treinamento: Gerenciamento de ProgramasMacrosolutions Treinamento: Gerenciamento de Programas
Macrosolutions Treinamento: Gerenciamento de ProgramasMacrosolutions SA
 
56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetos
56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetos56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetos
56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetosVinícius Vieira
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3spawally
 
Slide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFSlide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFEdton Lemos
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Fernando Vargas
 
SGS Academy_Pós-Graduação em Sustentabilidade e Inovação
SGS Academy_Pós-Graduação em Sustentabilidade e InovaçãoSGS Academy_Pós-Graduação em Sustentabilidade e Inovação
SGS Academy_Pós-Graduação em Sustentabilidade e InovaçãoSGS Portugal
 
CMMI - Capability Maturity Model Integration
CMMI - Capability Maturity Model IntegrationCMMI - Capability Maturity Model Integration
CMMI - Capability Maturity Model Integrationleonirlopes
 

La actualidad más candente (20)

PLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a ModelosPLP – Paradigma de Programação Orientado a Modelos
PLP – Paradigma de Programação Orientado a Modelos
 
Macrosolutions Treinamento: Gerenciamento de Tempo em Projetos
Macrosolutions Treinamento: Gerenciamento de Tempo em ProjetosMacrosolutions Treinamento: Gerenciamento de Tempo em Projetos
Macrosolutions Treinamento: Gerenciamento de Tempo em Projetos
 
Mps.br guia de_implementacao_parte_5_2016
Mps.br guia de_implementacao_parte_5_2016Mps.br guia de_implementacao_parte_5_2016
Mps.br guia de_implementacao_parte_5_2016
 
PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...
PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...
PLM-Summit 2014 | 8-9 abril | Apresentação 07/14 | Evandro Gama | Cadware-Tec...
 
Fermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.BrFermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.Br
 
Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44
 
Dru - Desenvolvimento para Reuso
Dru - Desenvolvimento para ReusoDru - Desenvolvimento para Reuso
Dru - Desenvolvimento para Reuso
 
Engenharia de Software
Engenharia de SoftwareEngenharia de Software
Engenharia de Software
 
Mps.br guia geral_software_2012-c-isbn-1
Mps.br guia geral_software_2012-c-isbn-1Mps.br guia geral_software_2012-c-isbn-1
Mps.br guia geral_software_2012-c-isbn-1
 
Papel PMO na Gestão de Riscos - case Brasil Telecom
Papel PMO na Gestão de Riscos - case Brasil TelecomPapel PMO na Gestão de Riscos - case Brasil Telecom
Papel PMO na Gestão de Riscos - case Brasil Telecom
 
MPS.BR Lições Aprendidas
MPS.BR Lições AprendidasMPS.BR Lições Aprendidas
MPS.BR Lições Aprendidas
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
 
Macrosolutions Treinamento: Gerenciamento de Programas
Macrosolutions Treinamento: Gerenciamento de ProgramasMacrosolutions Treinamento: Gerenciamento de Programas
Macrosolutions Treinamento: Gerenciamento de Programas
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 
56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetos
56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetos56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetos
56600840 avaliacao-da-maturidade-em-gerenciamento-de-projetos
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
Slide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFSlide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAF
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
 
SGS Academy_Pós-Graduação em Sustentabilidade e Inovação
SGS Academy_Pós-Graduação em Sustentabilidade e InovaçãoSGS Academy_Pós-Graduação em Sustentabilidade e Inovação
SGS Academy_Pós-Graduação em Sustentabilidade e Inovação
 
CMMI - Capability Maturity Model Integration
CMMI - Capability Maturity Model IntegrationCMMI - Capability Maturity Model Integration
CMMI - Capability Maturity Model Integration
 

Destacado

Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011.
Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011. Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011.
Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011. Natalia Hatalska
 
Negotiating multiple identities on the social web
Negotiating multiple identities on the social webNegotiating multiple identities on the social web
Negotiating multiple identities on the social webCorinne Weisgerber
 
Publisher Tutorial
Publisher TutorialPublisher Tutorial
Publisher TutorialKaren Brooks
 
廣告社株式会社 商品ガイド01
廣告社株式会社 商品ガイド01廣告社株式会社 商品ガイド01
廣告社株式会社 商品ガイド01teruhide
 
Pivec Whistleblower Issues08
Pivec Whistleblower Issues08Pivec Whistleblower Issues08
Pivec Whistleblower Issues08MEPivec
 
Animales En ExtincióN
Animales En ExtincióNAnimales En ExtincióN
Animales En ExtincióNZanylord
 
WiseLine help video--Chinese
WiseLine help video--ChineseWiseLine help video--Chinese
WiseLine help video--Chineseguestf4b79a0
 
How the law protects investment in technology - trade secrets, patents, desig...
How the law protects investment in technology - trade secrets, patents, desig...How the law protects investment in technology - trade secrets, patents, desig...
How the law protects investment in technology - trade secrets, patents, desig...Jane Lambert
 
Technology Planning Document
Technology Planning DocumentTechnology Planning Document
Technology Planning Documentdigital.signage
 
Linked In Applications3
Linked In Applications3Linked In Applications3
Linked In Applications3dbaldwin77
 
Meet Neighbor Agency
Meet Neighbor AgencyMeet Neighbor Agency
Meet Neighbor AgencyJim Holbrook
 

Destacado (14)

Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011.
Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011. Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011.
Geo-fencing, grywalizacja, a może de-friending? Najważniejsze trendy 2011.
 
Negotiating multiple identities on the social web
Negotiating multiple identities on the social webNegotiating multiple identities on the social web
Negotiating multiple identities on the social web
 
Publisher Tutorial
Publisher TutorialPublisher Tutorial
Publisher Tutorial
 
Porla Paz(Con Audio)
Porla Paz(Con Audio)Porla Paz(Con Audio)
Porla Paz(Con Audio)
 
廣告社株式会社 商品ガイド01
廣告社株式会社 商品ガイド01廣告社株式会社 商品ガイド01
廣告社株式会社 商品ガイド01
 
Pivec Whistleblower Issues08
Pivec Whistleblower Issues08Pivec Whistleblower Issues08
Pivec Whistleblower Issues08
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Animales En ExtincióN
Animales En ExtincióNAnimales En ExtincióN
Animales En ExtincióN
 
WiseLine help video--Chinese
WiseLine help video--ChineseWiseLine help video--Chinese
WiseLine help video--Chinese
 
Case Study Sign Active
Case Study Sign ActiveCase Study Sign Active
Case Study Sign Active
 
How the law protects investment in technology - trade secrets, patents, desig...
How the law protects investment in technology - trade secrets, patents, desig...How the law protects investment in technology - trade secrets, patents, desig...
How the law protects investment in technology - trade secrets, patents, desig...
 
Technology Planning Document
Technology Planning DocumentTechnology Planning Document
Technology Planning Document
 
Linked In Applications3
Linked In Applications3Linked In Applications3
Linked In Applications3
 
Meet Neighbor Agency
Meet Neighbor AgencyMeet Neighbor Agency
Meet Neighbor Agency
 

Similar a Interação entre MDA e PMBOK para suporte a desenvolvimento de aplicações

Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...Rogério Batista
 
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Artigo   asap - metodologia de gestão de projetos para implementação de pacot...Artigo   asap - metodologia de gestão de projetos para implementação de pacot...
Artigo asap - metodologia de gestão de projetos para implementação de pacot...Garage Criativa | Garage Hub
 
Desenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágilDesenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágilRafael França
 
Aula 3 desenvolvimento de projetos
Aula 3 desenvolvimento de projetosAula 3 desenvolvimento de projetos
Aula 3 desenvolvimento de projetosThiago Cetroni
 
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...Kéllyson Gonçalves da Silva
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascatawilsonguns
 
Manuscrito Computação Ubíqua
Manuscrito Computação UbíquaManuscrito Computação Ubíqua
Manuscrito Computação Ubíquaguest938c2b3
 
Renan st matsushita-2010
Renan st matsushita-2010Renan st matsushita-2010
Renan st matsushita-2010Janiel Medeiros
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gilmar Pupo
 
Criar um processo e gerenciar as lições aprendidas
Criar um processo e gerenciar as lições aprendidasCriar um processo e gerenciar as lições aprendidas
Criar um processo e gerenciar as lições aprendidasJulio Cesar Gonçalves
 
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Diógenes Almeida
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosGraziella Bonizi
 

Similar a Interação entre MDA e PMBOK para suporte a desenvolvimento de aplicações (20)

Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
O uso de frameworks em aplicações desktop baseadas na metodologia de desenvol...
 
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
Artigo   asap - metodologia de gestão de projetos para implementação de pacot...Artigo   asap - metodologia de gestão de projetos para implementação de pacot...
Artigo asap - metodologia de gestão de projetos para implementação de pacot...
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
Desenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágilDesenvolvendo a REDEPESQ utilizando uma abordagem ágil
Desenvolvendo a REDEPESQ utilizando uma abordagem ágil
 
Aula 3 desenvolvimento de projetos
Aula 3 desenvolvimento de projetosAula 3 desenvolvimento de projetos
Aula 3 desenvolvimento de projetos
 
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
A53740 engis vs rup
A53740   engis vs rupA53740   engis vs rup
A53740 engis vs rup
 
Artigo Tees
Artigo   TeesArtigo   Tees
Artigo Tees
 
Manuscrito Computação Ubíqua
Manuscrito Computação UbíquaManuscrito Computação Ubíqua
Manuscrito Computação Ubíqua
 
Renan st matsushita-2010
Renan st matsushita-2010Renan st matsushita-2010
Renan st matsushita-2010
 
Monografia-Devops
Monografia-DevopsMonografia-Devops
Monografia-Devops
 
Artigo23
Artigo23Artigo23
Artigo23
 
RAD
RADRAD
RAD
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
 
DDD
DDDDDD
DDD
 
Criar um processo e gerenciar as lições aprendidas
Criar um processo e gerenciar as lições aprendidasCriar um processo e gerenciar as lições aprendidas
Criar um processo e gerenciar as lições aprendidas
 
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
 
O desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicosO desafio de sustentar centenas de servicos
O desafio de sustentar centenas de servicos
 

Interação entre MDA e PMBOK para suporte a desenvolvimento de aplicações

  • 1. Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Complexas João Marco C. Silva, Thiago L. Feitoza, Marcel L. Oliveira, ∗ Paulo E. Osses, Thiago F. Freire, Rogério P. C. Nascimento Universidade Federal de Sergipe Sergipe, Brasil joaomarco@dcomp.ufs.br, {tfeitoza, marcel.ufs, paulo.darc}@gmail.com fraga_ufs@yahoo.com.br, rogerio@ufs.br ABSTRACT conceitua¸˜o da MDA e do PMBOK, juntamente com uma ca Model-Driven Architecture (MDA) is a development metho- proposta de integra¸˜o entre os mesmos. Especificamente, ca dology where the modeling is the central focus. This mode- ser˜o abordados conceitos e tecnologias relacionadas com a a ling should be done in a way that is independent of a spe- MDA, como UML e CWM; os modelos definidos pela MDA; cific platform. Thus, the model generated can be used to o ciclo de vida MDA; ferramentas CASE que suportam essa develop the system across multiple platforms, which helps metodologia; uma descri¸˜o geral do PMBOK; uma sugest˜o ca a in future maintenance, upgrades and migration of the sys- de uso da MDA com o PMBOK; e, finalmente, as conclus˜es o tem. In order to manage the development, the use of a guide e trabalhos futuros. containing good management practices can be applied. The guide that can be used is the PMBOK, which can be used for various areas of knowledge, not only for projects of infor- PALAVRAS-CHAVE MDA, PMBOK, EAP mation technology. This work brings a concept of MDA and the PMBOK, along with a proposal for integration between them. Specifically, it will be addressed concepts and tecno- 1. INTRODUÇÃO logies related to MDA, such as UML and CWM; the models Atualmente, o r´pido desenvolvimento na ´rea da computa- a a defined by MDA; the MDA lifecycle; CASE tools that sup- ¸˜o est´ diminuindo bastante o tempo necess´rio para tornar ca a a port this methodology; a brief description of PMBOK; a uma determinada tecnologia obsoleta. Empresas que visam suggestion of use of MDA alongside PMBOK; and, finally, manter seus sistemas sempre atuais gastam um tempo e es- the conclusions and future work. for¸o consider´veis nas tarefas de atualiza¸˜o e migra¸˜o [6]. c a ca ca Para solucionar esses problemas, surgem abordagens que vi- RESUMO sam separar as funcionalidades de um sistema de sua imple- Model-Driven Architecture, ou MDA, trata-se de uma me- menta¸˜o. Uma dessas abordagens ´ a MDA (Model-Driven ca e todologia de desenvolvimento onde a modelagem ´ o foco e Architecture). central. Essa modelagem deve ser feita de forma que seja independente de uma plataforma espec´ ıfica. Dessa forma, A MDA ´ uma abordagem para o desenvolvimento de softwa- e o modelo gerado pode ser utilizado para o desenvolvimento res proposta pela OMG (Object Management Group) em do sistema em diversas plataformas, o que ajuda em futuras 2001. De forma simplificada, a MDA visa, a partir do desen- co co co manuten¸˜es, atualiza¸˜es e migra¸˜es do sistema. De forma volvimento de v´rios modelos, capturar a l´gica do neg´cio a o o a gerenciar o desenvolvimento, a utiliza¸˜o de um guia con- ca em uma forma independente de plataforma. A partir des- tendo boas pr´ticas de gerenciamento pode ser aplicada. O a ses modelos, seriam utilizadas ferramentas que gerariam o guia citado trata-se do PMBOK, o qual pode ser utilizado c´digo do produto para uma determinada plataforma. Por- o para diversas ´rea de conhecimento, e n˜o s´ para proje- a a o tanto, numa eventual mudan¸a de tecnologia, precisa-se ape- c tos de tecnologia da informa¸˜o. Este trabalho traz uma ca nas aplicar uma ferramenta que transforme os modelos ge- rados anteriormente em c´digo para essa nova tecnologia. o ∗Orientador Abordagens anteriores em desenvolvimento dirigido por mo- delos falharam por um fenˆmeno denominado “vendor lock- o in”. Cada ferramenta anteriormente utilizava um formato pr´prio, com um contrato de licen¸a restritivo [4]. Para so- o c lucionar esse problema, a OMG definiu um conjunto de pa- dr˜es abertos para o desenvolvimento de software. Alguns o deles j´ existentes previamente, outros elaborados especial- a mente para a abordagem MDA. Por exemplo, pode-se citar: UML (Unified Modeling Language), MOF (Meta-Object Fa- cility) e XMI (XML Metadata Interchange).
  • 2. e ca Al´m da utiliza¸˜o de uma metodologia de desenvolvimento ıvel metamodelos. E o n´ M3 ´ o n´ do meta-metamodelo, ıvel e como a MDA, ´ importante que haja uma gerˆncia do pro- e e isto ´, o MOF. Um bom exemplo dessa arquitetura seria uma e cesso de desenvolvimento. A fim de organizar a pr´tica de a aplica¸˜o de a¸˜es da bolsa de valores. No n´ M0 estariam ca co ıvel gerˆncia, foi lan¸ado o PMBOK (Project Management Body e c informa¸˜es sobre as empresas e os valores das a¸˜es de cada co co of Knowlegde). O PMBOK corresponde a um guia que re´ ne u uma. No n´ M1 est˜o as defini¸˜es do banco de dados, que ıvel a co um s´rie de pr´ticas para a realiza¸˜o da gest˜o de projetos e a ca a indica que o nome da empresa ´ do tipo String. O n´ M2 e ıvel em diversas ´reas de conhecimento. Uma boa gest˜o de pro- a a cont´m informa¸˜es sobre a estrutura do banco de dados, e co cessos pode resultar em bons resultados e redu¸˜o do tempo ca por exemplo, que uma tabela ´ composta de registros, que e e esfor¸o aplicado nas tarefas de migra¸˜o e atualiza¸˜o de c ca ca s˜o compostos de campos e que cada campo deve ter um a sistemas. tipo. Finalmente, o n´ M3 ´ o modelo MOF, que engloba ıvel e defini¸˜es para v´rios modelos e meta-modelos. O modelo co a As pr´ximas se¸˜es desse artigo estar˜o assim organizadas: o co a MOF pode ser visto na Figura 1. a se¸˜o 2 tratar´ sobre conceitos e tecnologias utilizadas em ca a MDA; a se¸˜o 3 abordar´ brevemente o PMBOK; a inte- ca a ra¸˜o entre PMBOK e MDA ser´ discutida na se¸˜o 4; e, ca a ca finalmente, a se¸˜o 5 apresentar´ as conclus˜es e os poss´ ca a o ı- veis trabalhos futuros. 1.1 Trabalhos relacionados Uma sugest˜o de crit´rios a serem considerados na avalia¸˜o a e ca de ferramentas utilizadas para uma abordagem MDA, bem como as funcionalidades que uma ferramenta ideal apresen- taria, est˜o dispon´ a ıveis em [6]. Em [4], ´ apresentado como e aplicar uma abordagem MDA no contexto de uma Enter- prise Architecture, a partir do uso de boas pr´ticas e heur´ a ıs- ticas para se atingir o sucesso da abordagem. Um trabalho interessante a ser citado ´ o [14]. Este faz e um estudo aprofundado da implementa¸˜o de metodologias ca ´geis para desenvolvimento de software (em espec´ a ıfico, o Scrum) em conjunto com as pr´ticas de gerenciamento de a projetos do PMBOK. O resultado dessa combina¸˜o ´ bas- ca e tante criticada especialmente por aqueles que defendem a ado¸˜o pura de apenas um dos dois. Apesar disso, ´ cons- ca e tatado que h´ sim a possibilidade de utilizar ambas juntas a e que seus resultados s˜o positivos. a Figura 1: Modelo MOF 2. MDA: CONCEITOS E TECNOLOGIAS 2.1.2 UML - Unified Modelling Language Nessa se¸˜o, ser˜o abordados tecnologias de suporte ` MDA, ca a a UML ´ uma linguagem visual de modelagem baseada no e como MOF (Meta-Object Facility) e UML (Unified Model- conceito de orienta¸˜o a objetos. Ela foi criada por Grady ca ling Language). Ser˜o apresentados tamb´m os v´rios mode- a e a Booch, James Rumbaugh e Ivar Jacobson [8]. Atualmente, los definidos pela MDA, como CIM (Computation Indepen- a UML foi padronizada e ´ mantida pela OMG. Em MDA, e dent Model ) e PSM (Platform Specific Model ). Posterior- os modelos UML precisam estar bem definidos, para que as mente, ser´ apresentado o ciclo de vida MDA e, por ultimo, a ´ ferramentas possam trabalhar em cima deles. Um dos con- algumas ferramentas CASE (Computer-Aided Software En- ceitos utilizados, principalmente na abordagem Agile MDA, gineering) que suportam a MDA. ´ o de UML execut´vel [10]. Uma UML execut´vel ´ um e a a e perfil UML que define semˆnticas de execu¸˜o para um sub- a ca 2.1 Tecnologias de suporte conjunto restrito da UML. Este subconjunto ´ computaci- e A OMG adota algumas tecnologias para MDA. A maioria onalmente completo, possibilitando a sua execu¸˜o. Esses ca e o a delas ´ mantida pela pr´pria OMG. Ser˜o abordadas algu- modelos execut´veis se comportam como c´digo, mas est˜o a o a mas que servem para modelagem e gerenciamento de mo- num n´ ıvel de abstra¸˜o maior, mais pr´ximo da linguagem ca o delos. S˜o elas: MOF, UML, CWM (Common Warehouse a do cliente. Metamodel ) e XMI (XML Metadata Interchange). Apesar de a OMG encorajar o uso dessas tecnologias para o desen- 2.1.3 CWM - Common Warehouse Metamodel volvimento MDA, qualquer uma delas pode ser substitu´ ıda CWM ´ uma tecnologia para a troca de metamodelos dispo- e por uma equivalente. n´ ıveis em ambientes de data warehouses entre ferramentas, plataformas e reposit´rios [7]. Especificado pela OMG e ba- o 2.1.1 MOF - Meta-Object Facility seado em MOF, sua fun¸˜o ´ estender o modelo de objetos ca e MOF ´ uma tecnologia de meta-metamodelagem. Ela se e da UML, fornecendo um framework para representar meta- baseia num arquitetura de 4 n´ ıveis de modelagem [11]. O dados, desde os dados at´ as opera¸˜es das data warehouses. e co n´ ıvel M0 ´ o n´ e ıvel da informa¸˜o, dos dados propriamente ca CWM permite que ambientes de dados diferentes possam se ıvel e ıvel ditos. O n´ M1 ´ o n´ de modelos. No n´ M2, temos ıvel comunicar, trocando informa¸˜es. co
  • 3. 2.1.4 XMI - XML Metadata Interchange especificar rela¸˜es entre propriedades de uma entidade ou co XMI ´ um padr˜o de formato para a troca de modelos e e a as intera¸˜es entre entidades distintas. Esse modelo se ca- co metamodelos UML e baseados em MOF atrav´s de XML e racteriza, como o pr´prio nome indica, pela independˆncia o e [13]. Desenvolvido pela OMG, provˆ um framework para e de plataforma, ou seja, ´ tecnologicamente neutra [9]. E e ´ definir, trocar, manipular e integrar dados e objetos XML. projetado para que seja capaz de definir a arquitetura que Atrav´s de uso de XMI, ´ poss´ realizar um mapeamento e e ıvel o sistema ter´ em qualquer plataforma que venha a ser de- a de MOF para XML. finida, ainda que sem detalhes de implementa¸˜o. ca 2.2 Modelos definidos pela MDA Exemplificando na comunica¸˜o abordada, tem-se como parte ca A MDA possui processos estabelecidos pela OMG, cujos re- do modelo independente de idioma a defini¸˜o de que se ca sultados de cada um d˜o-se como modelos diferentes. Cada a trata de uma frase interrogativa (´ um pedido), portanto e modelo possui um n´ de independˆncia de maneira a pro- ıvel e precisar´ de um elemento que atribua a interroga¸˜o ao idi- a ca porcionar um melhor reaproveitamento, seja para a mesma oma a ser adotado. Tamb´m ´ necess´rio definir os objetos e e a ca ca aplica¸˜o em plataformas diferentes, seja para uma aplica¸˜o ca a e da a¸˜o (a pessoa em quest˜o), os sujeitos (algu´m a quem diferente que necessite de defini¸˜es equivalentes a outras co se pedir ajuda) e a a¸˜o propriamente dita (ajudar). Esses ca previamente desenvolvidas. Segundo Beydeda [3], existem elementos existem em qualquer idioma, por´m, abordados e quatro tipos de camadas, descritas em ordem decrescente de com regras diferentes. Essas regras ainda n˜o foram envol- a independˆncia: e vidas, tornando a constru¸˜o da id´ia (a pessoa precisa pedir ca e ajuda a algu´m) flex´ aos idiomas existentes. e ıvel i) CIM - Computation Independent Model 2.2.3 PSM - Platform Specific Model ii) PIM - Platform Independent Model Designada uma plataforma, o modelo PIM ser´ transfor- a mado em um modelo PSM. Esse modelo ´ capaz de descre- e iii) PSM - Platform Specific Model ver como ser´ desenvolvido o sistema de maneira mais espe- a c´ ıfica, j´ que resultar´ da combina¸˜o de especifica¸˜es do a a ca co iv) ISM - Implementation Specific Model modelo anterior com detalhes de como o sistema funcionar´a na plataforma em quest˜o. a Para tornar a compreens˜o dos modelos mais simples, ser´ a a abordada uma analogia da gera¸˜o de c´digo de programa- ca o Em analogia, ´ a aplica¸˜o das regras de sintaxe do idioma e ca ca e ¸˜o com o uso de idiomas. O que ´ coerente, pois um idi- em espec´ ca e ıfico na constru¸˜o da id´ia escolhida. Sendo o oma nada mais ´ que um c´digo utilizado pelas pessoas para e o idioma portuguˆs, os elementos identificados devem seguir e que as mesmas possam se comunicar, da mesma forma que as regras gramaticais da l´ ıngua portuguesa. Por exemplo, o o a a co utiliza-se c´digos para comunicar `s m´quinas instru¸˜es do o c˜ elemento a se atribuir para caracterizar o c´digo (a ora¸ao) que deve ser executado. Adotando como exemplo, tem-se como interrogativa seria o s´ ımbolo (signo) “?” no final da uma situa¸˜o em que uma pessoa necessita da ajuda de uma ca ora¸˜o. Caso fosse escolhido o idioma espanhol, os s´ ca ımbolos outra e, portanto, precisa construir a ora¸˜o a ser utilizada ca a utilizar seriam “¿” no in´ıcio, e “?” no final da ora¸˜o. ca para se comunicar. Os detalhes das plataformas s˜o fornecidos pelo PDM. a 2.2.1 CIM - Computation Independent Model Em uma aplica¸˜o desenvolvida com MDA, faz-se necess´ria ca a 2.2.4 PDM - Platform Definition Model a cria¸˜o de modelos cujas defini¸˜es sejam independentes de ca co O PDM n˜o ´ um modelo resultado dos processos MDA, a e estrutura e processamento do sistema [9]. Ou seja, modelos mas sim um modelo que fornece os conceitos t´cnicos de e voltados apenas ` compreens˜o das regras de neg´cio. Tal a a o diferentes partes que comp˜e a plataforma, e os elementos o modelo chama-se Computation Independent Model (CIM). A ca ´ que o sistema pode oferecer ` aplica¸˜o. E a partir dele que a inten¸˜o principal deste ´ especificar o dom´ ca e ca ınio da aplica¸˜o a ser´ poss´ıvel a transforma¸˜o de PIM para PSM. Uma vez ca a ser definida e os servi¸os e entidades com ela envolvidas. c que ´ escolhida a plataforma, faz-se necess´rio saber como e a Compete a ele identificar requisitos do dom´ınio, mas n˜o seu a a mesma funciona e os servi¸os que oferece para que as de- c funcionamento interno ou especifica¸˜es t´cnicas. Trata-se co e fini¸˜es estabelecidas no PIM possam ser realizadas. co apenas de uma abstra¸˜o, um conceito. Comparando com o ca exemplo adotado, esse modelo consiste na forma¸˜o de uma ca Analogamente, o PDM seria a gram´tica do idioma esco- a id´ia, uma mensagem. Essa id´ia seria que a pessoa precisa e e lhido, com todas as regras espec´ ıficas. pedir ajuda de outra pessoa. Nenhuma palavra de idioma algum foi envolvida ainda. Por esse mesmo motivo, sendo 2.2.5 ISM - Implementation Specific Model puramente conceitual, ´ dependente da interpreta¸˜o dos e ca Por fim, tendo o modelo da aplica¸˜o j´ adaptado para fun- ca a desenvolvedores (analista e especialista de neg´cio), e por- o cionar na plataforma designada, o que resta a ser feito ´ e tanto de mapeamento complexo. Portanto, torna-se invi´vel a o c´digo em si. O produto final da MDA. Este modelo ´ o e o processamento autom´tico da transforma¸˜o do modelo a ca tamb´m conhecido como ISM. e CIM para o modelo seguinte, PIM. Este modelo seria, por fim, a ora¸˜o formada com a apli- ca 2.2.2 PIM - Platform Independent Model ca¸˜o apropriada dos signos. “Pode me ajudar?” em por- ca O modelo PIM j´ ´ capaz de descrever caracter´ a e ısticas da tuguˆs, “¿Puede usted atenderme?” em espanhol, “Pouvez- e ca a ıvel fazer no CIM. Por exemplo, aplica¸˜o que n˜o era poss´ vous m’aider ?” em francˆs, “Can You help me?” em inglˆs, e e
  • 4. servem como exemplos das v´rias formas que a mensagem a modelos e uma s´rie de plugins para transforma¸˜o desses e ca (CIM) pode tomar. modelos. Suas caracter´ ısticas s˜o: a 2.3 Ciclo de Vida MDA i) Design modular: o AndroMDA ´ dividido em m´dulos e o Focando no ciclo seguido pelos processos do MDA, obt´m- e que podem ser divididos para atender `s necessidades a se o seguinte esquema apresentado na Figura 2. O ciclo do usu´rio; a tem seu in´ıcio na an´lise de requisitos, onde ser˜o obtidas a a as informa¸˜es de neg´cio a respeito da aplica¸˜o a ser de- co o ca ii) Suporta o meta-modelo UML 1.4, mas o suporte ao mo- senvolvida. Desse processo, o resultado ´ o CIM. Este ser´ e a delo 2.0 j´ se encontra em desenvolvimento; a transformado em PIM com ajuda de ferramentas, mas essen- cialmente com a¸˜es dos pr´prios projetistas, dada a grande co o iii) Suporta a inclus˜o de meta-modelos customizados em a complexidade de o sistema interpretar e mapear o modelo MOF ou XMI e gera¸˜o de c´digo a partir deles; ca o CIM. Ap´s a transforma¸˜o, o PIM resultante ser´ parcial, o ca a sendo ainda analisado pelos projetistas envolvidos, onde ha- iv) Plugins para plataformas espec´ ıficas; ver˜o os ajustes necess´rios para ent˜o o PIM ser definitivo. a a a Este ent˜o ser´, com ferramentas, transformado em PSM. a a v) Atualmente dispon´ na vers˜o 3.3. ıvel a Este, por sua vez, sofrer´ novas transforma¸˜es que gerar˜o a co a o ISM (o c´digo propriamente dito). o Os plugins do AndroMDA s˜o chamados de cartuchos (car- a ´ co a Essas duas ultimas transforma¸˜es, a curto prazo, s˜o exe- tridges). Cada cartucho ´ respons´vel por transforma¸˜es e a co cutadas pelos programadores ainda com aux´ de ferramen- ılio para uma determinada plataforma. Nativamente, o An- tas. Futuramente, elas dever˜o ocorrer automaticamente [9], a droMDA j´ possui cartuchos para as plataformas Spring, a cabendo ao programador apenas analisar os resultados e fa- JSF, Hibernate, Java, EJB 2 / 3, entre outros. A ferramenta zer as modifica¸˜es cab´ co ıveis. As vantagens fornecidas pela tamb´m possui um kit para cria¸˜o de cartuchos novos ou e ca cria¸˜o desses modelos ser´ abordada no t´pico “Vantagens ca a o ca a customiza¸˜o dos j´ existentes [2]. e Desvantagens”. Depois de ter o c´digo pronto, ele entra o em testes, dando resultados que ser˜o levados em conside- a Apesar de ser baseado na MDA, o AndroMDA n˜o realiza a ra¸˜o na nova an´lise do PIM obtido para altera¸˜es. Esse ca a co transforma¸˜es do modelo PIM para o modelo PSM. A fer- co PIM modificado, passa pelas transforma¸˜es at´ chegar no- co e ramenta j´ traduz do modelo PIM para c´digo fonte em uma a o vamente no ISM, como um processo iterativo. determinado plataforma, dependendo do cartucho escolhido para realizar a transforma¸˜o. Vale ressaltar que o modelo ca PIM aceito pelo AndroMDA tem que ser modelado em outra ferramenta e salvo no formato .XMI. Esse modelo deve ser composto pelo diagrama de casos de uso, o diagrama de clas- ses e o diagrama de atividades. Esses modelos ainda devem levar em considera¸˜o o conceito de marcas, onde os elemen- ca tos dos diagramas s˜o marcados com esteri´tipos UML. Por a o exemplo, um caso de uso pode ser marcado com o esteri´- o tipo ≪ F rontEndU seCase ≫, indicando que ´ um caso de e uso que interage com o usu´rio. A partir desses modelos, o a AndroMDA ´ capaz de gerar o c´digo fonte correspondente, e o automatizando grande parte do processo de desenvolvimento [5]. 2.4.2 OptimalJ A OptimalJ ´ uma ferramenta comercial, constru´ por e ıda uma empresa chamada Compuware. Por ser constru´ em ıda cima da IDE (Integrated Development Environment) Eclipse, se caracteriza por ser um ambiente de desenvolvimento diri- Figura 2: Ciclo de vida do MDA gido a modelos voltado ` plataforma Java. Essa ferramenta a permite a cria¸˜o de modelos utilizando UML e MOF como ca 2.4 Ferramentas CASE meta-metamodelo. Se encontra atualmente na vers˜o 4.3 a Muitas ferramentas CASE podem ser utilizadas para au- e tem como caracter´ ıstica importante o fato de permitir o xiliar a MDA atrav´s da constru¸˜o de modelos em UML e ca desenvolvimento em trˆs etapas, cada uma contendo um mo- e e gerando c´digo a partir deles. Para a MDA, foram en- o delo espec´ ıfico: contradas duas ferramentas espec´ıficas que podem atuar de maneira interessante dentro dessa metodologia. Essas ferra- mentas s˜o o AndroMDA e a OptimalJ. a i) O modelo de dom´ ınio, o qual equivale ao PIM; ii) O modelo de aplica¸˜o, o qual equivale ao PSM; ca 2.4.1 AndroMDA ´ Seu nome pronuncia-se andrˆmeda. E um framework de o iii) O modelo de c´digo, representado pelo c´digo fonte o o c´digo aberto que utiliza a UML para a interpreta¸˜o de o ca Java.
  • 5. O modelo de dom´ ınio (PIM) ´ representado pelo diagrama e cessos, onde, em cada fase, um conjunto de atividades s˜o a de classes e o diagrama de atividades. O diagrama de classes executadas de maneira a tornar o processo de desenvolvi- modelado na OptimalJ apresenta algumas restri¸˜es, como co mento o mais gerenci´vel poss´ a ıvel. o fato de n˜o suportar a modelagem de interfaces. Com re- a la¸˜o ao diagrama de atividades, a ferramenta imp˜e que ca o O ciclo de vida do projeto ´ apresentado na Figura 4, que e cada fluxo tenha que especificar o objeto que ´ passado de e apresenta cinco grupo de processos de um projeto: de inici- uma atividade para outra. O diagrama de casos de uso e a¸˜o, de planejamento, de execu¸˜o, de controle e monito- ca ca o conceito de marcas n˜o s˜o necess´rios para que a ferra- a a a ramento e de encerramento. menta realize a transforma¸˜o entre o PIM e o PSM. Essa ca transforma¸˜o utiliza regras para mapear os elementos do ca modelo fonte para o modelo alvo. Vale ressaltar que ao apli- car essa transforma¸˜o, a OptimalJ insere uma arquitetura ca de camadas ao modelo PSM, al´m de realizar o registro da e transforma¸˜o, como ´ sugerido pela MDA [5]. ca e Em [15] ´ apresentado um estudo de caso que mostra a cons- e tru¸˜o de um sistema de e-commerce, especificamente o Pet ca Store desenvolvido pela Sun para demonstrar padr˜es deo projeto. O estudo desenvolveu o sistema utilizando a pla- taforma .NET, a plataforma J2EE de forma manual e com o OptimalJ, seguindo as etapas da MDA. A Figura 3 mos- tra uma gr´fico onde ´ poss´ a e ıvel ver o n´ mero de linhas de u c´digo escritas manualmente em cada um dos m´todos ado- o e tados. Dessa forma, ´ poss´ e ıvel verificar que o n´ mero total u de linhas de c´digo que foram escritas manualmente depois o de se utilizar a OptimalJ foi consideravelmente inferior aos outros m´todos adotados, demonstrando o quanto uma fer- e ramente pode auxiliar o processo de desenvolvimento. Figura 4: Ciclo de vida do projeto Cada grupo de processos do ciclo de vida do projeto con- siste em atividades relacionadas a uma das nove ´reas de a conhecimentos definidos pelo PMBOK: i) Escopo; ii) Tempo; iii) Custos; iv) Qualidade; v) Recursos humanos; vi) Comunica¸˜es; co vii) Riscos; viii) Aquisi¸˜es; co Figura 3: Quantidade de linhas de c´digo escritas o ix) Integra¸˜o. ca manualmente Segundo o PMBOK [12], uma boa gerˆncia do escopo do e 3. PMBOK - PROJECT MANAGEMENT projeto garante que todo o trabalho necess´rio ser´ bem a a BODY OF KNOWLEDGE entendido e evitar´ trabalhos que n˜o estejam dentro do a a O PMBOK ´ um guia editado e publicado pelo PMI (Project e escopo do projeto. Management Institute) que re´ ne o que se considera ser as u melhores pr´ticas em gest˜o de projetos em v´rias ´reas de a a a a Ao final da fase de planejamento do escopo do projeto, os conhecimento. artefatos criados consistem de uma declara¸˜o do escopo do ca projeto e do produto, incluindo sua Estrutura Anal´ıtica do O guia est´ na terceira edi¸˜o, publicada em 2004, e tem a ca Projeto (EAP) e um dicion´rio da EAP, que garantir´ um a a se tornado uma referˆncia mundial na gerˆncia de projetos. e e correto entendimento de todos os integrantes da equipe do O guia define o ciclo de vida do projeto por grupos de pro- projeto.
  • 6. A estrutura anal´ıtica do projeto apresenta uma decomposi- ¸˜o hier´rquica de todos os pacotes de trabalho necess´rios ca a a ao objetivo do projeto, incluindo atividades ligadas ` sua a gerˆncia e ao processo de desenvolvimento em si. e 4. SUGESTÃO DE USO DA MDA COM O PMBOK Segundo a especifica¸˜o da MDA, durante o desenvolvimento ca de sistemas complexos, ´ preciso que sejam feitos sucessivos e refinamentos nos seus modelos at´ um ponto em que todo o e escopo do produto seja alcan¸ado pelo projeto, assim como c apresentado na Figura 5. Figura 6: Exemplo de EAP de desenvolvimento de software. O adequado detalhamento da entrega referente ao software poder´ ser usada durante a a aplica¸˜o de MDA no sentido de encontrar quantos e quais ca modelos independentes de arquitetura ser˜o gerados, assim, a poderemos evitar os refinamentos dos modelos mais espec´ ı- ficos, o que trar´ um ganho de tempo significativo [6]. a 5. CONCLUSÕES O princ´ıpio da MDA ´ o uso de modelos para abstrair a pla- e taforma na qual o produto ser´ implementado. Entretanto, a a etapa de modelagem n˜o ´ devidamente realizada no ce- a e n´rio atual da engenharia de software. Al´m disso, a MDA a e n˜o provˆ uma estrutura de gerenciamento de projeto. Ba- a e seado neste fato, propˆs-se o uso das pr´ticas de gerˆncia de o a e projetos do PMBOK. Figura 5: Processo para sistemas complexos No decorrer do trabalho, constatou-se que sistemas comple- xos poderiam ser melhor gerenciados com o uso da EAP. Tal ue e Uma conseq¨ˆncia direta desta abordagem ´ o excessivo ca c co avalia¸˜o foi alcan¸ada dadas as sucessivas transforma¸˜es tempo gasto nos refinamentos, j´ que, como apresentado na a sofridas por um sistema complexo numa abordagem MDA. Figura 4, a atividade de refinamento ´ executada para todos e os n´ıveis de modelagem, desde os modelos independentes 5.1 Vantagens e desvantagens de plataforma, at´ o modelo espec´ e ıfico. Uma t´cnica que e A gera¸˜o de modelos na MDA, apesar de consumir um ca permite reduzir o tempo gasto pelos sucessivos refinamentos consider´vel esfor¸o e tempo, possui benef´ a c ıcios. Um deles, nos v´rios n´ a e a ıveis de modelagem ´ aplicar o m´ximo desta como j´ mencionado, ´ a possibilidade de reutiliz´-los em a e a atividade ao modelo de mais alto n´ ıvel, j´ que este ´ desen- a e uma outra aplica¸˜o de requisitos semelhantes. Em [14], ca volvido atrav´s de uma linguagem mais pr´xima do dom´ e o ınio apresentam-se outras vantagens do uso de MDA: facilidade do neg´cio e permite um melhor entendimento pelas diver- o de manuten¸˜o e documenta¸˜o (como as mudan¸as devem ca ca c sas partes envolvidas no projeto de desenvolvimento. Esta ser feitas nos modelos, estes est˜o sempre atualizados, im- a t´cnica permite n˜o s´ a redu¸˜o no tempo de desenvolvi- e a o ca pedindo a defasagem que normalmente ocorrem entre a do- mento do sistema, mas tamb´m um melhor entendimento do e cumenta¸˜o e o produto final em modelos de desenvolvi- ca escopo do produto de software em quest˜o, o que acaba por a mento tradicionais) e portabilidade (de um mesmo PIM, que reduzir os riscos associados e os custos do projeto. por defini¸˜o ´ independente de plataforma, pode-se gerar a ca e mesma aplica¸˜o em diferentes plataformas). ca Uma outra vantagem de concentrar o trabalho de refinar o trabalho ao m´ximo concentrando-se no modelo de mais alto a Entretanto, como apresentado em [1], a utiliza¸˜o de MDA ca n´ da MDA ´ que ele geralmente ´ feito em um momento ıvel e e tem alguns pr´-requisitos, alguns deles bastante severos. Den- e inicial do projeto. Isso permite um conhecimento anteci- tre eles, apontamos: a equipe de desenvolvimento deve ter pado dos riscos e um melhor planejamento de respostas e modeladores de grande habilidade, algo ainda incomum no alternativas a eles. Ainda na fase de planejamento do pro- mercado; o atual conjunto de ferramentas para MDA ainda jeto de desenvolvimento, segundo o PMBOK [12] a defini¸˜oca n˜o suporta todas as etapas de desenvolvimento contidas na a ca a da EAP permite uma organiza¸˜o hier´rquica do escopo to- e especifica¸˜o; al´m disso, esse atual conjunto ´ relativamente ca e tal do projeto de maneira a subdividir todo o trabalho em pequeno em rela¸˜o ` quantidade de ferramentas dispon´ ca a ıveis partes menores, mais f´ceis de ser executadas, gerenciadas e a para outras metodologias, tais como RUP (Rational Unified dimensionadas. Process) e XP (eXtreme Programming); o suporte para es- trat´gias de teste por estas ferramentas ainda ´ insatisfat´- e e o A Figura 6, apresenta uma EAP ilustrativa de um projeto rio.
  • 7. A longo prazo, as duas ultimas transforma¸˜es, de PIM a ´ co [11] OMG - Object Management Group. Meta-Object PSM e de PSM a ISM, ser˜o automatizadas. Isso torna a Facility (MOF) Specification. muito simples o desenvolvimento de software, tal como, por [12] Project Management Institute. Project Management analogia, se tornou a programa¸˜o de baixo n´ ca ıvel para alto Body of Knowlewdge Guide, 3 edition, 2004. n´ıvel. Contudo, talvez esse seja o maior desafio da MDA. [13] R. Santos. XMI. Faculdade de Ciˆncias e Tecnologia e O foco do desenvolvimento de softwares se torna a etapa de da Universidade Nova de Lisboa, 2004. modelagem e documenta¸˜o, em contraste com as metodo- ca [14] A. Tavares. Gerˆncia de projeto com PMBOK e e logias atuais, em especial as ´geis. A etapa de codifica¸˜o a ca Scrum. Master’s thesis, Faculdade Cenecista Nossa perde importˆncia, sendo realizada apenas para determina- a Senhora dos Anjos, Gravata´ı/RS, 2008. das partes em que as ferramentas n˜o foram capazes de re- a [15] S. Witkop. Driving business agility with model driven alizar atrav´s dos modelos fornecidos. Os programadores e architecture. Ohio/Pennsylvania Solution Centre. n˜o mais utilizam linguagens tradicionais, como C# e Java, a mas sim em QVT (Query/View/Transformation). Todas essas mudan¸as acabam por afastar os desenvolvedores de c softwares, receosos em utilizar uma metodologia ainda n˜o a solidificada. 5.2 Trabalhos futuros Para poss´ ıveis trabalhos futuros, sugere-se analisar o uso de outras metodologias de gerˆncia de projetos (por exem- e plo, MPS.BR) para auxiliar no desenvolvimento de produtos usando MDA, visto que a mesma n˜o fornece uma estrutura a de gerenciamento. Sugere-se ainda verificar se h´ outros ar- a tefatos do PMBOK que possam ser utilizados numa aborda- gem MDA. Outra poss´ extens˜o do trabalho ´ a aplica¸˜o ıvel a e ca da proposta para o desenvolvimento de um produto. 6. REFERÊNCIAS [1] S. W. Amber. Are you ready for the MDA. http://www.agilemodeling.com/essays/readyForMDA.htm, 2004. [2] AndroMDA Team. AndroMDA. http://www.andromda.org/. [3] S. Beydeda, M. Book, and V. Gruhn. Model-driven Software Development. Birkh¨user, 2005. a [4] A. W. Brown. MDA redux: Practical realization of Model Driven Architecture. In Proceedings of the Seventh International Conference on Composition-Based Software Systems, pages 174–183, 2008. [5] G. L. P. Caliari. Transforma¸˜es e mapeamentos da co MDA e sua implementa¸˜o em trˆs ferramentas. ca e Master’s thesis, Escola Polit´cnica da Universidade de e S˜o Paulo, 2007. a [6] T. Calic and S. Egbert. Tools for MDA software development: Evaluation criteria and set of desirable features. In Proceedings of the Fifth International Conference on Information Technology: New Generations, pages 44–50, 2008. [7] D. T. Chang and J. D. Poole. Common Warehouse Metamodel (CWM). In OMG First Workshop on UML in the .com Enterprise: Modeling CORBA, Components, XML/XMI and Metadata, 2000. [8] A. Esmin. Modelando com UML - Unified Modeling Language. http://www.dcc.ufla.br/infocomp/artigos/v1.1/tutorialUML.pdf, 2000. [9] P. Jandl Junior. Uma an´lise da OMG Model Driven a Architecture. An´lise, (11), 2005. a [10] S. J. Mellor. Agile MDA. http://www.omg.org/mda/mda files/Agile MDA.pdf.