Você está na página 1de 10

UMA ADAPTAO DA LINGUAGEM UML-F EM NVEL DE CASO DE USO E DE CLASSE EM

UMA FERRAMENTA GRATUITA DE MODELAGEM


AN ADAPTATION OF UML-F LANGUAGE IN USE CASE AND CLASS LEVEL ON A MODELING
FREE TOOL

Paulo Eduardo Boeira Capeller

Resumo. O processo de desenvolvimento de frameworks


captura os requisitos em domnio. Por isso, a utilizao de
uma ferramenta de suporte a modelagem de frameworks
importante porque ajuda a automatizar as tarefas, como
por exemplo, gerao de cdigo, engenharia reversa,
elaborao de diagramas, entre outras. Este artigo
analisou as ferramentas de modelagem baseando-se em
critrios
estabelecidos
pelas
metodologias
de
desenvolvimento de frameworks e prope uma adaptao
para os diagramas UML-F no Omondo. Apresenta tambm
o uso da UML-F adaptada na criao dos diagramas de
casos de uso e de classe do framework de preo de venda.
Palavras-chave: Engenharia de software, Framework,
UML-F, Omondo.

Abstract. The development process of frameworks


captures all the requirements in domain. Therefore, the
use of frameworks modeling support tool is important
because it aids to automate tasks such as generate codes,
reverse engineering, create diagrams, among others. This
paper analyzed the modeling tools based on criteria
established
by
the
frameworks
development
methodologies and proposes an adaptation to UML-F
diagrams in Omondo. It also shows the use of UML-F
adapted in the creation of use case and classes diagrams
of the sale price framework.
Keywords: Software Engineering, Framework, UML-F,
Omondo.

Revista Tecnolgica

Maring, v, 20, p. 25-34, 2011.

Uma adaptao da linguagem UML-F em nvel de caso de uso e de classe em uma ferramenta gratuita
26 de modelagem
1 INTRODUO
Durante o processo de desenvolvimento
de software vivel a utilizao de uma
ferramenta que apie atividades como anlise
de requisitos, modelagem do sistema,
depurao e testes. As ferramentas CASE
(Sommerville 2003) possuem essa finalidade,
ajudando o desenvolvedor a acompanhar a
evoluo do software ao longo das etapas do
ciclo de vida, registrando e facilitando o
acesso ao conjunto das informaes geradas.
Isto minimiza a ocorrncia de erros durante o
desenvolvimento e oferece mecanismos de
verificao da especificao e validao do
produto.
Segundo um estudo realizado por Silva
(2000) e Viljamaa (2001) so poucas as
ferramentas voltadas especificamente ao
desenvolvimento de frameworks. Mas, os
ambientes baseados em metodologias de
Anlise e Projeto Orientado a Objetos podem
ser usados para auxiliar em sua especificao,
porm, com algumas restries, como por
exemplo, representao grfica diferente
para os pontos de estabilidade e flexibilidade
do framework (Pree 1995).
Por isso, este artigo descreve algumas
ferramentas que podem ser utilizadas durante
o desenvolvimento de frameworks, bem
como realiza uma anlise comparativa entre
elas, permitindo ao projetista ter uma viso
geral sobre as mesmas, o que poder ajud-lo
a conseguir modelar seu framework com uma
maior produtividade em termos de possveis
alteraes que possam ocorrer durante a
anlise e o projeto.
Este artigo tem a seguinte organizao. A
Seo 2 relata a classificao das ferramentas
de suporte modelagem de frameworks. A
Seo 3 apresenta uma anlise comparativa
entre essas ferramentas. A Seo 4 descreve a
adaptao de uma ferramenta gratuita de
modelagem para suporte a criao do modelo
de framework, bem como os resultados. A
ltima seo descreve as concluses finais
deste trabalho.
2 CLASSIFICAO DAS FERRAMENTAS DE
SUPORTE A MODELAGEM DE FRAMEWORKS
Segundo Silva (2000) o uso de frameworks

Revista Tecnolgica

para a gerao de aplicaes pode ser


suportado por ferramentas de diferentes
tipos, tais como: Anlise, Gerao de
Aplicaes, Cookbooks e Ambientes Visuais.
As ferramentas de Anlise ajudam a entender
o projeto de um framework, na busca de
respostas das questes-chave, isto ,
conhecer o que fazer para produzir
aplicaes.
As ferramentas de Aplicaes auxiliam no
desenvolvimento de frameworks especficos.
Exemplos
dessas
ferramentas
so
VisualWorks (Parcplace 1994) e o construtor
de ferramentas HotDraw (Brant 1995). A
VisualWorks destina-se a construo de
interfaces grficas atravs da seleo de
elementos visuais em um palette e sua
alocao em um canvas. Por sua vez, o
HotDraw um navegador que facilita a tarefa
de associao de figuras, comandos e leitores
para definir a estrutura de ferramentas em
editores grficos.
Quando um desenvolvedor de aplicao
quer usar um framework para resolver um
problema, deve-se disponibilizar uma maneira
fcil de encontrar a soluo e aplic-la. Para
conseguir este tipo de acessibilidade, a
documentao de framework pode ser
organizada, como um framework cookbook
(Krasner and Pope 1988). Muitas tentativas
tm sido feitas para produzir uma abordagem
cookbook para documentao de framework
mais dinmica e mais precisa tais como: hooks
(Froehlich et al 1997) e SmartBooks (Ortigosa
et al 2000). As Ferramentas de Ambientes
Visuais so utilizadas para o desenvolvimento
de aplicaes a partir de frameworks de caixapreta, os quais envolvem chamadas de
servios atravs da interface e dos
componentes concretos (Durham and
Johnson 1996). Por isso, este artigo apresenta
algumas ferramentas de suporte fase de
modelagem da Anlise e Projeto de
Frameworks, Seo 3, em que se utiliza a
linguagem UML-F descrita a seguir (Fontoura
et al. 2002).
2.1 UML-F (UNIFIED MODELING LANGUAGE
FRAMEWORK)
uma extenso da linguagem UML
(Unified Modeling Language) cujo objetivo

Maring, v, 20, p. 25-34, 2011.

Capeller
27
atender as restries da modelagem de
framework. Por esse motivo, composta por
um pequeno conjunto de extenses que
captura a semntica das variaes de um
framework orientado a objetos (Fontoura et
al 2002).

A notao grfica da UML-F (Framework


Unified Modeling Language) para os diagramas
de caso de uso e de classe esto ilustrados na
Figura 1, adaptado de Ben-Abdallah et. al.
(2002).

Figura 1. UML-F para diagrama de caso de uso e de classe

3 UM PANORAMA COMPARATIVO ENTRE AS


FERRAMENTAS GRATUITAS DE SUPORTE A
MODELAGEM DE FRAMEWORK
As ferramentas apresentadas nessa seo
foram testadas e utilizadas durante o auxilio
da modelagem de um framework no domnio
de preo de venda. Foram analisados

Revista Tecnolgica

somente os diagramas de caso de uso e de


classe, pois representam os principais
modelos no desenvolvimento de frameworks.
A primeira ferramenta analisada foi UMLet
(Umlet 2009). Esta limitada para
modelagem de Anlise e de Projeto. Apesar
de ter uma licena Open Source, seus recursos
so bastante restritos. No d suporte: a

Maring, v, 20, p. 25-34, 2011.

Uma adaptao da linguagem UML-F em nvel de caso de uso e de classe em uma ferramenta
28 gratuita de modelagem
gerao de cdigo, a padres de projeto, a
metapadres, a engenharia reversa, ao uso de
cartes hot spots, ao projeto arquitetural e
nem a definio dos pontos de estabilidade e
flexibilidade. Por sua vez, a ferramenta
Umbrello UML Modeller (Hensgen 2009) se
mostra melhor que UMLet, tendo tambm
seu cdigo aberto. Oferece recursos como
gerao de cdigo, documentao do projeto,
importao de cdigo. Permite a impresso
de documentos e a engenharia reversa
somente para C++. Igualmente a UMLet, no
suporta: padres de projeto, metapadres e
definio dos pontos de estabilidade e de
flexibilidade. Uma restrio que esta
ferramenta somente roda em Sistema
Operacional Unix.
Outra ferramenta analisada foi a
Enterprise Architect (Sparx 2009), que
oferece diversos recursos de modelagem que
podero auxiliar no desenvolvimento do
framework. Em sua verso completa, oferece
os seguintes recursos: rastreabilidade;
documentao do projeto; gerao de cdigo;
realizao de engenharia reversa; exportao
de documentos; especificao da modelagem
de processos de negcios, interfaces de
usurio, redes, configurao de hardware,
mensagens, entre outros; especificao de
sistemas dinmicos e estticos; permite o
controle de verses. Uma desvantagem desta
ferramenta que a mesma s apresenta uma
verso trial completa para 30 dias, sendo que
as outras verses so pagas. Tambm no
fornece suporte a definio dos pontos de
estabilidade e flexibilidade do framework. Sua
vantagem que d suporte a Padres de
Projeto, definio de esteretipo de
metapadres.
A ferramenta de cdigo aberto ArgoUML
(Ramirez 2009), mostrou-se uma ferramenta
mais completa do que UMLet, Umbrello UML
Modeller, mas no to abrangente quanto a
Enterprise Architect. O que apresenta de
diferente com relao s outras ferramentas
o suporte as caractersticas cognitivas de
desenvolvimento. Suas desvantagens so:
no permite eliminar os objetos na rvore de
construo da modelagem, no permite
confeco do projeto arquitetural, no deixa
definir os pontos de estabilidade e
flexibilidade e no tem um template padro

Revista Tecnolgica

para criao do modelo. Alm disso, a


ArgoUML ferramenta de cdigo aberto e
permite ser estendida para suportar outras
linguagens de modelagem.
O Omondo (Omondo 2010) uma
ferramenta de modelagem para framework
Eclipse, com suporte aos diagramas: classes
reverso; package reverso; reverso de
heranas e dependncias; Javadoc. Permite a
gerao de cdigo em Java e JavaDoc;
importao/exportao em EMF (XMI 2.0).
No d suporte a Padres de Projeto. A
ferramenta Astah (Astah 2009) de cdigo
livre e 100% Java. No suporta: padres de
projeto, metapadres, projeto arquitetural e
definio dos pontos de estabilidade e
flexibilidade; permite a gerao de cdigo em
Java; realiza a engenharia reversa em Java,
exporta imagem para PNG/JPEG/HTML. Possui
caractersticas
similares
a
ferramenta
Umbrello UML Modeller.
A ferramenta Violet (Violet 2009), como a
UMLet, foi uma das ferramentas mais fracas
em termos de modelagem. No permite
suporte a padres de projeto, metapadres,
gerao de cdigo, engenharia reversa.
Fred (Viljamaa 2001) um ambiente de
programao planejado para auxiliar o
desenvolvimento de software baseado em
framework (Viljamaa, 2001). Ele implementa
uma linguagem de especificao que pode ser
usada para modelar hot spots de um
framework. A linguagem define os hot spots
em termos de padres de especializao
baseados em papis. Possui a desvantagem
de no permitir a modelagem inicial para o
entendimento do framework global atravs
da criao dos diagramas. Para isso, o usurio
dever fazer uso do JHotDraw Framework.
Sua vantagem com relao a todas as
ferramentas at aqui analisadas a nica que
permite a definio dos pontos de
estabilidade e flexibilidade do framework e o
projeto arquitetural do framework.
A UML-F tool uma ferramenta utilizada
para modelar diagramas utilizando como base
os conceitos de UML-F (Bouassida et al 2004).
Esta permite a utilizao das notaes ou
esteretipos da UML-F para os diagramas de
caso de uso e de classe, as quais foram
descritas na Figura 1, porm a ferramenta no
est disponvel para download.O prottipo

Maring, v, 20, p. 25-34, 2011.

Capeller

atual da UML-FTool reutiliza as ferramentas


ArgoUML (Ramirez et al 2000) para a
especificao da aplicao UML,o verificador
Z para a concepo, verificao, validao e
reutilizao, e Internet Explorer para uma
concepo formal de visualizao. A
Arquitetura da ferramenta composta por
cinco mdulos: aplicao da especificao,
dicionrio de construo, gerao do design
do projeto, gerao da especificao do

Ferramentas

Aplicao
automtica
de
metapadre
s

UMLet
Umbrello
Enterprise
Architect
ArgoUML
Omondo
Astah
Violet
FRED
UML-F tool

Gerao
de
cdigo

Caractersticas
Aplicao
Suporte
automtica de
a UML
padres de
projetos

X
X
X
X
X
X
X

Suporte
a UML-F

X
X
X

Engenharia
reversa

X
X

X
X
X
X

X
X
X

X
X
X
X
Figura 2. Anlise comparativa entre as ferramentas

A ferramenta Fred (Viljamaa, 2001), com


relao s outras analisadas, apresenta-se
vivel a fase de Projeto para definio dos
pontos de estabilidade e de flexibilidade, bem
como para a confeco de seu projeto
arquitetural.
Para a fase de Anlise e de Projeto, as
ferramentas Enterprise Architect e Omondo
se apresentam mais slidas, pois a nica
caracterstica que no contempla a
representao grfica da notao UML-F para
os pontos de estabilidade e flexibilidade, mas,
a Enterprise Architect tem a desvantagem de
ser paga em sua verso mais completa. As
ferramentas UMLet, e Violet esto
descartadas, pois so bsicas para o
desenvolvimento do framework, enquanto as
ferramentas ArgoUML, Umbrello UML
Modeller e Astah podem auxiliar o projetista
na fase de Anlise e um pouco na fase de
Projeto.
Contudo, estas ferramentas necessitam de
adaptao
caso
seja
utilizada
para
modelagem de frameworks. A nica

Revista Tecnolgica

Object-Z e verificao do projeto UML-F e


validao de reuso, os quais esto descritos
em Bouassida et al (2004).
A Figura 2 ilustra uma anlise comparativa
entre as ferramentas de modelagem de
frameworks orientados a objetos. Em que
foram
comparados
as
principais
caractersticas de uma ferramenta de anlise
e projeto.

Gratuita

X
X
Trial 30
dias
X
X
X
X
X

ferramenta que d suporte a todas as


caractersticas para a modelagem de
framework, a UML-F tool, at o presente
momento no est disponvel para download
e foi analisada somente pelo artigo que relata
suas caractersticas (Ben-Abdallah et. al.
2002).
4 ADAPTAES DA UML-F NO OMONDO
A ferramenta escolhida para a modelagem
de um framework foi o Omondo, pois dentre
as analisadas foi a que mais se enquadrou no
que o grupo de pesquisa em Engenharia de
Software est desenvolvendo. Para utilizao
da linguagem UML-F no Omondo teve-se que
adaptar a linguagem UML por meio de
esteretipos. A Figura 3 exibe a adaptao
dos elementos utilizados em diagramas de
Caso de Uso.
Optou-se por utilizar a letra C no incio do
nome de cada componente do diagrama
quando o mesmo representar uma
caracterstica comum entre as aplicaes-

Maring, v, 20, p. 25-34, 2011.

29

Uma adaptao da linguagem UML-F em nvel de caso de uso e de classe em uma ferramenta
30 gratuita de modelagem
exemplo. Por sua vez, a letra E significa que o

componente especifico entre as aplicaes.

Figura 3. Adaptao dos elementos utilizados nos diagramas de Caso de Uso.

A Figura 4 exibe os elementos da


linguagem UML-F adaptados para a criao de
diagramas de classe de frameworks.
Para os componentes dos diagramas de
classe utilizou-se a letra F para indicar que
uma classe de framework. Para diferenciar os
tipos de framework, caixa preta e caixa

Revista Tecnolgica

branca, usou-se a letra F seguida de CP e CB,


respectivamente. Os tipos de mtodos foram
representados pelo esteretipo FMV(Mtodo
virtual) e FMAI(Mtodo indefinido). Para
classes que podem ser completadas ou
estendidas utilizou-se as palavras reservadas
<<FA>> e <<FCE>>, respectivamente.

Maring, v, 20, p. 25-34, 2011.

Capeller

Figura 4. Adaptao dos elementos utilizados nos diagramas de Classe.

Aps as adaptaes da ferramenta


Omondo para suporte a UML-F, implementouse um estudo de caso. Este estudo foi a
criao do modelo de requisitos no domnio
de formao de preo de venda em que se

Revista Tecnolgica

analisou os seguintes mtodos Custo Pleno


(Nascimento and Vartaniam, 1999), Sebrae
(2009) e ABC (Activity-Based Costing)
Nakagawa (1995). A Figura 5 ilustra o modelo
gerado.

Maring, v, 20, p. 25-34, 2011.

31

32

Uma adaptao da linguagem UML-F em nvel de caso de uso e de classe em uma ferramenta
gratuita de modelagem

Figura 5. Diagrama de Caso de Uso UML-F do subsistema Cadastrar Atributo

As notaes utilizadas na Figura 5 so:


caso de uso base (frozen spot), caso de uso

Revista Tecnolgica

especfico ou flexvel (hot spot), ator base e


uma herana entre casos de uso em uma

Maring, v, 20, p. 25-34, 2011.

Capeller
33

aplicao reusando o framework.


Os casos de uso base esto todos
representados com o esteretipo <<CCU>>,
por serem aspectos comuns entre as
aplicaes concretas do domnio, os casos de
uso especficos seguem a mesma regra,
porm so representados pelo esteretipo
<<ECU>>.
Ambos os atores so bases, ou seja, atores
comuns entre as aplicaes concretas do
domnio, e so representados com o
esteretipo <<CA>>, caso haja um ator
especfico esse seria representado com o
esteretipo <<EA>>.
Outra notao utilizada neste diagrama
o conceito de herana entre caso de uso, o
qual representado da mesma forma que na
UML (Unifield Model Linguage) smbolo de
um tringulo porem utiliza-se o esteretipo

{incomplete} para indicar que novos casos


de usos possam ser inseridos ao modelo.
Desta forma, o modelo do framework tornase mais adaptvel.
A Figura 6 ilustra um exemplo da utilizao
da adaptao da ferramenta Omondo para a
criao de diagramas de classe na linguagem
UML-F. O esteretipo <<FCE>>, na classe
Attribute, representa uma classe estendida e
a utilizao do <<FA>>, na classe Adaptable1,
significa uma classe adaptvel indicando onde
se deve inserir novas classes para adicionar
novos mtodos, por exemplo, para inserir o
mtodo
Custo
Marginal,
a
classe
MarginalAttribute
provavelmente
seria
implementada no local onde se encontra a
Adaptable1.

Figura 6. Diagrama de Classe UML-F do subsistema Cadastrar Atributo

5 CONCLUSES
A maior dificuldade encontrada para o
desenvolvimento de diagramas UML-F no
Omondo, foi necessidade de adaptar os
smbolos da UML-F para obter um padro de
fcil utilizao. Por exemplo, foi criado
<<FCE>> para indicar a existncia de uma
framework de classe estendida. Uma
dificuldade na criao dos padres foi que no
Omondo os esteretipos o <<MV?>> e o

Revista Tecnolgica

<<MAI>>
ficavam
duplicados
quando
utilziados.
Uma vantagem em se utilizar o Omondo
que seu cdigo pode ser alterado,
possibilitando modificaes no software,
porm optou-se em criar novos esteretipos.
Com
a
adaptao
proposta
o
desenvolvedor pode deixar explicito os
pontos de estabilidade e de flexibilidade do
seu modelo permitindo a fcil adio de
novos mtodos, independentes do domnio,

Maring, v, 20, p. 25-34, 2011.

Uma adaptao da linguagem UML-F em nvel de caso de uso e de classe em uma ferramenta gratuita
34 de modelagem
que
inicialmente
no
haviam
sido
considerados.
Como trabalho futuro esta sendo
estudada a adaptao de uma ferramenta de
modelagem adicionando a linguagem UML-F.
REFERNCIAS
Brant, J. HotDraw. Urrbana: University of
Illinois at Urbana-Champaign. Thesis. 1995.
Bouassida, N. Ben-Abdallah, H. Gargouri, F.
Ben-Hamadou, A. UML-F: a design language
for frameworks and its formal specification,
International
conference
on
Software
Engineering and Formal Methods, Australia,
Brisbane.
Durham, A, Johnson, R. A Framework for Runtime Systems and its Visual Programming
Language. In OOPSLA96, San Jose, CA,
October. 1996.
Fontoura, M.; Pree, W.; Rumpe, B. UML-F: A
Modeling Language for Object-Oriented
Frameworks. In ECOOP. Disponvel em
http://www.almaden.ibm.com/cs/people/font
oura/papers/ecoop2000.pdf. Acesso em:
03/03/2009. 2002.
Froehlich, G, Hoover, H., Liu, L., Sorenson, P.
Hooking into Object-Oriented Application
Frameworks. In Proc. 19th ICSE, IEEE Computer
Society Press, pg. 491-501. 1997.
Astah. A Java/UML Object-Oriented Design
Tool.
Disponvel
em:
http://objectclub.esm.co.jp/Astah/astahe.html. Acesso em: 15/03/2009. 2009.
Krasner, G., Pope, S. A Cookbook for using the
model-view-controller
user
interfaces
paradigm in Smalltalk-80. Journal of ObjectOriented Programming, New York, v. 1(3): 2649, Aug/Sept. 1988.
Hensgen, P. Umbrello UML Modeller.
Disponvel
em:
http://docs.kde.org/pt_BR/HEAD/kdesdk/umbr
ello/. Acesso em: 15/03/2009.
Nakagawa, M. ABC Custeio baseado em
atividades. So Paulo: Atlas. 1995.
Nascimento, D. T. do and Vartanian, G. H. O
mtodo pleno uma abordagem conceitual.
Revista CRC-SP. 1999.
Omondo. The Live UML Company. Disponvel

Revista Tecnolgica

em: http://www.omondo.com/. Acesso em:


15/03/2009.
Ortigosa, A., Campo, M., Salomon, R. Towards
Agent-Oriented Assistance for Framework
Instantiation. In. OOPSLA, ACM SIGPLAN
Notices 35, 10, pg. 253-263. 2000.
Parcplace Systems. VisualWorks Users Guide.
Sunnyvale: ParcPlace Systems. 1994.
Pree, W. Design Patterns for Object-Oriented
Software Development,
Addison-Wesley,
Reading, Mass, pg. 268. 1995.
Ramirez, A. Vanpeperstraete, P. Rueckert, A.
Odutola, K. Bennett, J. Tolke, L. ArgoUML User
Manual: A tutorial and reference description.
Disponvel em: http://argouml.tigris.org/.
Acesso em:15/03/2009. 2009.
Sebrae. Clculo do preo de venda. Disponvel
em http://www.sebraepr.com.br, October.
2009.
Silva, R. P. Suporte ao desenvolvimento e uso
de framework e componentes. PPGC da
UFRGS, Porto Alegre, RGS, pg. 262. 2000.
Sommerville, I. Engenharia de Software.
Pearson Education,2007.
Sparx. Sparx Systems Enterprise Architect User
Guide.
Disponvel
em:
http://www.sparxsystems.com.au/bin/easetup
.exe. Acesso em 15/03/2009. 2009.
UMLet - the fast and free UML tool. Disponvel
em:
http://homepage.mac.com/martin.auer/umlet/
. Acesso em: 15/03/2009. 2009.
Viljamaa,, A. Pattern-Based Framework
Annotation and Adaptation A Systematic
Approach. University of Helsinki, Departament
of Computer Science. Thesis. 2001.
Violet.
Disponvel
em:
http://www.horstmann.com/violet/. Acesso:
15/03/2009. 2005.
AGRADECIMENTOS
Agradecemos a Fundao Araucria pelo
apoio financeiro concedido ao aluno
pesquisador e a Universidade Tecnolgica
Federal do Paran Campus Ponta Grossa no
que tange ao ambiente de desenvolvimento
do sistema.

Maring, v, 20, p. 25-34, 2011.