Code Monkey home page Code Monkey logo

2022-2023-prova-parte-2's Introduction

Sistema de Registros de Reclamações de Saúde

Considere um sistema de informação de utilidade pública para registro de reclamações, baseadas na classe Complaint, sobre problemas relacionados à saúde dos cidadãos residentes em Recife. As reclamações são registradas, atualizadas e consultadas por meio de um cliente web.

As reclamações podem ser de natureza variada, onde cada tipo de reclamação tem uma série de informações associadas. Para esta atividade, considere os seguintes tipos:

  • AnimalComplaint: doenças relacionadas a animais, por exemplo, mosquitos (formulário de exemplo);
  • FoodComplaint: casos de suspeita de ingestão de comida contaminada (formulário de exemplo);
  • OtherComplaint: outras causas que não as citadas pelos outros dois tipos de Complaint, ex: vazamento de esgoto (formulário de exemplo).

Se baseie nos formulários HTML do sistema disponibilizados acima, e certifique-se de implementar a hierarquia da classe Complaint adequadamente. Notadamente Complaint é o tipo mais geral e abstrato onde podemos a partir dele instanciar os três tipos listados acima.

O principal ator do sistema é um residente da cidade de Recife (Citizen), que pode ser qualquer pessoa residente na cidade de Recife que deseja interagir com o sistema.

A imagem abaixo descreve a arquitetura simplificada do sistema. O sistema é estruturado com o objetivo de desacoplar suas diferentes partes para facilitar a mudança de forma independente. Portanto, a parte da interface com o usuário do sistema é desacoplada da parte que implementa a lógica de negócios que, por sua vez, também é desacoplada do gerenciamento do banco de dados.

Arquitetura simplificada do sistema

Um dos requisitos do sistema é permitir que vários clientes acessem o sistema ao mesmo tempo. Portanto, uma abordagem cliente-servidor é utilizada para distribuir parte da execução, que é implementada pela classe HealthWatcherFacade. Interfaces, como IComplaintRepository, desacoplam a lógica de negócios do tipo específico de gerenciamento de dados em uso.

Usando as tecnologias de sua preferência (Java ou PHP, banco de dados ou framework de preferência), forneça uma implementação de pelo menos 2 dos casos de uso abaixo, onde pelo menos um deles seja o Caso de Uso 1:

  • Caso de Uso 1: Registrar Reclamação [Complaint Registration]
  • Caso de Uso 2: Consultar Reclamação [Search Complaint]
  • Caso de Uso 3: Atualizar Reclamação [Update Complaint]
  • Caso de Uso 4: Remover Reclamação [Delete Complaint]

Com a definição bem formada da hierarquia de Complaint, os métodos referentes aos casos de uso podem se valer do reuso por polimorfismo; por exemplo, ao invés de criar um método de inserção para cada tipo de Complaint, é possível ter apenas um com o tipo mais geral, que é Complaint.

2022-2023-prova-parte-2's People

Contributors

leopoldomt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.