Por que eu devo ler este artigo: Este artigo trata da modelagem de sistemas de software, suas técnicas, processos e linguagens. Ainda aborda sobre a importância da documentação do software, desmistificando abordagens de mercado e indicando procedimentos, padrões e técnicas de evolução dos artefatos envolvidos no projeto. O entendimento deste assunto é útil quando se está planejando um termo de referência ou um contrato de desenvolvimento de software, ou mesmo o atendimento a um determinado projeto, devemos pensar qual será a sua estratégia de produção de artefatos e processos a serem utilizados na definição do software. Este artigo procura focar na importância da documentação de software, bem como as técnicas e linguagens utilizadas para modelagem de sistemas.

Existe um constante debate dentro da engenharia de software sobre a necessidade de documentação do sistema. Isso provavelmente advém do real objetivo do software, que seria prover funcionalidades ao usuário. A documentação do software não agrega valor ao usuário final, pois a este não interessa os pormenores internos, apenas a aplicação em si e como utilizá-la. Desta forma, torna-se cada vez mais complicado justificar aos demandantes, leigos em sua maioria, a real importância da documentação técnica.

O sucesso de um projeto de software está ligado diretamente à sua capacidade de atendimento às necessidades do usuário. O sucesso de uma empresa de software é dependente da sua capacidade de produção deste produto de software em um prazo e custo eficazes.

Sobre essa importância, podemos fazer um paralelo em relação às plantas de um imóvel. Qual o valor que ela agrega ao proprietário? Qual sua real utilidade? Apesar de não agregar valor diretamente ao imóvel, as plantas de um imóvel podem auxiliar os executores de reformas e consertos para encontrar possíveis soluções para determinado problema, bem como auxiliar na estratégia de execução do serviço. Com um software também funciona da mesma forma, sua documentação serve como um guia das estratégias futuras de desenvolvimento seja este corretivo ou evolutivo, poupando horas e horas de análise ou pior, a adoção de soluções não compatíveis com a arquitetura original.

Pressman define software como:

  • (1) instruções que quando executados proveem pretendidas função e performance;
  • (2) estrutura de dados que permitem aos programas manipular adequadamente as informações;
  • (3) informação descritiva em meio virtual ou físico que explanam a operação e o uso dos programas.

Pela definição, podemos observar que um software não se restringe somente ao programa de computador ou seus dados, mas abrange também a sua documentação. A respeito deste tema, surgiram diversos mitos da Engenharia de Software, como: "O único produto de trabalho a ser entregue para um projeto de sucesso é o programa funcionando". Sobre este mito, o programa funcionando seria apenas uma parte da configuração de software que inclui diversos elementos. A documentação provê a fundamentação para o sucesso do processo de engenharia de software e como guia para as tarefas de suporte ao produto.

Podemos então afirmar que a documentação também faz parte do produto de software, portanto, deve ser evoluído em conjunto com o sistema. Da mesma forma que uma planta deve representar o estado atual de uma determinada edificação, a documentação também deve estar atualizada, pois caso não represente fielmente a sua aplicação, esta se tornará inútil.

A configuraç ...
Quer ler esse conteúdo completo? Tenha acesso completo