Anda di halaman 1dari 13

WEBAULA 2

Unidade 2 Engenharia de Requisitos



Na Engenharia de Software, temos uma especialidade que a
Engenharia de Requisitos, sendo um de seus objetivos melhorar a
modelagem de sistemas, possibilitando maior entendimento de suas
caractersticas antes da implementao. Portanto, nesta aula
abordaremos conceitos e tcnicas aplicados a estes requisitos.
Caro aluno, nesta Web aula abordaremos assuntos relacionados ao
tema Engenharia de Software, onde iremos explorar os Processos de
Engenharia de Requisitos com suas principais caractersticas e
funcionalidades. Darei algumas sugestes de leituras e vdeos para
que possamos explorar mais a fundo o tema tratado.

Conceitos de Requisitos

Antes do assunto direto, vamos assistir algumas curiosidades em
relao Evoluo do Computador por meio dos links:

Histria do computador em minutos
Vdeo
A interface Homem-computador

Vdeo
O motivo pelo qual apresentamos as visualizaes por meio dos
vdeos para identificar a importncia e a agilidade das inovaes no
meio computacional.
Dessa forma, podemos ter noo de alguns aspectos que destacam a
necessidade do entendimento dos princpios de engenharia, para que
possamos ter softwares que sejam eficientes e confiveis.
Agora, voltamos para o assunto em destaque desta web aula, que
so os Processos de Engenharia de Requisitos. Esses processos so
utilizados para descobrir, analisar e validar os requisitos dos
sistemas. Suas principais atividades so:
Estudo de viabilidade;
Elicitao (levantamento) e anlise de requisitos;
Especificao e documentao de requisitos;
Validao de requisitos.

Processo de Engenharia de Requisitos

Para aprofundar o seu conhecimento:
Assista ao vdeo:
Engenharia de Requisitos
VIDEO
Estudo de viabilidade
O estudo de viabilidade consiste num estudo preliminar de requisitos
de negcios, no qual decidido se vale a pena desenvolver o sistema
proposto. Um estudo breve verifica se:
sistema contribui para os objetivos da organizao;
sistema pode ser implementado com a tecnologia atual e dentro
do oramento;
sistema pode ser integrado com outros sistemas em operao.
(SOMMERVILLE, 2007, p. 97).

Implementao do estudo de viabilidade
A realizao do estudo de viabilidade envolve a avaliao de
informaes, coleta de dados e a elaborao de um relatrio. Para
auxiliar na implementao, alguns questionamentos podem ser
levantados s pessoas na organizao, tais como:
- O que aconteceria se o sistema no fosse implementado?
- Quais so os problemas com os processos atuais?
- Como o sistema proposto ir ajudar?
- Pode haver troca de informaes entre outros sistemas e o
sistema proposto?
- Ser necessrio nova tecnologia? Quais habilidades?
- O que precisa e o que no precisa ser compatvel com o sistema?
Durante esta fase, podemos consultar os engenheiros de software,
especialistas em tecnologia e os usurios finais para coletarmos as
informaes. Geralmente, leva-se de 02 (duas) a 03 (trs) semanas
para concluir as atividades.

Elicitao e anlise de requisitos
Nesta atividade, os engenheiros trabalham em conjunto com os
usurios finais do sistema com o intuito de entender o domnio da
aplicao. Para tal, envolvem-se vrias pessoas da organizao,
que so denominadas stakeholders.
Os membros da equipe tcnica trabalham com o cliente e os usurios
para descobrir mais informaes sobre o domnio da aplicao,
servios do novo sistema, desempenho e as restries operacionais.
O termo Stakeholder aplicado a qualquer pessoa que ter influncia
direta ou indireta sobre os requisitos do sistema, podendo ser
usurios finais, pessoal de uma organizao que venha a ser afetado
pelo sistema, engenheiros envolvidos no desenvolvimento ou
manuteno do sistema (e/ou outros sistemas relacionados),
gerentes de negcios, especialistas no domnio da aplicao e at
representantes de sindicatos.
roblemas com a anlise de requisitos
Durante o processo de elicitao e anlise dos requisitos,
encontramos alguns problemas para realizar a atividade, pois:
- Pessoas diferentes podem ter requisitos conflitantes;
- Pessoas expressam os requisitos usando termos prprios;
- Fatores polticos podem influenciar os requisitos do sistema;
- Os requisitos se alteram durante o processo de anlise, pois o
ambiente econmico e de negcios dinmico.

Processo de elicitao e anlise de requisitos
Podemos verificar que cada organizao ter a sua prpria verso de
um modelo para a obteno e anlise de requisitos, dependendo de
fatores locais, nvel de conhecimento da equipe, tipos do sistema a
ser desenvolvido e os padres dos usurios.
As atividades do processo so:
- Obteno de requisitos um processo que visa coletar
requisitos, em que os requisitos de domnio tambm so descobertos
durante esta atividade.
- Classificao e organizao de requisitos envolve a coleta de
requisitos no estruturados, agrupando-os e organizando-os em
conjuntos coerentes.
- Priorizao e negociao de requisitos atividade relacionada
priorizao de requisitos, devido a requisitos conflitantes (quando
h vrios stakeholders atuando), procura e resoluo de conflitos
por meio de negociaes.
- Documentao de requisitos so documentados e colocados
na prxima volta da espiral, podendo ser produzidos documentos de
requisitos formais ou informais.

Especificao e documentao de requisitos
A especificao de requisitos uma etapa essencial do processo de
desenvolvimento de software, que compreende uma definio
completa do comportamento externo de software do sistema ou parte
do sistema.

Requisitos do usurio
So declaraes, em linguagem natural e diagramas, sobre os
servios que o sistema oferece e as restries para a sua operao.
So escritos para os clientes.

Requisitos do sistema
Estabelecem detalhadamente as funes e restries do sistema. O
documento de requisitos, chamado de especificao funcional, pode
servir como um contrato entre cliente e desenvolvedor.

Especificao de software
Trata-se de uma especificao abstrata e precisa do software,
indicando o que ele deve fazer (sem dizer como), que serve de base
para o design e implementao. Ela acrescenta mais detalhes
especificao funcional e escrita para a equipe de desenvolvimento.
Ao descrever os requisitos, necessitamos nos atentar s
seguintes situaes, pois:
A especificao dos requisitos deve ser completa (deve
descrever tudo o que necessrio), consistente (no deve
haver conflitos e contradies) e no ambgua (no deve levar
a interpretaes diferentes por desenvolvedores e usurios).
difcil de ser atingida, considerando que existem diferentes
tipos de requisitos envolvidos.
Depende da preciso da linguagem utilizada, visto que a
linguagem natural, informal, mais apropriada para os
requisitos do usurio e do sistema, j as linguagens grficas,
semiformais, so apropriadas para os requisitos do sistema e
do software, e as linguagens formais so mais apropriadas para
uma especificao formal de software em mtodos formais.
Os requisitos de software so frequentemente classificados como
requisitos funcionais e no-funcionais:

Requisitos funcionais
So declaraes de servios que o sistema deve fornecer, como ele
deve reagir a entradas especficas e como o sistema deve se
comportar em determinadas situaes, sendo que, em muitas vezes,
tambm podem explicar como o sistema deve ou no fazer.
Exemplo:
"o software deve possibilitar o clculo dos gastos dirios,
semanais, mensais e anuais com pessoal".
"o software deve emitir relatrios de compras a cada quinze
dias".
"os usurios devem poder obter o nmero de aprovaes,
reprovaes e trancamentos em todas as disciplinas por um
determinado perodo de tempo".

Requisitos no-funcionais
So restries aos servios ou funes oferecidas pelo sistema, que
incluem restries de tempo, no processo de desenvolvimento e
tambm restries impostas por normas/leis. Os requisitos no-
funcionais, muitas vezes, aplicam-se ao sistema como um todo.
So exemplos de requisitos no-funcionais:
"a base de dados deve ser protegida para acesso apenas de
usurios autorizados".
"o tempo de resposta do sistema no deve ultrapassar 30
segundos".
"o software deve ser operacionalizado no sistema Linux"
"o tempo de desenvolvimento no deve ultrapassar seis
meses".
Validao de requisitos
o processo pelo qual se verifica se os requisitos elicitados definem o
sistema que o cliente realmente quer. A validao tambm
importante, uma vez que o custo para remover erros de requisitos
grande, quando descobertos tardiamente.
Durante o processo de validao de requisitos, diferentes tipos de
verificao devem ser efetuados no documento de requisitos. Essas
verificaes incluem:
1. Validade - O sistema fornece as funes que melhor atendem
as necessidades de todos os usurios?
2. Consistncia - Existem conflitos de requisitos?
3. Completeza - Todas as funes necessrias foram includas?
4. Realismo - Os requisitos podem ser implementados com a
tecnologia e oramento disponveis?
5. Verificabilidade - Os requisitos podem ser checados?

Uma srie de tcnicas de validao podem ser utilizadas
individualmente ou em conjunto, tais como:
1. Revises de requisitos - feita uma anlise manual
sistemtica dos requisitos;
2. Prototipao - um modelo executvel do sistema
demonstrado para os usurios finais para checar os requisitos;
3. Gerao de casos de teste - os requisitos devem ser
testveis, para tal, devem-se desenvolver testes para os
requisitos a fim de verificar a testabilidade.
WEBAULA 2
Unidade 2 Gerenciamento de Requisitos

O gerenciamento de requisitos o processo de controlar as mudanas
nos requisitos durante o processo de engenharia de requisitos e
desenvolvimento. Torna-se necessrio manter o acompanhamento
dos requisitos individuais e manter as ligaes entre os requisitos
dependentes, de modo que seja possvel avaliar os impactos das
mudanas de requisitos.
Considerando que os requisitos so inevitavelmente incompletos e
inconsistentes, novos requisitos surgem durante o processo de
desenvolvimento e os diferentes pontos de vista que esses requisitos
possuem frequentemente so contraditrios.
Existem vrias razes pelas quais as mudanas so inevitveis,
dentre elas destacam-se:
A prioridade dos requisitos de diferentes pontos de vista se
modificam;
As pessoas que pagam pelo sistema podem especificar os
requisitos de maneira conflitante com os requisitos das pessoas
que iro utilizar o sistema;
A empresa e o ambiente tcnico do sistema se modificam
durante o seu desenvolvimento.

Evoluo dos requisitos
Do ponto de vista da evoluo, os requisitos dividem-se em duas
classes:

Requisitos permanentes
So requisitos estveis, derivados da atividade principal da
organizao. Ex. Em um hospital, sempre haver requisitos relativos
aos pacientes, aos mdicos, s enfermeiras a aos tratamentos.
Requisitos volteis
So requisitos que se modificam durante o desenvolvimento ou
quando o sistema est em uso. Requisitos resultantes de polticas
governamentais. Ex.: planos de assistncia mdica.
Os requisitos volteis podem ser classificados em:
Requisitos mutveis - Requisitos que se modificam por causa do
ambiente do sistema que est operando.
Requisitos emergentes - Requisitos que surgem medida que a
compreenso do sistema pelo cliente progride durante o
desenvolvimento do sistema.
Requisitos consequentes - Requisitos que resultam da
introduo do sistema de computador, onde podem ser criadas
novas formas de trabalho, que geram novos requisitos de
sistema.
Requisitos de compatibilidade - Requisitos que dependem de
outros sistemas ou processos de negcio especficos dentro da
organizao.

Gerenciamento de mudanas de requisitos
A figura abaixo mostra o processo de gerenciamento de requisitos, o
qual deve ser aplicado a todas as mudanas propostas aos requisitos.
A vantagem de se usar um mtodo formal para gerenciar as
mudanas est no fato de que as propostas so tratadas
consistentemente e a documentao dos requisitos feita de maneira
controlada.



Existem trs estgios no processo de gerenciamento de
mudanas, que so:
Anlise do problema e especificao da mudana.
Discutem-se os problemas com os requisitos e propem-se
mudanas.
Anlise e custo da mudana.
Avaliam-se os efeitos da mudana em outros requisitos do
sistema.
Implementao das mudanas.
O documento de requisitos e outros documentos so alterados
de forma a refletir as mudanas.

Tcnicas de Requisitos
A seguir apresentaremos algumas tcnicas para o levantamento e
anlise de requisitos:
Levantamento baseado em pontos de vista;
Entrevistas;
Cenrios de utilizao do sistema;
Etnografia (anlise do ambiente de trabalho dos usurios).

Levantamento baseado em pontos de vista
As abordagens baseadas em pontos de vista tm como ponto forte o
reconhecimento de vrias perspectivas, fornecendo um framework
para descobrir conflitos nos requisitos propostos por diferentes
stakeholders.
Sistemas mdios e grandes possuem diferentes tipos de usurios
finais:
Pessoas envolvidas com o sistema possuem diferentes
interesses e pontos de vista a respeito do sistema;
A anlise desta multiperspectiva importante para se descobrir
e esclarecer os requisitos conflitantes propostos por diferentes
usurios.

Entrevistas
Fazem parte da maioria dos processos de engenharia de requisitos.
Nestas entrevistas, a equipe de engenheiros formula questes para
os stakeholders sobre o sistema a ser desenvolvido.
As entrevistas podem ser abertas, em que o stakeholder responde
um conjunto de perguntas predefinidas, ou fechadas, nas quais no
h um roteiro definido, onde o engenheiro explora vrios assuntos
com os stakeholders no sistema, desenvolvendo assim uma maior
compreenso das suas necessidades.
As entrevistas so teis para se obter um entendimento geral sobre o
que os stakeholders fazem, como eles podem interagir com o sistema
e as dificuldades que enfrentam com o sistema atual, porm no so
eficientes para elicitao de conhecimento sobre os requisitos e suas
restries.

Cenrios de utilizao do sistema
Geralmente, as pessoas consideram mais simples relatar exemplos da
vida real a que abstrair descries, desta forma, os cenrios podem
ser descritos e criticados por eles como uma forma de interao com
o sistema de software.
Os cenrios so teis para adicionar detalhes a um esboo da
descrio de requisitos, onde cada cenrio abrange uma ou mais
interaes possveis. Assim sendo, diversos cenrios foram
desenvolvidos, cada um dos quais fornecendo diferentes tipos de
informaes sobre o sistema em diversos nveis de detalhamento.
Descries de cenrios incluem:
Estado do sistema no incio do cenrio;
Fluxo normal de eventos no cenrio;
O que pode sair errado e como lidar com isso;
Outras atividades concorrentes;
Estado do sistema no final do cenrio.

Etnografia (anlise do ambiente de trabalho dos usurios)
uma tcnica de observao que pode ser usada na compreenso
dos requisitos sociais e organizacionais, na qual um analista se insere
no ambiente de trabalho onde o sistema ser usado, observa o
trabalho do dia a dia e anota as tarefas reais nas quais os
participantes esto envolvidos.
Denota-se o valor desta tcnica na ajuda prestada aos analistas para
se descobrir os requisitos implcitos de sistemas que refletem os
processos reais, e no os formais no qual as pessoas esto
envolvidas.
A etnografia particularmente eficaz para descobrir:
Requisitos derivados da maneira como as pessoas realmente
trabalham, ao invs da maneira pela qual as definies de
processo dizem o que deveria fazer.
Requisitos derivados da cooperao e do conhecimento das
atividades de outras pessoas.
A etnografia pode e deve ser combinada com a prototipao, pois
informa o desenvolvimento do prottipo de tal forma que poucos
ciclos de refinamento sejam necessrios.
Uma vantagem da etnografia que ela pode revelar detalhes
importantes do processo, que frequentemente so ignorados por
outras tcnicas, porm, no apropriada para obter os requisitos
organizacionais e de domnio. Assim sendo, a etnografia no uma
abordagem completa para a elicitao de requisitos, ento devendo
ser usada como complemento de outras abordagens como, por
exemplo, a de cenrios.





BOAVENTURA, Ins A. G. O processo de engenharia de
requisitos. So Paulo: UNESP, 2006. Disponvel em:. Acesso em:
ago. 2013.
SOMMERVILLE, Ian. Engenharia de software. 8. ed. So Paulo:
Pearson, 2007. 552p.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. So Paulo:
Pearson, 2011. 529p.

Anda mungkin juga menyukai