Você está na página 1de 8

Renato Cardoso Mesquita

Departamento de Eng.
Eltrica da UFMG
renato@cpdee.ufmg.br

Engenharia de Software

3. Engenharia dos
requisitos de software
. . . . . . . . . .

3.1. Viso Geral

O fluxo de Requisitos rene as atividades que visam a obter o


enunciado completo, claro e preciso dos requisitos de um
produto de software.
Os requisitos devem ser levantados pela equipe do projeto, em
conjunto com representantes do cliente, usurios chaves e
outros especialistas da rea de aplicao.
O conjunto de tcnicas empregadas para levantar, detalhar,
documentar e validar os requisitos de um produto forma a
Engenharia de Requisitos. O resultado principal do fluxo dos
requisitos um documento de Especificao de Requisitos de
Software (ERSw).
Uma boa Engenharia de Requisitos um passo essencial para
o desenvolvimento de um bom produto.
Engenharia dos requisitos de Software 2

Este captulo descreve de forma detalhada:


as atividades do fluxo de Requisitos do Praxis;
tcnicas para a obteno de requisitos de alta qualidade.
Requisitos de alta qualidade so claros, completos, sem
ambigidade, implementveis, consistentes e testveis. Os
requisitos que no apresentem estas qualidades so
problemticos: eles devem ser revistos e renegociados com os
clientes e usurios.

3.2. A especificao dos requisitos de


software

3.2.1 Natureza
A Especificao dos Requisitos do Software o documento
oficial de descrio dos requisitos de um projeto de
software.
Ela pode se referir a um produto indivisvel de software, ou
a um conjunto de componentes de software, que formam
um produto quando usados em conjunto (por exemplo, um
mdulo cliente e um mdulo servidor).
As caractersticas que devem estar contidas na
Especificao dos Requisitos do Software incluem:
Funcionalidade: O que o software dever fazer?
Interfaces externas: Como o software interage com as
pessoas, com o hardware do sistema, com outros
sistemas e com outros produtos?
Desempenho: Quais a velocidade de processamento, o
tempo de resposta e outros parmetros de desempenho
requeridos pela natureza da aplicao?
Outros atributos: Quais as consideraes sobre
portabilidade, manutenibilidade e confiabilidade que
devem ser observadas?
Engenharia dos requisitos de Software 3

Restries impostas pela aplicao: Existem padres e


outros limites a serem obedecidos, como linguagem de
implementao, ambientes de operao, limites de
recursos etc.?

3.2.2 Elaborao
A Especificao dos Requisitos do Software deve ser
escrita por membros da equipe de desenvolvimento de um
projeto, com a participao obrigatria de um ou mais
usurios chaves do produto em pauta.
O usurio chave aquele que indicado pelo cliente como
pessoa capacitada a definir requisitos do produto;
normalmente, os usurios chaves so escolhidos entre
profissionais experientes das diversas reas que usaro o
produto.
Geralmente, nem desenvolvedores nem clientes ou usurios
so qualificados para escrever por si ss a Especificao
dos Requisitos do Software, porque:
os clientes nem sempre entendem os processos de
desenvolvimento de software em grau suficiente para
produzir uma especificao de requisitos de
implementao vivel;
os desenvolvedores nem sempre entendem a rea de
aplicao de forma suficiente para produzir uma
especificao de requisitos satisfatria.

3.2.3 Ambiente
Um software pode conter toda a funcionalidade necessria
ao cliente, ou ser parte de um sistema maior.
No caso de uma Especificao dos Requisitos do Software
relativa a um software que parte de um sistema maior, os
requisitos de nvel de sistema podem ser contidos em um
dos seguintes documentos:
um documento de Especificao de Requisitos de
Sistema;
Engenharia dos requisitos de Software 4

um documento de definio de produto;


uma proposta de projeto de sistema.
A Especificao dos Requisitos do Sistema. definir os
requisitos aplicveis ao sistema como um todo.
Durante o desenvolvimento dos requisitos de sistema, os
grupos participantes devem definir quais caractersticas dos
requisitos so crticas, do ponto de vista dos clientes e
usurios.
Devem tambm estabelecer critrios de aprovao para
cada componente do sistema que um grupo deva fornecer a
outros grupos.

3.2.4 Evoluo
Os requisitos de um produto podem alterar-se ao longo de
seu desenvolvimento, por diversos motivos:
descoberta de defeitos e inadequaes nos requisitos
originais;
falta de detalhes suficientes nos requisitos originais;
alteraes incontornveis no contexto do projeto (por
exemplo, mudanas de legislao).
Todo esforo deve ser feito para que a Especificao dos
Requisitos do Software seja to completa quanto possvel.
Segundo o paradigma SW-CMM, uma organizao
considerada madura na gesto de requisitos de software
deve atingir as seguintes metas.
Os requisitos de software so controlados para
estabelecer uma base para as atividades gerenciais e de
engenharia de software, dentro de um projeto.
Os planos, resultados, produtos e atividades de software
so mantidos consistentes com os requisitos de software.

3.2.5 Limites
Engenharia dos requisitos de Software 5

Normalmente, a Especificao dos Requisitos do Software


no deve incluir decises de desenho e implementao,
nem aspectos gerenciais de projeto.
Uma exceo o caso em que estes aspectos so restries
definidas pelo cliente. Por exemplo, este pode definir que
sero usadas determinadas linguagens de programao,
determinados componentes ou determinadas plataformas de
bancos de dados.
Por isso, a Especificao dos Requisitos do Software
dever satisfazer os seguintes critrios.
Definir completa e corretamente todos os requisitos do
produto do software. Requisitos podem existir em
virtude da natureza do problema a ser resolvido, ou em
virtude de outras caractersticas especficas do projeto.
No descrever qualquer detalhe de desenho ou de
implementao. Estes devem ser descritos nos modelos e
documentos produzidos pelos respectivos fluxos.
No descrever aspectos gerenciais do projeto, como
custos e prazos. Estes devem ser especificadas em outros
documentos, tais como o Plano de Desenvolvimento do
Software ou o Plano da Qualidade do Software.
O que parte do desenho, e no devem figurar na
Especificao dos Requisitos do Software?
partio do produto em mdulos;
alocao de funes aos mdulos;
fluxo de informao entre mdulos;
estruturas internas de dados.
Os requisitos a seguir so considerados requisitos
gerenciais do projeto, e no devem ser includos na
Especificao dos Requisitos do Software:
custo;
cronograma de entregas;
relatrios requeridos;
mtodos requeridos de desenvolvimento;
Engenharia dos requisitos de Software 6

procedimentos de controle da qualidade;


critrios de verificao e validao.

3.3. Qualidade dos requisitos


3.3.1 Caractersticas de qualidade

Para servir de base a um produto de boa qualidade, a


prpria Especificao de Requisitos deve satisfazer uma
srie de caractersticas de qualidade.
Uma Especificao de Requisitos deve ser:
Correta - Todo requisito presente realmente um
requisito do produto a ser construdo.

Precisa - Todo requisito presente possui apenas uma


nica interpretao, aceita tanto pelos desenvolvedores
quanto pelos usurios chaves. Recomenda-se a incluso
no glossrio da Especificao dos Requisitos de todos os
termos contidos no documento que possam causar
ambigidades de interpretao.

Completa - Reflete todas as decises de especificao


que foram tomadas. Deve conter todos os requisitos
significativos relativos a funcionalidade, desempenho,
restries de desenho, atributos e interfaces externas;
definir as respostas do software para todas as entradas
possveis, vlidas e invlidas, em todas as situaes
possveis;

Consistente - No h conflitos entre nenhum dos


subconjuntos de requisitos presentes.

Priorizada - Cada requisito classificado de acordo


com a sua importncia, estabilidade e complexidade. Em
Engenharia dos requisitos de Software 7

relao a importncia, os requisitos so classificados de


acordo com um dos seguintes graus:
requisito essencial requisito sem cujo atendimento o
produto inaceitvel;
requisito desejvel requisito cujo atendimento
aumenta o valor do produto, mas cuja ausncia pode
ser relevada em caso de necessidade (por exemplo, de
prazo);
requisito opcional requisito a ser cumprido se
houver disponibilidade de prazo e oramento, depois
de atendidos os demais requisitos.

Verificvel - Todos os seus requisitos so verificveis. Um


requisito verificvel se existir um processo finito, com
custo compensador, que possa ser executado por uma
pessoa ou mquina, e que mostre a conformidade do
produto final com o requisito. Em geral requisitos
ambguos no so verificveis, assim como requisitos
definidos em termos qualitativos, ou contrrios a fatos
tcnicos e cientficos.

Modificvel - Sua estrutura e estilo permitem a mudana


de qualquer requisito, de forma fcil, completa e
consistente. A modificabilidade geralmente requer:
organizao coerente, com ndices e referncias
cruzadas;
ausncia de redundncia entre requisitos;
definio separada de cada requisito.

Rastrevel - Permite a fcil determinao dos antecedentes


e conseqncias de todos os requisitos. Dois tipos de
rastreabilidade devem ser observados.
Rastreabilidade para trs - deve ser possvel localizar a
origem de cada requisito. Deve-se sempre saber por que
existe cada requisito, e quem ou o que o originou. Isso
Engenharia dos requisitos de Software 8

importante para que se possa avaliar o impacto da


mudana daquele requisito, e dirimir dvidas de
interpretao.
Rastreabilidade para a frente - deve ser possvel
localizar quais os resultados do desenvolvimento que
sero afetados por cada requisito. Isso importante para
garantir que os itens de anlise, desenho, cdigo e testes
abranjam todos os requisitos, e para localizar os itens
que sero afetados por uma mudana nos requisitos.

3.4. Atividades do fluxo de requisitos


no PRAXIS.

Documento do Wilson de Paula

3.5. Tcnicas para Anlise de


Requisitos.

Documento do Wilson de Paula

Você também pode gostar