Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Ferramenta CASE para Verificação de Bases de Dados Oracle, Manuais, Projetos, Pesquisas de Arquitetura

O desenvolvimento de uma ferramenta case (computer aided software engineering) para verificação de consistência de estruturas de bases de dados oracle. O trabalho aborda a história e benefícios de ferramentas case, a implementação de um protótipo para verificação de estruturas de bases de dados oracle, e as conclusões do estudo. O documento também apresenta uma visão geral dos diferentes tipos de ferramentas case existentes.

O que você vai aprender

  • Como é feita a verificação de estruturas de bases de dados Oracle no documento descrito?
  • Quais são as principais ferramentas CASE mencionadas no documento?
  • Quais são os benefícios de usar Ferramentas CASE na Engenharia de Software?
  • Qual é a importância de Ferramentas CASE na Engenharia de Software?
  • Qual é o objetivo do trabalho descrito no documento?

Tipologia: Manuais, Projetos, Pesquisas

2022

Compartilhado em 07/11/2022

Havaianas81
Havaianas81 🇧🇷

4.6

(34)

219 documentos

1 / 31

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Curso de Engenharia de Computação
FERRAMENTAS CASE: IMPLEMENTAÇÃO DE UM
PROTÓTIPO PARA MANUTENÇÃO DE BANCO DE DADOS
Viviane Peloso
Itatiba – São Paulo – Brasil
Novembro de 2004
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f

Pré-visualização parcial do texto

Baixe Ferramenta CASE para Verificação de Bases de Dados Oracle e outras Manuais, Projetos, Pesquisas em PDF para Arquitetura, somente na Docsity!

Curso de Engenharia de Computação

FERRAMENTAS CASE: IMPLEMENTAÇÃO DE UM

PROTÓTIPO PARA MANUTENÇÃO DE BANCO DE DADOS

Viviane Peloso

Itatiba – São Paulo – Brasil

Novembro de 2004

ii

O presente exemplar da monografia FERRAMENTAS CASE:

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA MANUTENÇÃO DE

BANCO DE DADOS contempla as correções sugeridas pela banca

examinadora durante a apresentação do Trabalho de Conclusão de Curso.

Itatiba/SP, 08 de Dezembro de 2004.

Prof Ms. José Aparecido Carrilho

USF – Universidade São Francisco – Itatiba – SP.

iv

FERRAMENTAS CASE: IMPLEMENTAÇÃO DE UM PROTÓTIPO

PARA MANUTENÇÃO DE BANCO DE DADOS

Viviane Peloso

Monografia defendida e aprovada em 27 de novembro de 2004 pela Banca

Examinadora assim constituída:

Prof Ms. José Aparecido Carrilho

USF – Universidade São Francisco – Itatiba – SP.

Prof Ms. Alencar de Melo Junior

USF – Universidade São Francisco – Itatiba – SP.

Prof Ms. Thales Coelho Borges Lima

USF – Universidade São Francisco – Itatiba – SP.

v

.Agradecimentos

Agradeço primeiramente ao Professor José Aparecido Carrilho, meu orientador, que acreditou

em mim e incentivou-me para a conclusão deste trabalho, face aos inúmeros percalços do

trajeto.

Agradeço também ao Professor Alencar de Melo Júnior, um companheiro de percurso e de

discussões profícuas, dentro e fora do contexto deste trabalho, agraciando-me incontáveis

vezes com sua paciência, conhecimento e amizade.

Alguns experimentos e vários “entendimentos” não teriam sido possíveis sem a colaboração

de Fernando Davanço, Fábio Nascimbeni Lopes e Gladston José de Oliveira.

Eu agradeço fraternalmente a todos.

vii

Lista de Siglas

CASE Computer Aided Software Engineering

ADS Ambiente de Desenvolvimento de Software

DFD Diagrama de Fluxo de Dados

E-R Entidade – Relacionamento

I-CASE Integrated Computer Aided Software Engineering

SCM Software Configuration Management

PRO Prototipação

SIM Simulação

viii

Lista de Figuras

Figura 2- 1 – Blocos Construtivos de CASE............................................................................ 4

Figura 2- 2 – Classificação de Ferramentas CASE................................................................. 6

Figura 2- 3 – Exemplos de Arquitetura de Ferramentas CASE.......................................... 10

Figura 3 - 1 – Telas dos aplicativos SQL Explorer e SQL Monitor atuando

concorrentemente.................................................................................................................... 12

Figura 3- 2 – Tela do Gerador de arquivos binários ............................................................ 13

Figura 3- 3 – Tela principal do “DBComparer” ................................................................... 14

Figura 3- 4 – Mensagem exibida após o término da verificação ......................................... 14

Figura 3- 5 – Tela principal do “DBComparer” com o Log de resultado .......................... 15

x

Resumo

O objetivo deste trabalho é a implementação de um protótipo de Ferramenta CASE ( Computer

Aided Software Engineering ) direcionada a utilização de usuários finais, para a realização da árdua

tarefa de verificar a consistência da estrutura de base de dados Oracle, aproveitando para embasar a

realização de um estudo sobre os diversos tipos de Ferramentas CASE existentes atualmente no

mercado. Para isto a mesma foi dividida em duas partes. A primeira parte constitui um estudo sobre

Ferramentas CASE, na qual estão descritos não apenas os diversos tipos de Ferramentas existentes,

mas inclusive fatores como: definição, ambientes CASE, vantagens e desvantagens em sua utilização e

arquitetura. Esta parte terá a função de demonstrar a deficiência de Ferramentas CASE para usuários

finais existente no mercado atual. A segunda parte envolve a familiarização com a linguagem de

programação escolhida (Delphi 5) e com os aplicativos SQL Explorer e SQL Monitor, além da

realização de um estudo na arquitetura no banco de dados Oracle para a definição de uma forma de se

obter os dados referentes às estruturas das base de dados Oracle.

PALAVRAS-CHAVE: CASE, FERRAMENTA, BASE DE DADOS

Abstract

The objective of this work is the implementation an archetype of CASE Toll ( Computer Aided

Software Engineering ) directed the use final users, for the accomplishment of the arduous task to

verify the consistency the structure database Oracle, using to advantage to base the accomplishment of

a study on the diverse types of CASE Tools currently existing in the market. For this the same one was

divided in two parts. The first part constitutes a study on CASE Tools, in which is described not only

the diverse types of existing Tools, but also factors as: definition, CASE environments, advantages

and disadvantages in its use and architecture. This part will have the function to demonstrate the

deficiency of CASE Tools for final users existing in the current market. The second part involves the

familiarization with the chosen programming language (Delphi 5) and with applicatory SQL Explorer

and SQL Monitor, beyond the accomplishment of a study in the architecture in the database Oracle for

the definition a form if getting the referring data to the structures the database Oracle.

KEY WORDS: CASE, TOOL, DATABASE

1

1 INTRODUÇÃO

Desde 1955, engenheiros mecânicos e elétricos trabalhavam com ferramentas manuais

rudimentares como: livros, tabelas, réguas de cálculos, calculadoras mecânicas, lápis,

pranchetas e outros objetos que possibilitavam que um engenheiro criasse modelos do produto

a ser projetado.

Uma década se passou e este mesmo grupo de engenheiros começou a experimentar a

engenharia baseada em computador, surgiam os montadores e compiladores. A partir daí, a

primeira geração de Engenharia de Software Auxiliada por Computador, ou seja, de

ferramentas conhecidas atualmente como Ferramentas CASE foi sendo desenvolvida,

surgiram os dicionários de dados (1960), os editores textuais (1970) e os editores gráficos

A segunda geração iniciou-se a partir de 1980, através de ferramentas para

documentação e diagramação, sendo seguida pelo surgimento de ferramentas de verificação

de análise e projeto, ferramentas de geração automática de código a partir do projeto e

ferramentas de automação do projeto. Apenas nos anos 90, com a terceira geração de

Ferramentas CASE, desenvolveram-se ferramentas com assistência inteligente, recurso para

reutilização e engenharia reversa.

Atualmente, os engenheiros de software dispõem de um número maior e mais variado

de ferramentas no mercado, que trazem benefícios ao processo de desenvolvimento de

produtos de software, a saber: encoraja um ambiente interativo, reduz custos de manutenção,

melhora a qualidade do produto de software, agiliza o processo de desenvolvimento, aumenta

a produtividade.

Toda ferramenta ou método que auxilie num processo de construção lógica ou física,

documentação ou teste pode ser considerada uma Ferramenta CASE.

A dissertação presente tem como foco o desenvolvimento de um protótipo de

Ferramenta CASE voltada a utilização de usuários finais, apresentado na seção sete, para a

verificação de estruturas de base de dados e a partir desta verificação detectar erros com maior

eficácia e eficiência. Aproveita-se também para realizar um estudo sobre os diversos tipos de

Ferramentas CASE encontradas atualmente no mercado, ressaltando a deficiência no mercado

de Ferramentas CASE para usuários finais.

3

2 FERRAMENTAS CASE

Atualmente, a palavra ferramenta está muita associada à idéia de ferramenta de

software ou ferramenta automatizada, que é um software feito para auxiliar em alguma tarefa.

A Ferramenta CASE é a solução que mais tem causado revolução hoje em dia nos

ADS's ( Ambiente de Desenvolvimento de Software ), com ela é possível baixar em muito o

tempo total de desenvolvimento de software. Sua presença tornou-se vital para o bom

funcionamento de um ADS, auxiliando em todo o ciclo de desenvolvimento (Gerência,

Análise, Projeto, Implementação e Teste), além de exercer uma grande importância para a

manutenção do software.

Esta importância também pode estar associada ao apoio realizado pelas Ferramentas

CASE às metodologias e métodos que vão surgindo. Sem ferramentas, uma metodologia ou

método não terá boa aceitação no mercado, isto ocorreu com diagramas como o DFD

( Diagrama de Fluxo de Dados ) e o E-R ( Entidade – Relacionamento ), que só foram

amplamente utilizados quando surgiram as primeiras ferramentas para auxiliar na tarefa de

diagramação.

2.1 Ambientes CASE

Em [YONEZAWA], o autor apresenta três tipos de ambientes CASE, a saber:

  1. Lower-CASE – ferramentas de ambientes mais simples, provêm suporte à

codificação, teste, depuração e manutenção do código do software;

  1. Upper-CASE – ferramentas de ambientes mais complexos, automatizam diversas

tarefas de análise e de projetos de sistemas e são capazes de gerar código

automaticamente, a partir das especificações dadas;

  1. I-CASE ( Integrated- CASE) – ambiente caracterizado por um grupo de Ferramentas

CASE integradas, isto é, que se relacionam entre si (entradas e saídas) e que permitem

controlar a consistência dos dados quando uma metodologia é seguida. A idéia de

metodologia embutida no ambiente garante uma maior integração entre as

ferramentas, permitindo que as próprias ferramentas façam a verificação de

consistência dos dados gerados por elas.

4

Figura 2 - 1 – Blocos Construtivos de CASE.

Para [PRESSMAN95], a Figura 2-1 representa uma fundação abrangente para a

integração de Ferramentas CASE. No entanto, a maioria das Ferramentas CASE utilizadas

hoje não foi construída usando todos esses blocos construtivos. De fato, algumas Ferramentas

CASE permanecem como “soluções pontuais”. Isto é, uma ferramenta é usada para assistir

uma atividade específica de engenharia de software (por exemplo, modelagem de dados) mas

não se comunica indiretamente com outras ferramentas, não está ligada a uma base de dados

de projeto, não é parte de um I-CASE. Apesar dessa situação não ser ideal, uma Ferramenta

CASE pode ser usada bastante efetivamente, mesmo sendo uma solução pontual.

2.2 Vantagens e Desvantagens

Ainda segundo [PRESSMAN95], dentre as vantagens na utilização das Ferramentas

CASE pode-se levar em consideração os seguintes itens, a saber:

  1. Maior qualidade dos produtos finais – as Ferramentas CASE diminuem a

probabilidade de erros, uma vez que podem ajudar no controle de consistência dos

dados em um ADS. Também proporcionam maior eficácia dos produtos, ao auxiliarem

as fases de Análise e Teste do produto pelo usuário;

  1. Produtividade – ao ajudar e até mesmo ao realizar algumas tarefas automaticamente,

as ferramentas contribuem para uma maior agilidade no desenvolvimento de software,

isto é, mais produtos em menos tempo;

  1. Eliminação de trabalho monótono – as Ferramentas CASE podem realizar algumas

tarefas cansativas para os desenvolvedores, tais como procurar informações e desenhar

símbolos de um diagrama, as quais são mais suscetíveis ao erro;

  1. Mais tempo para a tomada de decisão – em conseqüência de as ferramentas

realizarem certas atividades pelas pessoas, estas ficam liberadas para outras tarefas,

Ferramentas CASE

Arcabouço de integração

Plataforma de hardware

Serviços de portabilidade

Sistema operacional

Arquitetura do ambiente

6

  1. Ferramentas Horizontais – oferecem serviços utilizados durante todo o ciclo de vida

de um software, tais como suporte à documentação e gerenciamento de versões e

configurações;

  1. Ferramentas Verticais – são utilizadas em fases específicas do ciclo de vida de um

software, tais como análise de requisitos e teste de software.

Figura 2 - 2 – Classificação de Ferramentas CASE.

Um outro tipo de taxonomia pode ser criado conforme o conjunto de serviços

principais que as Ferramentas CASE oferecem. Um serviço é uma ação efetuada pelo

computador que é de interesse do desenvolvedor [SCHEFSTRÖ E BROEK]. Uma proposta

de classificação é apresentada na tabela 2-1 [PRESSMAN92]. Através desta tabela podemos

observar o amplo espectro de Ferramentas CASE existentes, apesar de ser comum a referência

a Ferramentas CASE como ferramentas específicas para análise e projeto de software.

Tabela 2 - 1 – Classificação de Ferramentas CASE.

Atividades Exemplos de Ferramentas

Planejamento de Sistemas Gerenciais Foundation, Interactive Engineering

Workbench, Information Engineering

Facility;

Gerenciamento de Projetos SuperProject, Microsoft Project,

MacProject II, ESTIMATES;

Especificação de Requisitos CORE, RMS/PC, R-Trace;

Especificação Formal de Sistemas CADIZ, OBJ;

Documentação Interleaf, Page Maker (Aldus);

Comunicação Utilitários do Unix, Microsoft mail;

Controle de Qualidade Q/Auditor, Auditor;

Gerenciamento de Versões e Configurações SCCS do Unix, PVCS ;

Análise e Projeto de Software JSD, SADT, HOOD, PC Case, OMT;

Projeto e Desenvolvimento de Interfaces Interviews, Lucas Film;

Programação Turbo X’s, Anna.

7

Baseando-se agora em [PRESSMAN95], tem-se uma taxonomia de Ferramentas

CASE por função semelhante à descrita na tabela 2-1, a saber:

  1. Ferramentas de Engenharia de Processo de Negócio – estas ferramentas modelando

os requisitos de informação estratégica de uma organização, fornecem um

“metamodelo” a partir do qual são derivados sistemas de informação específicos. Em

vez de focalizar os requisitos de uma aplicação específica, a informação do negócio é

modelada à medida que se move entre as várias entidades organizacionais de uma

companhia. O objetivo principal das ferramentas dessa categoria é representar os

objetos de dados de negócio, seus relacionamentos e como esses objetos de dados

fluem entre as diferentes áreas de negócio, dentro de uma companhia;

  1. Ferramentas de Gerenciamento de Projetos – uma ferramenta para auxílio à

Gerência de Projetos de Desenvolvimento de Software deve armazenar informações

sobre orçamento (custos e investimentos), cronogramas, atividades, recursos,

documentos e decisões. Deve oferecer recursos para que sejam feitos gráficos tais

como atividades X pessoal, atividades X recursos, pessoal X recursos ou deve ela

mesma gerar estes gráficos a partir de informações fornecidas pelo usuário. Quando

houver algum problema (por exemplo, atraso no cronograma ou gastos excedentes), a

ferramenta deve avisar o Gerente de Projeto e recalcular as conseqüências (o novo

prazo ou o aumento nos custos). Esta ferramenta também deve ser responsável pelo

armazenamento dos documentos do Projeto (tais como relatórios de

andamento/atividades, planos, atas de reuniões, etc). Outra tarefa importante é o

Controle de Versões, pois durante o desenvolvimento de software, são criadas várias

versões do sistema, sendo que cada versão é composta de versões de módulos. Então,

a ferramenta deve armazenar informações sobre quais módulos foram utilizados, onde

eles estão guardados, quem os fez e como eles foram integrados. Estas informações

serão importantes no caso de manutenção do sistema;

  1. Ferramentas de Documentação – ferramentas de produção de documentos e de

editoração eletrônica apóiam praticamente toda a engenharia de software. A maioria

das organizações de desenvolvimento de software gasta uma grande quantidade de

tempo desenvolvendo documentos e, em muitos casos, o processo de documentação

propriamente dito é bastante ineficiente. É comum uma organização de

desenvolvimento de software gastar 20% ou 30% de todo o esforço de

desenvolvimento de software em documentação. Por esta razão, as ferramentas de

documentação fornecem uma importante oportunidade para melhorar a produtividade;

9

  1. Ferramentas de Análise e Projeto – ferramentas de análise e projeto permitem ao

engenheiro de software criar modelos do sistema a ser construído. Os modelos contêm

uma representação dos dados, funções e comportamento (em nível de análise) e

caracterizações do projeto de dados, arquitetural, em nível de componente e de

interface. Pela a realização de verificações de consistência e de variedades de modelos,

as ferramentas de análise e projeto fornecem aos engenheiros de software um certo

grau de discernimento na representação da análise e ajudam a eliminar erros, antes que

se propaguem para o projeto, ou pior, para a implementação propriamente dita;

  1. Ferramentas de Programação – hoje em dia já existem inúmeras ferramentas para

projeto e implementação automática de interfaces. As mais simples geram a interface

(inclusive o código do programa) a partir de descrições feitas por um projetista. Outras

permitem a criação interativa da interface através de facilidades tais como: escolher

um elemento de interface (menu, botão, barras, etc), posicioná-lo na tela, associar a ele

uma rotina a ser chamada, alterar suas propriedades (cor, título, etc). As novas

linguagens de programação (por exemplo, Visual-Basic, Delphi e Borland C++) já

trazem embutidas estas tais ferramentas, imprescindíveis para um ambiente de

programação. Entretanto, estas ferramentas ainda devem ser aperfeiçoadas para

permitir a criação de interfaces avançadas, por exemplo, que utilizam recursos de

multimídia (sons, imagens estáticas e vídeos);

  1. Ferramentas de Integração de testes – em seu indicador de ferramentas de testes

de software, a engenharia de qualidade de software define as seguintes categorias de

ferramentas de testes:

10.1 Aquisição de dados – ferramentas que adquirem dados a serem usados

durante o teste;

10.2 Medição estática – ferramentas que analisam o código-fonte sem executar

casos de teste;

10.3 Medição dinâmica – ferramentas que analisam o código-fonte durante a

execução;

10.4 Simulação – ferramentas que simulam funções de hardware e outros

dispositivos externos;

10.5 Gestão de testes – ferramentas que assistem o planejamento,

desenvolvimento e controle de testes;

10.6 Ferramentas de cruzamento funcional – ferramentas que cruzam as

fronteiras das categorias precedentes.

10

Deve-se levar em conta que muitas ferramentas de testes têm características que

abrangem duas ou mais destas categorias.

2.4 Arquitetura

As Ferramentas CASE encontradas atualmente no mercado geralmente funcionam de

forma isolada. Estas utilizam formatos de dados proprietários, o que impede que ferramentas

façam uso dos dados produzidos uma das outras. Exemplos dos tipos de arquitetura existentes

são mostrados na Figura 2-3 [BROWN E FEILER].

Figura 2 - 3 – Exemplos de Arquitetura de Ferramentas CASE..

O exemplo 2-3a. mostra uma ferramenta filtro que recebe arquivo de dados como

entrada e transforma em arquivos de saída. Os arquivos trazem dentro de si o formato de

dados da ferramenta, que geralmente é de complexa compreensão. O exemplo 2-3b. mostra

uma ferramenta que utiliza um dicionário de dados para catalogar suas informações.

Finalmente, o exemplo 2-3c. ilustra uma ferramenta que utiliza um gerenciador de banco de

dados para armazenamento de suas informações.

Banco de Dados

Ferramentas

com Banco de Dados

Ferramentas

Filtro

Fontes

Dados Derivados

Ferramentas

com Dicionário de

Dados

Dicionário de Dados

a)

b)

c)