Buscar

7 Engenharia de Requisitos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

6/17/19
1
z Engenharia de Software
Curso de Sistemas de Informação
Prof. Jair Figueiredo
E-mail: jose.figueiredo@uninorteac.edu.br
z
Áreas da Engenharia de Software
Gerência de 
Configuração
de Software
Gerência de 
Engenharia
de Software
Processo
de 
Engenharia
de Software
Ferramentas 
e Métodos
Qualidade
de 
Software
Requisitos
de 
software
Design de 
software
Construção
de 
Software
Teste de 
Software
Manutenção
de Software
6/17/19
2
z
Requisito
§ Um requisito de software é uma propriedade que deve ser
apresentada por software desenvolvido ou adaptado para
resolver um problema específico..
[Guide to the Software Engineering Body of Knowledge]
§ Requirement.
§ (1) Uma condição ou capacidade necessária para um
usuário resolver um problema ou atingir um objetivo
§ (2) Uma condição ou capacidade que deve ser atendida
ou possuída por um sistema ou componente do sistema
para atender a um contrato, padrão, especificação ou
outros documentos formalmente impostos.
§ (3) Uma representação documentada de uma condição
ou capacidade como em (1) ou (2).
[IEEE Standard Glossary of Software Engineering Terminology (1990)]
z
↳ os requisitos de um sistema devem focar-se no "o quê?"
↳ o que é que o sistema deve fazer?
↳ o "como?" deve ser relegado para segundo plano
↳ no entanto a separação do "o quê?" e do "como?" é
difícil de conseguir na prática
↳ os requisitos de um sistema incluem na prática uma mistura
de dados sobre o problema, descrições do comportamento do
sistema e propriedades e restrições da construção do
sistema.
O quê versus como
■Os requisitos terminam onde começa a liberdade do implementar
6/17/19
3
z
Que tipos de requisitos temos?
z
Exemplo:
6/17/19
4
z
Introdução à Engenharia de Requisitos
Capítulo 8 [Pressman e Maxim]
z
Índice
§ Noção de requisito
§ Tipos de requisitos
§ Classificação de requisitos não funcionais
com base na norma ISSO/IEC 9126
§ O processo de engenharia de requisitos
§ Enquadramento da engenharia de requisitos
no ciclo de vida dos sistemas
6/17/19
5
z Princípios que orientam o processo
Seja ágil.
Concentre-se na qualidade em todas as etapas.
Esteja pronto para adaptações. 
Mecanismos para comunicação e coordenação.
Monte uma equipe eficiente.
Gerencie mudanças
Avalie os riscos. 
Gere artefatos que forneçam valor para outros.
z Princípios que orientam a prática
Divida e conquiste
Compreenda o uso da abstração.
Esforce-se pela consistência.
Concentre-se na transferência de informações.
Construa software que apresente modularidade
efetiva.
. Verifique os padrões.
Quando possível, represente o problema e sua
solução sob perspectivas diferentes.
Lembre-
sedequealguémfaráamanutençãodosoftware
6/17/19
6
z
Âmbito e importância da engenharia de 
requisitos
z
6/17/19
7
z
Engenharia de Requisitos
Requisitos
Coletados
Documenta
dos
GerenciadosAnalisados
z Importância da Engenharia de Requisitos
(fonte: "Software Project 
Survival Guide", Steve 
McConnell)
6/17/19
8
z Processo de Software
z Onde os requisitos estão no ciclo de 
vida de um software?
Estimativas
Modelagem
Projeto
Implementação
Testes
Manutenção
6/17/19
9
z
Processo da Eng. Requisitos
§ Requisitos envolvem atividades de:
§ Desenvolvimento
§ através do Levantamento, Análise e Documentação
de Requisitos,
§ Gerência
§ através da Gerência de Requisitos
§ Controle da qualidade
§ através da Verificação, Validação e Garantia da
Qualidade de Requisitos.
z
1. Levantamento de Requisitos
§ Fase inicial do processo de engenharia de requisitos.
Domínio da 
Aplicação
Problema
Negócio
Necessidades
e Restrições
en
te
nd
im
en
to
s
qu
e 
de
ve
m
os
po
ss
ui
r
6/17/19
10
z Tecnicas para Levantamento de 
Requisitos
z
2. Análise de Requisitos
§ Segundo a IEEE (1990) a análise de requisitos
é um processo que envolve o estudo das
necessidades do usuário para se encontrar
uma definição correta ou completa do
sistema ou requisito de software.
§ Os requisitos colhidos devem ser
quantitativos, detalhados e relevantes para o
projeto.
6/17/19
11
z
Análise de Requisitos
Reconhecer o 
problema
Avaliar o problema e 
a síntese da solução
Modelar
(Modelagem)
Especificar os
requisitos
Revisar (Revisão)
z
3. Documentação de Requisitos
§ O documento serve para apresentar uma
visão geral e funcional do produto,
§ mas o que deve contém?
6/17/19
12
z
3. Documentação de Requisitos
§ Introdução
§ Visão geral do produto
§ Termos técnicos específicos para um determinado contexto
§ Abreviações e acrônimos
§ Envolvidos e Usuários
§ Requisitos (Funcionais, Não-Funcionais e Regras de
Negócio)
§ Caso de Uso
§ Anexos (protótipos, arquitetura e documentos auxiliares)
z
4. Gerência de Requisitos
§ Essa etapa permeia todo o ciclo de vida do
produto e consiste em dois aspectos
fundamentais:
§ Garantia do escopo do produto
§ Gestão de mudanças
6/17/19
13
z
4. Gerência de Requisitos
§ https://cio.com.br/5-principais-ferramentas-
de-gerenciamento-de-requisitos/
z 5. Verificação, Validação e 
Garantia da Qualidade de Requisitos
§ A validação pode ser através de uma reunião
fazendo com que os responsáveis assinem o
documento para que ele possa ter validade,
ou dando ciência da responsabilidade dos
requisitos levantados por e-mail.
§ Essa etapa também serve para correções e
podem ser descobertos/inclusos outras
funcionalidade.
https://cio.com.br/5-principais-ferramentas-de-gerenciamento-de-requisitos/
6/17/19
14
z
z
Engenharia de requisitos
§ Análise de requisitos.
§ (1) O processo de estudar as necessidades do usuário para
obter uma definição do Sistema, hardware ou requisites de
software.
§ (2) O processo de estudo e refinamento do Sistema, Hardware
ou Requisitos de Software.
(IEEE Standard Glossary of Software Engineering Terminology IEEE Std 610.12-1990)
§ Engenharia de requisitos =
desenvolvimento de requisitos (necessidades -> espec. req.)
+
gestão de requisitos
§ Engenharia de requisitos = área de conhecimento
6/17/19
15
z
↳ o que é a engenharia de requisitos?
↳ designa todas as actividades envolvidas em
↳ descobrir, obter, analisar
↳ especificar, documentar
↳ verificar, gerir, manter
↳ os requisitos de um sistema
• implica a utilização de um conjunto de técnicas e modelos que tornam
sistemática e repetitiva a execução destas tarefas
Engenharia de requisitos
z
Engenharia de Requisitos
6/17/19
16
z
Engenharia de Requisitos
O processo de estabelecer as funções que um
cliente requer de um sistema e as restrições
sob as quais ele deve funcionar e ser
desenvolvido
Os requisitos são descrições das funções e
restrições que são geradas durante o
processo de engenharia de requisitos
z
Atividades de Engenharia de Requisitos 
– Recursos Humanos 
6/17/19
17
Organização e Responsabilidade - Papéis
Analista de 
Negócios
Negocia junto com os clientes e os demais envolvidos a lista dos
requisitos iniciais e suas ampliações, priorizando-os e quando
necessário agrupando-os em pacotes a serem desenvolvidos em
iterações. É responsável por explicitar as regras de negócio e o
glossário associado ao negócio.
Analista de 
Requisitos
Elicita os requisitos de produto e registrá-os de forma adequada.
Garante a rastreabilidade dos requisitos de negócio e requisitos
de produto ao longo do projeto.
Cliente Aprova a versão final do escopo da aplicação, descrito na
Especificação de Requisitos de software
Inspetor Inspeciona a Especificação de Requisitos de Software com
relação ao formato.
Testador Aplica o Plano de Testes e assegura que os requisitos
implementados estão de acordo com o requisitado pelo cliente.
z
Ø Explicitar o domínio do problema
Ø Identificar possibilidade de reuso de solução
Ø Identificar pessoas e áreas impactadas 
Ø Elicitar e classificar os requisitos de negócio
Ø Envolver a área de serviços e definir 
alternativas de solução
Ø Analisar e validar os requisitos
Necessidades
Analista de 
Negócios
Regras de
Negócio Glossário
Documento de Visão
Elicitaçãodos Requisitos de Negócio
6/17/19
18
z Especificação e Modelagem de Requisitos
Ø Elicitar Requisitos de Produto
Ø Especificar casos de uso e validá-los
Ø Especificar requisitos não funcionais
Ø Analisar e validar os requisitos
Requisitos
p/ Inspeção
Plano e
Casos de Teste
Casos de Uso e
Esp. Suplementar
Regras de
Negócio Glossário
Documento de Visão
Analista de 
Requisitos
z Verificação e Validação dos Requisitos
Ø Verificar conflitos de requisitos
Ø Verificar consistência de requisitos
Ø Verificar completude de requisitos
Ø Verificar existência de requisitos ambíguos
Analista de 
Requisitos
Requisitos
p/ Inspeção
Plano e
Casos de Teste
Casos de Uso e
Esp. Suplementar
Ø Garantir a rastreabilidade dos requisitos
Ø Validar requisitos com o cliente
Inspeto
r
Especificação de 
Requisitos Atualizada
Resultado dos
Casos de Teste
6/17/19
19
z Rastreabilidade e Gestão de Mudanças
Ø Avaliar o impacto nos requisitos
Ø Validar com o cliente
Ø Notificar os envolvidos
Ø Atualizar as especificações de requisitos
Ø Garantir a rastreabilidade nos requisitos
Necessidade
Documento de Visão
Atualizado
Solic. Mudança
Analista de 
Requisitos
Analista de 
Negócios
Especificação de 
Requisitos Atualizada
z
Elicitação de Requisitos
6/17/19
20
z
Ø Explicitar o domínio do problema
Ø Identificar possibilidade de reuso de solução
Ø Identificar pessoas e áreas impactadas 
Ø Elicitar e classificar os requisitos de negócio
Ø Envolver a área de serviços e definir 
alternativas de solução
Ø Analisar e validar os requisitos
Necessidades
Analista de 
Negócios
Regras de
Negócio Glossário
Documento de Visão
Elicitação dos Requisitos de Negócio
z
Elicitação de Requisitos
§ Atividades que envolvem a descoberta de
requisitos de um sistema:
§ identificação das fontes de informação
§ técnicas de elicitação (coleta de fatos)
§ comunicação (estabelecer uma linguagem
comum)
§ Envolve pessoal objetivando descobrir:
§ o domínio de aplicação
§ serviços que devem ser fornecidos
§ restrições
6/17/19
21
z Elicitação de Requisitos
§ Pode envolver diferentes tipos de pessoas em uma
organização (stakeholders):
§ usuários
§ gerentes
§ desenvolvedores
§ especialistas de domínio
§ sindicatos,...
§ A equipe de desenvolvimento e clientes trabalham em
conjunto visando identificar:
§ detalhes do domínio da aplicação
§ serviços que o sistema deve oferecer
§ desempenho
§ restrições de hardware, ...
z
Elicitação de Requisitos
§ Problemas:
§ Em geral, stakeholders não sabem o que querem de fato
§ dificuldade de expressão
§ pedidos não realistas
§ Stakeholders expressam requisitos em sua própria
terminologia
§ conhecimento implícito
§ Stakeholders distintos podem ter requisitos conflitantes
§ Fatores políticos podem influenciar os requisitos do
sistema
§ Ambientes econômicos e de negócios são dinâmicos
§ requisitos mudam durante o processo de análise
§ novos requisitos podem surgir (novos stakeholders)
6/17/19
22
z
Elicitação de Requisitos
§ Atividades do Processo:
§ Compreensão do domínio
§ Coleta de requisitos
§ Classificação
§ Resolução de conflitos
§ Definição de Prioridades
§ Verificação de requisitos
z
Compreensão do Domínio 
§ Os analistas devem desenvolver sua
compreensão do domínio da aplicação
§ se estiver desenvolvendo um sistema de
supermercado deverá descobrir como este
funciona
§ utilizar técnicas para descobrir este
funcionamento
§ aprender a linguagem do usuário
§ elaborar um Glossário
6/17/19
23
z
Coleta de Requisitos 
§ Interagir com stakeholders para descobrir os
requisitos
§ A coleta de requisitos é feita através de
técnicas
§ Os requisitos são simplesmente
documentados à medida que são coletados
§ resulta em documento preliminar (draft)
z
Classificação dos Requisitos
§ Consiste basicamente em agrupar os diversos requisitos
coletados em categorias bem-definidas
§ Classificação:
§ Funcional
Ex.: Deve ser possível consultar o preço de uma mercadoria
§ Não Funcional
Ex.: A consulta deve retornar uma resposta em no máximo
5s
§ Inversos
Ex.: O sistema não fará controle de estoque.
6/17/19
24
z
Resolução de Conflitos
§ É normal que ocorram requisitos conflitantes
§ Por exemplo
§ R-23: O sistema deve ...
§ R-45: O sistema não deve ...
§ Cliente é o responsável por resolver conflitos
e ambigüidades
z
Atribuição de Prioridade
§ Alguns requisitos são mais urgentes que
outros
§ É essencial determinar a prioridade dos
requisitos junto ao cliente
§ Requisitos de maior prioridade são
considerados em primeiro lugar
6/17/19
25
z
Prioridade
§ Requisitos podem ser agrupados em classes,
por exemplo:
§ Essenciais
§ Importantes
§ Desejáveis
§ Em princípio, o sistema deve abranger todos
os requisitos de essenciais para desejáveis
z
Exemplo de Prioridade
§ A consulta ao extrato bancário deve retornar dados do
movimento até o dia anterior
§ Prioridade: Essencial
§ A consulta ao extrato bancário deve visualizar dados
segundo padrão X
§ Prioridade: Importante
§ A consulta ao extrato bancário deve usar cores
vermelhas para saldos negativos
§ Prioridade: Desejável
6/17/19
26
z
Verificação de Requisitos 
§ Os requisitos são verificados
§ Completos?
§ Consistentes?
§ Em concordância com o que os stakeholders
desejam?
z
Referências
§ Requirements Engineering – Processes and Techniques, Gerald Kotonya, Ian
Sommerville, Wiley, 1998
§ Information Systems: An introduction to informatics in organizations. P. Beynon-
Davies, Palgrave, 2002
§ Software Testing, Ron Patton, SAMS, 2001
§ Planeamento de Sistemas de Informação, Luís Amaral, João Varajão, FCA Editora,
2000
§ Requirements Analysis and System Design: Developing Information Systems with
UML, L. A. Maciaszek, Addison-Wesley, 2001
§ IEEE Std 610.12: 1990 - Standard Glossary of Software Engineering Terminology
(http://ieeexplore.ieee.org/iel1/2238/4148/00159342.pdf?arnumber=159342)
§ Guide to the Software Engineering Body of Knowledge (SWEBOK), 2004 edition, IEEE
Computer Society (http://www.swebok.org/ )
§ ISO/IEC Std 12207:1995 - Information technology - Software life cycle processes
(http://www.iso.org/ )
http://ieeexplore.ieee.org/iel1/2238/4148/00159342.pdf?arnumber=159342
http://www.swebok.org/
http://www.iso.org/

Outros materiais