Ferramenta de Acesso On-Line para Informações

 

Paradigmas de Programação

Prof. Gerson Cavalheiro

2005/2

Turma: Segunda, noturno

 

Expediente

Objetivo:

Prática dos conceitos de orientação a objetos através do desenvolvimento de uma aplicação em Java

Peso:

20% do Grau A

Poderá ser requisitada a apresentação do trabalho por um dos integrantes do grupo para validar a nota.

Grupo:

2 a 4 componentes

Ferramentas:

Java 1.4.0 ou superior
java.util.HashMap :: Estrutura de dados tipo HASH

Apoio:

http://java.sun.com/j2se/1.4.2/docs/api/

Data de entrega:

10/outubro/2005

Material de entrega:

Disquette ou CD contendo:

  • Programas fontes (*.Java). Comente fartamente o código.
  • Programas compilados (*.class).
  • Todas as bibliotecas não padrões de Java que foram utilizadas (se for o caso).
  • Manual do Usuário (Usuario.txt ou Usuario.pdf) arquivo texto ou PDF contendo a descrição de como o usuário deve proceder para utilizar o programa desenvolvido. Incluir um exemplo de uso, informando dados de entrada e suas respectivas saídas.
  • Manual de implementação: (Implementacao.txt ou Implementacao.pdf) arquivo texto ou PDF contendo a descrição das classes desenvolvidas e seu relacionamento, bem como algoritmos os principais algoritmos e estratégias implementadas.

 

Descrição

O trabalho envolve o desenvolvimento de uma ferramenta para auxilio a gestão de informações envolvendo um determinado assunto. Por exemplo, o software poderá gerir informações relativas: aos componentes de um software, dos itens que compõem um determinado produto de manufatura, ao material bibliográfico de uma biblioteca, ao organograma de uma empresa, aos filmes de uma locadora.

As informações de um registro são caracterizadas pelos seguintes campos:

·         Nome da Informação

·         Descrição resumida da Informação

·         Descrição completa da Informação

·         Nome de informações relacionadas

 

Exemplos:

 

Campo

Software

Produto

Organograma

Nome

Vector

M753DFX

Compras

Descrição resumida

The Vector class implements a growable array of objects

Monitor de tela plana de 17 pol.

Departamento de Compras

Descrição completa

Toda a descrição da classe

Descrição completa do monitor

Descrição do departamento

Informações relacionadas

addElement, elementAt, size

...

Válvula, TuboDeImagem. Carcaca

...

Sala493, Fernando,  Henrique, Otavio

....

 

Observe que as informações relacionadas referem-se a links para outros registros na mesma base de dados, embora estas informações possam ser organizadas de forma mais elaborada, conforme a necessidade das informações. No próximo exemplo, a organização para os registros de uma vídeo locadora pode conter links para outros registros (Gênero, Diretor, Outros filmes do diretor e filmes dos atores principais).

 

 

 

Exemplo de registro de filme:

 

Campo

Filme

Nome

Titanic

Descrição resumida

Um Barco que afunda

Descrição completa

O barco parte e acontece um monte de coisa e finalmente ele afunda

Gênero

Drama

Diretor

James Cameron

Outros filmes do diretor

Heart of the Ocean, Aliens of the Deep, Volcanoes of the Deep Sea, Ghosts of the Abyss

Atores principais

Leonardo DiCaprio, Kate Winslet, Billy Zane, Kathy Bates,

 

Exemplo de registro de Gênero e de ator nesta base:

Campo

Gênero

Nome

Drama

Descrição resumida

Não se sabe o que vai acontecer na próxima

Descrição completa

Drama é bla-bla-bla

Principais filmes

Titanic, Could Montain, Menina de Ouro

Campo

Ator

Nome

Leonardo DiCaprio

Descrição resumida

Ator bonitão

Descrição completa

Namorou a Gisele Bunchen

Principais filmes

Titanic, The Aviator, Howard Hughes, Catch Me If You Can

 

Operação

O programa desenvolvido deve gerir informações de um contexto, considerando que devam existir pelo menos 3 naturezas distintas de registros (cf. apresentado no exemplo dos filmes). Neste programa o usuário deve ser capaz de, no minimo:

·         Inserir um novo registro (em cada uma das diferentes naturezas de dados)

·         Acessar um registro

 

Diretivas

·                     Inicialize o programa com uma base de dados iniciais grande o suficiente para experimentação das funcionalidades do programa.

·         Utilizar a classe HasMap para organizar os dados.

·                     Crie uma classe abstrata para representar os registros. Nesta classe abstrata inclua um método para visualizar as informações (algo do tipo “apresenta”).