Engenharia de requisitos

Mailson Queiroz
Mailson QueirozPesquisador em UFSCar
Engenharia de
Requisitos
Mailson de Queiroz Proença
Tópicos
 A Engenharia de Requisitos
 Importância da Engenharia de Requisitos
 O que são requisitos?
 Requisitos de usuário e de sistema
 Funcionais e não funcionais
 Documento e Especificação de requisitos
 Desenvolvimento de requisitos
 Estudo de viabilidade
 Elicitação e análise de requisitos
 Validação de requisitos
 Gerenciamento de requisitos
 Principais eventos
 Conclusão
A Engenharia de Requisitos
 É o ramo da engenharia de software que se
preocupa com:
 os objetivos, funções e restrições dos sistemas de
software.
 É também o processo de estabelecer quais
serviços e restrições são necessários na
operação e desenvolvimento de um sistema.
A Engenharia de Requisitos
 Engenharia de Requisitos pode ser dividida em:
 Desenvolvimento de Requisitos:
Elicitação
Análise
Especificação
Validação
 Gerência de Requisitos
Gerência de Mudanças
Acompanhamento de desenvolvimento e
implementação dos requisitos
Importância da Engenharia de
Requisitos
 Alguns fatos
 Um trabalho consistente de análise dos requisitos é a
BASE de um projeto de SOFTWARE DE SUCESSO;
 Corrigir problemas na fase de especificação de
requisitos pode gerar uma economia até 200 vezes
maior do que em etapas posteriores.
Importância da Engenharia de
Requisitos
“Entender os requisitos de um problema está entre as
tarefas mais difíceis enfrentadas por um engenheiro de
software.” (Pressman, 2011)
Importância da Engenharia de
Requisitos
 Segundo pesquisa realizada pelo Standish Group* as principais
razões que levam a problemas de projeto são identificadas no
gráfico:
* http://blog.standishgroup.com/
0 5 10 15 20 25
23
12,8
12,3
11,8
7,5
7
6,4
5,9
5,3
4,3
3,7
% de Respostas
FatoresdeProjetosCríticos
O que são requisitos?
 São o ponto de partida para toda a definição
de um sistema.
 Fatores decisivos no desenvolvimento do
produto final de um projeto de software.
 “Capacidade que o software tem e que o
usuário precisa a fim de resolver um problema
e atingir seu objetivo.” (Dorfman e Thayer -
1990)
O que são requisitos?
 Um requisito pode variar de:
 Uma declaração abstrata de alto nível de um serviço
a
 Uma restrição do sistema para uma especificação
matemática funcional.
Níveis de Requisitos
 Requisitos de usuário:
 são declarações em uma linguagem natural com
diagramas de quais serviços o sistema deverá
fornecer a seus usuários e as restrições com as quais
este deve operar.
 Requisitos de sistema
 são descrições mais detalhadas das funções, serviços
e restrições operacionais do sistema de software.
Identificação dos Interessados
 Além do cliente e o do desenvolvedor, que podem,
naturalmente, ter diferentes nomes e títulos, existem
provavelmente:
 O pessoal de marketing,
 O pessoal de testes e garantia de qualidade.
 Gerentes de produtos.
 Gerente geral.
 E uma variedade de “stakeholders” (interessados) que no seu
dia-a-dia serão afetados pelo desenvolvimento do novo
sistema.
Identificação dos Interessados
 Sommerville – 1997 define interessados como:
“Qualquer um que se beneficia de forma direta
ou indireta do sistema que está sendo
desenvolvido.”
Identificação dos Interessados
 Dificuldades:
 Cada interessado:
Tem uma visão diferente do sistema;
Obtém diferentes benefícios quando o sistema é
desenvolvido com êxito;
E está sujeito a diferentes riscos caso o trabalho de
desenvolvimento venha a fracassar.
Identificação dos Interessados
 Reconhecimento de diversos pontos de vista:
 Gerentes Comerciais
 Estão interessados no conjunto de recursos que pode ser
construído dentro do orçamento e que estarão prontos
para atender às oportunidades definidas de ingresso no
mercado.
 Pessoal do Marketing
 Estão interessados nas funções e recursos que irão suscitar
o mercado potencial, facilitando a venda do sistema.
Busca de Colaboração
 Primeiro: identificar áreas em comum
 requisitos com os quais os interessados concordam
 Segundo: identificar áreas de conflito
 requisitos desejados por um interessado, mas que
conflitam com os de outros interessados.
Busca de Colaboração
 Colaboração não significa, necessariamente,
que os requisitos são definidos por um
comitê.
 Normalmente existe um “poderoso campeão
dos projetos ” (gerente comercial ou técnico
sênior) que pode tomar a decisão final sobre
quais requisitos que passam pelo corte.
Classificação de Requisitos
Com uma breve observação percebemos que há
uma infinidade de objetos envolvidos que são
requisitos de software, os quais devem ser
classificados em dois grandes grupos...
 Requisitos Funcionais;
 Requisitos Não Funcionais.
Classificação de Requisitos
 Requisitos Funcionais:
 Descrevem as funcionalidades e/ou serviços do sistema;
 Descrevem como o sistema deve reagir a entradas
específicas;
 Podem ser declarações de alto nível do que o sistema
deve fazer;
 Devem descrever os serviços de sistema em detalhes;
 O que o sistema não deve fazer;
Exemplos de requisitos funcionais
 O sistema deve permitir que qualquer usuário possa
consultar e visualizar o perfil de outro usuário do
sistema.
 O sistema deve permitir a inclusão, alteração e inativação
dos usuários do sistema.
 O sistema deve permitir aos usuários do tipo gerente
visualizar relatórios de projetos em aberto e/ou
finalizados, e seus respectivos feedbacks.
Imprecisão de requisitos
 Problemas surgem quando os requisitos não são
precisamente definidos.
 Requisitos ambíguos podem ser interpretados de
maneiras diferentes pelos desenvolvedores e
usuários.
 Considere o termo “telas apropriadas”:
 Intenção do usuário - telas para cada formato de
documento devem ser disponibilizadas.
 Intenção do desenvolvedor - disponibilizar uma tela de
texto que mostra o conteúdo do documento.
Requisitos completos e consistentes
 A princípio, todos os requisitos devem ser completos e
consistentes:
 Completos: Todas as funções requeridas pelo usuário
devem estar definidas.
 Consistentes: Não deve haver conflitos ou contradições
nas descrições dos recursos de sistema.
 Na prática, é quase impossível produzir um documento de
requisitos completos e consistentes.
Classificação de Requisitos
 Requisitos Não Funcionais:
 Definem propriedades e restrições do sistema;
 Dizem respeito ao sistema como um todo;
 Muitos requisitos não funcionais são também requisitos de
qualidade, como confiabilidade, tempo de resposta e
espaço em disco;
 Outros são restrições ou exigências de uso de tecnologia.
Classificação de Requisitos
 Classificação dos Requisitos Não Funcionais:
Especificam ou restringem
o comportamento do
software.
Derivados das políticas e
procedimentos da
organização do cliente e
do desenvolvedor.
Derivados de fatores externos
ao sistema e seu processo.
Exemplos de requisitos não
funcionais
 Requisito de Produto:
 O sistema deve ser capaz de responder até, em média, a 10
requisições por segundo.
 Requisito Organizacional:
 Todos os documentos entregues devem seguir o padrão de relatórios
XYZ-00.
 Requisito Externo:
 O sistema não deve revelar quaisquer informações pessoais sobre os
usuários do sistema, com exceção do nome e número de referência
da biblioteca.
Classificação de Requisitos
 Métricas para elecitar Requisitos Não Funcionais:
 Velocidade:
 Transações processadas/segundo;
 Tamanho:
 Megabytes;
 Facilidade de uso:
 Tempo de treinamento;
 Número de frames de ajuda;
Classificação de Requisitos
 Métricas para elicitar Requisitos Não Funcionais:
 Confiabilidade:
 Probabilidade de indisponibilidade;
 Taxa de ocorrência de falhas;
 Robustez:
 Tempo de reinício após falha;
 Percentual de eventos que causam falhas;
 Probabilidade de corrupção de dados em caso de falha;
 Portabilidade:
 Percentual de declarações dependentes do sistema-alvo;
Documento de requisitos de software
e Especificação de requisitos
Documento de requisitos de software
e Especificação de requisitos
 Variabilidade do documento de requisitos
 As informações no documento de requisitos dependem do tipo de
sistema e da abordagem de desenvolvimento usada.
 Normalmente, os sistemas desenvolvidos de forma incremental
terão menos detalhes no documento de requisitos.
 Os padrões dos documentos de requisitos foram
concebidos, tendo como exemplo, a norma IEEE Std 830-
1998.
 Esses são aplicáveis, principalmente, aos requisitos para projetos
de engenharia de sistemas de grande porte.
Documento de requisitos de software
e Especificação de requisitos
 Requisitos e Métodos ágeis
 A produção de um documento de requisitos é um desperdício
de tempo pois esses mudam rapidamente.
 Portanto, o documento estará sempre desatualizado.
 O XP, por exemplo, usa a engenharia de requisitos incremental
e expressa os requisitos como “estórias de usuário”.
 Prático para os sistemas de negócios e problemático para
sistemas que exigem várias análises pré-entrega (por
exemplo, sistemas críticos) ou sistemas desenvolvidos por
várias equipes.
Documento de requisitos de software
e Especificação de requisitos
 O documento de requisitos tem um conjunto
diversificado de usuários:
 Desde a alta administração da organização que está
pagando pelo sistema.
 Até os engenheiros responsáveis pelo
desenvolvimento do software.
Documento de requisitos de software
e Especificação de requisitos
 Especificação:
 É o processo de escrever os requisitos de usuário e de sistema em
um documento de requisitos.
 Idealmente, os requisitos de usuário e de sistema devem
ser:
 Claros
 Inequívocos
 De fácil compreensão
 Consistentes
 Completos
Processos de engenharia de
requisitos
 Os processos de engenharia de requisitos
podem incluir quatro atividades de alto nível:
 Estudo de viabilidade;
 Elicitação e Análise;
 Especificação;
 Validação.
Processos de engenharia de
requisitos
Estudo da
viabilidade
Relatório de
viabilidade
Validação de
requisitos
Especificações
de requisitos
Requisitos de usuários e
de sistema
Elicitação e
análise de
requisitos
Modelos
de sistema
Documentação de
requisitos
Processos de engenharia de
requisitos
Estudo de Viabilidade
 Decidir se vale a pena ou não gastar tempo e esforço com o
sistema proposto;
 Sistemas novos devem começar com um estudo da viabilidade;
 Responder Perguntas:
 O sistema contribui para os objetivos gerais da organização?
 O sistema pode ser implementado com a tecnologia atual dentro das
restrições de custo e de prazo?
 O sistema pode ser integrado a outros?
 Que contribuição direta o sistema trará para os objetivos da empresa?
Relatório de Viabilidade
 O relatório pode:
 Propor mudanças no enfoque, no orçamento e/ou no
cronograma;
 Sugerir outros requisitos de alto nível para o
sistema;
 Simplesmente cancelar o projeto de
desenvolvimento do sistema.
Elicitação e análise de requisitos
 Reúne informações sobre o sistema proposto e os
existentes.
 O objetivo é descobrir:
 O domínio de aplicação;
 Serviços que devem ser fornecidos pelo sistema;
 Restrições associadas ao domínio ou serviços;
 Envolvem diversos stakeholders;
Atividades da Elicitação e análise de
requisitos
1. Descoberta
de Requisitos
2. Classificação
e organização
de requisitos
3. Priorização
e negociação
de requisitos
4. Especificação
de requisitos
Obtendo os requisitos
 Técnicas para levantamento de requisitos:
 Descoberta de Requisitos(Pontos de vista)
 Entrevistas
 Cenários
 Casos de Uso
 Etnografia
Obtendo os requisitos
 Técnicas para levantamento de requisitos:
 Descoberta de Requisitos(Pontos de vista)
 Entrevistas
 Cenários
 Casos de Uso
 Etnografia
Descoberta de Requisitos
 Processo que reúne informações sobre o sistema
proposto e os existentes para obter os requisitos de
usuário e de sistema.
 Em uma empresa de tamanho médio ou grande, existem
vários stakeholders;
 Cada stakeholder tem um ponto de vista diferente
 Cada um vê o problema de modo diferente;
 Objetivo: conhecer o problema por várias perspectivas.
Descoberta de Requisitos
 Stakeholders frequentemente:
 Não sabem na realidade o que querem;
 Não conseguem expressar claramente o que
desejam;
 Fazem pedidos não realistas;
 Se expressam com seus próprios termos (técnicos).
 Diferentes stakeholders expressam o mesmo
requisito de forma diferente.
Obtendo os requisitos
 Técnicas para levantamento de requisitos:
 Descoberta de Requisitos(Pontos de vista)
 Entrevistas
 Cenários
 Casos de Uso
 Etnografia
Entrevistas
 Questionar os stakeholders sobre o sistema (ou
processo) atual e sobre o sistema que será
desenvolvido;
 Tipos de entrevistas:
 Entrevistas fechadas: conjunto pré-definido de
perguntas;
 Entrevistas abertas: sem agenda pré-definida; se
adapta para explorar o conhecimento do stakeholder.
Obtendo os requisitos
 Técnicas para levantamento de requisitos:
 Descoberta de Requisitos(Pontos de vista)
 Entrevistas
 Cenários
 Casos de Uso
 Etnografia
Cenários
 Descreve uma situação de uso do sistema;
 Inclui informações como:
 Nome do Cenário;
 Ator;
 Pré-condição;
 Fluxo normal;
 Fluxos alternativos;
 Pós-condição.
Exemplo de Cenário
 Nome do Cenário: Sacar dinheiro
 Ator: Correntista
 Pré-condição: Conta e senha validada
 Fluxo normal:
 Entrar com valor do saque
 Confirmar dados e operação
 Debitar valor da conta do cliente
 Fluxos alternativo: Saldo insuficiente
 Apresentar aviso ao cliente
 Pós-condição:
 Valor sacado é debitado do saldo do cliente
Obtendo os requisitos
 Técnicas para levantamento de requisitos:
 Descoberta de Requisitos(Pontos de vista)
 Entrevistas
 Cenários
 Casos de uso
 Etnografia
Casos de Uso
 Introduzida inicialmente no método Objectory
(JACOBSON et al., 1993).
 Em sua forma mais simples, identificam:
 Os atores envolvidos;
 As funcionalidades principais;
 A interação entre atores e funcionalidades do sistema.
Casos de Uso
Retirar
Dinheiro
Transferir
Fundos
Depositar
Fundos
Inicializar
o Sistema
Cliente
Operador de
Caixa Eletrônico
Sistema Bancário
 Descrição textual;
Obtendo os requisitos
 Técnicas para levantamento de requisitos:
 Descoberta de Requisitos(Pontos de vista)
 Entrevistas
 Cenários
 Casos de uso
 Etnografia
Etnografia
 É uma técnica de observação utilizada para
compreender os processos operacionais;
 O analista (engenheiro de requisitos) se insere
na organização do cliente:
 Observa o trabalho no dia a dia;
 Anota as tarefas dos funcionários.
Etnografia
 É eficaz para descobrir:
 maneira como as pessoas realmente trabalham;
 da cooperação e conscientização das atividades de
outras pessoas;
 Desenvolver um protótipo;
 Revelar detalhes importantes que são
ignorados por outras técnicas.
Validação de Requisitos
 Custos de erros de requisitos são altos, desse
modo, a validação é muito importante.
 Validar é:
 Demonstrar se os requisitos definem o sistema que o
cliente realmente quer.
Validação de Requisitos
 Os diferentes tipos de validação que devem ser
efetuados:
 Validade
 O sistema fornece as funções que melhor atendem às
necessidades do cliente?
 Consistência
 Existe algum conflito de requisitos?
 Completude
 Estão incluídas todas as funções e restrições requeridas pelo
cliente ?
Validação de Requisitos
 Os diferentes tipos de validação que devem ser
efetuados:
 Realismo
 Os requisitos podem ser implementados com o
orçamento e a tecnologia disponíveis?
 Verificabilidade
 Os requisitos podem ser verificados? Pode ser escrito
um conjunto de testes que demonstrem que o sistema
atende a cada requisitos especificado.
Validação de Requisitos
 Técnicas de Validação de Requisitos:
 Revisões de requisitos
 Análise manual sistemática dos requisitos.
 Prototipação
 Usando um modelo executável do sistema para verificar
os requisitos.
 Geração de casos de teste
 Desenvolvimento de testes para verificar os requisitos
implementados.
Gerenciamento de Requisitos
 Usuários muitas vezes mudam os requisitos ou “não sabem
o que querem”...
 Requisitos são, inevitavelmente, incompletos e
inconsistentes:
 Novos requisitos surgem durante o processo, à medida
que as necessidades de negócio mudam e uma melhor
compreensão do sistema é desenvolvida;
 Os diferentes pontos de vista têm requisitos diferentes
e estes são frequentemente contraditórios.
Gerenciamento de Requisitos
 É o processo de gerenciamento de mudanças de
requisitos durante o processo de engenharia de
requisitos e o desenvolvimento de sistema.
 É necessário:
 Compreender e controlar as mudanças dos requisitos;
 Avaliar os impactos das mudanças;
Gerenciamento de Requisitos
 Fatores para a mudança de requisitos
 Erros e inconsistência de requisitos
 Evolução do conhecimento sobre o sistema
 Problemas técnicos, de custo e prazo
 Mudança de prioridades
 Mudanças organizacionais
Planejamento de gerenciamento de
requisitos
 Durante o processo de gerenciamento de requsitos, você
tem de planejar:
 A Identificação de requisitos
 Como os requisitos são identificados individualmente;
 O processo de gerenciamento de mudanças
 Avalia o impacto e o custo das mudanças;
 Políticas de rastreabilidade
 É a quantidade de informações sobre os relacionamentos de requisitos;
 Ferramenta de apoio
 O apoio de ferramenta requisitada para auxiliar no gerenciamento das
mudanças requisitos.
Planejamento de gerenciamento de
requisitos
 Ferramentas:
 Caliber RM – comercial – Borland;
 QSS requirit – comercial – Quality System & Software;
 IBM – Rational RequisitePro – comercial – IBM Rational;
 OSRMT – open source;
 aNimble – open source.
Principais Eventos
 Requirements Engineering Conference 2015
 23ª edição
 Ottawa – Canadá, de 24 a 28 de Agosto
 Qualis A1
 Tema:
 Requirements for the masses.
Requirements from the masses.
 Working Conference on Requirements Engineering: Foundation for Software
Quality 2015
 21ª edição
 Essen – Alemanha, de 23 a 26 de Março.
 Qualis b3
 Workshop em Engenharia de Requisitos - WER 2015
 Qualis B3
 18ª edição
 Lima - Peru, de 22 a 24 de Abril.
Principais Eventos
 Principais Tópicos de Interesse:
 Elicitação de requisitos, análise, documentação,
validação e verificação;
 O gerenciamento de requisitos, pontos de vista,
priorização e negociação;
 Modelagem de requisitos, objetivos e domínios;
 Relacionando requisitos para objetivos de negócios,
arquitetura e testes;
 Requisitos em desenvolvimento ágil, linha de produtos
e modelo-dirigido a desenvolvimento;
Principais Eventos
 Principais Tópicos de Interesse:
 Requisitos em serviços orientados, virtualização, embarcados, em
nuvem e ambientes móveis;
 Requisitos relacionados com a segurança, confiabilidade,
segurança, privacidade e forense digital;
 Estudos empíricos, medições e previsão;
 Específicas de domínio problemas, experiências e soluções,
incluindo domínios novos e emergentes;
 Ferramenta de suporte para engenharia de requisitos;
 Evolução dos requisitos ao longo do tempo, as famílias de
produtos, a variabilidade e reutilização.
Conclusão
 A engenharia de requisitos define, sem dúvida, um dos
mais importantes conjuntos de atividades a serem
realizadas em projetos de desenvolvimento de software.
 Embora não garanta a qualidade dos produtos gerados, é
um pré-requisitos básico para que obtenhamos sucesso
no desenvolvimento do projeto.
Bibliografia
 DORFMAN, M., THAYER, R. H., 1990. Standards, Guidelines and
Examples of System and Software Requirements Engineering. Los
Alamitos, CA, IEEE Computer Society Press.
 Norma 830-1998 - IEEE Recommended Practice for Software
Requirements Specifications.
 PRESSMAN. “Engenharia de Software” 6ª Edição.
 SOMMERVILLE, I. Engenharia de software. 8ª edição São Paulo:
Pearson Addison- Wesley, 2007.
 SOMMERVILLE, I. Engenharia de Software, 9ª Edição. Pearson
Education, 2011.
Dúvidas
1 de 68

Recomendados

Engenharia Requisitos - Aula4 06 03 2006 por
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
3.7K visualizações60 slides
Analise de Requisitos Software por
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos SoftwareRildo (@rildosan) Santos
69.3K visualizações126 slides
Analise de Requisitos por
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
9K visualizações52 slides
Especificação de Requisitos de Software por
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
2.5K visualizações46 slides
Aula 2 - Processos de Software por
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de SoftwareRudson Kiyoshi Souza Carvalho
1.4K visualizações31 slides
Aula4 levantamento requisitos por
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitosComputação Depressão
1.5K visualizações27 slides

Mais conteúdo relacionado

Mais procurados

Introdução à Engenharia de Software por
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareNécio de Lima Veras
5.2K visualizações26 slides
X-Zone - Garantia da Qualidade de Software por
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareAlexandreBartie
4.7K visualizações101 slides
1 requisitos funcionais e não funcionais ok por
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais okMarcos Morais de Sousa
1.6K visualizações30 slides
Aula - Metodologias Ágeis por
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias ÁgeisMauricio Cesar Santos da Purificação
2.3K visualizações90 slides
engenharia-de-requisitos por
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitosFábio Nogueira de Lucena
2.3K visualizações37 slides
Metodologias de Desenvolvimento de Software por
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
3.6K visualizações16 slides

Mais procurados(20)

Introdução à Engenharia de Software por Nécio de Lima Veras
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
Nécio de Lima Veras5.2K visualizações
X-Zone - Garantia da Qualidade de Software por AlexandreBartie
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
AlexandreBartie4.7K visualizações
1 requisitos funcionais e não funcionais ok por Marcos Morais de Sousa
1  requisitos funcionais e não funcionais ok1  requisitos funcionais e não funcionais ok
1 requisitos funcionais e não funcionais ok
Marcos Morais de Sousa1.6K visualizações
Metodologias de Desenvolvimento de Software por Álvaro Farias Pinheiro
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
Álvaro Farias Pinheiro3.6K visualizações
Aula 1 - Introdução a Engenharia de Software por Leinylson Fontinele
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
Leinylson Fontinele1.1K visualizações
Principais Técnicas de Elicitação de Requisitos por Norton Guimarães
Principais Técnicas de Elicitação de RequisitosPrincipais Técnicas de Elicitação de Requisitos
Principais Técnicas de Elicitação de Requisitos
Norton Guimarães2.4K visualizações
Validação e Testes de software por Rondinelli Mesquita
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
Rondinelli Mesquita2.8K visualizações
A Evolucao dos Processos de Desenvolvimento de Software por Robson Silva Espig
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
Robson Silva Espig9.5K visualizações
Aula 6 - Qualidade de Software por Leinylson Fontinele
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
Leinylson Fontinele1.2K visualizações
Requisitos de software por Marcelo Yamaguti
Requisitos de softwareRequisitos de software
Requisitos de software
Marcelo Yamaguti2.5K visualizações
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix por Cris Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Cris Fidelix448 visualizações
Levantamento Ágil de Requisitos por Paulo Furtado
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
Paulo Furtado5.4K visualizações
Desenvolvimento Mobile por Elton Minetto
Desenvolvimento MobileDesenvolvimento Mobile
Desenvolvimento Mobile
Elton Minetto2.5K visualizações
Banco de questões qualidade de software por Bruno Nascimento
Banco de questões qualidade de softwareBanco de questões qualidade de software
Banco de questões qualidade de software
Bruno Nascimento7.1K visualizações
Ap i unidade 3 - levantamento de requisitos por Glauber Aquino
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitos
Glauber Aquino3.6K visualizações
Exemplo de Plano de testes por Leandro Rodrigues
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
Leandro Rodrigues46.1K visualizações

Destaque

Fundamentos de Engenharia de Requisitos por
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de RequisitosBarbara Lima
33.2K visualizações18 slides
Aula 02 - Engenharia de Requisitos por
Aula 02 - Engenharia de RequisitosAula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAlberto Simões
1.6K visualizações140 slides
Gerência de Requisitos por
Gerência de RequisitosGerência de Requisitos
Gerência de RequisitosMauricio Volkweis Astiazara
9.8K visualizações41 slides
Engenharia de Requisitos por
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosTiago Barros
5.8K visualizações37 slides
Eng.ª do Software - 3. Processos da engenharia de requisitos por
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitosManuel Menezes de Sequeira
5.9K visualizações51 slides
Documento de requisitos por
Documento de requisitosDocumento de requisitos
Documento de requisitosfolhack
3.5K visualizações12 slides

Destaque(20)

Fundamentos de Engenharia de Requisitos por Barbara Lima
Fundamentos de Engenharia de RequisitosFundamentos de Engenharia de Requisitos
Fundamentos de Engenharia de Requisitos
Barbara Lima33.2K visualizações
Aula 02 - Engenharia de Requisitos por Alberto Simões
Aula 02 - Engenharia de RequisitosAula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de Requisitos
Alberto Simões1.6K visualizações
Engenharia de Requisitos por Tiago Barros
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
Tiago Barros5.8K visualizações
Eng.ª do Software - 3. Processos da engenharia de requisitos por Manuel Menezes de Sequeira
Eng.ª do Software - 3. Processos da engenharia de requisitosEng.ª do Software - 3. Processos da engenharia de requisitos
Eng.ª do Software - 3. Processos da engenharia de requisitos
Manuel Menezes de Sequeira5.9K visualizações
Documento de requisitos por folhack
Documento de requisitosDocumento de requisitos
Documento de requisitos
folhack3.5K visualizações
3 unidade eng economica por Moises Souza
3 unidade eng economica3 unidade eng economica
3 unidade eng economica
Moises Souza558 visualizações
Engenharia De Requisitos por Robson Silva Espig
Engenharia De RequisitosEngenharia De Requisitos
Engenharia De Requisitos
Robson Silva Espig4.4K visualizações
Es capítulo 4 - engenharia de requisitos por Felipe Oliveira
Es   capítulo 4  - engenharia de requisitosEs   capítulo 4  - engenharia de requisitos
Es capítulo 4 - engenharia de requisitos
Felipe Oliveira1K visualizações
Engenharia de requisitos por Tamires Guedes
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
Tamires Guedes1.3K visualizações
Engenharia de Requisitos - Aula 2 por Tiago Barros
Engenharia de Requisitos - Aula 2Engenharia de Requisitos - Aula 2
Engenharia de Requisitos - Aula 2
Tiago Barros3.1K visualizações
Uma Introdução a Engenharia de Software por Vinicius Garcia
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de Software
Vinicius Garcia4.5K visualizações
Engenharia Requisitos - Método RON por Eduardo Castro
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RON
Eduardo Castro6.1K visualizações
Especificação de requisitos por Fernando Palma
Especificação de requisitosEspecificação de requisitos
Especificação de requisitos
Fernando Palma74.5K visualizações
Análise e Projeto de Sistemas por Guilherme
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
Guilherme43.4K visualizações
Técnicas de Elicitação de Requisitos e sua Aderência ao CMMi por Daniel Ferreira
Técnicas de Elicitação de Requisitos e sua Aderência ao CMMiTécnicas de Elicitação de Requisitos e sua Aderência ao CMMi
Técnicas de Elicitação de Requisitos e sua Aderência ao CMMi
Daniel Ferreira9.5K visualizações
Análise de Negócio - Visão Geral da Carreira por wylkerb
Análise de Negócio - Visão Geral da CarreiraAnálise de Negócio - Visão Geral da Carreira
Análise de Negócio - Visão Geral da Carreira
wylkerb756 visualizações
[Engenharia de Software] Marquivos.com por Bruno Dadalt Zambiazi
[Engenharia de Software] Marquivos.com[Engenharia de Software] Marquivos.com
[Engenharia de Software] Marquivos.com
Bruno Dadalt Zambiazi631 visualizações
Documentar Requisitos Usando Modelos por Barbara Lima
Documentar Requisitos Usando ModelosDocumentar Requisitos Usando Modelos
Documentar Requisitos Usando Modelos
Barbara Lima2.6K visualizações

Similar a Engenharia de requisitos

06 Requisitos por
06 Requisitos06 Requisitos
06 RequisitosWaldemar Roberti
1.4K visualizações46 slides
Análise de Sistemas Orientado a Objetos - 02 por
Análise de Sistemas Orientado a Objetos - 02Análise de Sistemas Orientado a Objetos - 02
Análise de Sistemas Orientado a Objetos - 02Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT
437 visualizações19 slides
ASPECTOS DA ENGENHARIA DE REQUISITOS por
ASPECTOS DA ENGENHARIA DE REQUISITOSASPECTOS DA ENGENHARIA DE REQUISITOS
ASPECTOS DA ENGENHARIA DE REQUISITOSJaffer Veronezi
801 visualizações9 slides
Analise sistemas 04 por
Analise sistemas 04Analise sistemas 04
Analise sistemas 04Caroline Raquel Rodrigues
2.2K visualizações37 slides
Engenharia de Requisitos por
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
213 visualizações36 slides
Aula 1 requisitos por
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
1.6K visualizações41 slides

Similar a Engenharia de requisitos(20)

06 Requisitos por Waldemar Roberti
06 Requisitos06 Requisitos
06 Requisitos
Waldemar Roberti1.4K visualizações
ASPECTOS DA ENGENHARIA DE REQUISITOS por Jaffer Veronezi
ASPECTOS DA ENGENHARIA DE REQUISITOSASPECTOS DA ENGENHARIA DE REQUISITOS
ASPECTOS DA ENGENHARIA DE REQUISITOS
Jaffer Veronezi801 visualizações
Engenharia de Requisitos por Cloves da Rocha
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
Cloves da Rocha213 visualizações
Aula 1 requisitos por licardino
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino1.6K visualizações
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix por Cris Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Cris Fidelix182 visualizações
Os aspectos mais relevantes da Engenharia de Requisitos por José Vieira
Os aspectos mais relevantes da Engenharia de RequisitosOs aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de Requisitos
José Vieira52 visualizações
Este trabalho trata por Roni Reis
Este trabalho trataEste trabalho trata
Este trabalho trata
Roni Reis173 visualizações
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares) por Rosanete Grassiani dos Santos
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Rosanete Grassiani dos Santos12K visualizações
Modelos e etapas do processo de software.pdf por IvanFontainha
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdf
IvanFontainha134 visualizações
Analise de requisitos estudo para prova por Leonardo Almeida
Analise de requisitos estudo para provaAnalise de requisitos estudo para prova
Analise de requisitos estudo para prova
Leonardo Almeida523 visualizações
Introdução à Engenharia de Requisitos por Orlando Junior
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de Requisitos
Orlando Junior485 visualizações
Prodemge WTQS - Minicurso técnicas de verificação de requisitos por Gustavo Lopes
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Gustavo Lopes594 visualizações

Engenharia de requisitos

  • 2. Tópicos  A Engenharia de Requisitos  Importância da Engenharia de Requisitos  O que são requisitos?  Requisitos de usuário e de sistema  Funcionais e não funcionais  Documento e Especificação de requisitos  Desenvolvimento de requisitos  Estudo de viabilidade  Elicitação e análise de requisitos  Validação de requisitos  Gerenciamento de requisitos  Principais eventos  Conclusão
  • 3. A Engenharia de Requisitos  É o ramo da engenharia de software que se preocupa com:  os objetivos, funções e restrições dos sistemas de software.  É também o processo de estabelecer quais serviços e restrições são necessários na operação e desenvolvimento de um sistema.
  • 4. A Engenharia de Requisitos  Engenharia de Requisitos pode ser dividida em:  Desenvolvimento de Requisitos: Elicitação Análise Especificação Validação  Gerência de Requisitos Gerência de Mudanças Acompanhamento de desenvolvimento e implementação dos requisitos
  • 5. Importância da Engenharia de Requisitos  Alguns fatos  Um trabalho consistente de análise dos requisitos é a BASE de um projeto de SOFTWARE DE SUCESSO;  Corrigir problemas na fase de especificação de requisitos pode gerar uma economia até 200 vezes maior do que em etapas posteriores.
  • 6. Importância da Engenharia de Requisitos “Entender os requisitos de um problema está entre as tarefas mais difíceis enfrentadas por um engenheiro de software.” (Pressman, 2011)
  • 7. Importância da Engenharia de Requisitos  Segundo pesquisa realizada pelo Standish Group* as principais razões que levam a problemas de projeto são identificadas no gráfico: * http://blog.standishgroup.com/ 0 5 10 15 20 25 23 12,8 12,3 11,8 7,5 7 6,4 5,9 5,3 4,3 3,7 % de Respostas FatoresdeProjetosCríticos
  • 8. O que são requisitos?  São o ponto de partida para toda a definição de um sistema.  Fatores decisivos no desenvolvimento do produto final de um projeto de software.  “Capacidade que o software tem e que o usuário precisa a fim de resolver um problema e atingir seu objetivo.” (Dorfman e Thayer - 1990)
  • 9. O que são requisitos?  Um requisito pode variar de:  Uma declaração abstrata de alto nível de um serviço a  Uma restrição do sistema para uma especificação matemática funcional.
  • 10. Níveis de Requisitos  Requisitos de usuário:  são declarações em uma linguagem natural com diagramas de quais serviços o sistema deverá fornecer a seus usuários e as restrições com as quais este deve operar.  Requisitos de sistema  são descrições mais detalhadas das funções, serviços e restrições operacionais do sistema de software.
  • 11. Identificação dos Interessados  Além do cliente e o do desenvolvedor, que podem, naturalmente, ter diferentes nomes e títulos, existem provavelmente:  O pessoal de marketing,  O pessoal de testes e garantia de qualidade.  Gerentes de produtos.  Gerente geral.  E uma variedade de “stakeholders” (interessados) que no seu dia-a-dia serão afetados pelo desenvolvimento do novo sistema.
  • 12. Identificação dos Interessados  Sommerville – 1997 define interessados como: “Qualquer um que se beneficia de forma direta ou indireta do sistema que está sendo desenvolvido.”
  • 13. Identificação dos Interessados  Dificuldades:  Cada interessado: Tem uma visão diferente do sistema; Obtém diferentes benefícios quando o sistema é desenvolvido com êxito; E está sujeito a diferentes riscos caso o trabalho de desenvolvimento venha a fracassar.
  • 14. Identificação dos Interessados  Reconhecimento de diversos pontos de vista:  Gerentes Comerciais  Estão interessados no conjunto de recursos que pode ser construído dentro do orçamento e que estarão prontos para atender às oportunidades definidas de ingresso no mercado.  Pessoal do Marketing  Estão interessados nas funções e recursos que irão suscitar o mercado potencial, facilitando a venda do sistema.
  • 15. Busca de Colaboração  Primeiro: identificar áreas em comum  requisitos com os quais os interessados concordam  Segundo: identificar áreas de conflito  requisitos desejados por um interessado, mas que conflitam com os de outros interessados.
  • 16. Busca de Colaboração  Colaboração não significa, necessariamente, que os requisitos são definidos por um comitê.  Normalmente existe um “poderoso campeão dos projetos ” (gerente comercial ou técnico sênior) que pode tomar a decisão final sobre quais requisitos que passam pelo corte.
  • 17. Classificação de Requisitos Com uma breve observação percebemos que há uma infinidade de objetos envolvidos que são requisitos de software, os quais devem ser classificados em dois grandes grupos...  Requisitos Funcionais;  Requisitos Não Funcionais.
  • 18. Classificação de Requisitos  Requisitos Funcionais:  Descrevem as funcionalidades e/ou serviços do sistema;  Descrevem como o sistema deve reagir a entradas específicas;  Podem ser declarações de alto nível do que o sistema deve fazer;  Devem descrever os serviços de sistema em detalhes;  O que o sistema não deve fazer;
  • 19. Exemplos de requisitos funcionais  O sistema deve permitir que qualquer usuário possa consultar e visualizar o perfil de outro usuário do sistema.  O sistema deve permitir a inclusão, alteração e inativação dos usuários do sistema.  O sistema deve permitir aos usuários do tipo gerente visualizar relatórios de projetos em aberto e/ou finalizados, e seus respectivos feedbacks.
  • 20. Imprecisão de requisitos  Problemas surgem quando os requisitos não são precisamente definidos.  Requisitos ambíguos podem ser interpretados de maneiras diferentes pelos desenvolvedores e usuários.  Considere o termo “telas apropriadas”:  Intenção do usuário - telas para cada formato de documento devem ser disponibilizadas.  Intenção do desenvolvedor - disponibilizar uma tela de texto que mostra o conteúdo do documento.
  • 21. Requisitos completos e consistentes  A princípio, todos os requisitos devem ser completos e consistentes:  Completos: Todas as funções requeridas pelo usuário devem estar definidas.  Consistentes: Não deve haver conflitos ou contradições nas descrições dos recursos de sistema.  Na prática, é quase impossível produzir um documento de requisitos completos e consistentes.
  • 22. Classificação de Requisitos  Requisitos Não Funcionais:  Definem propriedades e restrições do sistema;  Dizem respeito ao sistema como um todo;  Muitos requisitos não funcionais são também requisitos de qualidade, como confiabilidade, tempo de resposta e espaço em disco;  Outros são restrições ou exigências de uso de tecnologia.
  • 23. Classificação de Requisitos  Classificação dos Requisitos Não Funcionais: Especificam ou restringem o comportamento do software. Derivados das políticas e procedimentos da organização do cliente e do desenvolvedor. Derivados de fatores externos ao sistema e seu processo.
  • 24. Exemplos de requisitos não funcionais  Requisito de Produto:  O sistema deve ser capaz de responder até, em média, a 10 requisições por segundo.  Requisito Organizacional:  Todos os documentos entregues devem seguir o padrão de relatórios XYZ-00.  Requisito Externo:  O sistema não deve revelar quaisquer informações pessoais sobre os usuários do sistema, com exceção do nome e número de referência da biblioteca.
  • 25. Classificação de Requisitos  Métricas para elecitar Requisitos Não Funcionais:  Velocidade:  Transações processadas/segundo;  Tamanho:  Megabytes;  Facilidade de uso:  Tempo de treinamento;  Número de frames de ajuda;
  • 26. Classificação de Requisitos  Métricas para elicitar Requisitos Não Funcionais:  Confiabilidade:  Probabilidade de indisponibilidade;  Taxa de ocorrência de falhas;  Robustez:  Tempo de reinício após falha;  Percentual de eventos que causam falhas;  Probabilidade de corrupção de dados em caso de falha;  Portabilidade:  Percentual de declarações dependentes do sistema-alvo;
  • 27. Documento de requisitos de software e Especificação de requisitos
  • 28. Documento de requisitos de software e Especificação de requisitos  Variabilidade do documento de requisitos  As informações no documento de requisitos dependem do tipo de sistema e da abordagem de desenvolvimento usada.  Normalmente, os sistemas desenvolvidos de forma incremental terão menos detalhes no documento de requisitos.  Os padrões dos documentos de requisitos foram concebidos, tendo como exemplo, a norma IEEE Std 830- 1998.  Esses são aplicáveis, principalmente, aos requisitos para projetos de engenharia de sistemas de grande porte.
  • 29. Documento de requisitos de software e Especificação de requisitos  Requisitos e Métodos ágeis  A produção de um documento de requisitos é um desperdício de tempo pois esses mudam rapidamente.  Portanto, o documento estará sempre desatualizado.  O XP, por exemplo, usa a engenharia de requisitos incremental e expressa os requisitos como “estórias de usuário”.  Prático para os sistemas de negócios e problemático para sistemas que exigem várias análises pré-entrega (por exemplo, sistemas críticos) ou sistemas desenvolvidos por várias equipes.
  • 30. Documento de requisitos de software e Especificação de requisitos  O documento de requisitos tem um conjunto diversificado de usuários:  Desde a alta administração da organização que está pagando pelo sistema.  Até os engenheiros responsáveis pelo desenvolvimento do software.
  • 31. Documento de requisitos de software e Especificação de requisitos  Especificação:  É o processo de escrever os requisitos de usuário e de sistema em um documento de requisitos.  Idealmente, os requisitos de usuário e de sistema devem ser:  Claros  Inequívocos  De fácil compreensão  Consistentes  Completos
  • 32. Processos de engenharia de requisitos  Os processos de engenharia de requisitos podem incluir quatro atividades de alto nível:  Estudo de viabilidade;  Elicitação e Análise;  Especificação;  Validação.
  • 33. Processos de engenharia de requisitos Estudo da viabilidade Relatório de viabilidade Validação de requisitos Especificações de requisitos Requisitos de usuários e de sistema Elicitação e análise de requisitos Modelos de sistema Documentação de requisitos
  • 34. Processos de engenharia de requisitos
  • 35. Estudo de Viabilidade  Decidir se vale a pena ou não gastar tempo e esforço com o sistema proposto;  Sistemas novos devem começar com um estudo da viabilidade;  Responder Perguntas:  O sistema contribui para os objetivos gerais da organização?  O sistema pode ser implementado com a tecnologia atual dentro das restrições de custo e de prazo?  O sistema pode ser integrado a outros?  Que contribuição direta o sistema trará para os objetivos da empresa?
  • 36. Relatório de Viabilidade  O relatório pode:  Propor mudanças no enfoque, no orçamento e/ou no cronograma;  Sugerir outros requisitos de alto nível para o sistema;  Simplesmente cancelar o projeto de desenvolvimento do sistema.
  • 37. Elicitação e análise de requisitos  Reúne informações sobre o sistema proposto e os existentes.  O objetivo é descobrir:  O domínio de aplicação;  Serviços que devem ser fornecidos pelo sistema;  Restrições associadas ao domínio ou serviços;  Envolvem diversos stakeholders;
  • 38. Atividades da Elicitação e análise de requisitos 1. Descoberta de Requisitos 2. Classificação e organização de requisitos 3. Priorização e negociação de requisitos 4. Especificação de requisitos
  • 39. Obtendo os requisitos  Técnicas para levantamento de requisitos:  Descoberta de Requisitos(Pontos de vista)  Entrevistas  Cenários  Casos de Uso  Etnografia
  • 40. Obtendo os requisitos  Técnicas para levantamento de requisitos:  Descoberta de Requisitos(Pontos de vista)  Entrevistas  Cenários  Casos de Uso  Etnografia
  • 41. Descoberta de Requisitos  Processo que reúne informações sobre o sistema proposto e os existentes para obter os requisitos de usuário e de sistema.  Em uma empresa de tamanho médio ou grande, existem vários stakeholders;  Cada stakeholder tem um ponto de vista diferente  Cada um vê o problema de modo diferente;  Objetivo: conhecer o problema por várias perspectivas.
  • 42. Descoberta de Requisitos  Stakeholders frequentemente:  Não sabem na realidade o que querem;  Não conseguem expressar claramente o que desejam;  Fazem pedidos não realistas;  Se expressam com seus próprios termos (técnicos).  Diferentes stakeholders expressam o mesmo requisito de forma diferente.
  • 43. Obtendo os requisitos  Técnicas para levantamento de requisitos:  Descoberta de Requisitos(Pontos de vista)  Entrevistas  Cenários  Casos de Uso  Etnografia
  • 44. Entrevistas  Questionar os stakeholders sobre o sistema (ou processo) atual e sobre o sistema que será desenvolvido;  Tipos de entrevistas:  Entrevistas fechadas: conjunto pré-definido de perguntas;  Entrevistas abertas: sem agenda pré-definida; se adapta para explorar o conhecimento do stakeholder.
  • 45. Obtendo os requisitos  Técnicas para levantamento de requisitos:  Descoberta de Requisitos(Pontos de vista)  Entrevistas  Cenários  Casos de Uso  Etnografia
  • 46. Cenários  Descreve uma situação de uso do sistema;  Inclui informações como:  Nome do Cenário;  Ator;  Pré-condição;  Fluxo normal;  Fluxos alternativos;  Pós-condição.
  • 47. Exemplo de Cenário  Nome do Cenário: Sacar dinheiro  Ator: Correntista  Pré-condição: Conta e senha validada  Fluxo normal:  Entrar com valor do saque  Confirmar dados e operação  Debitar valor da conta do cliente  Fluxos alternativo: Saldo insuficiente  Apresentar aviso ao cliente  Pós-condição:  Valor sacado é debitado do saldo do cliente
  • 48. Obtendo os requisitos  Técnicas para levantamento de requisitos:  Descoberta de Requisitos(Pontos de vista)  Entrevistas  Cenários  Casos de uso  Etnografia
  • 49. Casos de Uso  Introduzida inicialmente no método Objectory (JACOBSON et al., 1993).  Em sua forma mais simples, identificam:  Os atores envolvidos;  As funcionalidades principais;  A interação entre atores e funcionalidades do sistema.
  • 50. Casos de Uso Retirar Dinheiro Transferir Fundos Depositar Fundos Inicializar o Sistema Cliente Operador de Caixa Eletrônico Sistema Bancário  Descrição textual;
  • 51. Obtendo os requisitos  Técnicas para levantamento de requisitos:  Descoberta de Requisitos(Pontos de vista)  Entrevistas  Cenários  Casos de uso  Etnografia
  • 52. Etnografia  É uma técnica de observação utilizada para compreender os processos operacionais;  O analista (engenheiro de requisitos) se insere na organização do cliente:  Observa o trabalho no dia a dia;  Anota as tarefas dos funcionários.
  • 53. Etnografia  É eficaz para descobrir:  maneira como as pessoas realmente trabalham;  da cooperação e conscientização das atividades de outras pessoas;  Desenvolver um protótipo;  Revelar detalhes importantes que são ignorados por outras técnicas.
  • 54. Validação de Requisitos  Custos de erros de requisitos são altos, desse modo, a validação é muito importante.  Validar é:  Demonstrar se os requisitos definem o sistema que o cliente realmente quer.
  • 55. Validação de Requisitos  Os diferentes tipos de validação que devem ser efetuados:  Validade  O sistema fornece as funções que melhor atendem às necessidades do cliente?  Consistência  Existe algum conflito de requisitos?  Completude  Estão incluídas todas as funções e restrições requeridas pelo cliente ?
  • 56. Validação de Requisitos  Os diferentes tipos de validação que devem ser efetuados:  Realismo  Os requisitos podem ser implementados com o orçamento e a tecnologia disponíveis?  Verificabilidade  Os requisitos podem ser verificados? Pode ser escrito um conjunto de testes que demonstrem que o sistema atende a cada requisitos especificado.
  • 57. Validação de Requisitos  Técnicas de Validação de Requisitos:  Revisões de requisitos  Análise manual sistemática dos requisitos.  Prototipação  Usando um modelo executável do sistema para verificar os requisitos.  Geração de casos de teste  Desenvolvimento de testes para verificar os requisitos implementados.
  • 58. Gerenciamento de Requisitos  Usuários muitas vezes mudam os requisitos ou “não sabem o que querem”...  Requisitos são, inevitavelmente, incompletos e inconsistentes:  Novos requisitos surgem durante o processo, à medida que as necessidades de negócio mudam e uma melhor compreensão do sistema é desenvolvida;  Os diferentes pontos de vista têm requisitos diferentes e estes são frequentemente contraditórios.
  • 59. Gerenciamento de Requisitos  É o processo de gerenciamento de mudanças de requisitos durante o processo de engenharia de requisitos e o desenvolvimento de sistema.  É necessário:  Compreender e controlar as mudanças dos requisitos;  Avaliar os impactos das mudanças;
  • 60. Gerenciamento de Requisitos  Fatores para a mudança de requisitos  Erros e inconsistência de requisitos  Evolução do conhecimento sobre o sistema  Problemas técnicos, de custo e prazo  Mudança de prioridades  Mudanças organizacionais
  • 61. Planejamento de gerenciamento de requisitos  Durante o processo de gerenciamento de requsitos, você tem de planejar:  A Identificação de requisitos  Como os requisitos são identificados individualmente;  O processo de gerenciamento de mudanças  Avalia o impacto e o custo das mudanças;  Políticas de rastreabilidade  É a quantidade de informações sobre os relacionamentos de requisitos;  Ferramenta de apoio  O apoio de ferramenta requisitada para auxiliar no gerenciamento das mudanças requisitos.
  • 62. Planejamento de gerenciamento de requisitos  Ferramentas:  Caliber RM – comercial – Borland;  QSS requirit – comercial – Quality System & Software;  IBM – Rational RequisitePro – comercial – IBM Rational;  OSRMT – open source;  aNimble – open source.
  • 63. Principais Eventos  Requirements Engineering Conference 2015  23ª edição  Ottawa – Canadá, de 24 a 28 de Agosto  Qualis A1  Tema:  Requirements for the masses. Requirements from the masses.  Working Conference on Requirements Engineering: Foundation for Software Quality 2015  21ª edição  Essen – Alemanha, de 23 a 26 de Março.  Qualis b3  Workshop em Engenharia de Requisitos - WER 2015  Qualis B3  18ª edição  Lima - Peru, de 22 a 24 de Abril.
  • 64. Principais Eventos  Principais Tópicos de Interesse:  Elicitação de requisitos, análise, documentação, validação e verificação;  O gerenciamento de requisitos, pontos de vista, priorização e negociação;  Modelagem de requisitos, objetivos e domínios;  Relacionando requisitos para objetivos de negócios, arquitetura e testes;  Requisitos em desenvolvimento ágil, linha de produtos e modelo-dirigido a desenvolvimento;
  • 65. Principais Eventos  Principais Tópicos de Interesse:  Requisitos em serviços orientados, virtualização, embarcados, em nuvem e ambientes móveis;  Requisitos relacionados com a segurança, confiabilidade, segurança, privacidade e forense digital;  Estudos empíricos, medições e previsão;  Específicas de domínio problemas, experiências e soluções, incluindo domínios novos e emergentes;  Ferramenta de suporte para engenharia de requisitos;  Evolução dos requisitos ao longo do tempo, as famílias de produtos, a variabilidade e reutilização.
  • 66. Conclusão  A engenharia de requisitos define, sem dúvida, um dos mais importantes conjuntos de atividades a serem realizadas em projetos de desenvolvimento de software.  Embora não garanta a qualidade dos produtos gerados, é um pré-requisitos básico para que obtenhamos sucesso no desenvolvimento do projeto.
  • 67. Bibliografia  DORFMAN, M., THAYER, R. H., 1990. Standards, Guidelines and Examples of System and Software Requirements Engineering. Los Alamitos, CA, IEEE Computer Society Press.  Norma 830-1998 - IEEE Recommended Practice for Software Requirements Specifications.  PRESSMAN. “Engenharia de Software” 6ª Edição.  SOMMERVILLE, I. Engenharia de software. 8ª edição São Paulo: Pearson Addison- Wesley, 2007.  SOMMERVILLE, I. Engenharia de Software, 9ª Edição. Pearson Education, 2011.