Beruflich Dokumente
Kultur Dokumente
Processo de Desenvolvimento de
Software
Guia Completo
MS - SE - DATASUS
PDS-DATASUS
Processo de Desenvolvimento de
Software
Guia Completo
©
DATASUS – Todos os direitos reservados
Impresso no Brasil
Fazer cópias de qualquer parte deste documento para qualquer finalidade, além do uso
pessoal, constitui violação das leis internacionais de direitos autorais.
MINISTÉRIO DA SAÚDE
Secretaria Executiva
Departamento de Informática do SUS
Processo de Documentação de Sistemas — PDOC
M AI O DE 2009
Edição 1.3, referente ao PDS-DATASUS, versão 2.3
A GOSTO DE 2008
Edição 1.2, referente ao PDS-DATASUS, versão 2.2
A GOSTO DE 2007
Edição 1.1, referente ao PDS-DATASUS, versão 2.1
J A NEI RO DE 2007
Edição 1.0, referente ao PDS-DATASUS, versão 2.0.
1. I NTRODUÇÃO 3
1.1 Apresentação 3
2. H ISTÓRICO 7
3. M ELHORES PRÁTICAS 11
3.1 Desenvolvimento Iterativo e Incremental 11
3.2 Gerência de Requisitos 12
3.3 Gerência de Configuração 12
3.4 Gerência de Mudanças 12
3.5 Participação Ativa dos Usuários 12
3.6 Melhoria Contínua do Processo de Desenvolvimento 13
4. R ECOMENDAÇÕES DE SEGURANÇA 17
4.1 Gerência de Configuração 17
4.2 Gerência de Requisitos 19
4.3 Gerência de Documentação 20
4.4 Ciclo de Vida de Software 21
4.5 Teste de Software e Análise de Vulnerabilidade 23
5. E LEMENTOS DO PDS 27
5.1 Papéis 27
5.2 Artefatos 27
5.3 Atividades 27
5.4 Fluxo de Atividades 28
6. F ASES 31
6.1 Concepção 31
6.2 Elaboração 32
6.3 Construção 34
6.4 Transição 35
7. A TIVIDADES 39
7.1 Viabilização do projeto 39
7.2 Definir escopo do sistema 39
7.3 Classificar sistema 41
7.4 Identificar requisitos do sistema 43
9. A RTEFATOS 83
9.1 Documento de Consenso do Produto 83
9.2 Glossário 83
9.3 Matriz de Requisitos 83
9.4 Documento de Arquitetura 84
9.5 Modelo de Casos de Uso 84
9.6 Diagrama de Classes 84
9.7 Modelo de Banco de Dados 84
9.8 Código-fonte 84
9.9 Compilação do Sistema (build) 85
9.10 Versão do Sistema (release) 85
12. G LOSSÁRIO 97
12.1 Dicionário de Símbolos 106
L ISTA DE FIGURAS
L ISTA DE TABELAS
1.1 Apresentação
O PDS (Processo de Desenvolvimento de Software) estabelece uma
metodologia para o desenvolvimento de software no DATASUS, através da
definição de responsáveis, artefatos, atividades e um fluxo que padroniza o
ciclo de vida de um projeto de desenvolvimento.
Apesar do PDS já estar implementado e formalizado no DATASUS desde
2002, é fato que ele não está consolidado e nem faz parte da cultura desta
instituição. Muitas vezes é a atividade mais sacrificada durante o
desenvolvimento de produtos de TI, considerando principalmente prazos e
recursos disponíveis.
Com base nesta constatação e através de acompanhamento e relatos de
equipes de desenvolvimento, verificamos a necessidade de revisão e
redesenho do PDS, tornando-o uma metodologia de desenvolvimento mais
amigável.
Na versão 2.0 do PDS todas as alterações realizadas foram feitas com o intuito
de facilitar a sua utilização por parte dos desenvolvedores, sem, contudo,
prejudicar a sua finalidade principal, ou seja: padrão de documentação de
desenvolvimento. Nesta nova visão, o PDS esta estruturado em papéis,
demonstrando claramente qual a responsabilidade dos atores envolvidos e os
produtos gerados em cada atividade.
A partir da versão 2.0 do PDS-DATASUS, consideramos que o DATASUS,
enfim, terá condições de consolidar sua metodologia de desenvolvimento de
produtos de TI.
■ Gerência de Configuração
■ Gerência de Requisitos
■ Gerência de Documentação
■ Teste de Software
■ Análise de Vulnerabilidade
o O sistema deve ser rotulado com sua referência. Ex: Ver 1.2.0.0;
Relase1, Beta1, Debug2.1.0
■ Papéis (quem)
■ Artefatos (o quê)
■ Atividades (como)
5.1 Papéis
Um papel define o comportamento e responsabilidades de um profissional ou
grupo de profissionais que participam do desenvolvimento do projeto.
O comportamento é representado através das atividades que cada papel deve
desempenhar ao longo do projeto.
As responsabilidades normalmente estão associadas aos artefatos que cada
papel deve produzir e manter ao longo das atividades que realiza.
Na prática, um mesmo papel pode ser desempenhado por mais de uma
pessoa, assim como uma mesma pessoa pode assumir vários papéis ao longo
do projeto.
5.2 Artefatos
Em sentido amplo, o termo artefato representa um produto concreto
produzido, modificado ou utilizado pelas atividades de um processo.
Os artefatos representados no PDS não incluem todos os artefatos de um
projeto de desenvolvimento, mas todos estes devem ser elaborados ao longo
do projeto.
O PDS disponibiliza modelos (templates) para a maioria de seus artefatos, com
o objetivo de orientar e facilitar a sua elaboração.
5.3 Atividades
Uma atividade no PDS representa um conjunto de passos e tarefas que um
6.1 Concepção
Marco
■ Escopo Aprovado
Artefatos Produzidos
■ Documento de Consenso do Produto (aprovado)
6.2 Elaboração
de Arquitetura.
Do total de casos de uso especificados para o sistema, deve-se selecionar os
cenários que, uma vez implementados, permitam a avaliação de viabilidade e
validação da arquitetura especificada para o sistema.
As demais atividades desta fase garantem que os cenários de casos de uso
selecionados sejam projetados, implementados e testados, de forma a garantir
que a arquitetura especificada seja suficientemente adequada para suportar os
requisitos funcionais e não-funcionais do sistema.
O fim da fase de Elaboração representa o segundo grande marco do projeto.
Marco
■ Arquitetura Validada
Artefatos Produzidos
■ Matriz de Requisitos
■ Documento de Arquitetura
■ Glossário
6.3 Construção
Marco
■ Versão Operacional do Sistema
Artefatos Produzidos
■ Diagrama de Classes (completo)
6.4 Transição
Marco
■ Versão Final do Sistema
Artefatos Produzidos
■ Versão do Sistema (homologada)
■ Documentação de usuário
Definição
A viabilização do projeto envolve todo esforço de negociação, aprovação e
alocação de responsabilidades, considerando a participação de representantes
do Datasus e dos usuários. Por se tratarem de tarefas estritamente gerenciais,
consideramos que devem ser melhor descritas em metodologia de gerência de
projetos própria e, por este motivo, não fazem parte do escopo do PDS. Do
ponto de vista do PDS, o projeto de desenvolvimento tem início a partir do
momento em que o projeto é viabilizado pelo Datasus e um gerente de sistema
responsável é alocado.
Nesta atividade deve ser escolhido o Gerente de Sistemas e também um
substituto, ambos devem ser nomeados pela área que solicitou o sistema.
Responsável
Gerente de Sistemas
Definição
A definição de escopo do sistema envolve a participação do gerente do
sistema e de representantes dos usuários, com apoio de analistas de sistemas
da equipe de desenvolvimento.
Esta atividade tem como objetivo o estabelecimento das principais
funcionalidades e fronteiras do sistema.
Parte destas informações já terão sido identificadas e estabelecidas durante o
■ objetivos do produto
Passos
■ Identificar objetivos do sistema a ser desenvolvido
Entradas
■ Informações provenientes da viabilização do projeto
Saídas
■ Documento de consenso do produto (90% completo)
Responsável
Gerente de Sistemas
Definição
A classificação do sistema envolve a participação do gerente do sistema, com o
apoio de analistas e da equipe de desenvolvimento.
Esta atividade inclui uma análise das informações administradas pelo sistema
e a definição da classe ao qual ele pertence.
Os sistemas do DATASUS podem ser classificados em um dos 3 (três) grupos
abaixo:
■ Internos / de Apoio
■ Financeiros / Gerenciais
■ Médicos / Ambulatoriais
relacionados ao sistema.
Ao fim da atividade o Documento de Consenso do Produto deve ser
atualizado com o resultado da classificação de segurança e deve ser
formalmente aprovado entre o gerente do sistema e o usuário gestor do
sistema, servindo como um “contrato” daquilo que será desenvolvido.
A partir da aprovação do Documento de Consenso, toda alteração no projeto
que tenha impacto em seu conteúdo deve ser analisada e renegociada entre a
equipe do projeto e representantes dos usuários, e uma nova versão do
documento deve ser estabelecida e aprovada por ambas as partes.
Passos
■ Avaliar o escopo do produto e os ativos de informação envolvidos no
sistema
Entradas
■ Documento de consenso do produto (90% completo)
Saídas
■ Documento de consenso do produto (aprovado)
Responsável
Analista de Sistemas
Definição
A identificação de regras de negócio e requisitos conta com a participação da
equipe de analistas de sistemas em conjunto com representantes do usuário
gestor e dos usuários finais do sistema e quaisquer outras fontes de
informação consideradas relevantes pela equipe do projeto.
Esta atividade tem como objetivo a definição de uma visão do sistema e a
representação desta visão através de um Diagrama de Casos de Uso e de uma
Matriz de Requisitos.
Parte dos requisitos do sistema poderão ser obtidos através do Documento de
Consenso do Produto.
Uma outra parte deve ser obtida através de entrevistas e reuniões de
levantamento com representantes do usuário gestor e usuários finais,
consultas a regulamentações, políticas e padrões aplicáveis, entre outras
fontes.
As regras de negócio estabelecem requisitos gerais para o sistema,
provenientes do próprio negócio como normas, políticas, legislações etc
Um requisito é definido no PDS como “uma condição ou capacidade que o
sistema precisa atender ou ter”.
Os requisitos levantados durante esta atividades devem ser descritos,
priorizados e classificados na Matriz de Requisitos do Projeto.
A priorização de cada regra de negócio e/ou requisito deve ser realizada em
conjunto com os responsáveis por sua definição e devem ser definidos como:
Passos
■ Identificar as regras de negócio e os requisitos já definidos no Documento
de Consenso do Produto e em outras documentações referenciadas neste
Entradas
■ Documento de consenso do produto (aprovado)
■ Glossário (inicial)
■ Perfis de segurança
■ Regulamentações relacionadas
Saídas
■ Matriz de requisitos
■ Glossário (atualizado)
Responsável
Analista de Sistemas
Definição
O projeto da arquitetura do sistema conta com a participação da equipe de
analistas do projeto, com o apoio de programadores e projetistas de banco de
dados. É comum, também, a existência de um membro específico da equipe
que assume o papel de arquiteto.
O objetivo desta atividade é a definição dos mecanismos fundamentais que
serão utilizados para o desenvolvimento do sistema.
A arquitetura definida deverá suportar de forma adequada os requisitos
funcionais e não-funcionais levantados para o sistema.
A definição dos mecanismos da arquitetura inclui decisões de projeto a
respeito de como o sistema será implementado em termos de:
■ Linguagens de programação
■ Tecnologias/plataformas utilizadas
■ Segurança
■ Padrões e convenções
Passos
■ Analisar os requisitos funcionais e não-funcionais levantados para o
sistema com base na Matriz de Requisitos, no Diagrama de Casos de Uso e
no Documento de Consenso do Produto
Entradas
■ Documento de consenso do produto (aprovado)
■ Matriz de requisitos
Saídas
■ Documento de arquitetura
Responsável
Analista de Sistemas
Definição
A especificação de casos de uso conta com a participação da equipe de
analistas de sistemas em conjunto com representantes do usuário gestor e dos
usuários finais do sistema.
Esta atividade tem como objetivo o detalhamento das interações entre os
diversos atores do sistema e os casos de uso identificados.
Para cada caso de uso, o analista deverá identificar qual a resposta e
comportamento esperado para o sistema para cada ação de um ator (usuário).
A especificação de cada caso de uso deverá incluir as seguintes informações:
■ Atores envolvidos
Passos
■ Analisar os requisitos funcionais e não-funcionais levantados para o
sistema com base na Matriz de Requisitos, no Diagrama de Casos de Uso e
no Documento de Consenso do Produto
Entradas
■ Documento de consenso do produto (aprovado)
■ Matriz de requisitos
■ Glossário
Saídas
■ Modelo de casos de uso (especificação de casos de uso)
■ Glossário (atualizado)
Responsável
Analista de Sistemas
Definição
O projeto do sistema para validação da arquitetura é realizado pela equipe de
analistas de sistemas.
Esta atividade tem como objetivo o projeto de parte do sistema, mais
especificamente dos cenários de casos de uso necessários para validação da
arquitetura definida para o sistema.
Nesta fase do projeto, os analistas deverão identificar os cenários de casos de
uso que, uma vez implementados, permitam uma validação confiável da
arquitetura definida para o sistema, garantindo que a mesma suporte de
forma adequada os requisitos funcionais e não-funcionais do sistema.
Normalmente estes cenários representam até 20% das funcionalidades
esperadas para o sistema completo.
Demais casos de uso e cenários serão projetados e implementados durante a
fase de Construção.
A atividade de projeto tem como objetivo a elaboração de um diagrama de
classes representando classes necessárias para realização dos casos de uso do
sistema.
O Diagrama de Classes deverá ser desenvolvido com base no Modelo de
Casos de Uso, nos mecanismos descritos no Documento de Arquitetura, e nos
requisitos do sistema descritos na Matriz de Requisitos.
Conforme o caso pode ser necessário a elaboração de diagramas adicionais
como, por exemplo, o de seqüência e o de estado.
Ao final desta atividade, o Diagrama de Classes deverá conter além das
classes identificadas, seus relacionamentos, atributos e métodos.
Passos
■ Analisar os mecanismos de projeto definidos (Documento de Arquitetura),
os requisitos do sistema (Matriz de Requisitos) e as especificações de casos
de uso (Modelo de Casos de Uso)
Entradas
■ Modelo de casos de uso
■ Documento arquitetura
■ Matriz de requisitos
■ Glossário
Saídas
■ Diagrama de classes (contemplando a arquitetura do sistema)
Responsável
Projetista de Banco de Dados
Definição
A modelagem de banco de dados para validação da arquitetura é realizada
pelo projetista de banco de dados da equipe.
Esta atividade tem como objetivo a elaboração do projeto de banco de dados,
mais especificamente dos elementos necessários para suportar a
implementação dos cenários de casos de uso selecionados para validação da
arquitetura do sistema.
O Modelo de Banco de Dados deverá ser desenvolvido com base no Diagrama
de Classes, elaborado pela equipe de analistas de sistemas, e nos mecanismos
■ Relacionamentos
■ Índices
■ Triggers
Passos
■ Analisar os mecanismos de projeto definidos (Documento de Arquitetura),
o Diagrama de Classes, os requisitos não-funcionais do sistema (Matriz de
Requisitos) e as especificações de casos de uso (Modelo de Casos de Uso)
■ Com base nos cenários de casos de uso e nos métodos definidos para as
classes do sistema, identificar as stored procedures e triggers necessárias
suas permissões
Entradas
■ Diagrama de classes
■ Documento de arquitetura
■ Glossário
Saídas
■ Modelo de banco de dados
Responsável
Programador
Definição
A implementação do sistema para validação da arquitetura é realizada pela
equipe de programadores do projeto.
Esta atividade tem como objetivo a geração de uma versão executável do
sistema (intermediária), que permita a realização de testes e a validação da
arquitetura de software definida.
Nesta fase do projeto, a implementação do sistema contempla apenas os
cenários de casos de uso selecionados para validação da arquitetura e que,
neste momento, já estarão especificados e projetados.
A implementação deve ser realizada com base nas Especificações de Casos de
Uso, Diagrama de Classes, Modelo de Banco de Dados e Documento de
Arquitetura, e envolve as seguintes tarefas:
Passos
■ Analisar as especificações de casos de uso (Modelo de Casos de Uso), os
mecanismos de projeto definidos (Documento de Arquitetura), o
Diagrama de Classes e o Modelo de Banco de Dados
Entradas
■ Modelo de casos de uso
■ Documento de arquitetura
Saídas
■ Versão do sistema (Para validação da arquitetura)
Responsável
Programador
Definição
O teste e a validação da arquitetura envolvem a participação da equipe de
programadores do projeto, com o apoio da equipe de analistas, projetistas de
banco de dados, equipe de teste e representantes do usuário gestor e usuários
finais.
Esta atividade tem como objetivo a validação formal da arquitetura definida
para o sistema.
Para validação da arquitetura é necessária a realização de testes, a fim de
garantir que a versão implementada do sistema, contemplando no momento
apenas a arquitetura, atenda de forma adequada aos requisitos estabelecidos.
Apesar de já ser possível a realização de testes funcionais, o foco principal
desta atividade está em testes não funcionais, uma vez que, a maior parte dos
requisitos considerados para o projeto da arquitetura são os requisitos não-
funcionais.
A equipe do projeto pode demandar a realização destes testes ao PTS. O PTS
(Processo de Teste de Software) é um processo de testes certificado que conta
com infra-estrutura do LACQUA (Laboratório de Controle de Qualidade de
Soluções Informatizadas do SUS), apropriada para a realização de testes
especializados.
Ao fim desta atividade, a equipe do projeto está em condições de garantir que
a arquitetura definida para o sistema suporta de forma adequada seus
requisitos funcionais fundamentais e não-funcionais.
Caso os requisitos do sistema não sejam atendidos pela arquitetura projetada,
esta deve ser revista, reimplementada e testada novamente, antes que o
projeto passe para a próxima fase.
A validação da arquitetura constitui o segundo grande marco do projeto e, por
este motivo, deve ser aprovada pelos representantes do usuário gestor e
usuários finais.
Esta atividade marca o fim da fase de Elaboração.
Passos
■ Analisar o projeto da arquitetura (Documento de Arquitetura), os
requisitos não-funcionais do sistema (Matriz de Requisitos) e as
especificações de casos de uso (Modelo de Casos de Uso)
Entradas
■ Versão do sistema (Para validação da arquitetura)
■ Matriz de requisitos
■ Documento de arquitetura
Saídas
■ Versão do sistema (arquitetura testada e validada)
Responsável
Analista de Sistemas
Definição
O projeto do sistema é realizado pela equipe de analistas de sistemas do
projeto.
Esta atividade tem como objetivo a conclusão do projeto do sistema,
considerando que parte do projeto, contemplando os cenários de casos de uso
necessários para validação da arquitetura, já foi desenvolvida durante a fase
de Elaboração.
Nesta fase os analistas devem concluir a elaboração do diagrama de classes do
projeto para todos os cenários de casos de uso do sistema, a partir da versão
Passos
■ Analisar os mecanismos de projeto definidos (Documento de Arquitetura),
os requisitos do sistema (Matriz de Requisitos) e as especificações de casos
de uso (Modelo de Casos de Uso)
Entradas
■ Modelo de casos de uso
■ Documento de arquitetura
■ Matriz de requisitos
■ Glossário
Saídas
■ Diagrama de classes
Responsável
Projetista de Banco de Dados
Definição
A modelagem de banco de dados é realizada pelo projetista de banco de
dados da equipe.
Esta atividade tem como objetivo a conclusão do projeto de banco de dados,
considerando que parte do projeto, contemplando apenas a arquitetura do
sistema, já foi desenvolvida durante a fase de Elaboração.
O Modelo de Banco de Dados deve ser desenvolvido com base no Diagrama
de Classes, elaborado pela equipe de analistas de sistemas, e nos mecanismos
fundamentais descritos no Documento de Arquitetura.
O projeto do banco de dados deve levar em consideração, também, os
requisitos não-funcionais, principalmente os de performance e segurança,
estabelecidos na Matriz de Requisitos do projeto.
O Modelo de Banco de Dados deve incluir:
■ Relacionamentos
■ Índices
Passos
■ Analisar os mecanismos de projeto definidos (Documento de arquitetura),
o Diagrama de Classes, os requisitos não-funcionais do sistema (Matriz de
Requisitos) e as especificações de casos de uso (Modelo de Casos de Uso)
■ Com base nos cenários de casos de uso e nos métodos definidos para as
classes do sistema, especificar as stored procedures e triggers necessárias
Entradas
■ Diagrama de classes
■ Documento de arquitetura
■ Glossário
Saídas
■ Modelo de Banco de Dados (contemplando a arquitetura do sistema)
Responsável
Programador
Definição
A codificação de programas é realizada pela equipe de programadores do
projeto.
Passos
■ Analisar as especificações de casos de uso (Modelo de Casos de Uso), os
mecanismos de projeto definidos (Documento de Arquitetura), o
Diagrama de Classes e o Modelo de Banco de Dados
Entradas
■ Modelo de casos de uso
■ Diagrama de classes
■ Documento de arquitetura
Saídas
■ Código-fonte
Responsável
Programador
Definição
Os testes unitários são realizados pelos programadores da equipe do projeto.
Esta atividade tem como objetivo avaliar se os elementos do sistema
codificado atendem às respectivas especificações de requisitos.
A realização de testes unitários considera a criação de componentes de teste
para cada elemento do sistema implementado.
Como melhor prática, estes componentes de teste deveriam ser
implementados antes da implementação do próprio elemento do sistema
associado a ele.
A criação de componentes de teste facilita os esforços futuros de realização de
testes de regressão sobre todo o sistema.
Testes de regressão são fundamentais para garantir que novas
implementações, sejam por melhoria ou correção, não introduzam erros em
trechos de código já testado.
Além dos testes funcionais, outras verificações também devem ser realizadas
sobre os elementos do sistema:
Passos
■ Desenvolver componentes de teste de acordo com as especificações dos
elementos implementados
Entradas
■ Código-fonte
■ Diagrama de classes
■ Documento de arquitetura
Saídas
■ Código-fonte (testados)
Responsável
Programador
Definição
A integração do sistema é realizada por um membro da equipe de
programadores - o Integrador - especificamente designado para esta atividade
e que é apoiado pelos demais programadores do projeto.
Esta atividade tem como objetivo gerar uma versão compilada do sistema
(build).
O integrador é responsável por reunir os diversos elementos do sistema,
testados unitariamente, e compilar uma versão integrada do sistema, de
acordo com a estrutura de implementação especificada no Documento de
Arquitetura.
Esta integração e compilação deve acontecer em uma estação de trabalho
específica, designada para este fim, e o integrador deve ser o único membro da
equipe com permissão para fazê-lo.
Neste momento, deve-se ter atenção principalmente às versões dos diversos
elementos do sistema utilizadas para a geração da versão em questão.
Esta atividade se repete diversas vezes ao longo do projeto.
Passos
■ Verificar os elementos testados disponibilizados para integração
Entradas
■ Código-fonte (testados)
■ Documento de arquitetura
Saídas
■ Compilação do sistema (build)
Responsável
Gerente de configuração
Definição
O estabelecimento da versão do sistema é realizado pelo gerente de
configuração, com o apoio de todos os membros da equipe.
configuração
Passos
■ Verificar a integridade e versões dos itens de configuração no repositório
do projeto. Quaisquer inconsistências observadas devem ser comunicadas
ao responsável pelo item de configuração em questão e corrigidas antes do
estabelecimento da versão
Entradas
■ Itens de configuração do sistema (todos)
Saídas
■ Versão do sistema (operacional)
■ Pacote de distribuição
Responsável
PTS – Processo de Teste de Software
Definição
Os testes no sistema devem seguir o PTS - Processo de Teste de Software do
CTI- Datasus.
O PTS é um processo completo de testes, baseado no RUP - Rational Unified
Process que descreve, detalhadamente, todos os papéis, atividades e artefatos
envolvidos na verificação e validação de softwares em conformidade com seus
requisitos.
Passos
■ Consultar o Processo de Teste de Software do Datasus (PTS).
Entradas
■ Versão do sistema (operacional)
■ Pacote de distribuição
■ Manuais do sistema
■ Documentos do projeto
Saídas
■ Versão do sistema (testada)
Responsável
PDOC
Definição
O DATASUS desenvolveu o Processo de Documentação de Sistemas, como
proposta para elaboração da documentação dos sistemas em ações de
vigilância à saúde do SUS, para implementar o uso, e ampliar o apoio técnico e
operacional aos municípios para o desenvolvimento de suas atividades,
destacando-se a capacitação dos recursos humanos dos municípios e das
instâncias regionais das secretarias de saúde.
Passos
■ Consultar a o Processo de Documentação de Sistemas (PDOC).
Entradas
■ Documentação do projeto
■ Versão do sistema
Saídas
■ Documentação de usuário
Responsável
PHS – Processo de Homologação de Software
Definição
A homologação do sistema deve seguir o PHS - Processo de Homologação de
Software do Datasus. O PHS visa garantir a qualidade dos sistemas
desenvolvidos pelo Datasus através da verificação dos artefatos produzidos
ao longo do projeto e da validação do produto de software desenvolvido. O
processo verifica a conformidade do sistema desenvolvido com as normas e
padrões estabelecidos para o projeto e conta com a participação de
Passos
■ Consultar o Processo de Homologação de Software do Datasus (PHS).
Entradas
■ Versão do sistema (operacional)
■ Pacote de distribuição
■ Manuais do sistema
■ Documentos do projeto
Saídas
■ Versão do sistema (homologada)
Responsável
Implantação
Definição
A implantação do sistema é realizada pela área de Implantação do Datasus,
com o apoio da equipe de desenvolvimento do projeto.
Esta atividade tem como objetivo colocar o sistema em funcionamento em seu
ambiente de produção.
Dependendo das características do sistema, o processo de disponibilização em
produção pode ocorrer de diferentes formas:
Passos
■ Consultar a área de Implantação do Datasus.
Entradas
■ Versão do sistema (homologada)
■ Pacote de distribuição
■ Documentação de usuário
■ Documentos do projeto
Saídas
■ Versão do sistema (produção)
Definição
Uma vez disponibilizado para seus usuários finais, o gerente do sistema deve
■ Alocar recursos
■ Estabelecer prioridades
Atividades
■ Definir escopo detalhado do sistema
Artefatos
■ Documento de Consenso do Produto
Atividades
■ Identificar requisitos do sistema Projetar arquitetura do sistema
■ Projetar sistema
Artefatos
■ Glossário
■ Matriz de Requisitos
■ Documento de Arquitetura
■ Diagrama de Classes
8.3 Projetista de BD
O projetista de banco de dados é responsável pela definição de tabelas, views,
triggers, stored procedures e outros elementos específicos de banco de dados
necessários para o armazenamento e recuperação de dados persistentes do
sistema.
Atividades
■ Modelar banco de dados para validação da arquitetura
Artefatos
■ Modelo de Banco de Dados
8.4 Programador
O programador é responsável pela implementação dos
componentes/elementos do sistema e pela realização de testes unitários sobre
os mesmos.
Um dos programadores da equipe deve assumir a função de Integrador,
sendo responsável por integrar os componentes/elementos desenvolvidos
pelos demais programadores do projeto e gerar as compilações do sistema
(builds).
Durante a fase de Elaboração, a equipe de programadores em conjunto com a
equipe de analistas de sistemas, assumem a responsabilidade pela condução
dos testes para validação da arquitetura.
Atividades
■ Implementar sistema para validação da arquitetura
■ Codificar programas
Artefatos
■ Código-fonte
Atividades
■ Estabelecer versão do sistema
Artefatos
■ Versão do Sistema (releases)
■ Pacote de Distribuição
8.6 Implantação
Este papel é representado no PDS pela área de Implantação do Datasus e está
fora do escopo da equipe de desenvolvimento do sistema. Maiores
informações podem ser obtidas diretamente com a área de Implantação do
Datasus.
De acordo com o Plano de Gerência de Configuração do Datasus por nós
sugerido, a Implantação é responsável pela publicação e controle das versões
de produção dos sistemas.
Atividades
■ Substituir as versões de produção dos sistemas por novas versões
disponibilizadas pelos Gerentes de Configuração e autorizadas pelos
Gerentes dos Sistemas
■ Atividades
■ Implantar sistema
8.7 Usuário
O usuário não executa diretamente nenhuma atividade ou é responsável por
quaisquer artefatos no PDS.
Entretanto, este papel representa os “clientes” do projeto de desenvolvimento.
É para ele, e por causa dele, que o sistema está sendo desenvolvido.
Deste ponto de vista, este passa a ser o papel de maior importância para todo
o processo.
O usuário participa indiretamente de todas as atividades do processo, desde a
definição do escopo do produto e do levantamento de requisitos, até a
validação e aceite do produto final.
O PDS distingue o usuário em 2 tipos: gestor e final.
Atividade
■ Realizar testes no sistema
Atividades
■ Elaborar documentação de usuário
Artefatos
■ Documentação de Usuário
Atividade
■ Homologar sistema
9.2 Glossário
O Glossário registra termos e definições específicos ao domínio do sistema e
do projeto. Este artefato funciona como um dicionário para a equipe de
desenvolvimento contendo a definição de termos comuns ao vocabulário dos
usuários gestores e finais, tendo o objetivo de facilitar a comunicação entre as
partes.
9.8 Código-fonte
O código-fonte representa qualquer trecho de código implementado ao longo
do desenvolvimento do sistema. Apesar de ser um artefato concreto (o código
e o arquivo-fonte existem), sua representação no PDS tem uma finalidade
conceitual. O código-fonte representa a unidade fundamental de um sistema,
desenvolvida pela equipe de programadores do projeto.
Médico / Ambulatorial
Lidam com informações sobre usuários do SUS e procedimentos associados
(médicos, hospitalares, ambulatoriais, assistenciais, entre outros. Estes
sistemas permitem a associação dos dados dos pacientes com as suas
informações médicas. O principal objetivo da segurança neste perfil é garantir
o sigilo das informações e a privacidade dos usuários do SUS.
Financeiro / Gerencial
São sistemas que administram valores (financeiros, estoques, patrimoniais,
entre outros) utilizados na gestão do SUS. O principal objetivo da segurança
neste perfil é garantir o sigilo das informações financeiras e cadastrais de
entidades e órgãos do Sistema Único de Saúde.
Internos / de Apoio
São os sistemas de apoio e infra-estrutura do SUS ou internos e
administrativos em geral.
escopo do projeto (PMBOK 96) Trabalho que deve ser feito com a
finalidade de entregar um produto de acordo
com os aspectos e as funções especificados.
requisito de sistema (system (IEEE 90) Condição ou capacitação que deve ser
requirement) atingida ou possuída por um sistema ou
componente de sistema para satisfazer uma
condição ou capacitação requerida por um
cliente ou usuário final.
(RUP) Especificação de um comportamento do
sistema ou do seu ambiente, observável
externamente, por exemplo: entradas, saídas,
funções, atributos etc.
Rational)
Referências