O Catálogo de Padrões de Análise da Ferramenta ArgoCASEGEO



Documentos relacionados
ArgoCASEGEO + TerraLib = bancos de dados geográficos para aplicações Small GIS

Módulo de Integração de Padrões de Análise com Ontologias de Domínio da ferramenta ArgoCASEGEO

ArgoCASEGEO - Uma Ferramenta CASE de Código-Aberto para o Modelo UML-GeoFrame

Modelagem e Projeto de Bancos de Dados Geográficos com Características Temporais

Reutilização de Esquema de Banco de Dados em Aplicações de Gestão Urbana 1

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Persistência e Banco de Dados em Jogos Digitais

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

ISO/IEC 12207: Gerência de Configuração

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Feature-Driven Development

SISTEMA GERENCIADOR DE BANCO DE DADOS

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Sumário. Uma visão mais clara da UML

Jugurta Lisboa Filho

Noções de. Microsoft SQL Server. Microsoft SQL Server

Rock In Rio - Lisboa

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

2 Diagrama de Caso de Uso

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Orientação a Objetos

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Projeto de Arquitetura

Especificação do 3º Trabalho

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

AULA 1 Iniciando o uso do TerraView

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

MIG - Metadados para Informação Geográfica

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Arquitetura de Rede de Computadores

Manual Geral do OASIS

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Semântica para Sharepoint. Busca semântica utilizando ontologias

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

VERSÃO 1 PRELIMINAR MÓDULO 3 - PRESENCIAL

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Prof. Marcelo Machado Cunha

4 O Workflow e a Máquina de Regras

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Modelos. Comunicação com clientes

UML: Diagrama de Casos de Uso, Diagrama de Classes

2 Engenharia de Software

Modelagemde Software Orientadaa Objetos com UML

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

INTRODUÇÃO. Enfoque abstrato. Enfoque Intermediário

DATA WAREHOUSE. Introdução

Manual do Visualizador NF e KEY BEST

UML - Unified Modeling Language

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Um Driver NDIS Para Interceptação de Datagramas IP

Usando o Conference Manager do Microsoft Outlook

Sistema de Controle de Solicitação de Desenvolvimento

Padrões de projeto 1

Transformação de um Modelo de Empresa em Requisitos de Software

Análise e Projeto Orientados por Objetos

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

02 - Usando o SiteMaster - Informações importantes

Roteiro 2 Conceitos Gerais

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

Microsoft Project 2007

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso

A apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Manual SAGe Versão 1.2 (a partir da versão )

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Curso técnico: Informática Disciplina: Aplicativos computacionais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1. Visual Paradigm for UML

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

MODELAGEM DE DADOS. Unidade II Arquiteturas do SGBD

Microsoft Office PowerPoint 2007

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Engenharia de Software III

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA. 2.1 Criando Mapas no Excel. 2.2 Utilizando o Mapa

ADM041 / EPR806 Sistemas de Informação

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Desafio Profissional PÓS-GRADUAÇÃO Gestão de Projetos - Módulo C Prof. Me. Valter Castelhano de Oliveira

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Transcrição:

O Catálogo de Padrões de Análise da Ferramenta ArgoCASEGEO Alexandre Gazola Universidade Federal de Viçosa (UFV), Departamento de Informática Viçosa, MG, Brasil, 36570-000 agazola@dpi.ufv.br Jugurta Lisboa Filho Universidade Federal de Viçosa (UFV), Departamento de Informática Viçosa, MG, Brasil, 36570-000 jugurta@ufv.br Marcus Vinícius Alvim Andrade Universidade Federal de Viçosa (UFV), Departamento de Informática Viçosa, MG, Brasil, 36570-000 marcus@dpi.ufv.br Abstract An analysis pattern is any part of a requirement analysis specification that can be reused in the design of new information systems. When starting the design of a new application, the designers can benefit from previously constructed schemas that are truly efficacious, reducing thus the costs and increasing the productivity and quality of the project. This article describes the implementation of an analysis patterns catalog in a CASE tool for geographic database modeling. Keywords: Geographic Information System, Analysis Pattern, CASE tool, Reuse, Geographic Database Design. Resumo Um padrão de análise é qualquer parte de uma especificação de análise de requisitos que pode ser utilizada no projeto de novos sistemas de informação. Com isso, ao iniciar o projeto de uma nova aplicação, os projetistas podem se valer de esquemas anteriormente elaborados e de eficácia comprovada, reduzindo os custos e aumentando a produtividade e qualidade do projeto. Este artigo descreve a implementação de um catálogo de padrões de análise em uma ferramenta CASE de modelagem de dados geográficos. Palavras chaves: Sistema de Informação Geográfica, Padrão de Análise, Ferramenta CASE, Reutilização, Projeto de Banco De Dados Geográficos. 1. INTRODUÇÃO Um padrão de análise é um mecanismo de reutilização que permite a um projetista menos experiente reutilizar o conhecimento de outros especialistas. Para isso, um padrão de análise descreve um conjunto de classes, possivelmente pertencentes a diferentes hierarquias de classes, e as associações existentes entre elas [3]. Padrões de análise podem ser vistos, portanto, como uma forma de descrever subesquemas de projetos mais complexos, os quais ocorrem com freqüência durante o processo de modelagem de muitas aplicações. O uso de padrões, tanto de análise como de projeto, reduz o tempo de desenvolvimento de novas aplicações, uma vez que a reutilização ocorre através de subesquemas e não através de classes isoladas [5]. Padrões de análise devem ser reunidos de modo a compor um catálogo de padrões de análise [12]. Quando um projetista está iniciando um novo projeto, primeiro deve tentar descobrir a existência de catálogos de padrões disponíveis para o domínio da aplicação que está sendo projetada. É comum em grandes corporações que os projetistas reutilizem soluções já empregadas em outras aplicações, mas a dificuldade está exatamente em como possibilitar que um projetista menos experiente utilize as soluções já testadas e melhoradas anteriormente?. Documentar a experiência adquirida no desenvolvimento de software por meio de padrões é uma questão cultural. Atualmente, vem crescendo muito as publicações de soluções em nível de projeto e implementação, por meio dos design patterns. Já a documentação de soluções padrões elaboradas na fase de análise de requisitos ( analysis patterns ) ainda é novidade para muitos projetistas [14]. No domínio das aplicações geográficas, por exemplo, o uso de padrões de análise apresenta uma grande vantagem, uma vez que muitas aplicações são desenvolvidas pelos

próprios usuários, sendo que a maioria deles não domina bem técnicas tradicionais de engenharia de software, e conseqüentemente acabam provocando falhas de projeto, que muitas vezes geram grandes prejuízos financeiros [10]. Este artigo apresenta o catálogo de padrões de análise que foi incorporado à ferramenta ArgoCASEGEO [7], que é uma ferramenta CASE (Computer Aided Software Engineering) para projeto conceitual de dados geográficos, que tem como base o modelo UML-GeoFrame [9]. Portanto, os padrões de análise exemplificados neste artigo são relacionados a projeto de aplicações de Sistemas de Informações Geográficas (SIG). No entanto, a incorporação de um catálogo de padrões de análise a uma ferramenta CASE é útil no projeto de qualquer sistema de informação. O restante do artigo está organizado da seguinte forma: A Seção 2 descreve e exemplifica o que é um padrão de análise, a Seção 3 discorre sobre a ferramenta CASE ArgoCASEGEO, enquanto que a Seção 4 detalha o catálogo de padrões de análise da ferramenta. Um estudo de caso, demonstrando a utilização efetiva de um padrão de análise no desenvolvimento de um projeto é apresentado na Seção 5. A Seção 6 traz algumas considerações finais. 2. PADRÕES DE ANÁLISE Um padrão apresenta a essência de uma solução para um problema recorrente em um contexto específico [4]. O uso de padrões possibilita o reuso de soluções em novos projetos de software. Pode-se utilizar, no entanto, padrões em várias etapas do ciclo de vida de um software. Para cada etapa, um determinado tipo de padrão é apropriado, de acordo com o nível de abstração considerado. Alguns dos principais tipos de padrões que podem ser encontrados na literatura são os padrões de projeto [4], padrões de arquitetura [2] e padrões de análise [3]. Algumas características que diferem os padrões de análise dos já consagrados padrões de projeto são: trabalho no nível conceitual e não no nível de projeto; aplicabilidade a domínios específicos (ex.: SIG); flexibilidade de modelo. De maneira geral, um padrão de análise propõe uma solução para o problema de uma forma bastante sugestiva, por meio do fornecimento de um esquema de dados e de uma documentação indicando a aplicabilidade do padrão, bem como vantagens e desvantagens do uso do mesmo. Dentre as várias maneiras para se especificar padrões, a estrutura definida por Meszaros [11] é bastante empregada. A estrutura de Meszaros declara que a descrição de um padrão deve conter, no mínimo, os seguintes itens: Problema, Contexto, Forças e Solução. O Problema é justamente a questão que se deseja resolver, sendo geralmente descrito em forma de pergunta. O Contexto trata do ambiente no qual a solução está inserida. As Forças descrevem as restrições da solução, enquanto que a Solução propriamente dita é representada por um diagrama de classes (ex.: UML). Opcionalmente, podem ser considerados os Participantes, isto é, a descrição das entidades que fazem parte do padrão; os Padrões Relacionados, descrevendo a existência de possíveis relacionamentos do padrão considerado com outros padrões; e, por fim, um exemplo de uso também pode ser mostrado. Como exemplo, reproduzimos na Figura 1 o padrão Malha Viária Urbana, encontrado em [8]. Esse padrão pode ser empregado no desenvolvimento de uma infinidade de aplicativos de SIG na área de gestão urbana. Problema Contexto Quais os elementos pertencentes à malha viária de uma cidade? No Brasil, praticamente todas as cidades apresentam um mesmo padrão de organização, no qual são estruturadas com base em suas vias de locomoção (ex.: ruas, avenidas, travessas). O conjunto de trechos de vias e seus cruzamentos formam uma rede viária urbana. Forças Cada via de locomoção, considerada uma instância de logradouro, deve possuir um código de identificação e um nome, além de estar, normalmente, dividida em diversos trechos. Um trecho de logradouro corresponde ao segmento de via compreendido entre duas conexões, em seqüência, deste com outros logradouros que o cruzam ou interceptam. O conjunto formado pelas conexões (ou pontos terminais) e pelos trechos de logradouros constituem a malha viária urbana. 2

Solução MalhaViária MalhaViaria Logradouro codlogr nomelogr * Trecho Logradouro idtrecho numinic numfinal conecta * * * 2 Cruzamento Logradouro intercepta Figura 1. Padrão Malha Viária Urbana [8] 3. A FERRAMENTA ARGOCASEGEO ArgoCASEGEO é uma ferramenta CASE que tem como objetivo dar suporte ao projeto conceitual de bancos de dados geográficos, com base no modelo UML-GeoFrame [9]. A ferramenta possui um módulo de geração automática que se encarrega de realizar o mapeamento conceitual-lógico para algum formato de dados geográficos existente, como o formato Shape, usado no SIG ArcView (ESRI) ou o formato da biblioteca de componentes espaciais TerraLib [13]. A Figura 2 ilustra a arquitetura da ferramenta ArgoCASEGEO. Detalhes sobre a ferramenta podem ser obtidos em [7]. Este artigo descreve a implementação do Módulo de Gerenciamento do Catálogo de Padrões de Análise (Analysis Pattern Manager Module). Graphical Module Data Dictionary Module Automatic Generation Module Shape Format UML- GeoFrame Diagrams ArgoUML (Java) UML- GeoFrame Metamodel XML/XMI Transformation Rules Conceptual- Logic GeoMedia Analysis Pattern Manager Module A. P. Search A. P. Storage Analysis Patterns Catalogue Conceptual Data Scheme Reverse Engineering Module Transformation Rules Logic- Conceptual Others Formats OpenGIS (GML) TerraLib Figura 2. Arquitetura da Ferramenta ArgoCASEGEO [7] A ferramenta ArgoCASEGEO foi construída como uma extensão do software ArgoUML, que é uma ferramenta para modelagem de diagramas de classe UML, de código aberto e desenvolvida em Java. O Módulo Gráfico permite a criação de esquemas no modelo UML-GeoFrame. O Módulo Dicionário de Dados armazena a descrição dos elementos do diagrama criados pelo usuário. O Módulo de Geração Automática permite a transformação de esquemas conceituais em esquemas lógicos correspondentes a alguns modelos utilizados em SIG. O Módulo de Engenharia Reversa, ainda não implementado, irá permitir que o projetista obtenha esquemas conceituais a partir de aplicações de SIG existentes. A Figura 3 ilustra o ambiente da ferramenta ArgoCASEGEO, que está dividido em três painéis: o painel de navegação, usado para acessar os diagramas criados no projeto; o painel de diagramação, usado para desenhar, visualizar e editar diagramas UML-GeoFrame; e o painel de propriedades, o qual permite a visualização e edição dos detalhes de algum elemento selecionado no painel de diagramação. Os esquemas de dados criados usando essa ferramenta são armazenados em formato XMI (XML Metadata Interchange), uma sintaxe própria para armazenamento de esquemas conceituais de dados, em documentos XML. 3

Figura 3. Ambiente gráfico da ferramenta ArgoCASEGEO 4. O CATÁLOGO DE PADRÕES DE ANÁLISE DA FERRAMENTA ARGOCASEGEO O objetivo de se incorporar um catálogo de padrões de análise a uma ferramenta CASE está em auxiliar o projetista do banco de dados a encontrar soluções que já foram utilizadas em aplicações de SIG similares, aumentando assim, a qualidade do banco de dados e reduzindo os custos de projeto. O catálogo de padrões de análise da ferramenta ArgoCASEGEO implementa os seguintes casos de uso (Figura 4): criar, abrir, editar e utilizar um padrão, bem como a pesquisa ao catálogo. Figura 4. Casos de uso do Módulo Gerenciador do Catálogo de Padrões de Análise Após o usuário elaborar um diagrama conceitual de dados no módulo gráfico da ferramenta, é possível transformar o seu diagrama em um padrão de análise completo e adicioná-lo ao catálogo de padrões de análise da ferramenta. O ArgoCASEGEO oferece um diálogo no qual o usuário pode fornecer a descrição do padrão de análise, conforme ilustra a Figura 5. Nesse exemplo é demonstrada a criação do padrão Malha Viária Urbana, apresentado na Figura 1. 4

Figura 5. Criação de um padrão de análise À esquerda pode-se visualizar a solução para o problema (diagrama de classes), enquanto que à direita estão os campos para o preenchimento da descrição do padrão. Os campos Name, Problem, Context e Forces constituem as informações mínimas que um padrão deve possuir e são de preenchimento obrigatório. Cabe ressaltar que um projetista pode usar padrões de análise existentes para criar novos padrões mais complexos, conforme os padrões documentados em [8], em que o padrão Malha Viária Urbana é reutilizado em outros três padrões de análise. Depois de finalizada a criação do padrão, a ferramenta irá armazenar o padrão num diretório específico do sistema, que compõe o Catálogo. Os arquivos contendo os padrões de análise são armazenados numa pasta específica do catálogo, juntamente com sua respectiva documentação. Esta é armazenada em XML, compartilhando o mesmo nome fornecido para o padrão. Os arquivos são mantidos no mesmo diretório de maneira a facilitar a busca posteriormente. O usuário, além de criar e reutilizar um padrão, pode abrir um padrão existente e editá-lo novamente, possivelmente adicionando mais informações em sua documentação, alterando o diagrama de classes, aprimorando, com isso, o padrão de análise. A ferramenta também permite que sejam realizadas buscas simples no catálogo de padrões de análise. Para isso, basta digitar a palavra chave num campo de texto, que a ferramenta retornará o nome de todos os padrões do catálogo nos quais a palavra digitada aparece. O usuário pode, então, pesquisar apenas os padrões relacionados pela busca, facilitando o acesso ao padrão desejado. Por fim, esse módulo da ferramenta permite o reuso de um padrão de análise num novo projeto, constituindo-se como a funcionalidade central do módulo. A implementação dessa funcionalidade, descrita a seguir, tem como base a integração de esquemas de dados. 4.1 Integração de Esquemas O mecanismo de integração do esquema de dados do padrão de análise com o esquema de dados da aplicação atual ocorre em cinco etapas: criação do projeto atual, normalização, junção, compactação e carga. Primeiramente, é elaborado um projeto para o esquema conceitual sendo construído (que utilizará o padrão). Todo projeto utilizado pela ferramenta ArgoCASEGEO é composto por um arquivo compactado que contém: (1) a estrutura lógica do esquema conceitual (arquivo XML/XMI), responsável pela descrição das classes, atributos, relacionamentos, etc; (2) a estrutura gráfica do esquema conceitual (arquivo XML/PGML), responsável pelas informações de localização dos elementos, figuras, tamanho dos elementos, etc. O segundo passo é realizar a normalização dos arquivos XMI e PGML do padrão de análise que será utilizado. Esse passo consiste em ler os arquivos XMI e PGML do padrão, alterando seus atributos de id, de forma a evitar conflitos na realização da junção com os arquivos correspondentes do projeto atual. Para ilustrar a necessidade de realizar a normalização, pode-se considerar um trecho do arquivo XMI do padrão Malha Viária Urbana, comparado 5

com um trecho do arquivo XMI do projeto atual, conforme ilustrado nas Figura 6 e 7, respectivamente. Esses arquivos, da maneira como estão, não podem passar pela etapa de junção, visto que entidades lógicas diferentes ficariam com ids iguais, corrompendo o arquivo gerado. Sendo assim, é realizada a normalização dos arquivos XMI e PGML. Para isso, ocorre uma leitura do arquivo (XMI ou PGML), com a substituição dos ids antigos por novos ids gerados pelo sistema. Figura 6. Arquivo XMI do padrão Malha Viária Urbana O passo seguinte é a junção dos dois arquivos XMI (e dos dois arquivos PGML). Nessa etapa, os arquivos são lidos para a memória, através da interface DOM do W3C e são mesclados em um arquivo único, de maneira simples e direta. Por fim, o resultado do processo consiste de dois arquivos: um arquivo XMI (resultante da junção dos arquivos XMI do padrão e do projeto atual) e um arquivo PGML (resultante da junção dos arquivos PGML do padrão e do projeto atual). Esses arquivos são, então, compactados num novo arquivo de projeto, que é, em seguida, carregado pela ferramenta. Figura 7. Arquivo XMI do projeto atual A próxima Seção apresenta um estudo de caso, destacando a utilização de um padrão de análise na criação de um novo projeto. 6

5. ESTUDO DE CASO: SISTEMA DE TRANSPORTE DE ÔNIBUS URBANO Uma breve descrição dos requisitos levantados neste estudo de caso é a seguinte: Um sistema de gerenciamento de itinerários de ônibus tem como base uma rede de circulação viária. Por sua vez, a circulação de veículos em uma cidade é realizada sobre a malha viária urbana da cidade. A rede de circulação viária fornece o sentido do tráfego, enquanto a malha viária fornece a estrutura de vias (que podem ser exclusivas para pedestres, por exemplo, e não fazerem parte da rede de circulação). Algumas vias de locomoção possuem sentido único enquanto outras são de mão-dupla. Cada trecho é classificado de acordo com sua importância para o sistema viário como, por exemplo, se é uma via coletora, de ligação regional ou uma via local. Empregando padrões de análise conhecidos é necessário que o projetista modele apenas a parte do sistema relativa à sua aplicação, ou seja, o sistema de transporte de ônibus urbano. O padrão Malha Viária Urbana pode ser reutilizado no projeto desse sistema, reduzindo esforços de implementação, conforme ilustrado nas Figuras 8 e 9. Figura 8. Construção do projeto da rede de circulação viária (parte 1) No entanto, observe na Figura 9 que o diagrama elaborado (Rede de Circulação Viária), tem potencial para ser reutilizado em diversas aplicações urbanas, fornecendo as classes essenciais de aplicações de transporte de mercadorias, atendimento de urgência, sistemas de tele-entrega, etc. Desta forma, este pedaço do esquema do Sistema de Transporte Urbano apresentou-se com um potencial candidato a se tornar um novo padrão de análise. Uma vez documentado e incluído no Catálogo de Padrões de Análise, este novo padrão pode ser facilmente encontrado e reutilizado. Na ferramenta ArgoCASEGEO, o projetista após identificar um padrão de análise de seu interesse pode simplesmente arrastar o padrão para o painel de diagramação e complementar a especificação das classes com os atributos e operações específicas da aplicação sendo modelada. A Figura 10 ilustra o esquema resultante da modelagem deste estudo de caso, onde pode-se observar que grande parte do esquema é originário de padrões de análise existentes previamente. Neste caso, somente o subesquema interno ao pacote Itinerário Urbano não foi reutilizado. 7

Figura 9. Construção do projeto da rede de circulação viária (parte 2) ItinerárioÔnibus 1 LinhaÔnibus * Itinerário Ônibus Pto de Parada * 1 Trecho Itinerário 0,1 * * * 2 Nó Itinerário 0,1 RedeCirculaçãoViária 0,1 * Trecho Circulação Rede de Circulação Viária * 1 * * 2 Nó de Conversão 0,1 Via Ligação Via Coletora Via Arterial Via Local Regional MalhaViária Logradouro MalhaViaria * * * * Trecho * 2 Logradouro Cruzamento Logradouro 1 Figura 10. Esquema conceitual final do estudo de caso (modelo UML-GeoFrame [9]) 8

6. CONSIDERAÇÕES FINAIS Este artigo apresentou o catálogo de padrões de análise da ferramenta CASE ArgoCASEGEO, destacando sua utilização e descrevendo sua implementação. A abordagem de padrões de análise apresenta grande potencial para melhorar a qualidade das aplicações de SIG, bem como para reduzir o tempo e, conseqüentemente, os custos das etapas de análise de requisitos e modelagem conceitual do banco de dados. Um padrão de análise não necessita apresentar uma solução original. Pelo contrário, padrões devem documentar soluções já testadas e validadas, pois são soluções para problemas recorrentes. Embora um padrão de análise possa ser definido de forma muito semelhante aos padrões de projeto (design patterns [4]), porque ambos apresentam soluções para problemas recorrentes em um determinado contexto, os padrões de análise podem ser descritos de forma muito mais livre, pois seu objetivo é o de transmitir o conhecimento sobre parte de um domínio de aplicação, enquanto os padrões de projeto apresentam receitas de como resolver determinado problema. Os padrões de análise não estão concluídos, precisam ser adaptados aos requisitos específicos de cada aplicação ou cliente. A incorporação de um catálogo de padrões de análise a uma ferramenta CASE proporciona um enorme ganho de produtividade para os projetistas tanto de banco de dados, como de aplicações, uma vez que a mesma ferramenta pode possuir diversos catálogos de padrões, inclusive padrões de projeto. Na literatura é possível encontrar diversas ferramentas CASE sendo propostas para modelagem de banco de dados geográficos (ex.: [6], [14]). No entanto, nenhuma disponibiliza um catálogo de padrões de análise e a maioria apenas fornece suporte para a modelagem conceitual dos dados, não sendo possível transformar estes projetos para o nível lógico. O catálogo de padrões de análise da ferramenta ArgoCASEGEO é distribuído com alguns padrões de análise básicos para aplicações de gestão urbana, como Malha Viária Urbana, Rede de Circulação Viária Urbana e Loteamento Urbano. A ferramenta ArgoCASEGEO pode ser obtida livremente no sítio http://www.dpi.ufv.br/projetos/argocasegeo. Agradecimentos Este trabalho foi parcialmente financiado pelo Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) e pela Fundação de Amparo à Pesquisa do Estado de Minas Gerais (FAPEMIG). Referências Bibliográficas [1] Bhering, E. M.; Lisboa Filho, J.; Calijuri, M. L.; Souza, L. A. DE. A. Sistema de informação da rede de infraestrutura sanitária de Cachoeiro de Itapemirim-ES. Informática Pública, v.4, n.1, 2002. [2] Buschmann, F. et al. Pattern-Oriented Software Architecture: a system of patterns, New York: John Wiley & Sons, 1996. [3] Fowler, M. Analysis Patterns: Reusable Object Models, Addison Wesley Longman, 1997. [4] Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1994. [5] Hay, D. C. Data Model Patterns: Conventions of Thought, Dorset House Publishing, 1995. [6] Lbath A., Pinet, F.: The Development and Customization of GIS-Based Applications and Web-Based GIS Applications with the CASE Tool AIGLE. In Proc. of ACM Symposium on advances in Geographic Information Systems, 2000. [7] Lisboa Filho, J.; Sodré, V. F.; Daltio, J.; Rodrigues Junior, M. F.; Vilela, V. A CASE tool for geographic database design supporting analysis patterns. In Proc. of Conceptual modeling for advanced application domains. ER2004 Workshop CoMoGIS, Shanghai, China, 2004. Springer LNCS 3289. [8] Lisboa Filho, J.; Iochpe, C.; Borges, K. A. V. Analysis patterns for GIS data schema reuse on urban management applications. CLEI Electronic Journal, v.5, n.2, p.1-15, 2002. Special issue of best papers presented at CLEI`2001. [9] Lisboa Filho, J.; Iochpe, C. Specifying analysis patterns for geographic databases on the basis of a conceptual framework. In Proc. of ACM Symposium on advances in Geographic Information Systems, Kansas City, USA, 1999. [10] Lisboa Filho, J.; Iochpe, C.; Beard, K. Applying Analysis Patterns in the GIS Domain. In Proc. 10th Annual, Colloquium of the SIRC, Dunedin, NZ, 1998. [11] Meszaros, G.; Doble, J. A pattern language for pattern writing. Available at http://hillside.net/patterns/writing/patternwritingpaper, 1998. [12] Sodré, V. F.; Lisboa Filho, J.; Vilela, V. M.; Andrade, M. V. A. Improving productivity and quality of GIS 9

databases design using an analysis pattern catalog. In Proc. of Asia-Pacific Conference on Conceptual Modelling, Newcastle, Australia, 2005. ACS Conferences in Research and Practice in Information Technology (CRPIT) series, v. 43, 2005. p. 107-114. [13] Vinhas, L., Ferreira, K. R. Descrição da TerraLib. In: Casanova, M. A. et. al. Bancos de Dados Geográficos, Curitiba: MundoGeo, 2005. [14] Wohed, P. Tool Support for Reuse of Analysis Patterns - a Case Study, In: A.H.F. Laender, S. W. Liddle, V. C. Storey (eds): ER2000 Conference, LNCS, 2000. 10