Documentação de Software
Alexandre Vasconcelos ([email protected])
© 2002, Centro de Informática
Universidade Federal de Pernambuco
Objetivos


Descrever o tipo de documentação que deve
ser produzida no desenvolvimento de software
Dar dicas sobre estilos de escrita
Tópicos

Classificação de documentos

Qualidade de documentos

Preparação de documentos
Contexto



Qualquer software deve ter uma quantidade razoável
de documentação

Documentos de trabalho

Manuais de usuário produzidos profissionalmente
Em geral, a maioria destes documentos é produzida
por engenheiros de software
Uma parte considerável dos custos de um projeto pode
ser gasta com documentação
Usos da Documentação

Meio de comunicação entre os membros de um grupo
de desenvolvimento

Informações para as pessoas que venham a fazer
manutenção no sistema

Informações para a gerência de modo a ajudar a
planejar, fazer o orçamento e o cronograma.

Informações para ensinar aos usuários como utilizar e
administrar o sistema
Tipos de Documentação

Documentação do processo
É produzida para que o processo de desenvolvimento
do software seja administrável
 Registram os processos de desenvolvimento e
manutenção do software


Documentação do produto
Descreve o software que está sendo desenvolvido
 É muito utilizada depois que o sistema é
implementado, mas é essencial também para a
administração do processo de desenvolvimento

Documentação do Processo Categorias

Planos, estimativas, e cronogramas
Produzidos por gerentes
 Usados para prever e controlar o processo.


Relatórios


Descrevem como os recursos foram utilizados durante
o desenvolvimento do software
Padrões
Estabelecem como o processo deve ser implementado
 Podem ser organizacionais, nacionais, ou
internacionais

Documentação do Processo Categorias

Memorandos, comunicações, mensagens eletrônicas


Registram as comunicações entre gerentes e
engenheiros de software
Documentos técnicos de trabalho
Registram as idéias e pensamentos dos engenheiros
de software.
 Descrevem estratégias de implementação.
 Registram problemas já identificados.
 Especificam as razões para as decisões de projeto.

Documentação do Produto

Descreve o software produzido

Tem vida longa e deve estar sempre atualizada em
relação ao código

Divide-se em:

Documentação do usuário

Documentação do sistema
Documentação do Usuário

Deve levar em conta os diversos tipos de usuários.
Exemplo:

Usuários finais
Usam o software para auxiliá-los em alguma tarefa
 Não estão interessados em detalhes técnicos ou
administrativos.


Administradores do sistema


Responsáveis pela administração do software
Ex: operadores, gerentes de rede, etc.
Documentação do Usuário


Descrição funcional do sistema

Requisitos gerais do sistema

Serviços fornecidos por ele
Manual de introdução

Apresenta uma introdução informal do sistema e
descreve seu uso normal

Deve explicar como começar a usar o sistema e como os
usuários podem utilizar as facilidades oferecidas pelo
sistema
Documentação do Usuário

Manual de referência
Informações concisas das principais funções do
sistema e como utilizá-las
 Fornece uma lista das mensagens de erro mais
comuns e descreve como agir quando os erros
ocorrerem
 Deve ser completo e técnicas de descrição formal
podem ser utilizadas


Documento de instalação
Descreve como instalar o sistema
 Especifica a plataforma mínima necessária à sua
instalação

Documentação do Usuário

Manual do administrador do sistema.


Informações relevantes para uma boa administração do
sistema
Ajuda on-line
Documentação do Usuário
System
evaluators
Functional
description
Description of
services
System
administrators
Novice
users
Experienced
users
System
administrators
Installation
document
Introductory
manual
Reference
manual
Administrator’s
guide
How to install
the system
Getting
started
Facility
description
Operation and
maintenance
Documentação do Sistema

Descreve a implementação do sistema, desde a
especificação dos requisitos até o plano de testes

É importante que seja estruturada com overviews
levando a especificações mais detalhadas e formais de
cada aspecto do sistema

Infelizmente, a manutenção da documentação
atualizada é freqüentemente negligenciada.
Documentação do Sistema





Documento de requisitos
Descrição da arquitetura do sistema
Descrição da arquitetura de cada um dos programas
Listagens do código fonte dos programas
Documentos de validação, descrevendo
Como cada programa é validado
 Como estas informações se relacionam com os
requisitos


Guia de manutenção
Problemas já identificados
 Partes do sistema que são dependentes do hardware
e software utilizados

Documentação do Código

Pode ser extremamente útil para melhorar
(facilitar) o entendimento dos programas:
 Escolha
de nomes
 Organização
 Comentários
visual
Escolha de Nomes

Os nomes devem ser significativos em relação ao que
eles representam.

Identificadores maiores melhoram a compreensão dos
programas, mesmo em programas pequenos.

Identificadores grandes demais dificultam sua digitação
e podem se tornar uma fonte de erros.
Organização Visual

Maneira como o código aparece na tela do computador
ou em uma listagem

Os padrões de boa codificação mais aceitos incluem

Um único comando por linha

Espacejamento entre os componentes dos comandos

Indentação
Comentários

Devem ser usados para explicar o que o
software faz, ao invés de como ele faz

Duas formas de comentários são mais comuns
 Comentários
em forma de prólogo
 Comentários
funcionais
Comentários em Forma de Prólogo


Aparecem no início de cada módulo
Formato
Declaração de propósitos
 Descrição da interface com outros módulos





Forma de uso
Quais os módulos subordinados
etc.
Pequena descrição dos dados, variáveis, limitações de
uso, e quaisquer outras informações que sejam
importantes
Comentários em Forma de Prólogo
 Histórico
do seu desenvolvimento
O nome do autor
 A data em que foi criado
 Para cada uma das modificações feitas no
módulo

• O nome do revisor
• A data de alteração
• Uma descrição da alteração.
Comentários Funcionais




Encontram-se embutidos no código fonte
Descrevem as funções de processamento
Devem fornecer algo a mais do que simplesmente
parafrasear o código
Bons comentários
Descrevem blocos de código ao invés de comentar
cada uma das linhas
 Usam linhas em branco e indentação para que o texto
dos comentários seja facilmente identificável
 São corretos

Qualidade dos Documentos



A qualidade da documentação é tão importante
quanto a qualidade do código.
A maioria das empresas ainda não dá a necessária
atenção à documentação, visando a produção de
documentos bem escritos.
A maioria dos documentos de sistemas de software
reais são
Mal-escritos
 Difíceis de entender
 Incompletos
 Desatualizados

Qualidade dos Documentos

Aspectos importantes para se conseguir
produzir bons documentos incluem:
 Planejamento
 A existência
(ou projeto) dos documentos
de padrões a serem seguidos
 Procedimentos
de garantia de qualidade
Padrão do Processo de
Documentação

Procedimentos de desenvolvimento

Ferramentas

Procedimentos de qualidade

Flexíveis para lidar com todos os tipos de documentos

Não são necessários para documentação informal
Padrão de Documentação


Aplicam-se a todos os documentos (de um projeto)

Identificação

Estrutura

Apresentação

Indicação de mudanças
É interessante que cada empresa tenha um estilo
uniforme
Estilo de Escrita



Padrões e revisões não são suficientes
O estilo do escritor é crucial para a qualidade da
documentação
Diretrizes
Correção gramatical
 Sentenças e parágrafos curtos
 Concisão
 Precisão
 Repetição de conceitos complexos
 Seções, sub-seções, e listas

Pontos Principais

Documentação tem vários usos técnicos e gerenciais

Documentação pode ser de processo ou de produto

Qualidade da documentação depende de


Planejamento

Padronização

Medidas de qualidade

Estilo de escrita
Produzir bons documentos não é nem fácil, nem
barato!
Download

documentacao