Capítulo 14 — Engenharia de software
Mapa da aula
Aula 14 publicada. Mapa, exemplo, EX040.
flowchart TD
N0["14.1 Histórias de privacidade"]
N1["14.2 Revisão de código"]
N2["14.3 Dados de teste"]
N3["14.4 Definição de pronto"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX040"]
Desenho lógico
flowchart LR
N0["14.1 Histórias de privacidade"]
N1["14.2 Revisão de código"]
N2["14.3 Dados de teste"]
N3["14.4 Definição de pronto"]
N4["Síntese"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX040"]
[14.1 Histórias de privacidade]
|
v
[14.2 Revisão de código]
|
v
[14.3 Dados de teste]
|
v
[14.4 Definição de pronto]
|
v
[Síntese]
|
v
[Exemplo resolvido] --> [Exercício EX040]
Objetivos de aprendizagem
Você vai (1) escrever requisitos de privacidade como histórias de usuário; (2) incluir a privacidade na revisão de código; (3) gerenciar dados pessoais nos ambientes de teste.
14.1 Histórias de privacidade
Em engenharia de software, Zara aprende a escrever requisitos como histórias de usuário. Ela acrescenta histórias de privacidade ao backlog da Pellmore: como paciente, quero baixar meus prontuários para conferir o que está guardado; como paciente, quero que minhas gravações de vídeo sejam eliminadas depois de trinta dias, a menos que eu peça o contrário. Cada história tem critérios de aceitação que podem ser testados. Escrever a privacidade como histórias a coloca no mesmo processo de planejamento das funcionalidades, em vez de deixá-la em um documento separado que os desenvolvedores raramente leem.
14.2 Revisão de código
A lista de verificação de revisão de código da Pellmore cobre estilo e testes, mas não a privacidade. Zara acrescenta cinco perguntas: esta mudança coleta novos dados pessoais; algum dado novo vai para os logs; ela envia dados a um novo destinatário; ela muda a retenção; e ela afeta as verificações de acesso. Os revisores precisam responder a cada pergunta. No primeiro mês, a lista detecta uma mudança que teria enviado nomes completos de pacientes a um serviço de relatórios de falhas. O exemplo convence a equipe de que algumas perguntas bem dirigidas valem o minuto a mais por revisão.
14.3 Dados de teste
Os desenvolvedores da Pellmore às vezes copiavam dados de produção para os ambientes de teste a fim de reproduzir defeitos. Zara explica que os ambientes de teste costumam ser menos protegidos e que copiar dados de saúde para lá é um risco sério. Ela constrói um gerador que produz pacientes sintéticos realistas, com a mesma estrutura e os mesmos casos-limite, como nomes longos e caracteres incomuns. Quando dados de produção forem de fato necessários para um defeito, um pedido documentado, com aprovação e expiração automática, substitui a cópia informal. A NIST SP 800-188 discute os dados sintéticos como uma das abordagens de desidentificação.
14.4 Definição de pronto
Por fim, Zara propõe mudanças na definição de pronto da equipe. Uma funcionalidade só está pronta quando suas histórias de privacidade passam, a lista de revisão foi preenchida, o registro das operações de tratamento foi atualizado caso os fluxos de dados mudem e o aviso de privacidade foi atualizado caso os pacientes fossem se surpreender. A equipe discute se isso atrasa as entregas. Zara argumenta que corrigir a privacidade depois do lançamento é mais lento e mais caro, e o líder de engenharia da Pellmore aceita testar a definição por um trimestre e avaliar o efeito sobre os prazos de entrega.
Exemplo resolvido
Zara escreve histórias de usuário de privacidade, acrescenta cinco perguntas de privacidade à revisão de código, troca as cópias de produção por um gerador de dados sintéticos e amplia a definição de pronto.
Caso sintético. O backlog e a revisão são sintéticos; a NIST SP 800-188 é real.
Erros e limites
Listas de verificação viram rotina; alterne os exemplos e audite amostras das revisões.
Exercícios
- EX040 — História de privacidade. Escreva uma história de usuário de privacidade do capítulo. Rubrica: 3 = p. ex., como paciente, quero minhas gravações eliminadas depois de trinta dias, salvo pedido em contrário;; 2 = história semelhante;; 1 = vago;; 0 = nenhuma.
- EX041 — Achado da revisão. O que a lista de revisão detectou no primeiro mês? Rubrica: 3 = uma mudança que enviaria nomes completos a um relatório de falhas;; 2 = menciona relatório de falhas;; 1 = vago;; 0 = nenhuma.
- EX042 — Dados de teste sintéticos. Por que trocar as cópias de produção por pacientes gerados? Rubrica: 3 = os ambientes de teste são menos protegidos; dados sintéticos evitam expor dados de saúde;; 2 = menciona segurança;; 1 = só usa mascaramento;; 0 = nenhuma.
Síntese
O capítulo 14 incorpora a privacidade à entrega. O capítulo 15 trata dos fundamentos de segurança.
Continue estudando — aula 14 (capítulo 14 de 50)
← Capítulo 13 · Índice das aulas · Capítulo 15 →
Continue para a próxima aula já escrita.