sexta-feira, 18 de junho de 2010

Conceitos : Especificação de requisitos


A especificação de requisitos tem como objetivo obter produtos de software de melhor qualidade que satisfaçam às reais necessidades dos clientes dentro de prazo e orçamento adequados.

Podemos entender requisito como uma função, restrição ou propriedade que deve ser fornecida, encontrada ou atendida para satisfazer às necessidades do usuário do sistema. (Descreve um serviço ou uma limitação)

Esta comprovado : a maior parte dos problemas , os de maior impacto negativo e os mais onerosos tem origem nas etapas iniciais do desenvolvimento de software. Justamente nas etapas de especificação dos requisitos é onde as principais atividades são definidas e onde os requisitos do produto devem ser identificados e mapeados com objetividade e clareza.

Podemos dizer que as principais causas para o fracasso dos projetos de software são: especificação de requisitos mal formulada e alterações constantes nos requisitos.

Por serem atividades bases do processo de desenvolvimento de software as falhas cometidas nas atividades de definição e validação de requisitos irão originar documentos de requisitos inconsistentes afetando as etapas seguintes de projeto , implementação e testes e gerando produtos de softwares de baixa qualidade.



POSSO LEVANTAR UM REQUISITO, REALIZANDO UMA ENTREVISTA COM CLIENTE. FAZER UMA CONSULTA DE A DOCUMENTOS E PESQUISA (INTERNET).

Embora não exista um modelo padrão consagrado para gerenciar requisitos podemos definir alguns passos para um processo de especificação de requisitos :(Os processos devem ser adaptados a cada necessidade/conjuntura)

Descoberta dos requisitos - consultas , documentos, pesquisas, entrevistas;
Análise dos requisitos identificados com refinamento e detalhamento dos mesmos;
Modelagem e Validação dos requisitos verificando sua consistência (Documento de requisitos);
Acompanhamento dos requisitos;

Ao final deste processo deve-se ter um documento de requisitos bem definido e entendido por todos os intervenientes do processo: Clientes, desenvolvedores, líderes, analistas, gerentes, patrocinadores, etc.


Mas o que é especificar um requisito ?

Especificar um requisito implica em compreender exatamente o que deve ser feito e que se espera receber como resultado.
Podemos classificar os requisitos em :

Funcionais - descrevem as funcionalidades do sistema desejadas pelos clientes ou seja O QUE se espera que o software faça;

Não-funcionais - São as qualidades e restrições globais do sistema relacionados com manutenção , uso, desempenho, custo , interface, etc...



Exemplos de requisitos funcionais:

· O sistema deve possibilitar o cadastramento dos dados pessoais dos clientes;
· O sistema deve emitir relatórios gerenciais;
· O sistema deve permitir a baixa automática do estoque quando da venda de um produto;


Exemplos de requisitos não-funcionais:

· tempo de resposta do sistema não deve ultrapassar 10 segundos;
· software deve ser operacionalizado no sistema Windows;
· O banco de dados usado deverá ser o Oracle;




A Norma ISO define seis características de qualidade de software que devem ser avaliadas:

Funcionalidade (finalidade do produto);

Usabilidade (esforço para utilizar, aprender o produto);

Confiabilidade (freqüência de falhas, recuperabilidade);

Eficiência (característica relacionada ao desempenho);

Manutenibilidade (esforço necessário para modificar);

Portabilidade (capacidade de transferir o produto para outros ambientes).


Obs: "Os requisitos não-funcionais são críticos para o sucesso de sistemas de software e estão diretamente relacionados com a satisfação dos usuários. Devido a essa importância, alguns requisitos funcionais podem ser sacrificados para atender às restrições impostas pelos requisitos não-funcionais"

Nenhum comentário:

Postar um comentário