Professional Documents
Culture Documents
Documentao, o que ?
A documentao de um software composta por vrias partes diferentes que abrangem
todo o sistema e pode ser dividida em dois grandes grupos: documentao tcnica e
documentao de uso. A primeira voltada ao desenvolvedor ou pessoa de TI e
compreende principalmente dicionrios e modelos de dados, fluxogramas de processos
e regras de negcios, dicionrios de funes e comentrios de cdigo. J a
documentao de uso voltada tanto para o usurio final quanto para o administrador
do sistema e comumente formada por apostilas ou manuais que apresentam como o
software deve ser usado, o que esperar dele e como receber as informaes que se
deseja.
A primeira parte (tcnica) , para o desenvolvedor, a mais simples pois literalmente
descreve seu trabalho e tambm utilizada pelo mesmo como ferramenta para o
desenvolvimento de um bom cdigo. J a segunda costuma ser um martrio pois a
redao de manuais, insero de screenshots, desenhos e outros elementos grficos no
aquilo que podemos considerar como skill deste profissional (so raros os que
possuem).
Ambas podem ser criadas em vrios formatos de visualizao tais como pginas HTML,
documentos PDF, apresentaes, vdeos ou ainda arquivos texto. A forma de
apresentao no importa. O importante saber que para cada tarefa existe uma
ferramenta certa, inclusive para a documentao de sistemas em qualquer nvel de
complexidade ou necessidade e que precisa ser feita, de uma forma ou de outra.
Tipo
id_cadastro Int
na_nome
Varchar 50
Autoincrement
ID do registro do
cadastro
Not Null
Nome do dono da
empresa
na_empresa Varchar 50
Null
Nome da empresa
ad_email
Varchar 75
Not Null
Endereo de e-mail
principal
nu_fone
Varchar 14
Not Null
Telefone de contato
Fluxo de documentao
Para criar fluxogramas, as mais conhecidas ferramentas so: DIA e o OpenModeling,
ambas disponveis em vrias plataformas e livres.
Documentao de cdigo
Para muitos, a parte mais chata. Para outros, a mais importante. A documentao de
cdigo feita basicamente de duas formas: comentrios dentro do prprio cdigo e
gerao de documentao online (ou fsica).
No primeiro caso normalmente o desenvolvedor acredita que sua memria nunca ir
falhar e que somente ele ir colocar a mo no sistema, deixando de document-lo e
gerando problemas gigantescos para s e para outros profissionais. Um conjunto de
cometrios bem feito to importante quanto uma lgica bem estudada. Funes,
constantes, incluso de arquivos, campos de tabelas e outros elementos sempre
proliferam de forma exponencial dentro do sistema, o que leva na maioria das vezes o
desenvolvedor a simplesmente criar novos remendos com constantes adicionais ou
variveis novas, pois no se recorda onde est aquela funo que formata determinado
campo (quem no passou por isso?).
Um pequeno exemplo de um cdigo bem comentado pode ser visto a seguir:
$database->setQuery( $query );
$rows = $database->loadObjectList();
// establish the hierarchy of the menu
$children = array();
// first pass collect children
if ($rows) foreach ($rows as $v ) {
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push( $list, $v );
$children[$pt] = $list;
}
// second pass get an indent list of the items
$list = mosTreeRecurse( 0, , array(), $children, max( 0, $levellimit-1 ) );
// eventually only pick out the searched items.
if ($search) {
Observe que no so necessrias dezenas de linhas de comentrios para compreender o
que determinada rea do sistema executa. Mas se estas simples linhas forem deixandas
de lado, alm de gerar um gasto desnecessrio de horas procura de erros, aumenta-se o
nvel de estresse de todos que iro mexer no cdigo e principalmente de quem paga por
ele.
Para a criao de documentao de cdigo online so utilizadas ferramentas que,
baseadas nos comentrios existentes dentro do cdigo, permitem a gerao de
documentos que efetivamente explanam o sistema de forma macro, relacionando
arquivos que so includos em outros, funes, seus parmetros e retornos, constantes e
uma infinidade de informaes que auxiliam qualquer desenvovedor a compreender o
que aquele monstro nascido de suas mos.
Mas isto assunto para a prxima parte do artigo.
Tags:documentao, programao, projeto, software