Académique Documents
Professionnel Documents
Culture Documents
ENGENHARIA DE
REQUISITOS
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.
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.
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.
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
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
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 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
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]
Necessidades dos
usurios, informaes
Documentao
de domnio, informao
dos requisitos
dos sistemas existentes,
regulamentos, padres, Especificao do
etc. sistema
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.
NEGOCIAO DE REQUISITOS
Rascunho da declarao
de 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.
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.
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.