Vous êtes sur la page 1sur 12

FUNDAMENTOS DE

ENGENHARIA DE
REQUISITOS

Prof.: Denise Franzotti Togneri

Eu sei que voc pensa que entende o que eu disse,


mas o que voc no entende que, o que eu disse,
no o que eu queria dizer (PRESSMAN, 2006).

"A parte mais difcil na construo de um sistema


de software decidir o que construir ..."
(CMU/SEI-TR-12).

Projetar e construir um sistema elegante que


resolva o problema errado no serve s
necessidades de ningum.
3

Bem-vindos ao maravilhoso
mundo da Engenharia de
Requisitos!

PROBLEMAS NA ENGENHARIA DE 4

SOFTWARE
Freqentemente, produtos de software so entregues com atraso, com baixa
qualidade, acima do oramento, com funcionalidades que no so
utilizadas, no atendendo s reais necessidades dos usurios do sistema
nem da organizao.

Estes problemas, normalmente, no tm uma causa nica, mas as


deficincias nos requisitos do sistema contribuem fortemente para o
problema (DORFMAN, 1997).

Para muitos desenvolvedores de sistemas de software complexos e grandes,


os requisitos so o maior problema da Engenharia de Software.

Nenhuma outra parte do processo de desenvolvimento to difcil de


executar ou to desastroso em seus resultados, quando feito de forma
inadequada (FAULK, 1997).
A ENGENHARIA DE REQUISITOS - 5

PROBLEMAS E BENEFCIOS
Problemas relativos aos requisitos (SOMMERVILLE, 1997):
os requisitos no refletem as reais necessidades dos usurios do sistema;
os requisitos so inconsistentes e/ou incompletos;
a mudana nos requisitos, aps terem sido acordados com os usurios,
um processo caro;
falta de entendimento entre os usurios que definem os requisitos e os
engenheiros de software que constrem e mantm o sistema.

Benefcios de uma boa determinao dos requisitos (DORFMAN, 1997):


concordncia entre desenvolvedores, clientes e usurios do trabalho a ser
feito e dos critrios de aceitao para a entrega do sistema;
uma base slida para estimativa de recursos;
aumento da usabilidade, manutenibilidade do sistema e outros atributos
de qualidade;
a realizao dos objetivos com recursos mnimos.

O QUE UM REQUISITO ?
Segundo o IEEE Standard 729, citado por Davis (1993), um requisito
1 - uma condio ou capacidade necessria para o usurio para resolver
um problema ou alcanar um objetivo;
2 - uma condio ou capacidade que deve ser encontrada ou possuda
por um sistema ou componente do sistema para satisfazer um contrato,
padro, especificao ou outro documento imposto formalmente;
3 - uma representao documentada de uma condio ou capacidade
como em (1) ou (2).
Segundo Abbott (1986), um requisito qualquer funo, restrio ou outra
propriedade que deve ser fornecida, encontrada ou satisfeita para preencher
as necessidades os usurios do sistema.

OBS: importante determinar quando a fase de requisitos inicia e termina.


Para isto, deve-se reconhecer primeiro que quando se tem um problema para
resolver, no se sabe se a soluo ser dada atravs de um software,
hardware ou uma combinao dos dois.
7
CLASSIFICAO DOS REQUISITOS
Assim como existem diversas definies para o termo "requisito", existem
tambm diversas classificaes.

Bracket (1990) classifica-os em


funcionais e
no funcionais.

Davis (1993) classifica-os em


requisitos comportamentais e
no comportamentais.

Sommerville (2003) classifica-os em


requisitos do usurio
requisitos de sistema (que podem ser funcionais, no funcionais ou
requisitos de domnio).

8
CLASSIFICAO DOS REQUISITOS
(SEGUNDO BRACKET (1990) E DAVIS (1993))
funcionais ou comportamentais: definem as funcionalidades ou
comportamentos que devem ser atendidos pelo software, ou seja, definem o
que o sistema faz. Descrevem as aes de transformao que os componentes
de hardware ou software do sistema devem executar sobre as entradas para
produzir as sadas (Thayer & Thayer, 1997);

no funcionais ou no comportamentais: so as restries e os atributos de


qualidade de software ou de processos de software que devem ser atendidos
(Sabt Neto & Leite, 2000). Definem os atributos do sistema enquanto ele
executa seu trabalho (Davis, 1993).
CLASSIFICAO DOS REQUISITOS 9

NO FUNCIONAIS
Diferentes taxonomias para requisitos no funcionais tm sido propostas,
como a de Kotonya & Sommerville (1998) que os classifica em
requisitos de processo (relativos entrega, implementao e
conformidade a padres),
requisitos de produto (relativos usabilidade, confiabilidade, segurana,
eficincia, desempenho e capacidade) e
requisitos externos (relativos interoperabilidade e restries legais e
econmicas).
J o IEEE (1998) classifica os requisitos no-funcionais em
requisitos de interface externa,
requisitos de desempenho,
requisitos lgicos de banco de dados (freqncia de uso, recursos de
acesso, as restries de integridade e os requisitos de reteno de dados),
restries de projeto,
conformidade a padres e os
atributos de qualidade do software (confiabilidade,
disponibilidade, segurana, manutenibilidade e portabilidade).

CLASSIFICAO DE REQUISITOS 10
(SEGUNDO SOMMERVILLE (2003))
REQUISITOS DO USURIO

REQUISITOS DE SISTEMA. Podem ser


Requisitos funcionais
Requisitos no funcionais
Requisitos de domnio

UM REQUISITO DO USURIO PODE SER EXPANDIDO EM


DIVERSOS REQUISITOS DE SISTEMA

A DISTINO ENTRE ELES NO CLARA!


CLASSIFICAO DE REQUISITOS 11
(SEGUNDO SOMMERVILLE (2003))
REQUISITOS DO USURIO:
So requisitos abstratos de alto nvel, descritos numa linguagem
compreensvel pelos usurios que especificam o comportamento externo do
sistema.
So declaraes em linguagem natural e tambm em diagramas sobre as
funes que o sistema deve fornecer e as restries sobre as quais deve
operar.
Ex: O software deve oferecer um meio de representar e acessar arquivos
externos criados por outras ferramentas.

CLASSIFICAO DE REQUISITOS 12
(SEGUNDO SOMMERVILLE (2003))
REQUISITOS DE SISTEMA:
so descries detalhadas dos requisitos dos usurios.
Estabelecem detalhadamente as funes e restries do sistema.
O Documento de Requisitos gerado deve ser PRECISO.
Podem ser
Requisitos funcionais: declaraes de funes que o sistema deve
fornecer, como deve reagir a entradas especficas e como deve se
comportar em determinadas situaes.
Requisitos no funcionais: so as restries e os atributos de
qualidade que devem ser atendidos.
Requisitos de domnio: requisitos que se originam do domnio de
aplicao do sistema e refletem caractersticas deste domnio.
Podem ser funcionais ou no funcionais.
13
O TERMO ENGENHARIA DE REQUISITOS
A Engenharia de Requisitos uma das fases da Engenharia de Software
que cobre todas as atividades envolvidas na descoberta, documentao e
manuteno do conjunto de requisitos de um sistema baseado em
computador.

O uso do termo "engenharia" implica que tcnicas sistemticas e iterativas


devem ser usadas para garantir que os requisitos do sistema estejam
completos, consistentes, relevantes, etc (SOMMERVILLE, 1997).

A Engenharia de Requisitos , portanto, um processo sistemtico de


captura, modelagem e documentao de requisitos atravs de uma
abordagem iterativa e cooperativa de anlise do problema, documentao
das observaes resultantes em uma variedade de formatos de
representao e verificao da acurcia do entendimento obtido
(GRAHAM, 1998).

O PROCESSO DE
ENGENHARIA DE
REQUISITOS
PROCESSO DE ENGENHARIA DE 15

REQUISITOS
um conjunto estruturado de atividades que so seguidas para
derivar, validar e manter um documento de requisitos do sistema.

Informaes de
Sistemas Existentes

Requisitos
Necessidades dos
acordados
Usurios Processo de

Padres Engenharia Especificao do


organizacionais Sistema
de
Regulamentos
Requisitos Modelos de Sistema

Informao de
Domnio

PROCESSO DE ENGENHARIA DE 16

REQUISITOS
Varia muito, indo desde processos no estruturados (baseados na
experincia das pessoas) at processos sistemticos ( baseados em
alguma metodologia).
No faz sentido falar em processo ideal ou definir algum e imp-lo a uma
organizao. Ao invs disto, as organizaes devem iniciar com um
processo genrico de ER e instanci-lo para um processo que seja
apropriado s suas necessidades (SOMMERVILLE; SAWYER, 1997).
Da mesma forma que o processo de software, o ponto de partida para a
definio de um processo de engenharia de requisitos a escolha de um
modelo de processo, tais como os modelos em cascata e em espiral
(KOTONYA; SOMMERVILLE, 1998), e vrios fatores influenciam sua
definio (PRESSMAN, 2006).
Ainda que diferentes projetos requeiram processos com caractersticas
especficas para contemplar suas peculiaridades, possvel estabelecer um
conjunto de atividades bsicas que deve ser considerado em qualquer
definio de processo de Engenharia de Requisitos. Existem vrios
conjuntos de atividades propostos para o processo.
17
ATIVIDADES DA ENGENHARIA DE REQUISITOS
Nuseibeh & Kotonya & Thayer & Pressman Lamsweerde
Autores Easterbrook Sommerville Dorfman (2006) (2000)
Atividades (2000) (1998) (1997)
Concepo x
Anlise de domnio x
Levantamento x
Elicitao x x x x
Modelagem x
Elaborao x
Anlise de requisitos x x x
Negociao x x x
Documentao x
Especificao de x x x
requisitos
Anlise da Especificao x
Verificao x
Comunicao x
Concordncia x x
Validao x x
Documentao do x
processo, das decises e
das fontes dos requisitos
Gerncia de requisitos x x x
Evoluo de requisitos x x

18

ATIVIDADES DA ENGENHARIA DE
REQUISITOS SEGUNDO KOTONYA E
SOMMERVILLE (1998)
ELICITAO
ANLISE
NEGOCIAO
DOCUMENTAO
VALIDAO
GERNCIA
19
UM MODELO MACRO DE
Gerncia de
ATIVIDADES DO PROC. DE requisitos
ENG. DE REQ. [KOTONYA 98]

Elicitao Anlise e Documenta Validao


requisitos Negociao o de requisitos
requisitos requisitos

Necessidades dos
usurios, informaes
Documentao
de domnio, informao
dos requisitos
dos sistemas existentes,
regulamentos, padres, Especificao do
etc. sistema

No h limites bem definidos entre as atividades; Requisitos acordados


so intercaladas e existe um alto grau de iterao e feedback entre elas .

20
ATIVIDADES DO PROCESSO DE ENG. DE
REQUISITOS [KOTONYA98]
1 - ELICITAO DE REQUISITOS
o processo de identificar necessidades e diminuir as disparidades entre
as comunidades envolvidas, com o objetivo de definir e destilar os
requisitos para encontrar as restries destas comunidades.
Envolve questes sociais e de comunicao bem como questes tcnicas.
Os requisitos do sistema so descobertos atravs de entrevistas com
clientes, questionrios, de anlise de documentos, do conhecimento do
domnio, estudos de mercado, prototipagem, etnografia, etc.

2 - ANLISE DE REQUISITOS E NEGOCIAO


Os requisitos so analisados em detalhes e os clientes negociam para
decidir quais requisitos sero aceitos (o conjunto de requisitos acordados
para o sistema).
Este processo necessrio porque existem conflitos inevitveis entre os
requisitos e partir de fontes diferentes; as informaes podem estar
incompletas ou os requisitos expressos podem ser
incompatveis com o oramento disponvel para o sistema.
PROCESSO DE ELICITAO, ANLISE E 21

NEGOCIAO DE REQUISITOS
Rascunho da declarao
de requisitos

Elicitao dos Anlise de


requisitos requisitos

Documento de Problemas nos


requisitos requisitos
Negociao de
requisitos

A espiral de elicitao, anlise e negociao de requisitos [Kotonya98]

O ciclo do processo continua at que a presso do cronograma fora o


incio do projeto do sistema ou at que todos os usurios estejam
satisfeitos com os requisitos.

22
ATIVIDADES DO PROCESSO DE ENG. DE
REQUISITOS [KOTONYA98]
3 - DOCUMENTAO DOS REQUISITOS
Os requisitos acordados so documentados em um nvel apropriado de
detalhes.
Uma vez que a ERS deve ser apropriada para o entendimento dos usurios,
ela normalmente documentada usando linguagem natural e diagramas.

4 - VALIDAO DOS REQUISITOS


Esta atividade prev uma verificao e reviso cuidadosa dos requisitos
para garantir consistncia e completeza.
Este processo tenciona detectar problemas no documento de requisitos
antes que seja usado como base para o desenvolvimento do sistema.

5 - GERNCIA DE REQUISITOS
Em paralelo a todas as atividades descritas acima est o processo de
gerncia de requisitos, que diz respeito a gerenciar mudanas nos
requisitos.
23
ATIVIDADES DO PROCESSO DE ENG. DE
REQUISITOS [KOTONYA98]
5 - GERNCIA DE REQUISITOS
Mudanas nos requisitos do sistema so propostas pelos usurios com
freqncia e so inevitveis quando ocorrem:
mudanas nas prioridades do negcio;
surgem novos requisitos;
quando so descobertos erros ou omisses nos requisitos;
quando os usurios desenvolvem um melhor entendimento de suas reais
necessidades.
A gerncia de requisitos tem como objetivos manter uma trilha destas
mudanas e garantir que as mudanas sejam feitas no documento de
requisitos de forma controlada.
As principais preocupaes da gerncia de requisitos dizem respeito a
Gerncia de mudana de requisitos acordados;
Gerncia dos relacionamentos entre os requisitos;
Gerncia das dependncias entre o documento de requisitos e outros
documentos produzidos durante o processo
de engenharia de software e sistemas.

ANLISE DE REQUISITOS X VALIDAO DE REQUISITOS 24


EM COMUM
Tanto a Anlise quanto a Validao de Requisitos buscam encontrar erros,
problemas, omisses, inconsistncias e conflitos nos requisitos documentados.
DIFERENAS
ANLISE VALIDAO
Usa como base o rascunho do Usa como base o Documento de Requisitos
Documento de Requisitos que contm idealmente completo.
os requisitos elicitados at o momento.

feita vrias vezes, de forma cclica, executada, em geral, somente uma vez,
durante o processo de Eng. Requisitos no final do processo de Eng. Requisitos.

feita pelo analista de sistemas, feita por todos os envolvidos, ou seja,


tambm chamado de Engenheiro de especialistas de domnio, engenheiros de
Requisitos. requisitos (analistas de sistemas), usurios e
projetistas, envolvidos no desenvolvimento
do sistema. Tambm devem participar da
validao de requisitos os engenheiros de
requisitos e projetistas que no esto
envolvidos no desenvolvimento do sistema

Vous aimerez peut-être aussi