Escolar Documentos
Profissional Documentos
Cultura Documentos
Engenharia de Software I
PROCESSOS DE
ENGENHARIA DE REQUISITOS
1. INTRODUO
O objetivo do processo de engenharia de requisitos criar e manter um
documento de requisitos de sistema. O processo geral inclui quatro subprocessos de alto nvel
de engenharia de requisitos. Eles esto relacionados :
estudo de viabilidade: avaliao se o sistema til para a empresa
elicitao e anlise: obteno de requisitos
especificao: converso desses requisitos em alguma forma padro
validao: verificao se os requisitos realmente definem o sistema
que o cliente deseja
A Figura 1.1 ilustra o relacionamento entre essas atividades. Ela mostra
tambm os documentos produzidos em cada estgio do processo de engenharia de requisitos.
A especificao e a documentao foram abordadas na apostila 2 Requisitos de Software e
esta apostila se concentra nas outras atividades da engenharia de requisitos.
As atividades mostradas na Figura 1.1 esto relacionadas obteno,
documentao e verificao de requisitos. Na prtica, no entanto, todos os requisitos de
sistema mudam. As pessoas envolvidas desenvolvem uma compreenso maior do que
desejam que o software faa, a organizao que est comprando o sistema muda, so feitas
modificaes no hardware, no software e no ambiente organizacional do sistema. O processo
de gerenciamento dessas mudanas de requisitos denominado gerenciamento de requisitos
e abordado na seo final desta apostila.
Estudo de
viabilidade
Elicitao e
anlise de
requisitos
Especificao
de requisitos
Relatrio de
viabilidade
Validao de
requisitos
Modelos de
sistemas
Requisitos de
usurio e de
sistema
Documento
de requisitos
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
PROCESSOS DE
ENGENHARIA DE REQUISITOS
A figura 1.2 apresenta uma perspectiva alternativa do processo de engenharia
de requisitos modelo espiral. Ela mostra o processo como uma atividade de trs estgios,
no qual as atividades esto organizadas como um processo iterativo em espiral. A quantidade
de tempo e esforo dispensado para cada atividade na iterao depende do estgio do
processo geral e do tipo de sistema que est sendo desenvolvido. No incio do processo, a
maior parte do esforo ser empregada na compreenso dos requisitos de alto nvel de
negcios, requisitos no funcionais e requisitos de usurio. Prximo ao fim do processo, nas
partes mais externas da espiral, um esforo maior ser dedicado engenharia de requisitos e
modelagem de sistema.
O modelo em espiral acomoda abordagens de desenvolvimento em que os
requisitos so desenvolvidos para diferentes nveis de detalhes. O nmero de iteraes na
espiral pode variar, de modo que se pode sair da espiral depois que alguns ou todos os
requisitos de usurio tiverem sido elicitados. Se a atividade de prototipao apresentada sob a
validao de requisitos for ampliada para incluir o desenvolvimento iterativo, este modelo
permitir que os requisitos e a implementao de sistema sejam desenvolvidos em conjunto.
Especificao
de requisitos
Especificao de
requisitos de sistema
e modelagem
Especificao de
requisitos de usurio
Especificao de
requisitos de negcios
Elicitao de
requisitos
de sistema
Elicitao de
requisitos
de usurio
Elicitao de
requisitos
Estudo de
viabilidade
Prototipao
Validao de
requisitos
Revises
Documento de requisitos
de sistema
PROCESSOS DE
ENGENHARIA DE REQUISITOS
inclui anotaes com descries adicionais de informaes como, por exemplo, o desempenho
ou a confiabilidade necessria.
Embora os mtodos estruturados possuam um papel a desempenhar no
processo de engenharia de requisitos, existe muito mais sobre engenharia de requisitos do que
abordado nesses mtodos. A elicitao de requisitos, em particular, uma atividade centrada
em pessoas, e as pessoas no gostam das restries impostas pelos modelos rgidos de
sistema.
2. ESTUDO DE VIABILIDADE
Em todos os sistemas novos, o processo de engenharia de requisitos deve
comear com um estudo de viabilidade. A entrada para o estudo de viabilidade consiste de um
conjunto preliminar de requisitos de negcios, um esboo da descrio do sistema e como o
sistema pretende apoiar os processos de negcios. Os resultados do estudo de viabilidade
devem estar em um relatrio que recomenda se vale a pena ou no prosseguir com os
processos de engenharia de requisitos e de desenvolvimento do sistema.
Um estudo de viabilidade um estudo breve e focalizado que procura
responder a uma srie de questes:
1. O sistema contribui para os objetivos gerais da organizao?
2. O sistema pode ser implementado com tecnologia atual e dentro das
restries definidas de custo e prazo?
3. O sistema pode ser integrado a outros sistemas j implantados?
A questo de se o sistema contribui ou no para os objetivos da empresa
crtica. Se um sistema no apoia esses objetivos, ele no tem valor real para a empresa.
Apesar de esse fato parecer bvio, muitas organizaes desenvolvem sistemas que no
contribuem para seus objetivos, porque elas no tm um perfil claro desses objetivos, pois
falham em definir os requisitos de negcios para o sistema, ou porque outros fatores polticos
ou organizacionais influenciam na aquisio do sistema.
A realizao de um estudo de viabilidade envolve a avaliao de informaes,
sua coleta e a elaborao de um relatrio.
A avaliao de informaes identifica as informaes necessrias para
responder s trs questes apresentadas anteriormente. Aps a identificao das informaes,
necessrio falar com as fontes de informaes para descobrir as respostas a essas
perguntas. Alguns exemplos de possveis questes que podem ser levantadas so:
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
PROCESSOS DE
ENGENHARIA DE REQUISITOS
1. Como a organizao se comportaria se esse sistema no fosse
implementado?
2. Quais so os problemas com os processos atuais e como o novo
sistema ajudaria a reduzir esses problemas?
3. Qual ser a contribuio direta do sistema para os objetivos e requisitos
da empresa?
4. As informaes podem ser transferidas e recebidas de outros sistemas
da organizao?
5. O sistema requer tecnologia que ainda no foi usada na organizao?
6. O que deve ser apoiado pelo sistema e o que no precisa ser apoiado?
Em um estudo de viabilidade, pode-se consultar fontes de informaes como
os gerentes de departamentos em que o sistema ser usado, engenheiros de software
familiarizados com o tipo de sistema proposto, especialistas em tecnologia e usurios finais do
sistema. Normalmente, deve-se tentar concluir um estudo de viabilidade em duas ou trs
semanas. Aps obter as informaes, elaborado o relatrio de estudo de viabilidade. Deve-se
fazer uma recomendao de se o desenvolvimento do sistema deve ou no prosseguir. No
relatrio podem ser propostas mudanas de escopo, oramento e prazo e sugerir requisitos de
alto nvel adicionais para o sistema.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
PROCESSOS DE
ENGENHARIA DE REQUISITOS
1. Os stakeholders, frequentemente, no sabem o que querem do sistema
de computador a no ser em termos gerais. Eles podem achar difcil
articular o que desejam que o sistema faa ou fazem pedidos no
realistas, pois ignoram o custo de seus requisitos.
2. Os stakeholders expressam os requisitos naturalmente em seus
prprios termos e com o conhecimento implcito de se trabalho. Os
engenheiros de requisitos, sem experincia no domnio do cliente,
devem entender esses requisitos.
3. Diferentes stakeholders possuem diferentes requisitos, expressos de
diferentes formas. Os engenheiros de requisitos precisam considerar
todas as fontes potenciais de requisitos e descobrir pontos em comum
e conflitos.
4. Fatores polticos podem influenciar os requisitos do sistema. Por
exemplo, os gerentes podem solicitar requisitos especficos do sistema
que aumentaro a sua influncia na organizao.
5. O ambiente econmico e de negcios sobre o qual a anlise
realizada dinmico. Ele muda inevitavelmente durante o processo de
anlise. Portanto, a importncia de determinado requisito pode mudar.
Novos requisitos podem surgir de novos stakeholders que no haviam
sido consultados anteriormente.
Um modelo de processo bastante genrico de elicitao e anlise de requisitos
apresentado na figura 3.1. Cada organizao ter a sua prpria verso ou modelo desse
modelo geral, dependendo de fatores locais, como o nvel de conhecimento da equipe, o tipo
do sistema que est sendo desenvolvido e os padres usados. Novamente, pode-se pensar
nessas atividades como uma espiral, de modo que as atividades se intercalem medida que o
processo progrida da parte interna da espiral para a externa.
As atividades de processo so:
1. Obteno de requisitos: o processo de interao com os
stakeholders no sistema para coletar os seus requisitos. Os requisitos
de domnio so tambm descobertos durante essa atividade,
provenientes dos stakeholders e da documentao.
2. Classificao e organizao de requisitos: esta atividade envolve a
coleo
de requisitos no
estruturados,
agrupa
os requisitos
PROCESSOS DE
ENGENHARIA DE REQUISITOS
os stakeholders possuem
importncia e a prioridade dos requisitos e, algumas vezes, essas vises entram em conflito.
Durante o processo, deve-se organizar negociaes frequentes com os stakeholders, de modo
que os compromissos possam ser atingidos. impossvel satisfazer completamente a todos os
stakeholders, mas, se alguns deles perceberem que suas vises no foram consideradas de
maneira apropriada, eles podem tentar boicotar intencionalmente o processo de engenharia de
requisitos.
No estgio de documentao, os requisitos elicitados so documentados de
modo que possam ser usados para auxiliar as prximas obtenes de requisitos. Nesse
estgio, uma verso inicial dos requisitos do sistema pode ser produzida, mas ter sees
faltantes e requisitos incompletos. Como alternativa, os requisitos podem ser documentados
como tabelas em um documento ou em cartes. Escrever os requisitos em cartes (abordagem
usada na extreme programming) pode ser muito eficiente, pois os stakeholders podem
manusear, alterar e organizar os cartes com facilidade.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Obteno de
requisitos
Classificao e
organizao de
requisitos
Documentao
de requisitos
Priorizao e
negociao de
requisitos
PROCESSOS DE
ENGENHARIA DE REQUISITOS
3. Gerentes de
agncias bancrias
que
obtm
informaes de
gerenciamento do sistema.
4. Pessoal de atendimento nas agncias bancrias envolvidos na
operao diria do sistema.
5. Administradores de banco de dados responsveis pela integrao do
sistema com o banco de dados dos clientes do banco.
6. Gerentes de proteo bancria que devem assegurar que o sistema
no seja exposto a riscos de proteo.
7. Departamento de marketing do banco provavelmente interessado em
usar o sistema como meio de marketing do banco.
8. Engenheiros de manuteno de hardware e software que so
responsveis pela manuteno e atualizao de hardware e software.
9. Reguladores nacionais de bancos responsveis por assegurar que o
sistema esteja em conformidade com os regulamentos bancrios.
Alm dos stakeholders no sistema, vimos anteriormente que os requisitos
podem ser provenientes do domnio de aplicao e de outros sistemas que interagem com o
sistema que est sendo especificado. Tudo isso deve ser considerado durante o processo de
elicitao de requisitos.
Essas fontes de requisitos (stakeholders, domnio, sistemas) podem ser
representadas como pontos de vista do sistema, em que cada ponto de vista apresenta um
subconjunto de requisitos do sistema. Cada ponto de vista fornece uma perspectiva nova do
sistema, mas essas perspectivas no so completamente independentes elas geralmente se
sobrepem de modo que haja requisitos comuns.
Pontos de vista
As abordagens orientadas a pontos de vista para engenharia de requisitos
organizam o processo de elicitao e os prprios requisitos usando pontos de vista. Um ponto
forte da anlise orientada a pontos de vista que ela reconhece vrias perspectivas e fornece
um framework para descobrir conflitos nos requisitos propostos por diferentes stakeholders.
Os pontos de vista podem ser usados como um meio de classificao de
stakeholders e de outras fontes de requisitos. Existem trs tipos genricos de pontos de vista:
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
PROCESSOS DE
ENGENHARIA DE REQUISITOS
1. Pontos de vista de interao: representam pessoas ou outros
sistemas que interagem diretamente com o sistema. No sistema de
caixa eletrnico bancrio, exemplos de pontos de vista de interao
so os clientes do banco e o banco de dados de contas bancrias.
2. Pontos de vista indiretos: representam os stakeholders que no
usam o sistema diretamente, mas que influenciam requisitos de alguma
forma. No sistema de caixa eletrnico bancrio, exemplos de pontos de
vista indiretos so a gerncia do banco e o pessoal de proteo do
banco.
3. Pontos de vista de domnio: representam caractersticas e restries
de domnio que influenciam os requisitos de sistema. No sistema de
caixa eletrnico bancrio, um exemplo de um ponto de vista de domnio
so os padres desenvolvidos para comunicaes entre os bancos.
Tipicamente, esses pontos de vista fornecem diferentes tipos de requisitos:
A identificao inicial dos pontos de vista relevantes ao sistema pode ser difcil
algumas vezes. Para ajudar nesse processo, deve-se tentar identificar tipos mais especficos
de pontos de vista:
1. Fornecedores e receptores de servios do sistema.
2. Sistemas que devem interfacear diretamente com o sistema que est
sendo especificado.
3. Regulamentos e padres que se aplicam ao sistema.
4. Fontes de requisitos de negcios e no funcionais do sistema.
5. Pontos de vista de engenharia que refletem os requisitos de pessoas
que devem desenvolver, gerenciar e manter o sistema.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
PROCESSOS DE
ENGENHARIA DE REQUISITOS
6. Pontos de vista de marketing e outros pontos de vista que geram
requisitos de caractersticas do produto esperadas pelos clientes e
como o sistema deve refletir a imagem externa da organizao.
Quase todos os sistemas organizacionais devem interoperar com outros
sistemas na organizao. Quando um novo sistema planejado, as interaes com outros
sistemas devem ser planejadas. As interfaces oferecidas por esses outros sistemas j foram
projetadas. Elas podem incluir requisitos e restries sobre o novo sistema. Alm disso, novos
sistemas podem precisar estar em conformidade com regulamentos e padres preexistentes
que restringem os requisitos do sistema.
Conforme explicado anteriormente, deve-se identificar os requisitos de negcio
e no funcionais de alto nvel no incio do processo de engenharia de requisitos. As fontes
desses requisitos podem ser pontos de vista teis em um processo mais detalhado. Elas
devem ser capazes de expandir e desenvolver os requisitos de alto nvel gerando requisitos de
sistema mais especficos.
Os pontos de vista de engenharia podem ser importantes por duas razes.
Primeiro, os engenheiros que desenvolvem o sistema podem ter experincia com sistemas
similares e ser capazes de sugerir requisitos levando em conta essa experincia. Segundo, o
pessoal tcnico que deve gerenciar e manter o sistema pode ter requisitos que iro ajudar a
simplificar o apoio ao sistema. Os requisitos de gerenciamento de sistema so cada vez mais
importantes, pois os custos de gerenciamento constituem uma poro cada vez maior dos
custos totais no tempo de vida do sistema.
Finalmente, os pontos de vista que fornecem requisitos podem ser
provenientes dos departamentos de marketing ou de negcios externos em uma organizao.
Isso especialmente verdadeiro em sistemas baseados na Web, mais especificamente
sistemas de e-commerce e softwares comerciais. Os sistemas baseados na Web devem
apresentar uma imagem favorvel da organizao, assim como oferecer funcionalidade ao
usurio. No tocante a produtos de software, o departamento de marketing deve conhecer quais
caractersticas tornaro o sistema mais atraente aos potenciais compradores.
Para qualquer sistema no trivial, existe um grande nmero de possveis
pontos de vista, e praticamente impossvel elicitar os requisitos baseado em todos eles.
Portanto, importante que se organize e se estruture os pontos de vista em uma hierarquia. Os
pontos de vista do mesmo ramo provavelmente compartilharo requisitos comuns.
Como ilustrao, considere a hierarquia de pontos de vista apresentada na
Figura 3.2. um diagrama relativamente simples de pontos de vista que podem ser
consultados para derivar requisitos para o sistema LIBSYS. Pode-se observar que a
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
10
PROCESSOS DE
ENGENHARIA DE REQUISITOS
classificao dos pontos de vista de interao, indiretos e de domnio ajuda a identificar fontes
de requisitos independente dos usurios imediatos do sistema.
Depois que os pontos de vista forem identificados e estruturados, pode-se
tentar identificar os pontos de vista mais importantes e iniciar com eles a obteno de
requisitos do sistema.
Indiretos
Gerente da
biblioteca
Interao
Fornecedores
de artigos
Usurios
Domnio
Pessoal da
biblioteca
Padres
de IU
Sistema de
classificao
Finanas
Estudantes
Pessoal
Gerente do
sistema
Responsvel
pela catalogao
Externos
Entrevistas
Entrevistas formais ou informais com os stakeholders no sistema fazem parte
da maioria dos processos de engenharia de requisitos. Nessas entrevistas, a equipe de
engenharia de requisitos formula questes para os stakeholders sobre o sistema que eles
usam e o sistema a ser desenvolvido. Os requisitos so derivados das respostas a essas
questes. As entrevistas podem ser de dois tipos:
1. Entrevistas fechadas: nas quais o stakeholder responde a um
conjunto de perguntas predefinidas.
2. Entrevistas abertas: nas quais no existe um roteiro predefinido. A
equipe de engenharia de requisitos explora vrios assuntos com os
stakeholders do sistema e, assim, desenvolve uma compreenso maior
de suas necessidades.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
11
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Na prtica, as entrevistas com os stakeholders so, geralmente, uma
combinao desses tipos. As respostas a algumas perguntas podem levar a outros assuntos
discutidos de maneira menos estruturada. As discusses completamente abertas raramente
funcionam bem; a maioria das entrevistas requer algumas perguntas como ponto de partida e
para manter o foco no sistema a ser desenvolvido.
As entrevistas so teis para obter um entendimento geral sobre o que os
stakeholders fazem, como eles podem interagir com o sistema e as dificuldades que enfrentam
com os sistemas atuais. As pessoas gostam de falar sobre o seu trabalho e, normalmente,
ficam felizes em participar de entrevistas. No entanto, as entrevistas no so to teis para
compreender os requisitos do domnio da aplicao.
difcil elicitar o conhecimento de domnio durante as entrevistas por dois
motivos:
1. Todos os especialistas de domnio usam terminologia e jarges
especficos. impossvel para eles explicar os requisitos de domnio
sem usar essa terminologia. Eles em geral usam a terminologia de
maneira precisa e especfica, o que facilmente provoca mal-entendidos
por parte dos engenheiros de requisitos.
2. Alguns conhecimentos de domnio so to familiares aos stakeholders
que so considerados difceis de explicar ou considerados to
fundamentais que no vale a pena mencion-los. Por exemplo, para
uma bibliotecria, no h necessidade de dizer que todas as
aquisies so catalogadas antes de serem colocadas na biblioteca.
Contudo, isso pode no ser bvio para o entrevistador e, portanto, no
levado em considerao nos requisitos.
A entrevista no uma tcnica eficiente para elicitao de conhecimentos
sobre os requisitos e as restries organizacionais, pois existem relacionamentos sutis de
poder e influncia entre os stakeholders na organizao. As estruturas organizacionais pblicas
raramente coincidem com a realidade da tomada de decises na organizao, mas os
entrevistados podem no querer revelar a estrutura real, em lugar da terica, a um estranho.
Em geral, a maioria das pessoas relutante em discutir questes polticas e organizacionais
que podem afetar os requisitos.
Os entrevistadores eficientes possuem duas caractersticas:
1. Possuem mente aberta, evitam ideias preconcebidas sobre os
requisitos e querem ouvir os stakeholders. Se o stakeholder propuser
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
12
PROCESSOS DE
ENGENHARIA DE REQUISITOS
requisitos surpreendentes, os entrevistadores esto dispostos a mudar
de ideia sobre o sistema.
2. Induzem os entrevistados a iniciar as discusses com uma questo,
uma proposta de requisitos ou sugerindo um trabalho conjunto em um
prottipo do sistema. Dizer para as pessoas 'conte-me o que voc
necessita/deseja'
provavelmente
trar
informaes
teis
como
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
outras
atividades
que
podem
ocorrer
13
PROCESSOS DE
ENGENHARIA DE REQUISITOS
5. Uma descrio do estado de sistema no fim do cenrio
A elicitao baseada em cenrios pode ser realizada informalmente os
engenheiros de requisitos trabalham com os stakeholders para identificar cenrios e captar os
detalhes desses cenrios. Os cenrios podem ser escritos na forma de textos,
complementados por diagramas, imagens de computador etc. Como alternativa, pode ser
adotada uma abordagem mais estruturada, como cenrios de eventos ou casos de uso.
Como exemplo de um cenrio simples em texto, considere como um usurio
do sistema LIBSYS de biblioteca pode usar o sistema. O cenrio mostrado no Quadro 3.1. O
usurio deseja imprimir uma cpia para uso pessoal de um artigo de uma revista mdica. Essa
revista permite cpias gratuitas de artigos disponveis para assinantes, mas os no-assinantes
devem pagar uma taxa por artigo. O usurio conhece o artigo, seu ttulo e a data da publicao.
Quadro 3.1 Cenrio para download de artigo no LIBSYS
Hiptese inicial: O usurio se conectou ao sistema LlBSYS e localizou a revista que contm a cpia do
artigo.
Normal: O usurio seleciona o artigo a ser copiado. O sistema solicita que o usurio fornea as
informaes de assinante da revista ou indique uma forma de pagamento pelo artigo. O pagamento pode
ser feito por meio de carto de crdito ou com a informao de um nmero de conta da organizao.
solicitado, depois, que o usurio preencha um formulrio de direitos autorais com os detalhes da
transao e o envie ao sistema LlBSYS.
O formulrio de direitos autorais verificado e, caso aprovado, a verso do artigo em PDF baixada na
rea de trabalho do LlBSYS no computador do usurio e este avisado de que o artigo est disponvel.
solicitado que o usurio selecione uma impressora e uma cpia do artigo impressa. Se o artigo
estiver marcado como 'apenas para impresso', este ser apagado automaticamente do sistema do
usurio aps o trmino da impresso.
O que pode dar errado: O usurio pode no preencher o formulrio de direitos autorais corretamente.
Nesse caso, o formulrio dever ser reapresentado ao usurio para correo.
Se o formulrio reapresentado ainda estiver incorreto, a solicitao do usurio para o artigo ser
rejeitada.
O pagamento pode ser rejeitado pelo sistema; nesse caso, a solicitao do usurio para o artigo ser
rejeitada.
O download do artigo pode falhar, o que faz com que o sistema tente novamente at que a operao
seja bem-sucedida ou que o usurio termine a sesso.
Pode no ser possvel imprimir o artigo. Se o artigo no estiver marcado como 'apenas para impresso',
ele ser mantido na rea de trabalho do LlBSYS. Caso contrrio, o artigo ser apagado automaticamente
e o custo do artigo ser debitado na conta do usurio.
Outras atividades: Downloads simultneos de outros artigos.
Estado de sistema aps o trmino: O usurio estar conectado. O artigo baixado teria sido apagado
da rea de trabalho do LlBSYS caso estivesse marcado como 'apenas para impresso' .
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
14
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Casos de uso
Os casos de uso constituem uma tcnica baseada em cenrios para elicitao
de requisitos e se tornaram uma caracterstica fundamental da notao UML para descrio de
modelos de sistema orientado a objetos. Em sua forma mais simples, um caso de uso identifica
o tipo da interao e os agentes envolvidos. Por exemplo, a figura 3.3 mostra o caso de uso de
alto nvel do recurso de impresso de artigos no LIBSYS, descrito no Quadro 3.1.
Impresso
de artigos
Usurio da
biblioteca
Busca de
artigos
Impresso
de artigos
Usurio da
biblioteca
Administrao
de usurios
Servios de
catlogo
Pessoal da
biblioteca
Fornecedor
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
15
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Algumas vezes, existe confuso sobre se um caso de uso um cenrio em si
ou se um caso de uso engloba um conjunto de cenrios, sendo cada cenrio um
encadeamento isolado ao longo do caso de uso. Se um cenrio incluir vrios encadeamentos,
existir um cenrio para interao normal e mais cenrios para cada possvel exceo.
Os casos de uso identificam as interaes individuais com o sistema. Eles
podem ser documentados por meio de texto ou de links com os modelos UML que
desenvolvem o cenrio mais detalhadamente. Os diagramas de sequncia so frequentemente
usados para adicionar informaes ao caso de uso. Os diagramas de sequncia mostram os
agentes envolvidos na interao, os objetos com os quais interagem e as operaes
associadas a esses objetos.
Como ilustrao disto, a figura 3.5 mostra as interaes envolvidas no uso do
LIBSYS para baixar e imprimir um artigo na forma de diagrama de sequncia. Na figura 3.5,
existem quatro objetos de classes Artigo, Formulrio, rea de Trabalho e Impressora
envolvidos na interao. A sequncia de aes ocorre de cima para baixo e os rtulos sobre as
setas entre os agentes e os objetos indicam os nomes das operaes. Essencialmente, a
solicitao de um artigo pelo usurio dispara uma requisio para um formulrio de direitos
autorais. Quando o usurio concluir o preenchimento do formulrio, o artigo ser baixado e
enviado para a impressora. Quando a impresso terminar, o artigo ser apagado da rea de
trabalho do LIBSYS.
Item: Artigo
Usurio da
biblioteca
solicitar
copyrightForm:
Formulrio
myWorkspace:
rea de trabalho
myPrinter:
Impressora
solicitar
completar
retornar
direitos autorais ok
liberar
artigo ok
imprimir
enviar
confirmar
informar
apagar
Figura 3.5 Diagrama de sequncia das interaes do sistema para impresso de artigos
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
16
PROCESSOS DE
ENGENHARIA DE REQUISITOS
A UML um padro real para a modelagem orientada a objetos e, portanto, os
casos de uso e a elicitao baseada em casos de uso tm sido cada vez mais usados para
elicitao de requisitos.
Cenrios e casos de uso so tcnicas eficazes para elicitao de requisitos
segundo pontos de vista de interao, em que cada tipo de interao pode ser representado
como um caso de uso. Eles tambm podem ser usados em conjunto com alguns pontos de
vista indiretos, sendo que esses pontos de vista recebem alguns resultados (como um relatrio
gerencial) do sistema. Contudo, como eles enfocam as interaes, no so eficazes para
elicitar restries ou requisitos de negcios e no funcionais de alto nvel com base nos pontos
de vista indiretos ou para obter requisitos de domnio.
Etnografia
Os sistemas de software no existem isoladamente eles so usados em um
contexto social e organizacional e os requisitos do sistema de software podem ser derivados ou
restringidos
por
esse
contexto.
Geralmente,
satisfazer
esses
requisitos
sociais
organizacionais importante para o sucesso do sistema. Uma razo pela qual vrios sistemas
de software so entregues, mas nunca usados, que eles no do a importncia devida a
esses requisitos.
Etnografia uma tcnica de observao que pode ser usada para
compreender os requisitos sociais e organizacionais. Um analista se insere no ambiente de
trabalho onde o sistema ser usado. Ele observa o trabalho do dia a dia e anota as tarefas
reais nas quais os participantes esto envolvidos. O valor da etnografia est na ajuda que
presta aos analistas para descobrir os requisitos implcitos de sistema que refletem os
processos reais, e no os formais, com os quais as pessoas esto envolvidas.
As pessoas frequentemente consideram muito difcil articular detalhes de seu
trabalho, pois isso secundrio para elas. Elas compreendem seu prprio trabalho, mas
podem no compreender seu relacionamento com o trabalho de outros na organizao. Os
fatores sociais e organizacionais, que afetam o trabalho, mas que no so bvios para as
pessoas, podem somente se tornar claros quando examinados por um observador imparcial.
Pesquisadores usaram a etnografia para estudar o trabalho em escritrio e
concluram que as prticas reais de trabalho eram mais ricas, mais complexas e mais
dinmicas do que os simples modelos considerados pelos sistemas e automao de escritrio.
A diferena entre o trabalho suposto e o real a razo mais importante pela qual os sistemas
de escritrio no tiveram efeito significativo na produtividade. Outros estudos de etnografia
para a compreenso dos requisitos de sistema incluram estudos sobre controle de trfego
areo, salas de controle do metr, sistemas financeiros e vrias atividades de projeto.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
17
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Outras pesquisas investigaram mtodos de integrao de etnografia no
processo de engenharia de software, ligando-o aos mtodos de engenharia de requisitos e pela
documentao de padres de interao em sistemas cooperativos.
A etnografia particularmente eficaz para descobrir dois tipos de requisitos:
1. Requisitos derivados da maneira como as pessoas realmente
trabalham em vez da maneira pela qual as definies de processo
dizem que elas deveriam trabalhar. Por exemplo, os controladores de
trfego areo podem desligar um sistema de alerta de coliso de
aeronaves que detecta rotas de voo em coliso, embora os
procedimentos normais de controle especifiquem que ele deve ser
usado. Sua estratgia de controle projetada para assegurar que
essas aeronaves sejam afastadas antes que ocorram problemas e os
controladores consideram que o alarme de alerta os distrai de seu
trabalho.
2. Requisitos derivados da cooperao e do conhecimento das
atividades de outras pessoas. Por exemplo, os controladores de
trfego areo podem usar o conhecimento que tm do trabalho de
outros controladores para prever o nmero de aeronaves que entraro
em seu setor de controle. Depois eles modificam suas estratgias de
controle, dependendo da sobrecarga prevista. Portanto, um sistema
automatizado de controle de trfego areo deve permitir que os
controladores em um setor tenham alguma visibilidade do trabalho em
setores adjacentes.
A etnografia pode ser combinada com a prototipao (figura 3.6). A etnografia
informa o desenvolvimento do prottipo de tal modo que poucos ciclos de refinamento de
prottipo sejam necessrios. Alm disso, a prototipao enfoca a etnografia, identificando os
problemas e as questes que podem, assim, ser discutidos com o etngrafo. O etngrafo deve,
ento, procurar as respostas a estas questes durante a prxima fase do estudo de sistema.
Os estudos de etnografia podem revelar detalhes importantes do processo
frequentemente ignorados por outras tcnicas de elicitao de requisitos. No entanto, devido a
seu foco no usurio final, essa abordagem no apropriada para obter os requisitos
organizacionais ou de domnio. Os estudos etnogrficos nem sempre podem identificar novas
caractersticas a serem acrescentadas a um sistema. A etnografia no , portanto, uma
abordagem completa para elicitao e deve ser usada para complementar outras abordagens,
como a anlise de casos de uso.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
18
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Reunies
de prestao
de contas
Anlise
etnogrfica
Etnografia
focalizada
Avaliao de
prottipo
Desenvolvimento
de sistema
genrico
Prototipao
de sistema
4. VALIDAO DE REQUISITOS
A validao de requisitos dedica-se a mostrar que os requisitos realmente
definem o sistema que o usurio deseja/necessita. A validao de requisitos se sobrepe
anlise; est relacionada descoberta de problemas com os requisitos. A validao de
requisitos importante porque os erros em um documento de requisitos podem levar a custos
excessivos de retrabalho quando so descobertos durante o desenvolvimento ou depois que o
sistema est em operao. O custo de correo de um problema de requisitos, fazendo uma
mudana de sistema, muito maior do que a correo de erros de projeto e de codificao. A
razo disso que uma mudana de requisitos significa geralmente que o projeto e a
implementao do sistema devem tambm ser mudados e o sistema deve ser novamente
testado.
Durante o processo de validao de requisitos, devem ser realizadas
verificaes nos requisitos do documento de requisitos. Essas verificaes incluem:
1. Verificaes de validade: um usurio pode pensar que um sistema
necessrio para desempenhar determinadas funes. Contudo, mais
estudos e anlises podem identificar que funes adicionais e
diferentes so necessrias. Os sistemas tm diversos stakeholders
com necessidades diferentes e qualquer conjunto de requisitos ,
inevitavelmente, um compromisso da comunidade de stakeholders.
2. Verificaes de consistncia: os requisitos em um documento no
devem ser conflitantes. Isso significa que no devem existir restries
ou descries contraditrias para a mesma funo do sistema.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
19
PROCESSOS DE
ENGENHARIA DE REQUISITOS
3. Verificaes de completeza: o documento de requisitos deve incluir
requisitos que definam todas as funes e as restries desejadas
pelo usurio do sistema.
4. Verificaes de realismo: usando o conhecimento da tecnologia
existente, os requisitos devem ser verificados quanto a se realmente
podem ser implementados. Essas verificaes tambm devem levar
em considerao o oramento e o prazo para o desenvolvimento do
sistema.
5. Facilidade de verificao: para reduzir o potencial de divergncias
entre cliente e fornecedor, os requisitos do sistema devem sempre
ser escritos de modo que sejam verificveis. Isso significa que devese ser capaz de escrever um conjunto de testes que possa
demonstrar que o sistema entregue atende a cada requisito
especificado.
Uma srie de tcnicas de validao de requisitos pode ser usada em conjunto
ou individualmente:
1. Revises
de
requisitos:
os
requisitos
so
analisados
20
PROCESSOS DE
ENGENHARIA DE REQUISITOS
de requisitos durante o processo de validao. inevitvel que haja mudanas de requisitos
posteriores para corrigir omisses e mal-entendidos depois da aprovao do documento de
requisitos.
do
sistema.
rastreabilidade
explicada
mais
21
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Conflitos, contradies, erros e omisses nos requisitos devem ser apontados
pelos revisores e registrados formalmente no relatrio de reviso. , portanto, de
responsabilidade dos usurios, do adquirente de sistema e do desenvolvedor de sistema
negociar uma soluo para esses problemas identificados.
5. GERENCIAMENTO DE REQUISITOS
Os requisitos de sistemas de software de grande porte esto sempre mudando.
Um motivo para isso que esses sistemas so geralmente desenvolvidos para lidar com
problemas 'perversos'. Como o problema no pode ser totalmente definido, os requisitos de
software tendem a ser incompletos. Durante o processo de software, o entendimento dos
stakeholders sobre o problema muda constantemente. Esses requisitos devem ento evoluir
para refletir essas novas vises do problema.
Alm disso, depois que o sistema estiver instalado, inevitavelmente surgiro
novos requisitos. difcil para os usurios e os clientes do sistema anteciparem quais efeitos o
novo sistema causar na organizao. Quando os usurios adquirirem experincia com o
sistema, eles descobriro novas necessidades e prioridades:
1. Sistemas de
grande
porte
geralmente
tm
uma
comunidade
Os
requisitos
finais
do
sistema
constituem
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
22
PROCESSOS DE
ENGENHARIA DE REQUISITOS
nova legislao e regulamentos em ser introduzidos devendo ser
implementados no sistema.
O gerenciamento de requisitos um processo para compreender e controlar as
mudanas dos requisitos de sistema. necessrio manter o acompanhamento dos requisitos
individuais e manter as ligaes entre os requisitos dependentes, de modo que seja possvel
avaliar o impacto das mudanas de requisitos. necessrio estabelecer um processo formal
para fazer propostas de mudana e lig-las aos requisitos de sistema. O processo de
gerenciamento de requisitos deve se iniciar assim que uma verso inicial do documento de
requisitos esteja disponvel, mas deve-se iniciar o planejamento das mudanas de requisitos
durante o processo de elicitao de requisitos.
5.1. Requisitos permanentes e volteis
A evoluo de requisitos, durante o processo de engenharia de requisitos e
aps a entrada de um sistema em operao, inevitvel. O desenvolvimento de requisitos de
software enfoca as capacidades de software, objetivos da empresa e outros sistemas da
empresa. medida que a definio dos requisitos se desenvolve, uma compreenso maior das
necessidades dos usurios obtida. Isso realimenta as informaes do usurio que pode,
ento, propor uma mudana nos requisitos (figura 5.1). Alm disso, pode levar muitos anos
para especificar um sistema de grande porte. Ao longo desse tempo, o ambiente do sistema e
os objetivos da empresa mudam e os requisitos evoluem para refletir essas mudanas.
Compreenso
inicial
do problema
Compreenso
modificada
do problema
Requisitos
iniciais
Requisitos
modificados
tempo
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
23
PROCESSOS DE
ENGENHARIA DE REQUISITOS
enfermeiros e tratamentos. Esses requisitos podem ser derivados
de modelos de domnio que mostram as entidades e as relaes
que caracterizam um domnio de aplicao.
2.
Descrio
Requisitos
mutveis
Requisitos
emergentes
Requisitos
consequentes
Requisitos de
compatibilidade
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
24
PROCESSOS DE
ENGENHARIA DE REQUISITOS
2. Processo de gerenciamento de mudanas: o conjunto de
atividades que avaliam o impacto e custo das mudanas.
3. Polticas
de
rastreabilidade:
essas
polticas
definem
os
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
25
PROCESSOS DE
ENGENHARIA DE REQUISITOS
requisito introduzido em uma linha e uma coluna da matriz. As dependncias entre diferentes
requisitos so registradas na clula correspondente interseco de linha/coluna.
A tabela 5.2 mostra uma matriz simples de rastreabilidade que registra as
dependncias entre requisitos. A letra 'D' na interseco linha/coluna ilustra que o requisito da
linha depende do requisito identificado na coluna; a letra 'R' significa que existe algum outro
relacionamento mais fraco entre os requisitos. Por exemplo, ambos podem definir os requisitos
para partes do mesmo subsistema.
Tabela 5.2 Matriz de rastreabilidade
ID de
requisito
1.1
1.1
1.2
1.3
1.2
1.3
2.1
2.2
D
R
2.3
3.1
2.1
2.2
2.3
3.2
D
R
3.1
3.2
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
26
PROCESSOS DE
ENGENHARIA DE REQUISITOS
2. Gerenciamento de mudanas: o processo de gerenciamento de
mudanas (figura 5.2) simplificado se um apoio ativo de ferramentas
estiver disponvel.
3. Gerenciamento de rastreabilidade: conforme explicado anteriormente,
o apoio de ferramentas para rastreabilidade permite que requisitos
relacionados sejam obtidos. Algumas ferramentas usam tcnicas de
processamento de linguagem natural para auxiliar na descoberta de
possveis relacionamentos entre os requisitos.
Para sistemas de pequeno porte, o uso de ferramentas especializadas de
gerenciamento de requisitos pode no ser necessrio. O processo de gerenciamento de
requisitos pode ter o apoio de recursos disponveis em processadores de texto, planilhas e
bancos de dados. Contudo, para sistemas de grande porte, necessria uma ferramenta de
apoio mais especializada.
5.3. Gerenciamento de mudanas de requisitos
O gerenciamento de mudanas de requisitos (figura 5.2) deve ser aplicado a
todas as mudanas propostas aos requisitos. A vantagem de usar um processo formal para
gerenciamento de mudanas que todas as propostas de mudana so tratadas
consistentemente e as mudanas no documento de requisitos so feitas de maneira controlada.
Existem trs principais estgios para um processo de gerenciamento de mudanas:
1. Anlise do problema e especificao da mudana: o processo se
inicia com um problema de requisitos identificado ou, s vezes, com
uma proposta de mudana especfica. Durante esse estgio, o
problema ou a proposta de mudana analisada para verificar se
vlida. Os resultados da anlise so realimentados para o solicitante
da mudana e, algumas vezes, feita uma proposta de mudana de
requisitos mais especfica.
2. Anlise da mudana e estimativa de custo: o efeito da mudana
proposta avaliado usando as informaes de rastreabilidade e o
conhecimento geral sobre os requisitos do sistema. O custo de
realizar a mudana estimado em termos de modificaes no
documento de requisitos e, se adequado, do projeto e da
implementao do sistema. Uma vez completada esta anlise,
tomada uma deciso sobre prosseguir ou no com a mudana de
requisitos.
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
27
PROCESSOS DE
ENGENHARIA DE REQUISITOS
3. Implementao da mudana: o documento de requisitos e, quando
necessrio, o projeto e a implementao de sistema so modificados.
Deve-se organizar o documento de requisitos de modo que possa
realizar as mudanas sem reescrita ou reorganizao extensivas. Da
mesma maneira que na programao, a facilidade de mudanas no
documento obtida por meio da minimizao das referncias
externas e tornando as sees do documento o mais modulares
possvel. Assim, as sees individuais podem ser mudadas e
substitudas sem afetar outras partes do documento.
Problem a
identificado
Anlise do
problema e
especificao
de mudanas
Anlise de
mudanas e
estimativa
de custo
Implementao
das mudanas
Requisitos
revisados
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
28
PROCESSOS DE
ENGENHARIA DE REQUISITOS
Empresrio
Consultor de Empresas
Professor Universitrio
Mestre em Informtica
Bacharel em Administrao
marcelo.moreira2@fatec.sp.gov.br
Engenharia de Software
Prof. Me. Marcelo dos Santos Moreira
29