You are on page 1of 47

Aula 5Eng.

SW
Sumário: Engenharia de Requisitos
1. Definição
2. Actividades Principais
2.1 Estudos de viabilidade
2.2 Elicitação e análise de requisitos
2.3 Documentação e Especificação
2.4 Validação de requisitos
3. Leituras sugeridas

19/04/2019 Professora Candida Kandeya ---UNIBELAS 1


Engenharia de Requisitos
Definição:
““( Sommerville) ....Engenharia de requisitos ė o
processo de comunicação entre os clientes e os
usuarios de software e os desenvolvidores de
software. ”
“A engenharia de requisitos é um processo que
engloba todas as actividades que contribuem para a
produção de um documento de requisitos e sua
manutenção ao longo do tempo.”
http://pt.wikipedia.org/wiki/Engenharia_de_requisitos

19/04/2019 Professora Candida Kandeya ---UNIBELAS 2


Actividades Principais
1. Estudos de viabilidade
Antes de se avançar com uma análise mais detalhada
dos requisitos de um projeto, deve ser feito um
estudo de viabilidade que consiste de um conjunto
preliminar de requisitos de negocios, um esboço da
descrição do sistema e como o sistema pretende
apoiar os processos de negócios.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 3


Estudos de viabilidade
1.Estudos de viabilidade: pretende-se com este estudo
avaliar -se, de um ponto de vista tecnológico e
organizacional, se o projeto é viável.
O estudo procura responder a uma serie de questões:
 Será que o sistema contribui para os objectivos da
organização?
 Dadas as restrições tecnológicas, organizacionais
(econômicas, políticas, ambientais, recursos
disponíveis) e temporais associadas ao projeto, será
que o sistema pode ser implementado?

19/04/2019 Professora Candida Kandeya ---UNIBELAS 4


Estudos de viabilidade
 Caso haja necessidade de integração entre diferentes
sistemas, será que esta é possível?
 O estudo de viabilidade culmina com a produção de
um relatório que determinará a continuação do
desenvolvimento do projecto, tornando mais claras as
restrições (econômicas, temporais e organizacionais)
do projecto e definindo mesmo alguns requisitos de
alto nível.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 5


Elicitação de Requisitos
 ELICITAR: descobrir, tornar explícito, obter o máximo
de informações para o conhecimento do objecto em
questão.
 Cabe à elicitação a tarefa de identificar os factos que
compõem os requisitos do Sistema, de forma a prover o
mais correto e mais completo entendimento do que é
demandado daquele software.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 6


2.Elicitação e análise de Requisitos

 Nesta actividade os engenheiros de software trabalham


com os clientes e os usuários finais do sistema para
aprender sobre o domínio da aplicação , quais serviços
o sistema deve fornecer, o desempenho esperado do
sistema, restrições e de hardware, etc.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 7


2.Elicitação e análise de Requisitos
Actividades envolvidas(Elicitação/Identificação)
 Compreensão do domínio: é muito importante para o
analista compreender o domínio no qual a organização
e o projecto se inserem; quanto maior for o
conhecimento acerca do domínio, mais eficaz será a
comunicação entre o analista e as partes interessadas.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 8


2.Elicitação e análise de Requisitos
 Identificação das partes interessadas: estes já deverão
ter sido identificados nos estudos de viabilidade,
porém para efeitos de identificação de requisitos
convém concentrar as atenções nos utilizadores do
sistema.
 Captura: consiste na obtenção com o cliente dos
requisitos (funcionais e não-funcionais) pretendidos
para o sistema.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 9


Actividades envolvidas na análise de
requisitos
Classificação: agrupamento de requisitos
em "módulos" para facilitar a visão global do
funcionamento pretendido para o sistema.
Resolução de conflitos: dada a
multiplicidade e diversidade de papéis das
partes interessadas envolvidas na captura e
análise de requisitos, é inevitável a
existência de conflitos nos requisitos
identificados; é importante resolver estes
conflitos o mais breve possível.
19/04/2019 Professora Candida Kandeya ---UNIBELAS 10
Actividades envolvidas na análise de
requisitos
Priorização: consiste na atribuição de uma
"prioridade" a cada requisito (por exemplo
elevada/média/baixa); obviamente, este pode
ser um factor gerador de conflitos.
Confirmação: é confirmada com as partes
interessadas a completude dos requisitos, sua
consistência e validade (de acordo com o que
se pretende do sistema).

19/04/2019 Professora Candida Kandeya ---UNIBELAS 11


2.Elicitação e análise de Requisitos
Dificuldades
 Factores externos (políticos) podem influenciar os
requisitos (alguma parte interessada, com poder de
decisão, pode exigir requisitos específicos que sirvam
aos seus interesses e não aos da organização, ou forçar
o seu ponto de vista em detrimento dos demais
interessados que irão operar o sistema).
 O ambiente (económico e/ou organizacional) em que
a análise é feita possui factores dinâmicos, e como tal,
os requisitos estão sujeitos a alterações em decorrência
destes (por exemplo: novas partes interessadas são
envolvidas no projeto, ou alterações em prazos e
orçamentos disponíveis)
19/04/2019 Professora Candida Kandeya ---UNIBELAS 12
2.Elicitação e análise de Requisitos
 O cliente pode não saber exactamente o que deseja para o
sistema, ou sabê-lo mas não conseguir articulá-lo ( o que é
bastante comum ).

 Os requisitos identificados podem não ser realistas (do


ponto de vista econômico ou tecnológico, por exemplo).

 Cada parte interessada pode expressar os mesmos


requisitosde formas diferentes, sendo necessário - através
de um bom conhecimento do domínio - identificar estas
situações.

(http://pt.wikipedia.org/wiki/Engenharia_de_requisitos)

19/04/2019 Professora Candida Kandeya ---UNIBELAS 13


3. Documentação e Especificação
 Esta actividade consiste em reunir
informações sobre o sistema proposto e os
existentes para obter os requisitos de
usuário e de sistema com base nessas
informações .
Em todos os tipos de especificação há 2 tipos
de requisitos a considerar:
 Requisitos funcionais
 Requisitos não-funcionais
19/04/2019 Professora Candida Kandeya ---UNIBELAS 14
3. Documentação e Especificação
A documentação produzida poderá ter
diferentes destinatários e como tal
diferentes objectivos. Podem-se distinguir
três tipos de especificação: Onde se faz uma
abordagem de alto nível das funcionalidades
do sistema e suas restrições, usando
linguagem natural, diagramas ou esquemas.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 15


Documentação e Especificação
 Especificação de requisitos do sistema. Onde cada
requisito é descrito com mais detalhe introduzindo já
alguns conceitos relativos à arquitetura do sistema,
fazendo-se uso de linguagens estruturadas (notações
gráficas como diagramas de casos de uso).
 Especificação do design da aplicação. A especificação
do design da aplicação consiste num documento
usado pela equipe de desenvolvimento do sistema no
qual estão definidos pormenores, em um nível mais
técnico, acerca da implementação do sistema e sua
arquitetura.
19/04/2019 Professora Candida Kandeya ---UNIBELAS 16
3.Documentação e Especificação
A partir deste documento, um elemento que
entre para a equipe de desenvolvimento no
meio do projeto deverá ser capaz de "se
situar" quando precisar de começar a
codificar, compreendendo a forma como a
implementação, em um nível global, está a
ser feita, mas sem conhecer necessariamente
os detalhes de implementação
aprofundados.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 17


3.Documentação e Especificação
 Documento de Especificação de Requisitos
(Software Requirements Specification ou SRS)
usada como declaração oficial dos requisitos do
sistema, inclui uma combinação dos requisitos do
utilizador e do sistema e tem diferentes utilidades
para diferentes pessoas (Kotonya e Sommerville,
1998):
 Clientes: confirmar a completude dos requisitos e
propor alterações.
 Gestores: orçamentar o sistema e planejar o
processo de desenvolvimento.
19/04/2019 Professora Candida Kandeya ---UNIBELAS 18
3.Documentação e Especificação
 Engenheiros: compreender o sistema a
desenvolver.
 Engenheiros (testes): desenvolver testes para
validar o cumprimento dos requisitos.
 Engenheiros (manutenção): compreender o
sistema e a ligação entre as suas partes.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 19


Documentação e Especificação
Existem diversos padrões para este
documento, embora não se possa apontar
nenhum como o "ideal". Uma estrutura
proposta pelo IEEE que é talvez a mais usada é
o IEEE/ANSI 830-1993 (Thayer e Dorfman,
1993). (Estrutura do doc. Pag 92 cap. 6
Sommerville 8ª Edição)

19/04/2019 Professora Candida Kandeya ---UNIBELAS 20


4.Validação de requisitos
 Nesta fase pretende-se demonstrar que o
documento de requisitos produzido
corresponde, de facto, ao sistema que o
cliente pretende.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 21


Validação de requisitos
 A validação é especialmente importante em
sistemas de grandes dimensões uma vez que
erros encontrados demasiado tarde (durante
o desenvolvimento ou já depois de o sistema
estar a ser usado) no documento de
requisitos têm repercussões proporcionais à
dimensão do projecto.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 22


Validação de requisitos
Durante o processo de Validação de requisitos, devem
ser realizadas verificações e que incluem:
 Validade: a especificação resulta da análise dos
requisitos identificados junto das diversas partes
interessadas envolvidas. Como tal, requisitos
identificados individualmente (isto é, junto de cada
parte interessada) podem diferir da especificação final
que se atinge após o cruzamento de informação e é
necessário que cada cliente compreenda e aceite a
especificação final obtida.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 23


4.Validação de requisitos
 Consistência: não devem existir conflitos entre os
requisitos identificados.
 Compreensibilidade / Ambiguidade: os requisitos
devem poder ser compreendidos de forma inequívoca
pelas partes interessadas.
 Completude: todas as funcionalidades pretendidas
devem fazer parte da especificação do sistema.
 Realismo: dadas as restrições do projeto
(tecnológicas, financeiras e temporais) o sistema
especificado tem de ser implementável.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 24


4.Validação de requisitos
 Verificabilidade: de forma a evitar futuras
discordâncias quanto à concretização dos requisitos
especificados, estes devem ser descritos de modo a que
seja possível verificar se foram ou não concretizados,
isto é, se o sistema final corresponde à especificação
inicial.
 Rastreabilidade: a origem dos requisitos, em relação
ao cliente, deve estar claramente identificada. Entre
outros motivos, isto é importante para facilitar a gestão
futura dos requisitos.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 25


4.Validação de requisitos
Conformidade com normas: para além dos aspectos
funcionais dos requisitos, a sua especificação deve
obedecer às normas usadas ao longo de todo o
documento.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 26


O processo de Engenharia de Requisitos
Estudo de Elicitação e
viabilidade analises de
Especificação
Requisitos de requisitos
Validação
de
Requisitos

Relatório de
Viabilidade Requisitos de
Modelos de
Sistemas usuário e de
sistema Documentos
de Requisitos

19/04/2019 Professora Candida Kandeya ---UNIBELAS 27


Técnicas de validação
 Revisão de requisitos
A revisão de requisitos é um processo manual que
envolve pessoas de ambas as organizações, do cliente e
do fornecedor. Eles verificam o documento de
requisitos em busca de anomalias e omissões.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 28


Técnicas de validação
o Prototipificação
A implementação de um protótipo (por exemplo, da
interface do sistema) pode ser útil para os utilizadores
finais (e demais interessados).
Desvantagens: o tempo gasto na sua implementação
pode não justificar o seu uso, e pode ainda levar os
programadores a cair na tentação de usar o protótipo
para continuar o desenvolvimento do sistema.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 29


Técnicas de validação
o Geração de casos de teste
Desenvolver testes para os requisitos a fim de verificar
a testabilidade. Uma vez que cada requisito deve ser
testável, deveria ser possível criar (desenhar) os
respectivos testes desde a fase de validação de
requisitos.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 30


Técnicas de validação
Análise de consistência automática
o Uso de ferramenta CASE para verificar a consistência
do modelo. Através da especificação formal de
modelos para o sistema é possível, recorrendo a
ferramentas adequadas (como as ferramentas CASE),
testar de forma automática a consistência dos modelos
criados;

19/04/2019 Professora Candida Kandeya ---UNIBELAS 31


Técnicas para levantamento de
requisitos
 Entrevistas e Questionários
 Workshops de requisitos
 Cenários
 Prototipagem
 Estudos etnógrafos
 Casos de uso

19/04/2019 Professora Candida Kandeya ---UNIBELAS 32


Entrevistas
 As entrevistas formais ou informais com
stakeholders no sistema fazem parte da maioria
dos processos de engenharia de requisitos.
 Stakeholder ( termo inglês) designa uma pessoa,
grupo ou entidade com legítimos interesses nas
acções e no desempenho de uma organização e
cujas decisões e actuações possam afectar, directa
ou indirectamente, essa outra organização.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 33


Técnicas para levantamento de
requisitos
 Estão incluídos nos stackeholders os funcionários,
gestores, proprietários, fornecedores, clientes,
credores, Estado (enquanto entidade fiscal e
reguladora), sindicatos e diversas outras pessoas
ou entidades que se relacionam com a empresa.
Paulo Nunes/Economista, Professor e Consultor de Empresas/2009)

19/04/2019 Professora Candida Kandeya ---UNIBELAS 34


Entrevistas
Essa técnica esta condicionada a alguns
factores:
 Influência do entrevistador nas respostas do
cliente: convém que o entrevistador dê margem ao
entrevistado para expor as suas ideias sem as enviesar
logo à partida.
 Relação pessoal entre os intervenientes na
entrevista.
 Predisposição do entrevistado: caso, por exemplo,
o papel do entrevistado venha a ser afectado pela
introdução de um sistema na organização, este pode
propositadamente dificultar o acesso à informação.
19/04/2019 Professora Candida Kandeya ---UNIBELAS 35
Entrevistas e Questionários
 Capacidade de seguir um "plano" para a
entrevista: na ausência destes planos é natural que
haja tendência para que os intervenientes se dispersem
um pouco, levando a que a entrevista demore mais
tempo do que seria suposto. Caso a entrevista se torne
demasiado longa, as pessoas podem cair na tentação
de "querer despachar" sendo os últimos pontos da
entrevista abordados de forma superficial (ou podem
nem chegar a ser abordados).

19/04/2019 Professora Candida Kandeya ---UNIBELAS 36


Entrevistas e Questionários
 As entrevistas podem ser de dois tipos:
1. Entrevistas fechadas, nas quais o “Stakeholder”
“investidor ou pessoas afectadas pelo sistema, directa
ou indirectamente ” responde a um conjunto de
perguntas predefinidas
2. Entrevistas abertas, nas quais não existe um roteiro
predefinido. A equipe de engenharia de requisitos
explora vários assuntos com os stakeholders no sistema
e, assim, desenvolve uma compreensão maior de suas
necessidades.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 37


Workshops
 O workshop de requisitos consiste numa técnica usada
através de uma reunião estruturada, da qual devem
fazer parte um grupo de analistas e um grupo
representando o cliente para obtenção de um conjunto
de requisitos bem definidos. promover a discussão
entre os vários intervenientes (ainda que não tenha
realmente poder de decisão).

19/04/2019 Professora Candida Kandeya ---UNIBELAS 38


Workshops
Promove-se a interação entre todos os
elementos presentes no workshop
fomentando momentos de
descontracção como forma de dinamizar
o trabalho em equipe, existindo um
facilitador neutro cujo papel é conduzir
o workshop e promover a discussão entre
os intervenientes.
19/04/2019 Professora Candida Kandeya ---UNIBELAS 39
Workshops
Uma técnica que é também útil em
workshops é o uso de
Brainstorming(tempestade de ideias)
como forma de gerar um elevado número
de ideias numa pequena quantidade de
tempo. Como resultado dos workshops
deve ser produzida documentação que
reflicta os requisitos e decisões tomadas
sobre o sistema a implementar.
19/04/2019 Professora Candida Kandeya ---UNIBELAS 40
Cenários
 Uma forma de levar as pessoas a imaginarem o
comportamento de um sistema é o uso de cenários.
 Trata-se de uma abordagem informal, prática e aplicável a
qualquer tipo de sistema. De um modo geral, os cenários
devem incluir os seguintes elementos:
 Estado do sistema no início do cenário.
 Sequência de eventos esperada (na ausência de erros) no
cenário.
 Listagem de erros que podem ocorrer no decorrer dos eventos
do cenário e de como estes erros serão tratados.
 Outras atividades que podem estar a ser executadas ao mesmo
tempo que as deste cenário.
 Estado do sistema depois de o cenário terminar.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 41


Cenários
Os cenários podem ser escritos na forma de textos
complementados por diagramas, imagens de
computador etc. Como alternativa , pode ser adoptada
uma abordagem mais estruturada, como cenários
de eventos ou casos de uso.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 42


Prototipagem
 Neste tipo de abordagem apenas são desenvolvidas
algumas funcionalidades sendo normalmente
desenvolvidas primeiro aquelas que são mais fáceis de
compreender por parte do utilizador e que lhe podem
trazer maior valor acrescentado (principalmente na
prototipificação evolutiva, isto é, aquela que mais tarde
é evoluída para a fase de desenvolvimento).

19/04/2019 Professora Candida Kandeya ---UNIBELAS 43


Estudo etnográfico
 O estudo etnográfico é uma técnica de observação que
pode ser usada para compreender os requisitos sociais
e organizacionais. Através de uma observação directa
das atividades realizadas durante um período de
trabalho de um funcionário é possível encontrar
requisitos que não seriam observáveis usando técnicas
convencionais. Esta observação pode ser acompanhada
de registos áudio/vídeo, porém não convém usá-los em
demasia visto que o tempo necessário para os processar
pode ser demasiado.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 44


Casos de Uso
 Os casos de uso constituem uma técnica baseada em
cenários para elicitação de requisitos. Tema para próxima
aula.

19/04/2019 Professora Candida Kandeya ---UNIBELAS 45


Leituras Sugeridas
 SOMMERVILLE, 8ª edição, (cap.7 “processos de
engenharia de requisitos”)
 http://pt.wikipedia.org/wiki/Engenharia_de_requisitos
 UNESP “ O Processo de Engenharia de Requisitos”
Engenharia de Software 2º Semestre de 2005

19/04/2019 Professora Candida Kandeya ---UNIBELAS 46


Bons estudos

19/04/2019 Professora Candida Kandeya ---UNIBELAS 47

You might also like