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.
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.
| 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 |
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 |
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 |
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 |
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.
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:
diagramas/contexto/diagrama-de-contexto.drawiodiagramas/casos-de-uso/diagramas-casos-de-uso.drawiodiagramas/classes/diagramas-classes.drawiodiagramas/objetos/diagrama-objetos.drawiodiagramas/der/der-logico.drawio
| 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) | ⏳ |
- 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 comoRF-001,RNF-001; regras comoRN-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.