Skip to content

About

Dossiê de modelagem orientada a objetos da plataforma Nexo. AV3 de Análise Orientada a Objetos (UNIJORGE).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nexo — Análise Orientada a Objetos

Nexo é uma plataforma de gestão de serviços psicológicos para profissionais de diferentes áreas da Psicologia (clínica, organizacional, escolar, hospitalar, jurídica e outras). Ela reúne cadastros, permissões, agenda, atendimentos, financeiro e documentos num só lugar, com controle de acesso, auditoria e respeito à LGPD e ao sigilo profissional.

Este repositório guarda o Dossiê de Modelagem Orientada a Objetos do sistema: requisitos, diagramas UML, persistência e rastreabilidade. O objetivo é que outra equipe consiga entender e implementar a plataforma só a partir destes artefatos.

Trabalho da Avaliação 3 (AV3) da disciplina de Análise Orientada a Objetos — Ciência da Computação, UNIJORGE.

Estrutura

nexo-modelagem/
├── docs/                                    # cada documento em PDF (leitura) e .docx (editável)
│   ├── 01-visao-requisitos-e-regras         # visão, escopo, atores, RF, RNF, RN, histórias e critérios de aceite
│   ├── 02-especificacao-casos-de-uso        # UC-001 a UC-056, com diagramas, fluxos e regras
│   ├── 03-modelagem-de-dominio-e-orientacao-a-objetos   # conceitos, responsabilidades, classes, objetos, OO e SOLID
│   └── 04-modelagem-de-persistencia         # DER, modelo relacional, dicionário de dados, mapeamento, normalização e coerência
├── diagramas/
│   ├── contexto/                            # fronteira do sistema e atores externos
│   │   └── diagrama-de-contexto.drawio      # arquivo editável
│   ├── casos-de-uso/                        # um diagrama por módulo (01 a 11)
│   │   └── diagramas-casos-de-uso.drawio    # arquivo editável com os 11 diagramas
│   ├── classes/                             # um diagrama de classes por área (01 a 09)
│   │   └── diagramas-classes.drawio         # arquivo editável com os 9 diagramas
│   ├── objetos/                             # instâncias de um cenário (UC-027)
│   │   └── diagrama-objetos.drawio          # arquivo editável
│   └── der/                                 # DER lógico: modelo completo e uma página por área (01 a 09)
│       └── der-logico.drawio                # arquivo editável com as 10 páginas
└── banco/                                   # banco de dados MySQL
    ├── nexo-ddl-mysql.sql                   # script DDL MySQL 8 com as 29 tabelas
    └── teste-restricoes.sql                 # dados de teste que conferem as restrições

Os diagramas ficam exportados em .png para leitura rápida. Cada pasta tem um arquivo .drawio editável com todos os diagramas daquele tipo, um por página, na mesma ordem das tabelas abaixo.

Documentos

Documento Conteúdo Editável
Visão, requisitos e regras Documento de visão, situação-problema, objetivos, escopo e fronteiras, premissas, stakeholders e atores, glossário, inovação proposta, 76 requisitos funcionais (RF), 17 não funcionais (RNF), 80 regras de negócio (RN), histórias de usuário e critérios de aceite .docx
Especificação dos casos de uso Padrões de identificação, diagramas por módulo e especificação textual de 56 casos de uso (UC-001 a UC-056) .docx
Modelagem de domínio e orientação a objetos 28 conceitos do domínio com origem nos casos de uso, quadro de responsabilidades e colaborações das classes, explicação dos diagramas de classes e de objetos, aplicação dos princípios de OO (abstração, encapsulamento, coesão, acoplamento, herança, polimorfismo e composição) e dos princípios SOLID .docx
Modelagem de persistência DER lógico e as 29 tabelas do banco, cada uma com colunas, tipos, restrições, valores padrão, domínios, descrição e a origem no diagrama de classes (modelo relacional, dicionário de dados e mapeamento objeto-relacional juntos); cardinalidades, tratamento de N:N e de herança, 13 regras de domínio, integridade referencial, inativação, normalização até a 3FN e verificação de coerência entre classes, DER e tabelas .docx

Módulos

Os 56 casos de uso estão divididos em 11 módulos. Cada um tem um diagrama próprio. Os casos de uso automáticos UC-050, UC-051, UC-053 e UC-054 são executados pelo ator Agendador, um processo da plataforma que roda em horários definidos. O UC-052 (Registrar resultado do pagamento) é iniciado pelo Serviço Externo de Pagamentos.

# Módulo Imagem Arquivo editável
01 Acesso e Autenticação ver abrir
02 Administração e Permissões ver abrir
03 Pacientes e Responsáveis ver abrir
04 Psicólogos e Disponibilidade ver abrir
05 Agenda e Agendamentos ver abrir
06 Atendimento e Evolução Clínica ver abrir
07 Recorrência de Atendimentos ver abrir
08 Financeiro e Pagamentos ver abrir
09 Lista de Espera e Encaixes ver abrir
10 Compartilhamento de Documentos ver abrir
11 Notificações ver abrir

Diagramas de classes

O modelo de domínio está dividido em 9 áreas. Em cada diagrama, os atributos são privados (-) e as operações públicas (+). As classes em cinza estão detalhadas em outra área, e cada diagrama traz as suas enumerações («enumeration») de situação e tipo. O modelo usa herança (Cobrança abstrata, com Cobrança Avulsa e Mensalidade) e composição (Tentativa de Pagamento, Inscrição na Lista de Espera, Registro de Acesso e Versão da Evolução).

# Área Classes principais Imagem Arquivo editável
01 Acesso e Permissões Usuário, Perfil de Acesso, Permissão ver abrir
02 Pessoas e Vínculos Paciente, Psicólogo, Vínculo de Responsabilidade, Área de Atuação ver abrir
03 Agenda e Agendamentos Disponibilidade, Bloqueio de Agenda, Agendamento ver abrir
04 Atendimento e Evolução Clínica Atendimento, Evolução Clínica, Versão da Evolução ver abrir
05 Recorrência Recorrência ver abrir
06 Cobranças e Pagamentos Cobrança (abstrata), Cobrança Avulsa, Mensalidade, Tentativa de Pagamento, Pagamento ver abrir
07 Lista de Espera e Encaixes Lista de Espera, Inscrição na Lista de Espera, Oferta de Encaixe ver abrir
08 Documentos e Compartilhamentos Documento, Compartilhamento, Destinatário, Registro de Acesso ver abrir
09 Comunicação e Auditoria Notificação, Registro de Auditoria ver abrir

Diagrama de objetos

Mostra as instâncias e os vínculos no instante em que uma consulta é agendada, no cenário do UC-027 — Agendar consulta: a paciente Mariana marca uma consulta com a psicóloga Ana, dentro de um horário de disponibilidade cadastrado por ela.

Cenário Objetos Imagem Arquivo editável
UC-027 — Agendar consulta ana:Psicólogo, mariana:Paciente, consulta001:Agendamento, disponibilidade001:Disponibilidade ver abrir

Persistência

A camada de persistência parte do diagrama de classes de domínio e cobre as mesmas 9 áreas, em 29 tabelas: 26 vêm das 28 classes (a hierarquia de Cobrança fica em uma tabela única) e 3 são tabelas associativas das associações N para N. Todo o detalhamento está no documento Modelagem de persistência.

O script banco/nexo-ddl-mysql.sql cria o banco com todas as chaves, restrições UNIQUE, NOT NULL, CHECK e chaves estrangeiras, e foi testado em MySQL 8.0. O arquivo banco/teste-restricoes.sql insere dados válidos e confirma que o banco recusa os casos proibidos.

# DER lógico Imagem Arquivo editável
— Modelo completo (29 tabelas) ver abrir
01 Acesso e permissões ver abrir
02 Pessoas e vínculos ver abrir
03 Agenda e agendamentos ver abrir
04 Atendimento e evolução clínica ver abrir
05 Recorrência ver abrir
06 Cobranças e pagamentos ver abrir
07 Lista de espera e encaixes ver abrir
08 Documentos e compartilhamentos ver abrir
09 Comunicação e auditoria ver abrir

As 10 páginas também estão em um único PDF.

Arquivos editáveis dos diagramas

Os arquivos-fonte dos diagramas podem ser abertos no navegador, sem instalar nada e sem precisar de conta:

🔗 Abrir o diagrama de contexto no draw.io (somente visualização) · ver imagem

🔗 Abrir os 11 diagramas de casos de uso no draw.io (somente visualização)

🔗 Abrir os 9 diagramas de classes no draw.io (somente visualização)

🔗 Abrir o DER lógico no draw.io (somente visualização)

As páginas ficam na barra inferior e seguem a ordem das tabelas acima. Os arquivos também podem ser baixados:

Andamento dos artefatos

Artefato Situação
Diagrama de contexto ✅
Diagramas de casos de uso ✅
Especificação dos casos de uso ✅
Documento de visão, glossário e mapa de stakeholders ✅
Requisitos funcionais, não funcionais e regras de negócio ✅
Histórias de usuário e critérios de aceite ✅
Conceitos do domínio e responsabilidades das classes ✅
Diagrama de classes de domínio ✅
Diagrama de objetos ✅
Princípios de OO e SOLID ✅
Diagramas de sequência (3 casos críticos) ⏳
Diagrama de comunicação ⏳
Diagrama de atividades ⏳
Máquina de estados ⏳
Diagramas de pacotes, componentes e implantação ⏳
Modelo de persistência (DER) e dicionário de dados ✅
Script DDL MySQL (bônus) ✅
Matriz de rastreabilidade ⏳
Plano de qualidade (ISO/IEC 25010) ⏳

Padrões do repositório

  • Nomes de arquivos em minúsculas, sem acento e com hífen.
  • Diagramas numerados na mesma ordem dos módulos do documento.
  • Casos de uso identificados como UC-001; requisitos como RF-001, RNF-001; regras como RN-001. O mesmo código aparece no documento, nos diagramas e na matriz de rastreabilidade.
  • Cada alteração relevante vira um commit com mensagem descritiva, para manter o histórico de versões.

Ferramentas

  • draw.io — diagramas UML
  • Microsoft Word — documentação
  • draw.io — DER lógico
  • MySQL 8.0 — teste do script DDL

About

Dossiê de modelagem orientada a objetos da plataforma Nexo. AV3 de Análise Orientada a Objetos (UNIJORGE).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors