Documentação Teórica e Técnica do Projeto
Desenvolvimento de Software Profissional • Arquitetura • Ciclo de Vida • Metodologias
Antes de escrever uma linha de código, o desenvolvimento de software para saúde mental exige rigor ético extremo. No Brasil, isso é regido pelo Código de Ética dos Psicólogos e pela LGPD (Lei Geral de Proteção de Dados).
O sistema deve garantir que apenas o psicólogo responsável e o paciente tenham acesso aos dados. Implementamos:
| Tipo | Tecnologia | Aplicação |
|---|---|---|
| Em Repouso | AES-256 | Banco de dados e arquivos armazenados |
| Em Trânsito | HTTPS/TLS 1.3 | Todas as comunicações cliente-servidor |
| Senhas | bcrypt/Argon2 | Hash com salt para autenticação |
Todo acesso a um prontuário deve ser registrado, sem permitir a exclusão desses logs:
Rotinas automáticas de backup em locais seguros e isolados:
A arquitetura define a estrutura do sistema. Para o PsiCare, o objetivo é Segurança, Escalabilidade e Manutenibilidade.
Arquitetura em Camadas (Layered Architecture) com abordagem Cloud-Native:
| Camada | Tecnologia | Responsabilidade |
|---|---|---|
| Apresentação | HTML5, CSS3, JavaScript | Interface web responsiva para navegador e mobile |
| Regra de Negócio | JavaScript (Vanilla) | Lógicas de agendamento, prontuário e validações |
| Dados | LocalStorage API | Persistência local (demo) / PostgreSQL (produção) |
| Arquivos | Object Storage | Armazenamento de documentos com criptografia |
Se precisarmos mudar o banco de dados ou a interface, o núcleo do sistema (regras de negócio) não é afetado. Cada camada tem responsabilidade única e bem definida.
O software é construído utilizando paradigmas que facilitam a evolução futura e a manutenção do código.
Utilizada para modelar a realidade da clínica de forma intuitiva:
| Classe | Responsabilidade | Atributos Principais |
|---|---|---|
Paciente |
Gerenciar dados do paciente | id, nome, email, telefone, anamnese |
Psicologo |
Gerenciar dados do profissional | id, nome, crp, especialidade |
Sessao |
Gerenciar consultas/agendamentos | id, data, hora, tipo, status |
Prontuario |
Gerenciar evoluções clínicas | id, evolucao, data, sigiloso |
Facilita a reutilização de código, organização lógica, encapsulamento de dados e manutenção futura através de herança e polimorfismo.
Utilizada para transformações de dados imutáveis:
O ciclo de vida descreve as fases pelas quais o software passa, do conceito à manutenção contínua.
| Fase | Atividades | Entregáveis |
|---|---|---|
| 1. Requisitos | Levantamento de necessidades com psicólogos | Documento de requisitos funcionais e não-funcionais |
| 2. Análise e Design | Arquitetura, banco de dados, prototipagem UI/UX | Diagramas UML, wireframes, modelo de dados |
| 3. Implementação | Codificação seguindo Clean Code | Código fonte versionado, documentação de API |
| 4. Testes | Unitários, integração, segurança, usabilidade | Relatórios de teste, bugs corrigidos |
| 5. Implantação | Deploy em servidores na nuvem | Sistema em produção, monitoramento ativo |
| 6. Manutenção | Correções, atualizações, melhorias | Versões atualizadas, changelog |
Comparação de como o projeto poderia ser gerido sob diferentes óticas metodológicas.
Primeiro, escreveríamos todo o documento de requisitos. Depois, faríamos todo o design. Só então começaríamos a codificar. O cliente só veria o sistema pronto no final.
| Vantagens | Desvantagens |
|---|---|
| ✓ Documentação robusta | ✗ Mudanças são caras e difíceis |
| ✓ Bom para contratos fixos de escopo | ✗ Cliente só vê o produto no final |
| ✓ Fácil de gerenciar e medir progresso | ✗ Risco alto de não atender expectativas |
| ✓ Fases bem definidas e sequenciais | ✗ Para clínica: se a tela de "Evolução" estiver difícil de usar, refazer tudo custará caro |
O desenvolvimento é dividido em ciclos curtos (Sprints) de 2 semanas, com entregas incrementais e feedback constante.
| Sprint | Entregas | Duração |
|---|---|---|
| Sprint 1 | Cadastro de pacientes + Login seguro | 2 semanas |
| Sprint 2 | Agenda básica + Calendário | 2 semanas |
| Sprint 3 | Prontuário eletrônico + Evoluções | 2 semanas |
| Sprint 4 | Módulo financeiro + Relatórios | 2 semanas |
Para um sistema profissional moderno, adotamos o DevOps integrado ao Ágil:
| Prática | Descrição | Benefício |
|---|---|---|
| CI/CD | Integração e Entrega Contínuas | Atualizações automáticas e seguras |
| Infrastructure as Code | Servidores configurados via código | Ambientes reproduzíveis e versionados |
| Monitoramento | Logs, métricas e alertas em tempo real | Detecta problemas antes dos usuários |
| Automated Testing | Testes rodando a cada commit | Garante que atualizações não quebram o sistema |
Para materializar o sistema, estas são os módulos principais implementados:
| Conceito Teórico | Aplicação no Projeto PsiCare | Status |
|---|---|---|
| Ética | Criptografia de ponta a ponta e Logs de auditoria imutáveis (LGPD) | Implementado |
| Arquitetura | Camadas (Frontend/Backend/Dados) para escalabilidade | Implementado |
| Ciclo de Vida | Foco intenso na fase de Testes de Segurança antes do Deploy | Implementado |
| Tradicional vs Ágil | Adoção do Ágil (Scrum) para adaptação rápida às necessidades | Implementado |
| DevOps | Automação de testes e deploy para garantir estabilidade | Planejado |
| Paradigmas | POO para modelagem + Funcional para processamento de dados | Implementado |
| Chatbot IA | Assistente virtual com respostas contextuais (vendas/suporte) | Implementado |
Este plano demonstra não apenas "o que" o sistema faz, mas "como" ele é construído profissionalmente, respeitando as normas da engenharia de software e a sensibilidade da área da saúde mental.