Sistemas CASE Integração de Ferramentas CASE DI-UFPE 1 Definição Diz respeito a como as ferramentas se comunicam e compartilham informações entre si. DI-UFPE 2 Benefícios Facilidade na transferência de informações (modelos, programas, documentação, dados, etc.) de uma ferramenta para outra e de uma etapa para outra no processo de desenvolvimento de software; Redução no esforço requerido para a execução das tarefas de gerenciamento de configuração, garantia de qualidade e produção de documentação; DI-UFPE 3 Benefícios Aumento do controle do projeto, alcançado através de um melhor planejamento, monitoração e comunicação; Melhor coordenação entre os membros de equipes trabalhando em grandes projetos. DI-UFPE 4 Classificação Pode ocorrer em diferentes formas: DI-UFPE Por apresentação; Por plataformas; Por dados; Por controle; Por processo. 5 Integração por Apresentação Integra visualmente as ferramentas de um ambiente através da utilização de interfaces com o usuário que são consistentes; As interfaces das diversas ferramentas têm uma aparência e comportamento similar; Vantagens: DI-UFPE Simplificação de uso de um conjunto de ferramentas; Redução de custos e tempo gastos com treinamento e suporte; Aumento de produtividade dos usuários. 6 Integração por Apresentação É necessário permitir que os usuários reutilizem suas experiências com outras ferramentas. Isto pode ser conseguido através de: DI-UFPE Redução do número de paradigmas de interação e apresentação utilizados no ambiente; Provisão de paradigmas de interação e apresentação que “casem” com os modelos mentais dos usuários; Satisfação das expectativas do usuário com relação aos tempos de resposta da ferramentas; Garantia de que informações corretas e úteis serão mantidas à disposição do usuário. 7 Integração por Apresentação: grau de integração Pode ser qualificado através da análise das propriedades básicas das interfaces: DI-UFPE Aparência e comportamento; Paradigma de interação. 8 Integração por Apresentação: grau de integração Aparência e Comportamento: Duas ferramentas são bem integradas em relação a esta propriedade se as experiências e expectativas dos usuários com relação a uma das ferramentas puderem ser aplicadas também à outra; Isto pode ser conseguido por meio de: layout uniforme para janelas; menus e caixas de diálogo; significado comum para verbos e comandos. DI-UFPE 9 Integração por Apresentação: grau de integração Paradigma de interação: DI-UFPE Duas ferramentas são ditas bem integradas em relação a esta propriedade se elas usam as mesmas metáforas e modelos mentais; Não significa dizer que só existe uma forma de interação, porém o excesso de formas de interação pode confundir o usuário. 10 Integração por Apresentação: padrões Características: Sistema de janelas padrão; Gerenciador de janelas padrão; Conjunto padronizado de ferramentas para construção de aplicações baseadas em janelas; Conjunto de regras de apresentação a serem utilizadas pelos desenvolvedores de aplicações. Exemplos: DI-UFPE X Windows/Motif no Unix; Macintosh da Apple; Windows da Microsoft. 11 Integração por Plataformas Conjunto de serviços que provêem transparência de rede e de sistema operacional para as aplicações; Ferramentas executam de forma transparente sobre um ambiente operacional virtual formado por hardware e/ou software de configurações heterogêneas; Usuários têm uma visão única e consistente do ambiente operacional; Exemplo: DI-UFPE Processamento distribuído em redes heterogêneas (ex: Internet). 12 Integração por Dados Refere-se à troca e/ou compartilhamento de dados e estruturas de dados entre ferramentas; O grau de integração por dados pode ser definido baseado em cinco características fundamentais: DI-UFPE Interoperabilidade; Não redundância; Consistência; Troca; Sincronização. 13 Integração por Dados: interoperabilidade Facilidade de manipulação por parte de uma ferramenta dos dados (persistentes) armazenados por outra ferramenta; Quanto maior a interoperabilidade, maior é o grau de integração por dados. DI-UFPE 14 Integração por Dados: não redundância Pouca duplicidade de dados entre as ferramentas ou dados que podem ser automaticamente derivados de outros dados; Quanto menor a redundância, maior é o grau de integração por dados. DI-UFPE 15 Integração por Dados: consistência Forma como duas ferramentas cooperam entre si para manter as restrições semânticas sobre os dados que elas manipulam. DI-UFPE 16 Integração por Dados: troca de dados Ferramentas são ditas bem integradas em relação à troca de dados se, para serem capazes de trocar dados entre si, não for necessário muito trabalho em relação à formatação e semântica dos dados. DI-UFPE 17 Integração por Dados: sincronização Ferramentas são ditas bem integradas em relação à sincronização quando todas as mudanças nos dados não persistentes de uma ferramenta são comunicadas às outras ferramentas do ambiente. DI-UFPE 18 Integração por Dados: abordagens Troca de dados; Gerenciamento comum de dados; Compartilhamento de dados. DI-UFPE 19 Integração por Dados: troca de dados Pode ser implementada através de dois métodos distintos: DI-UFPE Troca direta de dados; Troca de dados através de filtros. 20 Integração por Dados: troca de dados Troca direta de dados num formato comum conhecido por todas as ferramentas (ex: streams do sistema Unix); Ferramenta 1 DI-UFPE dados Ferramenta 2 21 Integração por Dados: troca de dados Troca de dados através de filtros para tradução do formato dos dados de uma ferramenta para outra; Ferramenta 1 DI-UFPE Filtro Ferramenta 2 22 Integração por Dados: troca de dados Desvantagens: DI-UFPE Geralmente, somente parte dos dados exportados é útil para a ferramenta receptora, uma vez que não foram projetados para serem completamente compatíveis; Tempo gasto com as trocas de dados; Duplicidade de dados em ferramentas individuais; Transferência unidirecional de dados. 23 Integração por Dados: gerenciamento comum de dados Do ponto de vista gerencial, dados são armazenados em uma única base de dados lógica, a qual pode ser distribuída em várias bases de dados físicas. Para que dados de uma ferramenta sejam usadas por outra, é necessária a tradução. Interface com o usuário Base de Dados Lógica Ferramenta 1 Base de Dados Física DI-UFPE Ferramenta 2 Base de Dados Física 24 Integração por Dados: compartilhamento de dados DI-UFPE Além do gerenciamento comum de dados, ferramentas podem usar diretamente (sem tradução) os dados de outras ferramentas (ex: repositório comum usando esquemas de banco de dados - forma mais comum usada em um IPSE). 25 Integração por Controle Trata do compartilhamento de funcionalidades (serviços) entre ferramentas; Cada ferramenta é vista como um provedor de serviços, os quais são requeridos e utilizados por outras ferramentas do ambiente; Serviços são solicitados por meio de mensagens: Ponto-a-ponto; Via um servidor de mensagens. Implica em alguma integração por dados, pois é difícil compartilhar serviços sem compartilhar dados. DI-UFPE 26 Integração por Controle: ponto-a-ponto Uma mensagem é enviada diretamente à ferramenta provedora do serviço solicitado; Este tipo de integração por controle é o que prevalece atualmente. Mensagens bidirecionais Ferramenta 1 Ferramenta 2 Mensagens unidirecionais DI-UFPE Ferramenta 3 Mensagens bidirecionais 27 Integração por Controle: via servidor de mensagens Um servidor de mensagens (camada de troca de mensagens) é responsável pela distribuição de todas as mensagens entre as ferramentas; As ferramentas registram-se no servidor e declaram que querem receber mensagens de determinados tipos; É o enfoque mais adequado a um IPSE. Ferramenta 1 Mensagens bidirecionais Ferramenta 2 Ferramenta 3 Servidor de Mensagens Ferramenta 4 DI-UFPE 28 Integração por Processo Ocorre quando o ambiente incorpora um modelo de ciclo de vida (processo de desenvolvimento) de software e usa este modelo para coordenar a ativação e uso das ferramentas; Etapas de desenvolvimento são executadas de acordo com o processo definido e obedecendo a restrições e a ocorrência de eventos. DI-UFPE 29 Integração por Processo: propriedades O grau de integração por processo pode ser definido baseado em três características: DI-UFPE Etapas; Restrições; Eventos do Processo. 30 Integração por Processo: etapas Ferramentas são ditas bem integradas com relação às etapas se elas produzem os dados e as informações de controle necessárias para que as ferramentas participantes da próxima etapa do processo possam trabalhar eficientemente. DI-UFPE 31 Integração por Processo: restrições Descrevem como as ferramentas de um ambiente restringem as ações dos usuários de forma a garantir que o processo de desenvolvimento ocorra sem problemas; Ferramentas que dão suporte a este aspecto da integração de processo devem ter certeza de que as condições iniciais requeridas para a execução das ferramentas subsequentes foram satisfeitas antes de passarem para a próxima etapa do desenvolvimento. DI-UFPE 32 Integração por Processo: eventos Muitas vezes, mudanças provocadas por uma ferramenta podem requerer que outras ferramentas sejam chamadas para que possam atualizar seus dados; São os eventos que sinalizam que algo aconteceu; A re-execução de ferramentas pode requerer que várias etapas do processo sejam recomputadas para que seja mantida a consistência de suas informações; Ferramentas são bem integradas em relação a eventos se elas geram e tratam notificações de eventos de forma consistente e inteligente. DI-UFPE 33