Escolar Documentos
Profissional Documentos
Cultura Documentos
de Sistema
Material Teórico
Documentação de Projetos
Revisão Textual:
Profa. Dra. Patrícia Silvestre Leite Di Iório
Documentação de Projetos
• Introdução
• Modelo de documentação
Para que os objetivos da unidade sejam alcançados, é fundamental que você leia
cuidadosamente todo o material e realize com atenção todas as atividades propostas.
Nesta unidade, é importante que, durante as leituras e realização dos exercícios, você consiga
compreender a importância de se documentar os processos envolvidos no desenvolvimento
do projeto de software.
Sugerimos que você acesse e leia cuidadosamente o material teórico.
Após isso, você poderá acompanhar a Apresentação Narrada, pois ela lhe ajudará a
compreender melhor os principais assuntos da Unidade.
Outro recurso fundamental é a atividade de sistematização, já que com ela você poderá
perceber o quanto aprendeu sobre o tema.
É importante realizar a atividade de aprofundamento, que associa os assuntos que estudamos
a atividade profissional por meio de uma reflexão sobre o tema.
Além disso, você contará com textos e/ou vídeos indicados no material complementar.
5
Unidade: Documentação de Projetos
Contextualização
Documentar um projeto de software deixou de ser uma recomendação e passou a ser uma
exigência, principalmente se estivermos nos referindo ao desenvolvimento de um sistema que
envolve níveis consideráveis de complexidade.
Este procedimento deve ocorrer desde os primeiros contatos entre os analistas e
usuários/clientes, havendo o especial cuidado para que nenhuma informação importante
se perca durante todo o processo.
A documentação deverá conter descrição dos requisitos levantados junto aos usuários/
clientes. Além disso, serão descritos os modelos, técnicas empregadas, os diagramas elaborados
para melhor representar o fluxo de informações relacionado ao projeto, os códigos-fonte, a
equipe que se dedicou a este trabalho, duração, objetivos etc.
Nesta unidade, iremos abordar sobre as características de uma documentação, baseadas
em um modelo que busca atender de maneira completa a formatação do documento de
software em relação aos elementos essenciais necessários para que o usuário/cliente tenha
condições de se orientar no que diz respeito ao sistema e também para que outras pessoas,
por exemplo, desenvolvedores que não participaram do desenvolvimento ou ainda a equipe
de manutenção tenham condições suficientes para entender o sistema e executar as ações
que desejarem ou precisarem executar.
6
Introdução
Documentar o projeto de um software nem sempre é algo que os desenvolvedores mais gostam
de fazer. Geralmente, são profissionais altamente técnicos, uma vez que estão em contato com
códigos-fonte, funções, instruções etc. e assumir uma escrita que permita uma compreensão
fácil daquilo que está sendo desenvolvido não é uma tarefa simples. Além disso, existe para eles
tamanha responsabilidade referente ao desenvolvimento, pois precisam usar com grande atenção
suas habilidades para que o software consiga atender aquilo que foi exigido pelo usuário. Muitas
vezes, as empresas que projetam sistemas optam por constituir uma equipe exclusiva para a tarefa
de documentar, trabalhando muito perto dos engenheiros de software/sistema.
Os softwares serão utilizados por pessoas que não o desenvolveram. Elas, possivelmente,
terão conhecimento do que o software precisa fazer, afinal é para este fim que são levantados
os requisitos. Entretanto, é somente isso o que saberão de um sistema complexo. Além disso:
7
Unidade: Documentação de Projetos
Vantagens de se documentar:
• A gerência terá condições suficientes para fazer planejamentos, definir orçamentos e
elaborar cronogramas;
• Toda a equipe de desenvolvimento terá uma mesma linguagem, uma vez que os integrantes/
desenvolvedores conhecerão integralmente as características que descrevem o sistema.
• Os usuários do sistema poderão conhecer o software como um todo e isto será para eles um
enorme auxílio, pois características do sistema que não são tão simples, ou telas carregadas
de botões e/ou informações estarão detalhadas em termos de demonstração de uso.
8
Como já é de nosso conhecimento, o ciclo de vida de um software é descrito conforme figura abaixo:
9
Unidade: Documentação de Projetos
Modelo de Documentação
A pergunta que deve passar pela sua mente neste momento é: como documentar um
projeto de software?
Na verdade, não existe uma regra que determina como deve ser elaborada ou estruturada a
documentação de software, porém alguns modelos podem ser consultados e utilizados para se
evitar falta de qualquer tipo de informação relevante acerca do sistema.
I Escopo.
1) Objetivos do sistema.
2) Hardware, software e interfaces humanas.
3) Importantes funções de software.
4) Bancos de dados externamente definidos.
5) Limitações e restrições importantes do projeto.
II Documentação de referência.
1) Documentação de software existente.
2) Documentação do sistema.
3) Documentos de fornecedor de hardware e de software.
4) Referência técnica.
10
III Descrição de projeto.
1) Descrição de dados.
a) Revisão do fluxo de dados.
b) Revisão da estrutura de dados.
2) Estrutura de programa derivada.
3) Interfaces dentro da estrutura.
IV Módulos – para cada módulo:
1) Narrativa de processamento.
2) Descrição da interface.
3) Descrição da linguagem de projeto (ou outra).
4) Módulos usados.
5) Organização de dados.
6) Comentários.
V Estrutura de arquivos e dados globais.
1) Estrutura de arquivos externos.
a) Estrutura lógica.
b) Descrição de registro lógico.
c) Métodos de acesso.
2) Dados globais.
3) Referência cruzada de arquivos e dados.
VI Referência cruzada dos requisitos.
VII Provisões de teste.
1) Diretrizes de teste.
2) Estratégia de integração.
3) Considerações especiais.
VII Empacotamento.
1) Provisões especiais para overlay de programa.
2) Considerações sobre transferência.
IX Notas especiais.
X Apêndices.
Tabela 1: Esboço de documentação segundo Pressmann (1995, p. 476)
11
Unidade: Documentação de Projetos
A autora indica ainda, baseada em Mathsoft (1995, apud PFLEEGER, 2004, p. 372), um
exemplo de configuração de teclado para edição na linha de comando:
12
Não se pode esquecer da definição do banco de dados que será utilizado, bem como do
sistema que irá gerenciá-lo para que haja interação com outros sistemas utilizados pelo usuário.
Além disso, deve constar informações sobre fornecedores de hardware e software e também
seus respectivos manuais.
Os Módulos, da etapa IV, são estruturas de programação que fazem parte do código geral
do programa, porém são independentes em suas ações. Denominadas muitas vezes de funções,
procedimentos ou sub-rotinas que são executadas pelo programa sempre em resposta a uma
ação do usuário ou solicitação do sistema.
A interface gerada por estes módulos também deve ser detalhada objetivando o esclarecimento
sobre as funcionalidades do software como um todo.
13
Unidade: Documentação de Projetos
A estrutura do código pode se tornar mais clara, se utilizarmos o recuo e reorganizarmos o espaço:
14
Com relação aos comentários, o autor continua descrevendo o exemplo abaixo:
void free_store_empty()
{
static internet i = 0;
if (i++ == 0)
// alerta contra erro
cerr << “out of memory\n”; // na alocação de memória
abort(); // diz ao usuário, desiste.
}
Em Referência cruzada dos requisitos, na etapa VI, é uma maneira de documentar como os
objetivos dos usuários, em relação ao sistema, estão sendo atendidos.
Módulo C
Módulo A
Módulo B
Módulo Z
...
Parágrafo 3.1.1 X X
Parágrafo 3.1.2 X X
Parágrafo 3.1.3 X
...
Parágrafo 3.m.n X X
Tabela 3: Referência cruzada de requisitos (PRESSMAN, 1995, p. 478).
Podemos, deste modo, perceber que as inscrições do tipo parágrafo (parágrafo 3.1.1,
parágrafo 3.1.2 etc.) são os itens que descrevem cada um dos requisitos levantados na primeira
fase de desenvolvimento do projeto de software. Tais requisitos estão associados a, pelo menos,
15
Unidade: Documentação de Projetos
um módulo devidamente descrito. Assim, entende-se que um determinado requisito está sendo
atendido por certo procedimento existente na programação do software.
A etapa VII, Provisões de teste, descreve diretrizes que ajudarão os profissionais que
trabalharão diretamente com o software a realizar testes no sistema. Tais diretrizes auxiliarão
na captação de possíveis defeitos. Nesta seção são apresentadas também as estratégias de
integração do sistema como um todo, ou seja, de que forma o software projetado se “comunica”
com o sistema gerenciador de banco de dados, por exemplo.
Empacotamento é a definição da etapa VIII. A respeito do empacotamento, Pressman
(1995, p. 477) esclarece:
Nesta etapa, são descritas as possíveis restrições que o software poderá ter, com respeito à
capacidade de alocação em memória, vulnerabilidade, considerações sobre transferência ou
compatibilidade com outros sistemas e/ou aplicativos.
As etapas IX e X, Notas especiais e Apêndice, são utilizadas para anexos de documentos
extras, ou seja, informações complementares relacionados ao sistema, como por exemplo, um
manual de instalação do sistema.
Exemplo básico de parte de uma documentação, baseado em Guedes
(2009, pp. 373 a 385).
16
Diagramas de caso de uso, assim como diversos outros diagramas, são descritos em uma
documentação de sistema.
• Tabelas de referência aos diagramas de caso de uso.
Fluxo secundário
17
Unidade: Documentação de Projetos
18
Material Complementar
19
Unidade: Documentação de Projetos
Referências
MATHSOFT. S-PLUS. User´s manual, version 3.3 for Windows. Seattle, WA: Mathsoft
Corporation, 1995. In: PFLEEGER, S. L. Engenharia de software: teoria e prática. São
Paulo. Prentice Hall, 2004.
PFLEEGER, S. L. Engenharia de software: teoria e prática. São Paulo. Prentice Hall, 2004.
20
Anotações
21
22
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000