• Nenhum resultado encontrado

CONFIGURAÇÃO DE FERRAMENTA CASE

CASE (Computer-Aided Software Engineering) significa engenharia de software com o auxílio de computador, a ferramenta refere-se a um tipo de programa utilizado para apoiar atividades de processos de software. Todos os métodos atualmente que utilizam tecnologia CASE, possuem editores para as notações utilizadas, módulos de análise que verificam o modelo de acordo com as regras do método e geradores de relatórios para ajudar na criação da documentação de sistemas. As ferramentas CASE podem também incluir um gerador de códigos que, automaticamente, origina código-fonte a partir do modelo de sistemas e algumas orientações de processo (SOMERVILLE, 2003).

Para facilitar a compreensão e utilização dos elementos, a ferramenta CASE Enterprise Architect foi utilizada. Isto se deve unicamente ao fato de que este software encontra-se licenciado na Universidade sendo que esta ferramenta permite a definição de novos estereótipos e tem custo relativamente acessível1.

Enterprise Architect é uma ferramenta CASE, muito utilizada no auxílio a desenvolvimento de aplicações, desenvolvida pela empresa Sparx Systems. A versão utilizada para criação do diagrama proposto é a 3.51.618, de 01 de outubro de 2002 possuindo como principais funcionalidades:

⇒ Criação de elementos da linguagem UML;

⇒ Disposição dos elementos em diagramas e pacotes;

⇒ Conexão entre elementos;

⇒ Documentação dos elementos criados;

⇒ Geração de código para compiladores de software; e

⇒ Engenharia reversa de código escrito em várias linguagens.

1 O custo de uma licença com todas funcionalidades (Enterprise Edition) é de US$ 160,00 de acordo com o website da empresa, disponível em http://www.sparxsystems.com.au, 2003.

Esta ferramenta também serve para gerência de projetos, que permite descrever os ciclos de desenvolvimento de um projeto, além de prover recursos de rastreamento de informações desde a concepção inicial até os vários aspectos do ciclo de vida destes projetos, como testes, manutenção e controle de versões (TUTORIAL ENTERPRISE ARCHITECT, 2003).

A ferramenta Enterprise Architect permite a adição de novos estereótipos através de um esquema aberto, no formato XML (Extensible Meta-Language). Neste arquivo é possível configurar todas as propriedades que os novos objetos podem receber. As tags (valores etiquetados) criam propriedades e, opcionalmente, valores de atribuição a estas. As constraints (restrições) limitam o escopo de utilização dos estereótipos, como pré-condições de utilização, por exemplo.

Os estereótipos propostos neste trabalho estão descritos em um arquivo XML no esquema do Enterprise Architect, com o mesmo conteúdo mostrado na notação do diagrama, como mostra o quadro 2.

<?xml version="1.0" encoding="UTF-8"?>

<UMLProfile>

<Documentation id="TimeProfile" name="UML Profile para Sistemas Baseados em Linha do Tempo"

version="1" notes="Um conjunto de estereotipos para Modelagem de sistemas baseados em Linha do Tempo"/>

<Content>

<!-- Lista de estereotipos que serao usados-->

<Stereotypes>

<!-- <<Filme>> -->

<Stereotype name="Filme" notes="" cx="172" cy="178" metafile="filme.emf" >

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

</TaggedValues>

<Constraints>

<Constraint name="" type="" notes=""/>

</Constraints>

</Stereotype>

<!-- <<Cena>> -->

<Stereotype name="Cena" notes="" cx="132" cy="138" metafile="cena.emf">

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Descricao" description="" />

</TaggedValues>

<Constraints>

<Constraint name="constraint" type="pre" notes="A cena deve ser inserida dentro de um filme" />

</Constraints>

</Stereotype>

<!-- <<Quadro-chave>> -->

<Stereotype name="Quadro-chave" notes="" cx="105" cy="105"

metafile="quadro.emf">

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Descricao" description=" " />

<Tag name="Actions" description=" " />

</TaggedValues>

<Constraints>

<Constraint name="constraint1" type="pre" notes="O quadro deve ser inserido dentro da cena" />

</Constraints>

</Stereotype>

<!-- <<MovieClip>> -->

<Stereotype name="Clip de filme" notes="Representa um Movie Clip" cx="28"

cy="28" metafile="movie.emf">

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Descricao" description=" " />

<Tag name="Actions" description=" " />

<Tag name="Variavel" description=" " />

<Tag name="Movimento" description="" values="Sim | Não"

default="Não" />

<Tag name="Imagem" description="" />

</TaggedValues>

<Constraints>

<Constraint name="constraint3" type="pre" notes="O MovieClip devera ser inserido dentro da cena" />

</Constraints>

</Stereotype>

<!-- <<Especificacao>> -->

<Stereotype name="Nivel" notes="Representa um nivel de especificacao" cx="10"

cy="10" metafile="nivel2.emf" >

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Nivel" description=" " />

</TaggedValues>

<Constraints>

<Constraint name="" type="pre" notes="" />

</Constraints>

</Stereotype>

<!-- <<Especificacao>> -->

<Stereotype name="Repeticao" notes="Representa que um elemento se repete"

cx="10" cy="10" metafile="repetir1.emf" >

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Nivel" description=" " />

</TaggedValues>

<Constraints>

<Constraint name="" type="pre" notes="" />

</Constraints>

</Stereotype>

<!-- <<Grafic>> -->

<Stereotype name="Grafico" notes="Representa um Grafico" cx="28" cy="28" >

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Especificacao" description=" " />

<Tag name="Actions" description=" " />

<Tag name="Movimento" description="" values="Sim | Não"

default="Não" />

<Tag name="Imagem" description="" />

</TaggedValues>

<Constraints>

<Constraint name="constraint4" type="pre" notes="O Grafico devera ser inserido dentro da cena"/>

</Constraints>

</Stereotype>

<!-- <<Button>> -->

<Stereotype name="Botao" notes="Representa um Botao" cx="76" cy="20"

metafile="but.emf" >

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Eventos" description="" values="Onclick | Mousedown | Mouseup | " default="Onclick" />

<Tag name="Acao" description="" />

</TaggedValues>

<Constraints>

<Constraint name="constraint3" type="pre" notes="O Botao deve ser inserido dentro da cena"/>

</Constraints>

</Stereotype>

<!-- <<Banco>> -->

<Stereotype name="Banco" notes="Representa o Banco a ser utilizado" cx="60"

cy="65" metafile="banco.emf">

<AppliesTo>

<Apply type="GUIElement"/>

</AppliesTo>

<TaggedValues>

<Tag name="Tabela" description="" />

</TaggedValues>

<Constraints>

<Constraint name="" type="" notes=""/>

</Constraints>

</Stereotype> </Stereotypes> </Content>

</UMLProfile>

Quadro 2: Arquivo XML

Uma vez definidos os estereótipos no arquivo XML, estes devem ser incorporados ao Enterprise Architect. Portanto, é importante que os meta-arquivos (imagens no formato EMF) estejam no mesmo diretório do arquivo a ser importado e que exista um projeto em execução.

O processo de importação é realizado através da aba Resource View do componente Workspace (Figura 26), deve-se acessar com o botão direito em UML Profiles, selecionar a opção Import Profile (Figura 27) e apontar o diálogo de abertura de arquivo para o documento XML.

Figura 26: Interface do Enterprise Architect.

Figura 27: Exemplo de importação do arquivo XML.

Tendo-se o processo de importação concluído com sucesso, tem-se os elementos disponíveis na barra UML Profile em Resouce View, sendo que para acessá-los deve-se clicar no elemento desejado e arrastar para onde se deseja criar o diagrama. As tags dos elementos aparecem na barra Properties quando os mesmos estão selecionados, como apresentado na Figura 28.

Os diagramas fornecem o ambiente principal de trabalho da ferramenta e são carregados quando se clica em seus respectivos ícones do Project Explorer (Figura 28).

Figura 28: Exemplo dos estereótipos já importados na ferramenta.

3. INTEGRAÇÃO DIAGRAMA PROPOSTO COM PROCESSO DE

Documentos relacionados