Logo da Teachy
Entrar

Projeto: Simulando um Sistema de Biblioteca usando Python e Princípios de POO

Default avatar

Lara da Teachy


Programação em Python

Original Teachy

Orientação a Objetos em Python: Conceitos Básicos

Contextualização

A programação orientada a objetos (POO) é uma maneira de organizar programas de computadores em torno de "objetos" e "classes" que manipulam estes objetos. Esta técnica foi originalmente desenvolvida para tornar a programação mais intuitiva e aprimorar a qualidade do software. A POO tornou-se a norma em quase todas as linguagens modernas de programação, incluindo Python, uma das melhores opções para quem deseja aprender os conceitos de POO de maneira eficaz e fácil de entender. Os conceitos básicos da orientação a objetos em Python, incluindo classes e objetos, atributos e métodos, herança, polimorfismo, encapsulamento, abstração de dados, métodos mágicos, métodos de classe vs métodos de instância vs métodos estáticos e o relacionamento entre classes, serão introduzidos neste projeto.

A Programação Orientada a Objetos (POO) é uma maneira moderna e eficaz de escrever softwares reutilizáveis. É uma maneira de estruturar um software em torno de entidades chamadas objetos, que são instâncias de classes, que são, por sua vez, modelos definidos pelo programador. Na POO, a programação é realizada com referência a objetos, enfocando os dados em vez de procedimentos. Isso leva a programas mais fáceis de entender, corrigir e modificar.

Os conceitos de POO tornam o domínio da programação um tema complexo, mas ao mesmo tempo uma ferramenta poderosa em suas mãos. Em situações do mundo real, a flexibilidade fornecida pela POO é insubstituível. Seja na construção de um jogo multiplayer online onde cada personagem, item e ambiente pode ser representado por um objeto, ou em um software de e-commerce, onde você precisa rastrear milhares de produtos, clientes e pedidos - a hábil utilização da POO torna a tarefa muito mais gerenciável.

Materiais extras para complementar o entendimento sobre o tema:

  1. [Python Documentation - Classes]
  2. [Geeks for Geeks - Object-Oriented Programming in Python]
  3. [Real Python - Object-Oriented Programming (OOP) in Python 3]

Atividade Prática

Simulando um Sistema de Biblioteca usando Python e Princípios de POO

Objetivo

Aprender e aplicar conceitos fundamentais de POO (Programação Orientada a Objetos) em Python através da criação de um sistema de biblioteca simples.

Materiais Necessários

Os alunos deverão ter um computador com Python 3 instalado para a realização da atividade.

Descrição Detalhada do Projeto

Cada grupo de 3 a 5 alunos terá a tarefa de desenvolver um modelo simplificado de um sistema de biblioteca. Esse sistema consisitirá de classes como Biblioteca, Livro e Pessoa (com subclasses como Bibliotecário e Leitor). Essas classes constituirão os principais componentes do sistema e interagirão entre si para simular o funcionamento básico de uma biblioteca.

Os objetivos do projeto são:

  • Implementar as classes Biblioteca, Livro, Pessoa, Bibliotecário e Leitor, com seus respectivos atributos e métodos.
  • Simular a interação entre estas classes criando um fluxo de operações típicas de uma biblioteca, como registro de novos livros, gerenciamento de empréstimos e devoluções, etc.
  • Praticar e reforçar a entender a relação entre classes e objetos, atributos e métodos, e os conceitos de herança, polimorfismo e encapsulamento.

Passo a Passo Detalhado para a Realização da Atividade

Semana 1: Planejamento e Design de Classes

  1. Comece com a classe Livro. Ela deve ter atributos para identificação do livro (como título, autor e isbn), e um método para exibir as informações do livro.
  2. Implemente a classe Pessoa com atributos básicos como nome e idade e a classe Bibliotecario que herda de Pessoa. A classe Bibliotecario deve ter métodos para adicionar ou remover livros da biblioteca.
  3. Implemente a classe Leitor que também herda de Pessoa. A classe Leitor deve ter métodos para pegar emprestado e devolver livros.
  4. Próximo passo é implementar a classe Biblioteca que terá uma lista de Livros e métodos para listar os livros disponíveis, emprestar um livro para um Leitor e receber um livro devolvido.

Semana 2 e 3: Implementação e Teste

  1. Comece a construir seus objetos na ordem em que os planejou. Certifique-se de que cada classe funciona como esperado antes de passar para a próxima.
  2. Depois de implementar suas classes, crie alguns objetos de teste de cada uma delas. Para começar, crie alguns livros, bibliotecários e leitores e teste se eles se comportam como deveriam.
  3. Adicione estes livros à sua biblioteca utilizando o método do bibliotecário para adicionar livros.
  4. Tente pegar emprestados alguns livros da biblioteca com um objeto Leitor e ver o que acontece.
  5. Devolva esses livros emprestados com o método de devolução do objeto Leitor e observe se eles são corretamente devolvidos à biblioteca.

Semana 4: Preparação do Relatório

  1. Comece a redigir o relatório da atividade, começando com a Introdução, explicando o contexto do trabalho e o que o motivou, depois o Desenvolvimento onde se explica a teoria usada e se discute os resultados obtidos na implementação.
  2. Os aspectos colaborativos devem ser mencionados, como a divisão de tarefas e como os membros trabalharam juntos para resolver os problemas.
  3. Por último, as Conclusões onde se fala sobre o que se aprendeu com a realização do projeto e como isso foi alcançado e na Bibliografia, onde são apresentados os recursos aprendidos durante a elaboração do projeto.
  4. Todo o código do python deve ser colocado no Apêndice do relatório.

Entregas do Projeto

O trabalho final a ser apresentado pelo grupo deve conter:

  • Uma explicação documentada de todas as classes, atributos, métodos e interfaces implementados.
  • O código Python para o sistema de biblioteca, devidamente comentado.
  • Um relatório escrito detalhado conforme explicado acima

Lembre-se de ter breves reuniões de equipe durante o projeto para discutir seus avanços, qualquer problema encontrado e ajustar o planejamento da equipe se necessário.


Iara Tip

Precisa de materiais para apresentar o tema do projeto em sala?

Na plataforma da Teachy você encontra uma série de materiais prontos sobre esse tema! Jogos, slides, atividades, vídeos, planos de aula e muito mais...

Community img

Faça parte de uma comunidade de professores direto no seu WhatsApp

Conecte-se com outros professores, receba e compartilhe materiais, dicas, treinamentos, e muito mais!