Skip to content

Commit 703e7dd

Browse files
committed
docs: atualizando docs
1 parent 0ee669b commit 703e7dd

File tree

1 file changed

+10
-57
lines changed

1 file changed

+10
-57
lines changed

tp02/README.md

Lines changed: 10 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# TP 01 - Projeto: PUCFlix - Gerenciamento de Séries e EpisódiosPUCFlix
1+
# TP 02 - Projeto: PUCFlix - Gerenciamento de Séries, Episódios e Atores - PUCFlix
22

33
## Informações Gerais
44
**Disciplina:** Algoritmos e Estrutura de Dados
@@ -9,18 +9,24 @@
99
- Gustavo Henrique Rodrigues de Castro <br> [<img src = "https://img.shields.io/badge/github-black.svg?&style=for-the-badge&logo=github&logoColor=white">](https://github.com/GhrCastro)
1010

1111
## Sobre a Tarefa
12-
O objetivo deste projeto é desenvolver um sistema para gerenciar séries e episódios, implementando funcionalidades essenciais de CRUD (Create, Read, Update, Delete) e garantindo a integridade dos relacionamentos entre as entidades. A principal estrutura de dados utilizada será a Árvore B+ para otimização das buscas e indexação, além da Tabela Hash Extensível.
12+
13+
Este trabalho prático tem como objetivo aprofundar o uso de estruturas de dados para representar relacionamentos entre entidades no contexto de um sistema de gerenciamento de séries, chamado PUCFlix 1.0. Após a implementação de um relacionamento 1:N no primeiro trabalho (TP1), o foco agora está na implementação de um relacionamento N:N (muitos-para-muitos) entre as entidades Série e Ator, utilizando duas Árvores B+ para garantir buscas eficientes e consistência dos dados.
14+
15+
No sistema, cada série pode ter vários atores e cada ator pode participar de várias séries. Para isso, foram implementadas estruturas que permitem associar os IDs das séries aos IDs dos atores e vice-versa. Além disso, foi desenvolvido o CRUD completo para atores, com validações que impedem a exclusão de um ator caso ele esteja vinculado a alguma série.
16+
17+
O menu principal do programa foi ampliado para incluir a manutenção de atores, e as visões de séries e atores foram adaptadas para exibir os vínculos entre eles. A manipulação desses vínculos também pode ser feita durante o cadastro ou edição de séries, garantindo assim uma interface intuitiva e a integridade dos dados.
18+
19+
Este trabalho reforça a importância de organizar bem as estruturas de dados, garantir consistência nas operações e manter uma interface clara para o usuário final.
1320

1421
## Organização do Grupo
22+
1523
A equipe está organizada por meio das seguintes ferramentas e metodologias:
1624
- **Metodologia Ágil:** As tarefas foram distribuídas em **sprints**.
1725
- **Comunicação:** O grupo utiliza **Discord** e **WhatsApp** para alinhamento das atividades.
1826
- **Gerenciamento de Tarefas:** O acompanhamento das atividades ocorre no **GitHub Projects**.
1927

2028
## Organização de Pastas do Projeto
2129

22-
- **`tp02/base_code`**: Armazena implementações de código base, como árvores B+, tabelas hash extensíveis e operações CRUD, ainda não utilizadas no projeto, mas fundamentais para futuras expansões.
23-
2430
- **`tp02/bin`**: Contém os arquivos `.class` compilados do código-fonte, organizados conforme a estrutura de pacotes de `src`. São usados para rodar a aplicação.
2531

2632
- **`tp02/src`**: Contém o código-fonte da aplicação, organizado em subpastas:
@@ -32,62 +38,9 @@ A equipe está organizada por meio das seguintes ferramentas e metodologias:
3238

3339
- **`tp02/files`**: Armazena os dados persistentes do sistema, como arquivos de clientes e índices.
3440

35-
- **`tp02/appendix`**: Armazena os arquivos correspondentes ao relatos de cada aluno.
36-
37-
3841
Essa estrutura facilita a organização modular e futura expansão do projeto.
3942

4043

41-
## Sprints e Tarefas
42-
43-
### 🟢 Sprint 1: Estrutura e Funcionalidade Principal (Foco no CRUD e no Relacionamento 1:N)
44-
**Prazo recomendado:** Até 24
45-
46-
1️⃣ **Implementar CRUD de Séries** (🗂️)
47-
- Criar a estrutura da entidade Série
48-
- Implementar inclusão, alteração, busca e exclusão
49-
50-
2️⃣ **Implementar CRUD de Episódios** (🎞️)
51-
- Criar a estrutura da entidade Episódio
52-
- Implementar inclusão, alteração, busca e exclusão
53-
54-
3️⃣ **Criar a relação 1:N entre séries e episódios usando Árvore B+** (🔗)
55-
- Definir o par (idSerie; idEpisódio)
56-
- Criar e gerenciar os índices na Árvore B+
57-
58-
4️⃣ **Criar a visão e controle de séries (Interface + Lógica)** (📺)
59-
- Criar a classe VisaoSeries para entrada/saída de dados
60-
- Criar a classe ControleSeries para gerenciar operações
61-
62-
5️⃣ **Criar a visão e controle de episódios (Interface + Lógica)** (🎭)
63-
- Criar a classe VisaoEpisodios para entrada/saída de dados
64-
- Criar a classe ControleEpisodios para gerenciar operações
65-
66-
6️⃣ **Garantir que séries não possam ser excluídas se tiverem episódios vinculados** (🚫)
67-
- Implementar regra de negócio para evitar exclusão incorreta
68-
69-
### 🟡 Sprint 2: Regras Extras, Testes e Documentação (Foco em otimização, regras e finalização)
70-
**Prazo recomendado:** Até 30 (com tolerância até 31)
71-
72-
7️⃣ **Permitir visualização dos episódios organizados por temporada** (📆)
73-
- Criar método para exibir episódios de uma série separados por temporada
74-
75-
8️⃣ **Criar e configurar os índices usando Tabela Hash Extensível e Árvore B+** (📌)
76-
- Implementar os índices para otimizar as buscas
77-
78-
9️⃣ **Garantir que episódios só possam ser criados para séries existentes** (✔️)
79-
- Criar validação para impedir episódios sem série válida
80-
81-
🔟 **Testar todas as operações e validar o funcionamento** (🔍)
82-
- Testar CRUD, relacionamento 1:N e regras de exclusão
83-
84-
1️⃣1️⃣ **Criar documentação e relatório (README) para o GitHub** (📝)
85-
- Explicar como o sistema funciona, estrutura de classes e métodos principais
86-
87-
1️⃣2️⃣ **Responder ao checklist do professor e relatar desafios** ✅ (📑)
88-
- Verificar cada requisito do trabalho e documentar dificuldades enfrentadas
89-
90-
9144
## Rodando o Código
9245

9346
**Compilando o código:**

0 commit comments

Comments
 (0)