·

Ciência da Computação ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Trabalho Prático de Programação Orientada a Objetos Descrição Geral O trabalho da disciplina consiste em desenvolver um sistema com 4 entidades por exemplo Cliente Produto etc Uma delas deve ser uma transação por exemplo Venda Locação Manutenção Consulta etc As classes dessas entidades devem possuir métodos construtores getters e setters Cada classe de entidade deve possuir um relacionamento de associação com pelo menos uma outra A classe da entidade de transação deve possuir uma composição um para muitos 1 com outra entidade O código pode ser implementado em qualquer linguagem orientada a objetos Parte 1 As classes das entidades devem estender a classe abstrata Entidade que possui um atributo chamado id inteiro que serve como identificador e um método abstrato que retorna uma string com o nome e valor dos atributos Este método deve ser implementado nas classes das entidades A classe Entidade e as classes das entidades devem possuir métodos construtores getters e setters e devem ficar em um pacotecamada chamado modelo O sistema deve possuir um pacotecamada de persistência que grava os dados em arquivos de texto Neste pacote deve haver uma interface ou classe abstrata Persistencia com métodos abstratos para a inserção alteração exclusão dos dados das entidades Também deve haver um método abstrato de busca a partir do id e outro a partir de um valor string A classe Persistencia deve ser estendida pelas duas classes das entidades e seus métodos sobrescritos O método de busca a partir de um valor string deve ser aplicado a um atributo a escolha em cada entidade use conversão de tipo caso necessário O programa deve apresentar uma interface em linha de comando implementada em uma ou mais classes que devem ser implementadas em um pacotecamada chamado visão Ao executar o programa a interface deve apresentar um menu com uma opção para sair do programa e uma opção para cada entidade exceto a entidade da composição com a transação cujas ações são realizadas dentro da transação Ao selecionar uma das opções que representa uma entidade deve aparecer um outro menu com uma opção para voltar ao menu inicial e opções para inserir apagar e visualizar dados Por exemplo no menu referente à entidade Cliente deve ser possível voltar ao menu inicial inserir um cliente apagar um cliente ou visualizar os dados de um cliente já cadastrado Parte 2 O padrão MVC deve ser aplicado para separar o sistema nas camadas de modelo controle e visão além da camada de persistência A interface de linha de comando do sistema deve ser substituída por uma interface gráfica com o usuário contendo uma janela principal e uma janela ou painel para cada entidade O paineljanela de cada entidade deve possuir campos para o usuário informar os atributos das entidades e uma tabela que permite visualizar todos os dados existentes da entidade O padrão Abstract Factory deve ser aplicado de modo que toda vez que for necessário criar um objeto das classes das camadas de modelo controle e visão seja feito via fábrica em que cada família é uma entidade O padrão Singleton deve ser aplicado para as classes concretas da camada de persistência Opcionalmente outros padrões podem ser aplicados Isso pode ser um diferencial na nota Também devem ser criados modelos UML em formato JPG PNG ou PDF 1 Um modelo de classes com todas as classes do sistema 2 Um modelo de comunicação representando o principal caso de uso de inclusão da entidade que representa a transação