Introdução
1.1 Contextualização
No segundo ano da Licenciatura em Engenharia de Sistemas Informáticos, no âmbito da unidade curricular de Programação Orientada a Objetos, foi realizado um projeto prático individual utilizando a linguagem C#. Este projeto foi desenvolvido em duas fases distintas ao longo do período letivo do primeiro semestre, com documentação e implementação de conceitos fundamentais da Programação Orientada a Objetos (POO).
1.2 Problema e Descrição do Projeto
Este projeto tem como objetivo desenvolver um sistema de gestão de uma clínica médica, permitindo o registo e a manipulação de dados de pacientes, consultas e médicos. Durante o desenvolvimento, são aplicados os quatro pilares da Programação Orientada a Objetos (POO):
- Encapsulamento: Protege o acesso direto aos atributos e assegura a integridade dos dados através do uso de propriedades e métodos de acesso.
- Herança: Criação de classes especializadas a partir de classes genéricas, promovendo a reutilização de código.
- Polimorfismo: Permite que diferentes classes utilizem métodos com o mesmo nome, mas com comportamentos distintos, aumentando a flexibilidade e reutilização de código.
- Abstração: Fornece apenas as informações essenciais de um objeto, ocultando os detalhes internos de implementação.
Inicialmente, será necessário formular e definir as estruturas de dados adequadas para a gestão de informações da clínica. O sistema permitirá realizar operações como criação, modificação e visualização de dados de pacientes, consultas e médicos. Com a evolução do projeto, será necessária a remoção de pacientes e consultas, além da implementação de listas dinâmicas para armazenamento e manipulação dos dados.
Objetivos
O objetivo principal do presente trabalho é a consolidação do conhecimento sobre estruturas de classes e dados em C#, através da prática no desenvolvimento de uma solução de gestão de dados para uma clínica médica. Entre os objetivos específicos, destacam-se:
- Aprimorar a compreensão e a aplicação da Programação Orientada a Objetos (POO), com foco em herança, polimorfismo, encapsulamento e abstração.
- Estruturar e organizar as classes e objetos de forma eficiente e escalável.
- Implementar funcionalidades básicas, como inserção, remoção e atualização de dados dos pacientes e consultas.
- Aplicar princípios de Design Patterns e boas práticas no desenvolvimento do sistema, garantindo um código modular e de fácil manutenção.
Fundamentos
3.1 Programação Orientada a Objetos
A Programação Orientada a Objetos (POO) permite modelar sistemas de software com base em entidades do mundo real, utilizando conceitos como objetos e classes.