Buscar

A Importância da Documentação de Software

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Documentação
- Necessidade ou preciosismo? A documentação de software mesmo sendo o carma de qualquer desenvolvedor, é extremamente necessária e auxilia na redução de horas preciosas na correção de problemas. 
A documentação de software
 A documentação de um software é composta por várias partes diferentes que abrangem todo o sistema e pode ser dividida em dois grandes grupos: documentação técnica e documentação de uso. A primeira é voltada ao desenvolvedor ou pessoa de TI e compreende principalmente dicionários e modelos de dados, fluxogramas de processos e regras de negócios, dicionários de funções e comentários de código. Já a documentação de uso é voltada tanto para o usuário 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 informações que se deseja.
Documentação, o que é?
-A primeira parte (técnica) é, para o desenvolvedor, a mais simples pois literalmente descreve seu trabalho e também é utilizada pelo mesmo como ferramenta para o desenvolvimento de um bom código. 
-Já a segunda costuma ser um martírio pois a redação de manuais, inserção de screenshots, desenhos e outros elementos gráficos não é aquilo que podemos considerar como skill deste profissional (são raros os que possuem).
As ferramentas para documentação
Aproveitando a divisão da documentação em duas grandes áreas, vamos conhecer suas partes e algumas ferramentas que ajudam e/ou facilitam aqueles que tem pela frente a tarefa de gerar documentação de sistemas.
-Modelos de dados
-Dicionário de dados
-Fluxogramas
-Documentação de código
 Modelos de dados
Modelos de dados são aquelas folhas com várias caixinhas das tabelas de um banco de dados interligadas e que muitas vezes somente são utilizadas para decoração de escritórios. Mas longe de ser um quadro ou pôster, o modelo de dados reflete de uma forma gráfica (e lógica) a base de dados de um sistema, seus relacionamentos, entidades, chaves e tudo aquilo que é referente aos dados em si.
 Fluxogramas
Tão antigos quanto a computação, os fluxogramas apresentam graficamente a sequência lógica das informações de um processo ou sistema, utilizando para isso vários elementos de geometrias diferentes que indicam cada uma das partes do processo. Sua importância, mesmo deixada de lado, é grande pois a partir dele (e conjuntamente com o modelo e dicionário de dados), inicia-se o projeto de um sistema eficiente e bem desenvolvido.
Dicionário de dados
Como o próprio nome sugere, o dicionário de dados nada mais é que um arquivo ou documento que define a organização básica dos dados do banco. Nele são informadas as tabelas, os campos, suas definições, tipos e descrições (para que serve este campo?). Um exemplo simples de um dicionário de dados pode ser visto a seguir:
Campo
Tipo
Tamanho
Propriedades
Descrição
id_cadastro
Int
5
Auto-increment
ID do registro do cadastro
na_nome
Varchar
50
Not Null
Nome do dono da empresa
na_empresa
Varchar
50
Null
Nome da empresa
ad_email
Varchar
75
Not Null
Endereço de e-mail principal
nu_fone
Varchar
14
Not Null
Telefone de contato
Documentação de código
Para muitos, a parte mais chata. Para outros, a mais importante. A documentação de código é feita basicamente de duas formas: comentários dentro do próprio código e geração de documentação online (ou física).
No primeiro caso normalmente o desenvolvedor acredita que sua memória nunca irá falhar e que somente ele irá colocar a mão no sistema, deixando de documentá-lo e gerando problemas gigantescos para si e para outros profissionais.
$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) {
Os desafios associados com um mutável natureza fazem trabalho do ambiente de trabalho reais são tão para o campus como em outros lugares. A mudança rápida exige uma força de trabalho capacitada conhecedor com funcionários que são adaptáveis​​, flexíveis e voltados para o futuro. A mudança rápida exige uma força de trabalho capacitada conhecedor com funcionários que são adaptáveis​​, flexíveis e voltados para o futuro.. 
Suporte e treinamento
 
Uma grande porcentagem dos projetos de software falham pelo fato de o desenvolvedor não perceber que não importa quanto tempo a equipe de planejamento e desenvolvimento irá gastar na criação do software se ninguém da organização irá usá-lo. As pessoas ocasionalmente resistem à mudança e evitam aventurar-se em áreas pouco familiares. Então, como parte da fase de desenvolvimento, é muito importante o treinamento para os usuários de software mais entusiasmados, alternando o treinamento entre usuários neutros e usuários favoráveis ao software. Usuários irão ter muitas questões e problemas de software os quais conduzirão para a próxima fase.
•	Taxas de erros e defeitos;
•	Mudanças nos requisitos e especificações de desenvolvimento;
•	Produtividade;
•	Aderência ao tempo determinado para cada tarefa;
•	Aderência aos gastos previstos.
Desenvolvimento
Manutenção
A manutenção e melhoria de software lidam com a descoberta de novos problemas e requisitos. Ela pode tomar mais tempo que o gasto no desenvolvimento inicial do mesmo. Não somente pode ser necessário adicionar códigos que combinem com o projeto original, mas determinar como o software trabalhará em algum ponto depois da manutenção estar completa, pode requerer um significativo esforço por parte de um engenheiro de software. Cerca de ⅔ de todos os engenheiros de software trabalham com a manutenção, mas estas estatísticas podem estar enganadas. Uma pequena parte destes trabalha na correção de erros. A maioria das manutenções é para ampliar os sistemas para novas funcionalidades, as quais, de diversas formas, podem ser consideradas um novo trabalho. Analogamente, cerca de ⅔ de todos os engenheiros civis, arquitetos e construtores trabalham com manutenção de uma forma similar.
Suporte
•	Responsabilidade sobre as necessidades do usuário;
•	Frequência com que o usuário necessita de mudanças.
•	Geral
•	Custo de baixa qualidade.
Implementar o programa técnico
Toda empresa de software, grande ou pequena, deve possuir um ciclo de vida para o desenvolvimento do produto. Muitos tipos de ciclo de vida têm sido implementados e testados para atender a determinadas circunstâncias.
A empresa deverá adotar um ciclo de vida e, então adequá-lo às suas necessidades.
O ciclo de vida é dividido em etapas. Em cada etapa poderá ser feito uma revisão do que já foi feito e rever o que vai ser feito na próxima etapa.
Desenvolver procedimentos e padrões
Algumas empresas trabalham com o máximo possível de procedimentos e padrões definidos rigorosamente.
É comum aos desenvolvedores não se acostumarem facilmente com estes novos padrões. No caso da empresa estar implantando pela primeira vez um sistema de qualidade, os desenvolvedores estarão sujeitos a não aceitarem o que foi dito e a empresa vai demorar muito tempo tentando conscientizá-las.
Caso a empresa venha implantar novos procedimentos e padrões, eles devem ser feitos de maneira gradual. Se implementar tudo de uma vez, a resistência será maior e a empresa poderá perder por causa disto.
Selecionar métodos e ferramentas
Os métodos e ferramentas a serem utilizados devem ser padronizados. Esta padronização deverá levar em consideração dicas dos desenvolvedores e diretores que estão envolvidos diretamente com o processo de desenvolvimento do software.
Estes devem ser utilizados em todos os projetos da empresa e ter uma variação pequena de um projeto para outro.
Aconselha-se que as ferramentas de desenvolvimento devem ser de
um mesmo fornecedor para evitar conflitos, atrasos, defeitos inesperados e correções mal feitas para se adaptar as ferramentas diversas ao sistema.
Programa de métricas e medidas de software
É dito que, se você não pode medir, então você não pode gerenciar.
Esta frase pode não estar muito certa, mas se a empresa conseguir “medir” a funcionalidade e a qualidade de seu produto e dos concorrentes, poderá saber se o seu produto está melhor ou pior do que o outro.
Neste caso, as medidas são muito importantes.
 Quando adotado nas empresas, elas procuram as medidas que devem:
•	Refletir os requisitos ou processos dos clientes que direcionam a escolha de pré-requisitos: qualidade não pode ser melhorada otimizando medidas que não relatam as necessidades dos clientes;
•	Ser claramente definida. Todos os resultados e medidas devem estar utilizando as mesmas medidas;
•	Não utilizar ferramentas caríssimas para coletar dados: às vezes, é melhor coletar dados de uma maneira mais fácil e barata e obter ótimos resultados do que utilizar de ferramental caro e obter dados que não são concisos e não obter resultados satisfatórios;
As medidas podem ser utilizadas tanto no projeto quanto nos processos para diferentes propósitos, por exemplo:
•	Na fase de projeto, identificar componentes não usuais para um estudo mais detalhado ( componentes que são mais fáceis de darem erros ou defeitos);
•	No nível de processos: calibrar uma estimativa do modelo, comparar o uso de diferentes ferramentas e métodos em diferentes projetos, monitorar os avanços progressivos;
Garante que as políticas e programas de facilitar o desenvolvimento contínuo da equipe. 
Toma a iniciativa de avaliar habilidades e interesses e procurar atividades de desenvolvimento que as necessidades de fósforo, trabalha com você para identificar os objetivos de formação e desenvolvimento, toma uma iniciativa de avaliar habilidades de interesses eletrônicos, procura atividades de desenvolvimento que atendam necessidades que trabalha com voce, o parágrafo identifica objetivos de formação e desenvolvimento.
Uma grande necessidade da empresa que vai melhorar a qualidade do serviço que ela presta está em treinar o seu pessoal para eles terem consciência do que estão fazendo e conhecer todo o processo da empresa para saberem de suas necessidades e dos outros.
Este treinamento não consiste em treinas as pessoas apenas para receberem novas ferramentas. Elas devem ser treinadas em qualidade, processos novos e antigos, em comunicação, em novas ferramentas e em muitas outras que devem ser especificadas pela empresa de acordo com a necessidade do funcionário e da própria empresa.
Treinamento
O empregado
A Instituição
14
Desenvolvimento de Carreira
Desenvolvimento de carreira é a aquisição em curso ou refinamento de habilidades e conhecimentos, incluindo o domínio de emprego e desenvolvimento profissional, juntamente com atividades de planejamento de carreira. Desenvolvimento de carreira e a aquisição em curso ou refinamento de conhecimentos e habilidades , incluíndo o dominio de emprego e desenvolvimento profissional, juntamente com atividades de planejamento de carreira. Habilidades maestria do trabalho são aquelas que são necessárias para executar com êxito um posto de trabalho. Habilidades maestria do trabalho são aquelas, que são necessárias para executar com êxito um posto de trabalho. Desenvolvimento de competências profissionais são as habilidades e conhecimentos que vão além do âmbito da descrição do empregado do trabalho, embora possam indirectamente melhorar o desempenho no trabalho. Desenvolvimento de competências profissionais são como conhecimentos ,habilidades e eletrônicos , que vão além fazer âmbito da descrição do empregado do trabalho, embora possam melhorar o desempenho indirectamente sem trabalho.
Princípios Orientadores 
- Informações atuais sobre a organização e como tendências futuras ajuda os funcionários criar metas de desenvolvimento mais realistas de carreira.
- Concentre-se no desenvolvimento de habilidades, que contribui para oportunidades de aprendizagem .
- O maior sentido de responsabilidade para o gerenciamento de carreira própria, contribui para a auto – confiança .
- Planejamento de carreira e desenvolvimento esclarece o Jogo entre os objetivos organizacionais e indivíduos dos trabalhadores.
Melhorias continua
 Com a dinâmica da economia moderna, as organizações têm que estar preparadas para enfrentar com o menor impacto possível as frequentes mudanças que ocorrem. Em um mercado competitivo e em constante evolução, as empresas que não tiverem um diferencial como fator determinante em sua estratégia não sobreviverão.
 As organizações buscam a melhoria contínua: melhor qualidade do produto final ou serviço, melhor qualidade do trabalho e dos processos executados e melhor exploração do seu negócio.
Buscando sempre melhora
 Empresas devem buscar maneiras de se tornar competitivas, de obter maior proximidade com seus clientes, maior satisfação interna e externa, melhor desempenho financeiro e menor tempo para absorção de mudanças. Para isto, deve haver sistemas que agilizem e otimizem o processamento de informações e o fluxo de trabalho da organização.
competitividade
 A melhora da qualidade dos processos, dentro de cada instituição, começa com a elaboração de um diagnóstico que permita, com base nos seus resultados, desenhar um plano de melhoramento que oriente as mudanças necessárias para aperfeiçoar os processos de gestão.
Podemos dividir o processo de melhoramento contínuo em 5 pedaços: 
 
-Identificação do problema
-avaliação de alternativas de solução
-desenvolvimento da solução escolhida 
-Implantação da solução 
-feedback
Melhora da Qualidade
Metas de Qualidade
 As metas estratégicas de qualidade têm aplicação geral no desempenho do produto, no desempenho competitivo, no melhoramento da qualidade, no custo da má qualidade e
no desempenho de processos importantes. Os altos gerentes devem se tornar uma fonte de sugestões para metas estratégicas de qualidade. As metas de qualidade devem ser baseadas no mercado, no desempenho histórico e em avanços planejados. Estas metas
devem estar sempre mudando, para corresponder às constantes mudanças. A alta gerência deve estar atenta quanto aos desmembramento de metas que envolvem.
http://portal.crie.coppe.ufrj.br/portal/data/documents/storedDocuments/%7B93787CAE-E94C-45C7-992B-9403F6F40836%7D/%7B3E2009D6-6C05-4773-A355-07C4617E954A%7D/Tese-Mestrado-Giselle-Chermont.pdf - 14/03/2012 – 20:34
http://imasters.com.br/artigo/17753/desenvolvimento/o-dilema-da-documentacao-no-processo-de-desenvolvimento-de-software 12/03/2012 – 21:45
http://translate.google.com.br/translate?hl=pt-BR&langpair=en%7Cpt&u=http://ucsfhr.ucsf.edu/index.php/pubs/hrguidearticle/chapter-11-employee-development-training/ 12/03/2012 – 22:20
BIBLIOGRAFIA
SANDERS, Joc e CURRAN, Eugene. Software Quality. AddisonWesley, 1994. 
21:07 - 13/03/2012

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais