Engenharia de Software
Engenharia de Requisitos
Docência Orientada: Henrique Michel Persch
[email protected]
Prof.ª: Lisandra Manzoni Fontoura
Engenharia de Requisitos, Liane Cafarate, 2009
‹#›
Roteiro

Processos de Engenharia de Requisitos
• Estudos de viabilidade
• Elicitação e análise de requisitos
• Especificação de requisitos
• Validação de requisitos

É um processo iterativo em que as atividades são intercaladas.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Processos de engenharia de requisitos
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Etapas do processo
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Estudo de viabilidade


Um estudo de viabilidade decide se vale a pena ou não gastar tempo
e esforço com sistema proposto.
É um estudo breve e focalizado que verifica
• Se o sistema contribui para os objetivos da organização;
• Se o sistema pode ser implementado usando tecnologia atual e dentro
do orçamento;
• Se o sistema pode ser integrado a outros.

Muitas vezes as empresas desenvolvem sistemas que não
contribuem para os seus objetivos pois elas não têm um perfil claro
desses objetivos.
• O que faria se o sistema não fosse implementado? Quais são os
problemas com processo atuais? Como o sistema proposto ajudará? ...
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e análise de requisitos


Envolve pessoal técnico trabalhando com os clientes para descobrir
sobre o domínio de aplicação, os serviços que o sistema deve
fornecer e sobre as restrições operacionais.
Por que esse processo é tão difícil?
• Stakeholders não sabem o que eles realmente querem.
• Stakeholders expressam requisitos em seus próprios termos.
• Diferentes stakeholders podem ter requisitos conflitantes.
• Fatores organizacionais e políticos podem influenciar os requisitos de
sistema.
• A mudança de requisitos durante o processo de análise. Novos
stakeholders podem surgir e o ambiente de negócio pode mudar.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Processo de elicitação e análise
1. Descoberta de
Requisitos
2. Classificação e
organização de
requisitos
4. Especificação
de requisitos
Processo iterativo
e contínuo!
3. Priorização e
Negociação de
requisitos
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Etapas

Descoberta de requisitos
• Interação com os stakeholders para coletar seus requisitos.

Classificação e organização de requisitos
• Agrupa requisitos relacionados e organiza-os em conjuntos
coerentes.

Priorização e negociação de requisitos
• Priorização de requisitos e resolução de conflitos de requisitos.

Especificação de requisitos
• Os requisitos são documentados e inseridos no próxima ciclo.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e Análise
Descoberta de Requisitos




É o processo de reunir informações sobre os sistemas propostos e
existentes, e obter requisitos de usuário e de sistema a partir dessas
informações.
As fontes de informação incluem documentação, stakeholders e as
especificações de sistemas similares.
A obtenção ocorre por meio de entrevistas e observações, podendo
ser usados cenários e protótipos para auxiliar no processo.
Além dos stakeholders, os requisitos podem ser provenientes do
domínio e de outros sistemas (essas fontes de requisitos podem ser
representadas como pontos de vista do sistema).
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e Análise
Descoberta de Requisitos – Entrevistas




Servem para obter um entendimento geral sobre o que os
stakeholders fazem, como eles podem interagir com o sistema e as
dificuldades que enfrentam os sistemas atuais;
Formais/Informais;
Entrevistas Abertas (não existe roteiro predefinido) ou Fechadas
(stakeholder responde perguntas predefinidas);

Na prática, abertas+fechadas;

Abertas geralmente não funcionam bem;
Dificuldade de elicitar requisitos de domínio por causa da linguagem
utilizada.

Dificuldade de elicitar requisitos organizacionais (poder, influência);

As entrevistas são um método complementar;
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e Análise
Descoberta de Requisitos – Cenários



São exemplos reais de como um sistema pode ser usado
São úteis para adicionar detalhes a um esboço da descrição de
requisitos
Um cenário deve incluir:


Descrição do fluxo normal de eventos no cenário;

Descrição do que pode dar errado e como isso é tratado;



Descrição do que os usuários esperam do sistema no início
do cenário;
Informações sobre outras atividades que podem ocorrer
simultaneamente;
Descrição do estado do sistema no fim do cenário.
Podem ser escritos na forma de textos, com diagramas, imagens...
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e Análise
Descoberta de Requisitos – Casos de uso

Um caso de uso engloba um conjunto de cenários

Característica fundamental na UML




Um caso de uso identifica os atores envolvidos em uma interação e
dá nome ao tipo de interação.
Representa todas as possíveis interações que serão descritas nos
requisitos de sistema.
Os casos de uso identificam as interações individuais entre o sistema
e seus usuários ou outros sistemas.
Cenários e casos de uso são técnicas eficazes para elicitar requisitos
dos stakeholders que vão interagir diretamente com sistema.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e Análise
Descoberta de Requisitos – Casos de Uso
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e Análise
Etnografia




O que é? Técnica de observação que pode ser usada para
compreender os requisitos sociais e organizacionais;
Sistemas não existem isoladamente (contexto social, organizacional);
Muitos sistemas nunca são usados porque não levam em conta
requisitos restringidos por esse contexto;
Etnografia focalizada: Combina etnografia com prototipação.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Elicitação e Análise
Etnografia - Vantagens




Ajuda que presta aos analistas para descobrir requisitos implícitos
do sistema, que refletem processos reais e não formais;
Pessoas consideram muito difícil articular detalhes do seu trabalho,
pode ser difícil relacionar com as demais áreas;
Eficaz para descobrir dois tipos de requisitos
–
Requisitos derivados da maneira como as pessoas
realmente trabalham
–
Requisitos derivados da cooperação e do conhecimento das
atividades de outras pessoas;
Técnica não apropriada para obter requisitos organizacionais ou de
domínio (foco no usuário);
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Validação de Requisitos


Dedica-se a mostrar que os requisitos definem o sistema que o
cliente realmente deseja.
Custos de erros de requisitos são altos e, desse modo, a validação é
muito importante:
–
A custo da reparação de um erro de requisitos depois da
entrega pode equivaler a 100 vezes o custo de reparação
de um erro de implementação.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Validação de Requisitos
Verificação de Requisitos





Verificação de validade: O sistema fornece as funções que melhor
apóiam as necessidades do cliente?
Verificação de consistência: Existe algum tipo de conflito de
requisitos?
Verificação de completude: Todas as funções requisitadas pelo
cliente foram incluídas?
Verificação de realismo: Os requisitos podem ser implementados
com o orçamento e a tecnologia disponíveis?
Verificabilidade: Os requisitos podem ser verificados? Os requisitos
do sistema devem ser passíveis de verificação.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Validação de Requisitos
Revisões de Requisitos

Existe uma série de técnicas de validação de requisitos:




Revisões de Requisitos: os requisitos são analisados que verificam erros e
inconsistências.
Prototipação: é um modelo executável demonstrado aos usuários finais e clientes
que verificam se atende as reais necessidades.
Geração de Casos de Teste: Os requisitos devem ser testáveis. Os casos de
testes devem ser parte do processo de validação, que revelam problemas de
requisitos.
Durante o processo de validação dos requisitos raramente encontrará
todos os problemas dos requisitos.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Gerenciamento de Requisitos


O que é? É o processo de compreensão e controle das mudanças
nos requisitos do sistema.
O entendimento dos stakeholders a respeito do problema está em
constante mutação / evolução.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Gerenciamento de Requisitos




Processo pra compreender e controlar a mudança dos requisitos de
sistema;
Necessário manter acompanhamento dos requisitos individuais e
manter as ligações entre os requisitos dependentes, de modo que
seja possível avaliar o impacto das mudanças de requisitos;
Requisitos permanentes: relativamente estáveis, se relacionam
diretamente com o domínio de aplicação do sistema;
Requisitos voláteis: provavelmente irão mudar durante o processo
do desenvolvimento ou depois de instalado;
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Gerenciamento de Requisitos
Planejamento

Durante o estágio de gerenciamento de requisitos, você tem de
planejar:
–
–
–
–
A Identificação de requisitos
• Como os requisitos são identificados individualmente;
O processo de gerenciamento de mudanças
• Conjunto de atividades que avaliam o impacto e o
custo das mudanças;
Políticas de rastreabilidade
• Definem os relacionamentos entre cada requisito e
entre os requisitos e o projeto de sistema que deve
ser registrado.
Ferramentas de Apoio
• O apoio de ferramenta requisitada para auxiliar no
gerenciamento das mudanças requisitos.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Gerenciamento de Requisitos
Planejamento: Ferramentas de Apoio

Necessidade de Ferramentas de Apoio para:
–
Armazenamento de Requisitos:
•
–
Gerenciamento de mudanças:
•
–
Os requisitos devem ser mantidos em um repositório
de dados gerenciado e seguro.
Processo de gerenciamento de mudanças
simplificado com o uso de ferramentas;
Gerenciamento de Rastreabilidade:
•
Algumas ferramentas utilizam de PLN para descobrir
possíveis relações entre requisitos.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Gerenciamento de Requisitos
Gerenciamento de Mudanças

Deve ser aplicado à todas as mudanças propostas aos requisitos.

Estágios principais
–
Análise de problema e especificação de mudanças: discutir
problemas e mudanças de requisitos;
–
Análise de mudança e custo: avaliar os efeitos das
mudanças sobre outros requisitos;
–
Implementação de mudança: Modificar documentos de
requisitos e outros documentos para refletir as mudanças.
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Bibliografia

SOMMERVILLE, I. Engenharia de Software, 9 edição. São Paulo: Pearson AddisonWesley, 2011.

PRESSMAN, R. Engenharia de Software, 6 edição. São Paulo: McGraw-Hill, 2006.

MILES, R. e PILONE, D. Head First Sofware Development. O'Reilly.


Requirements Definition: Bringing Software Requirements to
Life:http://www.youtube.com/watch?v=fHjc3cJ6m00
The Problem with Software
Definition:http://www.youtube.com/watch?v=FqkQrPmsP2w&feature=related
Engenharia de Requisitos, Henrique Michel Persch, 2015
‹#›
Download

engenharia de requisitos