UM EDITOR DIAGRAMÁTICO PARA DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO NA INTERNET



Documentos relacionados
Wilson Moraes Góes. Novatec

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

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

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

2 Diagrama de Caso de Uso

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

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

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

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

UFG - Instituto de Informática

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

WebMail Manual do cliente

Feature-Driven Development

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

ENGENHARIA DE SOFTWARE I

Banco de Dados Orientado a Objetos

Figura 1 - Arquitetura multi-camadas do SIE

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Conceitos de Banco de Dados

11 - Q34826 ( FCC DPE - SP - Oficial de Defensoria Pública / Noções de Informática / Internet e intranet; )

Especificação do 3º Trabalho

1 UML (UNIFIED MODELING LANGUAGE)

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

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

Manual de Gerenciamento de Conteúdo

GERENCIAL SEPLAG CARTILHA AGENDA. Sumário

UML - Unified Modeling Language

Sistemas de Informação I

COORDENAÇÃO DE ENSINO A DISTÂNCIA - EaD

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Análise e Projeto Orientados por Objetos

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

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

BPMN Business Process Modeling Notation

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

Anexo I Formulário para Proposta

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

ÍNDICE. 1. Introdução O que é o Sistema Mo Porã Como acessar o Site Mo Porã Cadastro do Sistema Mo Porã...

SISTEMAS DISTRIBUIDOS

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

1

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

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

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

Modelagem de Processos. Prof.: Fernando Ascani

PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Documento de Análise e Projeto VideoSystem

Microsoft Internet Explorer. Browser/navegador/paginador

Histórico de Revisão Data Versão Descrição Autor

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

UNIVERSIDADE FEDERAL DE SANTA CATARINA

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

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

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Manual UNICURITIBA VIRTUAL para Professores

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

4 O Workflow e a Máquina de Regras

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

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

Um Driver NDIS Para Interceptação de Datagramas IP

SISTEMA GERENCIADOR DE BANCO DE DADOS

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

UML: Casos de Uso. Projeto de Sistemas de Software

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

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Engenharia de Requisitos Estudo de Caso

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

"Manual de Acesso ao Moodle - Discente" 2014

BANCO DE DADOS CONTEÚDO INFORMÁTICA. Prof.: MARCIO HOLLWEG BANCO DE DADOS SGBD TABELA CONCEITOS BÁSICOS

O Processo Unificado: Captura de requisitos

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

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

Transcrição:

UM EDITOR DIAGRAMÁTICO PARA DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO NA INTERNET Leandro Bento Pompemraier B.Sc. Roberto Tom Price Eng. M.Sc., D.Piril Universidade Federal do Rio Grande do Sul - Instituto ue Informática Caixa Postal 15064- Porto Alegre - RS-Brasil e-mail: {pomper, tomprice}@inf.ufrgs.br Resumo Neste artigo é apresentado EDI, um Editor Diagramático na Internet, que suporta a especificação cooperativo de aplicações. Este editor utiliza tecnologia e funcionalidade dos hiperdocumentos. EDI possui características como: comparcilhamenco de informações, colaboração por vários autores para a realização de diversas tarefas, vários visões dos dados armazenados, entre outras. A implementação deste editor foi realizada na linguagem de programação Java. e projetada de forma genérica para permitir o criação de editores de diversas notações. Palavras Chaves: Engenharia de Software, Ambientes de Desenvolvimento de Software, Ferramentas CASE, WWW Abstract This paper describes EDI, a Diagrammatic Editor on the Internet, that supports cooperative specification of applications. This editor uses hyperdocument technology and funcionalities. EDI offers features such as information sharing, collaboration between severa! authors, multiple views of the data conceptual stored, among others. EDI is implemented using Java language and is designed with lhe intention of being generic to enable lhe easy creation of specific editors for severa! diagrammatic notations. Keywords: Software Engineering, Software Development Environment, CASE Tools, www 1. Introdução Ambientes de desenvolvimento de software (AOS) auxiliam os desenvolvedores de sistemas nas diversas etapas do ciclo de desenvolvimento, pela integração de ferramentas ucilizadas e pelo gerenciamento das várias tarefas associadas a este ciclo [DAR87]. Estes ambientes simplificam o processo de desenvolvimento de software, fornecendo convenções uniformes para análise, codificação, testes, etc. O conceito de AOS surgiu nos anos 70, buscando combinar técnicas, métodos e ferramentas com o objetivo de prover um meio através do qual o desenvolvedor pudesse ter o XII Simpósio Brasileiro de Engenhuri:l de Software - SBES'lJS 265

apoio na construção do software [GIM94J[PER91]. Esta fonna de tratar o processo de desenvolvimento, como se entende hoje, envolve o suporte a atividades individuais e ao trabalho em grupo, ao gerenciamento do projeto, ao aumento da qualidade geral, ao aumento da produtividade, etc. Com o surgimento de novas tecnologias, como o ambiente World Wide Web (WWW), os sistemas de informação deverão satisfazer requisitos mais abrangentes, utilizando arquiteturas de dados mais complexas, envolvendo visualizações por browser, servidores de documentos e servidores de bases de dados, sistemas de infonnações integrados ao workgroup das organizações e trabalho em grupo na geração dos documentos. Estes Sistemas de Informação oferecem através destas interfaces documentos que são sucessivamente manipuladas por diferentes usuários e pennitem, a estes usuários, diferentes visualizações das informações que os constituem. O desenvolvimento de Sistemas de Informação na Internet (S ll) requer a modelagem de diversos componentes como, por exemplo, a modelagem estrutural, visual e dos caminhos de navegação dos documentos que os constituem, bem como a modelagem das bases de dados e dos aspectos de atualização e acesso à bases de dados a partir dos documentos, que conterá as infonnaçõcs annazenadas, bem como das transaçõcs (casos de uso) e detalhamento dos processos. Para modelar todos estes aspectos são necessárias ferramentas de edição destes modelos, ferramentas de consistência entre os modelos, ferramentas de transfonnação e dicionários de dados, constituindo, assim, os componentes de análise e projeto de um ambiente de desenvolvimento de software. Considera-se que para desenvolver Sll's seja conveniente que o ambiente de desenvolvimento de software também esteja baseado na Internet. Um ambiente de desenvolvimento de software na Internet 'é um ambiente de desenvolvimento que para suportar o ciclo de desenvolvimento de software emprega mecanismos de cooperação entre os diferentes usuários, podendo, assim, formar workgroups para o desenvolvimento de diversas tarefas. O dicionário de dados, como base de dados comum a todos os usuários implementa um dos mecanismos de compartilhamento de infonnações. Este ambiente pode garantir a coerência e a consistência das infonnações durante todo o ciclo de desenvolvimento, pennitindo, também, visualização destas infonnações através de diferentes notações diagramáticas, confonne as preferências dos usuários. Ambientes de desenvolvimento de software na Internet poderão apresentar as seguintes características: cooperação de autoria, coordenação entre usuários, diversas visualizações e segurança. Neste trabalho apresenta-se EDI, um editor diagramático para modelagem de sistemas de infonnação na Internet. Este artigo está organizado da seguinte forma: a seção 2 apresenta idéias para a construção de AOS na Internet. A seção 3 apresenta características do EDI. A seção 4 mostra a funcionalidade do editor. Na seção 5 é apresentado o dicionário de dados do ambiente, enquanto a seção 6 apresenta algumas conclusões. 2. Ambientes de Desenvolvimento na Internet Diversas metodologias foram propostas para a construção de software Orientado a Objetos (OMT [RUM91], Booch [80091], Fusion [COL94], OOSE [JAC94]). Estas metodologias fornecem descrições de como o software deve ser criado c mantido [ORT95]. 266 X li Simpósio Brasileiro de Engenharia de Software - SBES'98

Em geral, estas descrições estão baseadas em um conjunto de documentos produzidos durante o ciclo de vida, definindo a estrulura e os relacionamentos desses documentos. O processo de desenvolvimento de software envolve uma contfnua produção e transformação de notações, partindo-se da especificação de requisitos até a produção de código executável [PEN93][FIN94). Estas produções e transformações podem ser suportadas por ferramentas, que constituem os ambientes de desenvolvimento de software. Na produção de software, várias ferramentas e notações são utilizadas para atender as fases de seu desenvolvimento[br092]. O que ocorre com estas ferramentas é o isolamento ou independência uma das outras, dificultando o relacionamento entre os documentos utilizados e/ou gerados durante este processo. Tendo em vista a popularização da Internet, principalmente com a tecnologia dos hiperdocumentos, e o surgimento de novas linguagens de programação (Java), se faz cada vez mais necessária a incorporação de tecnologias que suportem o desenvolvimento de software de forma distribuída na rede, com a possibilidade dos desenvolvedores atuarem nas diversas etapas existentes do ciclo de desenvolvimento do software gerando e trocando suas informações (documentos) entre si como se estivessem num mesmo ambiente local. Um AOS que possui a Internet como seu principal ambiente de interação permite aos seus usuários a independência de plataforma e de localidade, uma vez que as ferramentas do ambiente podem ser accssadas de qualquer nodo. Além disto, um AOS na Internet apresenta características importantes que o destingue de outros AOS. São elas : Cooperação : Um AOS na Internet utiliza recursos ãr comunicação entre os usuários para que estes possam trocar mensàgens;' a' fim de executar uma determinada tarefa ou trocar experiências [RE195]. Os principais meios de comunicação são : eletronic-mail (e-mail) e chac. Com isto podem ser compartilhadas ferramentas, informações, diagramas, etc. Outra forma de cooperação é o compartilhamento de infonnações através da base de dados ou através de documentos HTML (HyperText Markup Language). Coordenação : A capacidade de gerenciar as interações dos usuários, controlando o fato de diversas pessoas estarem trabalhando nos mesmos objetos ao mesmo tempo, e também de integrar as contribuições individuais de cada participante num único produto. Segurança : A segurança consiste em garantir que apenas usuários autorizados terão acesso à base de dados comum. Diferentes tipos de usuários possuem diferentes visões dos dados armazenados e diferentes níveis de acesso. Além dos mecanismos de segurança implementados pelos sistemas de gerenciamcnto de banco de dados, a Internet provê segurança através dos browsers e dos mecanismos existentes na linguagem de programação Java. Aworia : A autoria consiste em fornecer mecanismos que possibilitem o planejamento da atividade do grupo de trabalho e a representação da mesma no ambiente compartilhado. A Internet facilita o trabalho de autoria, principalmente, pela visualização dos documentos através tios browsers e pelo fácil acesso as informações. XIJ Simpósio Brasileiro de, Engenharia de Sonware - SBES '9K 267

Gestão do Dicionário de Dados : repositório de todas as informações do projeto, modelagem, implementação, testes, etc. O AOS deve gerenciar o acesso a base de dados (dicionário de dados) garantindo a consistência e segurança dos dados. Com o dicionário de dados disponível na Internet faz com que os usuários não se preocupem com a localização das informações, principalmente se não estiverem em seu ambiente de trabalho. Consistência dos Modelos : O AOS deve garantir a consistência dos modelos com relação ao dicionário de dados. Um dicionário de dados integra todos os modelos das notações. A Internet, através dos mecanismos de compartilhamento das informações e coordenação das tarefas dos usuários, garante a consistência dos modelos. Adaptação ao Usuário : Diversas vtsoes de um mesmo conjunto de dados, possibilitando a adaptação do ambiente às caracterfsticas do usuário. A Internet auxilia na adaptação ao usuário através da homogeneidade de interfaces, proporcionadas pelos browsers. lnteração Global : A Internet é, sem dúvida, o maior sistema aberto existente. Com ele diversos usuários podem "navegar" em busca de informações disponibilizadas através das páginas Web. Esta intcração global permite um melhor compartilhamento de bibliotecas de componentes, ampla exposição dos produtos gerados nas fases de desenvolvimento, o acesso a frameworks, comparthhamento de resultados e experiências. Adicionalmente um AOS na Internet deve possuir características comuns a outros AOS como, por exemplo, geração de código e engenharia reversa. 2. 1 Uma Proposta de AOS na Internet Um AOS na Internet deve possuir as características citadas anteriormente. Deverá possuir, para tal, ferramentas (editores) capazes de auxiliar o desenvolvimento cooperativo de software. Um protótipo de editor cooperativo, desenvolvido em Java é apresentado nas seções subsequentes. O AOS na Internet oferece homogeneidade de interfaces, conseguida através das visualizações nos navegadores. Este ambiente possui um dicionário de dados armazenado em uma base de dados no servidor. Esta base de dados implementa um modelo conceituai. Os editores deste ambiente interagem com os usuários através de visões especfficas da base de dados. Por exemplo, editor de cenários visualizam objctos e troca de mensagens entre eles. Editor de objetos visualiza a estrutura de herança c associação entre classes. Editor de estados visualiza as transformações de estado dos objetos de uma classe. Uma mesma visão pode ter diferentes apresentações, conforme o desejo do usuário. A visão do modelo de objetos pode ser vista com letras em negrito e fonte Arial por um usuário e itálico c Times New Roman por outro. Pode-se especificar que usos de documentos podem requerer visões especfficas. Algumas visões são sobre sub-conceitos específicos (por exemplo a modelagem dinâmica de objetos), outras visões referem-se a forma de visualização de conceitos (por exemplo alguns 268 XII Simpósio Brasileiro de Engenharia de Software- SBES'98

usuários preferem ver diagramas de objetos com a notação de Rumbaugh [RUM91 ], outros com a notação do Booch [80091 ]). Detalhes das visões que são apenas referências de apresentação dos usuários (por exemplo tipo da fonte, tamanho da fonte e cor) são especificadas nas anotações. O ADS suporta trabalho individual ou cooperativo. A cooperação pode ser de várias formas, como troca de mensagens através de e-mail e chat, compartilhamento de informações através dos modelos visualizados pelos usuários ou na forma de anotações sobre modelos que estão sendo criados. Por exemplo, um usuário ena um modelo na sua visão e o envia a outros usuários, que o podem criticar e sugerir modificações, utilizando anotações sobre o modelo proposto. Estas anotações podem ser na forma de inclusão, remoção, substituição ou comentário Projetos possuem diversos desenvolvedores que podem estar distribufdos em diversas localidades e que podem realizar tarefas distintas sobre os documentos, ou mesmo cooperar na realização de uma mesma tarefa. O ambiente distribufdo suporta este tipo de trabalho, controlando o acesso (prioridades de atualizações, autorizações, gestão de visões e outras) e gerenciando os documentos. 3. Funcionalidades e Características do EDI O editor diagramático para a Internet (EDI) é um editor de diagramas, com caracterfsticas próprias, tais como: vários usuários podem realizar diversas tarefas, trocando informações e companilhando urna única base de dados; cada usuário pode visualizar de forma específica um mesmo conjunto de dados; independência de plataforma, uma vez que a ferramenta é executada sobre navegadores Web (Netscape, Internet Explorer, Mosaic, etc.) Vários usuários acessando a ferramenta ao mesmo tempo, e requerendo visualizações diversas sobre a mesma base de dados, requer do sistema capacidade de gerenciar estas visões e a atualização da base de dados. No protótipo o modelo é representado pela base conceituai. Esta base é gerenciada por um sistema de banco de dados e representa os conceitos utilizados pelas representações das notações. Na seção 5 é apresentado detalhes do modelo conceituai (dicionário de dados) As visões são dependentes de como cada usuário visualiza as informações da base de dados. Cada visão é apresentada pelo editor especffico da visão. A atualização da base de dados e das diversas visões se dá de forma consistente, pois, quando o modelo é alterado (base de dados), automaticamente as visões agregadas são notificadas da alteração. Quando uma determinada tarefa é inicializada, somente um usuário receberá a especificação (usuário proprietário). Analisando a especificação da tarefa, este usuário deverá requisitar o bloqueio dos conceitos que, possivelmente poderão sofrer alterações. Estes conceitos variam de acordo com o editor utilizado para o desenvolvimento da tarefa como, por exemplo, se o usuário utililar o editor de objetos, as classes, atributos, métodos, associações, agregações e heranças utilizadas na modelagem da tarefa deverão ser bloqueados para que as alterações realizadas sobre estes conceitos não tornem os modelos extrafdos a partir destes conceitos inconsistentes. Cada usuário proprietário poderá criar um b'tllpo de trabalho ou grupo de discussão para que haja troca de experiências entre vários usuários. Este usuário (usuário proprietário) XII Simpósio Brasileiro de Engenharia de Software- SBES'98 269

enviará parte ou todo modelo criado para um ou vários usuartos colaboradores. Estes usuários receberão, além da visão criada pelo usuário proprietário um submodelo conceituai, que é cópia do dicionário de dados contendo os conceitos manipulados pelo modelo em questão. Cada usuário, tanto proprietário como colaborador, possuirá um projile contendo características especfticas de apresentação dos modelos como. por exemplo, tipo e cor de letra. Os usuários, tanto proprietário como colaborador, possuem um conjunto de funções que foram previamente estabelecidas. A tabela I apresenta estas funções. Tipo de Usuário Funções Proprietário - Criar visão - Bloquear modelo - Editar visão Incluir visão no modelo Desbloquear modelo - Enviar visão para análise dos colaboradores - Agregar anotações ao modelo Colaborador Receber visões Anotar visões Devolver visões - Enviar visões para análise de outros colaboradores - Agregar anotações ao modelo Tabela 1 - Funções dos Usuários Todas as alterações realizadas pelos usuários (proprietário e desenvolvedor) serão armazenadas em um sistema de log. Este sistema será disponibilizado, como um todo, somente para o desenvolvedor proprietário. Assim este poderá escolher e/ou visualizar as alterações que melhor representam o desenvolvimento da tarefa. Ou seja, a forma de manter controle de versões das visões é implementada pelo log. Entre as funcionalidades do editor pode-se salientar o mecanismo de colaboração no desenvolvimento das tarefas. A colaboração pode ser indireta, através do compartilhamento de documentos, isto é, os diversos usuários do editor poderão, :~través de um sistema de arquivos, compartilhar documentos (diagramas, textos e imagens). Outra forma é a colaboração direta, através de mecanismos de troca de mensagens e anotações. Os usuários (desenvolvedores) podem trocar mensagens (informações e experiências) através de protocolos de comunicação (correio eletrônico (e-mail) e chat) implementados em Java. Estes programas agregados ao ambiente permite a formação de workgroup entre usuários ou envolvidos na mesma tarefa ou especialistas em uma determinada área. O mecanismo de chat permite uma interação ~::ntre todos os usuários do editor ou somente entre os usuários cadastrados no mesmo grupo de trabalho. A colaboração através de anotações é uma forma de comunicar idéias ou opiniões sobre o conteúdo de um diagrama criado. Um usuário colaborador analisa o modelo recebido, insere suas anotações junto com o diagrama e envia ao usuário proprietário do diagrama. Estas anotações são inseridas com o intuito de aperfeiçoar o documento, c também podem ser 270 XII Simpósio Brasileiro de Engenharia de Software- SBES'98

utilizadas como registro das argumentações ocorridas durante a criação do diagrama. Além disso ela serve como um mecanismo de comunicação entre o usuário proprietário e os usuários colaboradores. Esta colaboração pode ser (figura I): (a) apresentar idéias ou opiniões; (b) propor alterações; e (c) levantar questões. Toda anotação deve ter o identificação do comentador. Funções de edição semânticas dos modelos permitem ao usuário alterar semanticamente o modelo, realizando troca de uomfnio de modelagem. Por exemplo, o usuário poderá transformar um atributo em classe e viee-versa, utilizando estas funções e mantendo a consistência com relação ao dicionário de dados. r Usuário I I Anotação L A I I I I Remoção I I Inclusão I Troca I I Comentário I Troe ade NCMJ.I Objeto Visual ~ ["' Figura 1 - Modelo de Objetos para Anotações baseado em [SOU97] 4. Aspectos de Implementação do EDI O editor foi programado como uma applet (que executa no cliente) e uma aplicação (que executa no servidor) que gerencia os usuários. Para a implementação do EDI, sendo este uma ferramenta gráfica, foi utilizado o frcunework Hotdraw [JOH92] e para a solução de problemas relativos a implementação gráficas de alguns componentes utilizados pelas notações que o EDI suporta foram utilizados os padrões de projeto Observer e Composite [GAM95]. Foi utilizado, também, o framework Java File System (JFS) para a construção e gerenciamento do sistema de arquivos das visões manipuladas pelos clientes Cada notação tem um EDI específico. Está sendo construído EDI específicos, utilizando as classes definidas em EDI anteriores para chegar a definição de um framework para a criação de editores diagramáticos. XU Simpósio Brasileiro de Engenh:ll'ia de Software - SllES'98 271

A figura I fornece uma visão geral da arquitetura do EDI. O ambiente proposto possui três camadas : Database Server, Web Server e JFS Server (figura 2). Estas três camadas podem estar presentes em uma única máquina, ou distribu(das em várias máquinas. O usuário acessa o servidor Web (Web Server) na Universal Resource Locator (URL) do ambiente. Ao carregar a página HTML irá também carregar o applet Java, que consiste no EDI, podendo criar,alterar ou anotar modelos diagramáticos. O EDI possui a seguinte arquitetura : -+ DataBase Server : Servidor de banco de dados onde está armazenado as informações do sistema baseado no modelo semântico das classes; -+Web Server : Servidor WWW onde estão armazenadas as páginas HTML e os applets Java (ferramentas) do ambiente. -+ JFS Serve r : Servidor de sistema de arquivos utilizado para armazenar infonnações temporárias dos usuários como, por exemplo, um diagrama, um texto, etc. Utilizado, também, para gerenciar a comunicação entre os usuários. -+ Users : São os desenvolvedores do software. Internei Figura 2- Arquitetura do Editor Diagramático para Internet 5. Exemplo de Utilização do EDI O protótipo foi implementado na linguagem Java utilizando a arquitetura MYC e sistema de arquivos JFS (Java File System). Para executar a ferramenta é necessário o acesso 272 XII Simpósio Brasileiro li.: Engenharia tle Sofiware- SBES'98

a URL do ambiente e acessar suas respectivas páginas HTML, utilizando um navegador que suporte a linguagem Java, isto é, a execução dos applets. Antes do usuário acessar as ferramentas do ambiente, este deve ser cadastrado no sistema pelo usuário root. Este cadastramento define o grupo de trabalho do usuário, sua área de armazenamento local, username entre outras caracterfsticas. Além do cadastro dos usuários do ambiente, é possfvel o cadastro de impressoras e o monitoramento das conexões dos usuários. Cada usuário cadastrado recebe uma senha que lhe permitirá o acesso nas ferramentas do ambiente. Uma ve.z cadastrado, o usuário poderá acessar o ambiente e utilizar suas ferramentas. O prot6tipo 1 atualmente disponibilizado apresenta um editor de notação OMT, agregando recursos para o compartilhamento de informações e, consequentemente, o trabalho em equipe. A figura I apresenta a interface principal do editor. Outras notações, como cenários, diagramas de estados, estão sendo implementados. O objetivo é obter um framework para gerar editores diagramáticos e gerenciadores de dicionários de dados. Figura 3- Visão geral da Ferramenta de Modelagem O editor é dividido em : 7 menu principal : com as opções File (manipulação de arquivos), View (visualização do modelo, quanto a notação, c visu:tlização das tarefas em andamento e por 1 Atualmcnte o protótipo do EDI está disponfvel nn seguinte URL: hup://www.inf.ufrgs.brl-pomperiedii XJI Simpósio Brasileiro de Engenharia de Software SBES'98 273

realizar), Tools (gerador de linguagem Java), Help (ajuda ao usuário com relação aos recursos técnicos do editor); -7 barra de ferramentas horizontal : apresenta ferramentas para o armazenamento e compartilhamento das informações individuais e ferramentas para acesso aos recursos de troca de informações (mail e chat); -7 barra de ferramentas vertical : ferramentas para edição da notação. No protótipo é disponibilizado ao usuário ferramentas para acrescentar classes, relacionamentos entre as classes (herança, agregação e associação) e, também, acrescentar comentários e anotações ao modelo, tanto genéricos como associados a algum componente gráfico; -7 área de desenho : onde será projetado o sistema de informação. Para alterar características de classes como, por exemplo, nome, tipo (abstrata, final, publica ou privada), incluir atributos e métodos deve-se selecionar a ferramenta Select e posterionnente dar um duplo click em cima da classe desejada. Desta forma, aparecerá uma janela (figura 2) contendo as informações da respectiva classe, podendo estas serem incluídas, alteradas ou removidas. Figura 4- Janela de Especificação da Classe 274 XII Simpósio Brasileiro de Engenharia de Software- SBES'98

6. Modelo Semântico do Dicionário de Dados Para o modelo de dados, utilizado para descrever o modelo conceituai do domínio da aplicação, foi utilizado a notação OMT (Object Modeling Technique) [RUM91]. Este modelo fornece uma estrutura semântica que facilita a descrição do domínio e a representação dos conceitos utilizados pelas notações utilizadas nas ferramentas implementadas. O editor possui uma base de dados comum (dicionário de dados do ADS), onde estão armazenadas as informações dos sistemas. Esta base de dados deverá representar todos os conceitos manipulados pelas ferramentas, isto é, apresentar em modelo conceituai (figura 3) todos os conceitos presentes nas diversas visões que as ferramentas especfficas manipulam. I Scenario I.--1 Partícipation EQCuUonl AcUvate l I G-rallzatlon 1 SubCiass SupwCiass o I Assoclation I L Represented J L Class ~ 1+~ I Method I Argument I (2.2) I Message I Binary Relatlon I Object l...1 V alue ~ Á I I Composhion I t 1+ I Anribute L-- -l I Figura 5 Modelo Parcial de Objetos Semânticos do Ambiente A partir deste modelo conceitual cada editor representará parte destes conceitos de forma gráfica, de acordo com a notação utilizada. Cada notação deverá ter um editor próprio, especializado do framework de edição genérico. Cada editor manipula um submodelo conceituai. 7. Conclusões Os resultados obtidos com esta pesquisa, demostram a viabilidade de se combinar um ambiente aberto (Internet) com o desenvolvimento cooperativo de software. A cooperação na especificação de sistemas de informação é obtida através do compartilhamento das visões e das anotações adicionadas as visões pelos colaboradores. XII Simpósio Brasileiro de Engenhana de Sofi\van: - SBES'98 275

A abordagem de diferentes visões de um mesmo modelo possibilita o uso integrado de diferentes notações para a especificação de sistemas de informação por diferentes usuários. Esta abordagem de múltiplas visões é conseguida através da implementação da arquitetura MVC, permitindo o EDI a trabalhar com um mesmo modelo semântico. O trabalho descrito faz parte de um projeto que envolve a especificação de um framework para a construção de editores diagramáticos. Esta especificação deverá ser alcançada através do processo evolutivo que está sendo empregado na construção de ED!'s, analisando cada risco envolvendo as características de editores diagramáticos colaboralivos para Internet. Referências Bibliográficas [B0091l [BR092] [COL94] [DAR87] [FIN94] [GAM95] [GIM94] [JAC94] [JOH92] [0RT95] [PAR94] BOOCH, G. Object Oriented Design: with Applications. Redwood City: The Benjarnin/Cumming, 199 1. BROWN, A. ; FE!LER, P. ;WALLNAU, K. Understanding lntegration in a Software Development Environment. Pittsburgh, Pennsylvania: Software Engineering Institue, 1992. 31 p. (Technical Report CMU/SEI- 91-TR-31). COLEMAN, D. et ai. Object-Oriented Development - The Fusion Method. New Jersey: Prentice-Hall Englewood Cliffs, 1994. DART, S. et ai. Software Development Environment. Computer, Los Angeles, CA, v.20, n.ll, p. 18-28, Nov. 1987. FINKELSTEIN, Anthony; et ai. Software Process Modeling a nd Technology. New York: John Willey & Sons lnc. 1994. 362 p. GAMMA, E.;et ai. Design Pa tterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995. GIMENES, I. O processo de Engenharia de Software: Ambientes e Formalismos. Caxambu, MG, Brasil: Sociedade Brasileira de Computação, 1994. JACOBSON, I. et ai. Object-Oriented Software Engineering - A Use Case Driven Approach. Addison-Wesley Publishing Company, 1994. JOHNSON, R. E. Documenting Frameworks using Patter ns. ln: Object Oriented Programming Systems, Languages and Applications Conferende - OOPSLA, 1992, Vancouver. Proceedings... Vancouver. ORTIGOSA, Alvaro Manuel. Proposta de um Ambiente Adaptável de Apoio ao Processo de Desenvolvimento de Software. Porto Alegre: CPGCC da UFRGS, 1995. (Dissertação de Mestrado). PARCPLACE System lnc. Visual Works Reference Manual. CA: ParcPiace System lnc., 1994. 276 XII Simpósio Brasileiro de Engenharia de Software- SBES'98

[PEN93] [PER91] [RE195] [RUM9 1] [SOU97] PENEDO, M. Process-based Software Engineering Environments (PSEE). ln: BRAZILlAN SYMPOSIUM OF SOFIW ARE ENGINEERING, 7., 1993, Rio de Janeiro. Anais... Rio de Janeiro: PUC do Rio de Janeiro, 1993. (palestra convidada). PERRY, D.; KAISER, G. Models of Software Development Environments. Transaclions on Software Engineering. New York, v.l7, n.3, p.283-295, Mar 1991. REIS, Rodrigo Quites. Desenvolvimento Cooperativo de Software: Ferramentas e Metodologias. Porto Alegre : CPGCC-UFRGS. 1995. (Trabalho Individual) RUMBAUGH, J. et ai. Object-Oriented Modeling and Design. Englewood Cliffs: Prentice Hall. 1991. SOUZA, Cleidson R.B. ; WAINER, Jacques; RUBIRA, Cecnia M. F. Um Modelo de Anotações para o Desenvolvimento Cooperati vo de Software. ln: III Workshop em Sistemas Multimfdias e Hipermfdias, 1997, São Carlos. Anais... São Carlos: UFSCar, p. 143-154, 1997. X II Simpósio Brasileiro de Engenharia de Software- SBES'98 277