Skip to content

Commit 17304e8

Browse files
committed
docs: criando readme do projeto
1 parent 2c9192a commit 17304e8

File tree

1 file changed

+68
-10
lines changed

1 file changed

+68
-10
lines changed

tp03/README.md

Lines changed: 68 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ java -cp tp03/bin tp03.src.Main
5757

5858
---
5959

60+
## Descrição do Funcionamento
61+
62+
A estrutura de lista invertida implementada aqui permite indexar registros de forma eficiente, especialmente para facilitar buscas por palavras associadas a objetos (como nomes de séries). Basicamente, cada termo (palavra) está associado a uma lista de registros (identificados por ID) que o contém. Essa estrutura é muito usada em mecanismos de busca e sistemas de recuperação de informação.
63+
6064
## 📦 Descrição das Classes
6165

6266
### `Main`
@@ -298,9 +302,64 @@ Responsável pela interface com o usuário nas ações relacionadas a **atores e
298302

299303
---
300304

305+
### `ListaInvertida`
306+
307+
Responsável pela estrutura de índice invertido, armazenando termos associados a IDs de registros (como nomes de séries e seus respectivos IDs).
308+
309+
**Funções principais:**
310+
311+
* Criar e gerenciar os arquivos.
312+
* Associar termos a registros.
313+
* Ler os registros associados a um termo.
314+
* Remover um registro de um termo.
315+
316+
**Métodos principais:**
317+
318+
* create(ElementoLista e)
319+
* read(int id)
320+
* update(ElementoLista e)
321+
* delete(int id)
322+
323+
### ElementoLista
324+
325+
Representa um elemento associado a um termo da lista invertida, armazenando a identidade do registro e quantas vezes o termo aparece.
326+
327+
**Funções principais: **
328+
329+
* Guardar o ID do item indexado.
330+
* Armazenar a frequência de ocorrência do termo.
331+
* Permitir ordenação e clonagem de elementos.
332+
333+
**Métodos principais: **
334+
335+
* ElementoLista(int id, int frequencia)
336+
* getID() / setID(int id)
337+
* getFrequencia() / setFrequencia(int freq)
338+
* compareTo(ElementoLista e)
339+
* clone()
340+
341+
### ListaInvertidaUtils
342+
343+
Classe utilitária para pré-processamento de termos usados na indexação.
344+
345+
**Funções principais: **
346+
347+
* Padronizar palavras antes da inserção na lista invertida.
348+
* Eliminar palavras irrelevantes (stop words).
349+
* Melhorar a qualidade da indexação textual.
350+
351+
**Métodos principais: **
352+
353+
* normalizar(String termo)
354+
* removerStopWords(String[] termos)
355+
* extractTerms(String texto)
356+
* calcFrequencia(String texto, String termo)
357+
* calcularIDF(ListaInvertida lista, String termo)
358+
359+
301360
## Experiência dos Integrantes do Trabalho
302361

303-
Cada integrante do grupo compartilhou, em primeira pessoa, um breve relato sobre sua experiência ao longo do desenvolvimento deste projeto. Esses relatos refletem os aprendizados, desafios enfrentados e contribuições individuais. A leitura desses textos complementa a visão técnica do projeto com uma perspectiva mais pessoal e colaborativa.
362+
Trabalhar com a estrutura de lista invertida nos permitiu compreender de forma mais clara como funcionam sistemas de indexação e recuperação de dados, algo fundamental em áreas como bancos de dados e mecanismos de busca. A implementação das funcionalidades de criação, leitura e exclusão de termos foi um desafio inicial, principalmente para garantir a integridade das informações nos arquivos binários. No entanto, à medida que integramos essa estrutura ao CRUD da entidade Séries, conseguimos visualizar na prática sua utilidade e como ela contribui significativamente para a eficiência nas buscas por texto, otimizando o acesso às informações de forma rápida e estruturada.
304363

305364
- [Experiência de Desenvolvimento](XP.md)
306365

@@ -310,13 +369,12 @@ Cada integrante do grupo compartilhou, em primeira pessoa, um breve relato sobre
310369

311370
Para concluir, seguem abaixo as respostas ao checklist solicitado pelo professor. Todas as funcionalidades foram implementadas e testadas com sucesso durante o desenvolvimento do projeto.
312371

313-
- As operações de inclusão, busca, alteração e exclusão de atores estão implementadas e funcionando corretamente? **- SIM**
314-
- O relacionamento entre séries e atores foi implementado com árvores B+ e funciona corretamente, assegurando a consistência entre as duas entidades? **- SIM**
315-
- É possível consultar quais são os atores de uma série? **- SIM**
316-
- É posssível consultar quais são as séries de um ator? **- SIM**
317-
- A remoção de séries remove os seus vínculos de atores? **- SIM**
318-
- A inclusão de um ator em uma série em um episódio se limita aos atores existentes? **- SIM**
319-
- A remoção de um ator checa se há alguma série vinculado a ele? **- SIM**
320-
- O trabalho está funcionando corretamente? **- SIM**
372+
- O índice invertido com os termos dos títulos das séries foi criado usando a classe ListaInvertida? **- SIM**
373+
- O índice invertido com os termos dos títulos dos episódios foi criado usando a classe ListaInvertida? **- SIM**
374+
- O índice invertido com os termos dos nomes dos atores foi criado usando a classe ListaInvertida? **- SIM**
375+
- É possível buscar séries por palavras usando o índice invertido? **- SIM**
376+
- É possível buscar episódios por palavras usando o índice invertido? **- SIM**
377+
- É possível buscar atores por palavras usando o índice invertido? **- SIM**
321378
- O trabalho está completo? **- SIM**
322-
- O trabalho é original e não a cópia de um trabalho de outro grupo? **- SIM**
379+
- O trabalho é original e não a cópia de um trabalho de um colega? **- SIM**
380+

0 commit comments

Comments
 (0)