94
O processo de Engenharia de Requisitos

O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Embed Size (px)

Citation preview

Page 1: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

O processo de Engenharia de Requisitos

Page 2: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

2. Obtenção e Análise dos Requisitos

Avaliar os problemas na situação atualPrincipal foco para o novo sistema: O QUE e não COMO:– qual o fluxo e o conteúdo de informação– quais as funções do sistema– quais dados o sistema produz e consome – qual o comportamento do sistema– quais as características de interface com outros subsistemas– quais são as restrições do projeto

Page 3: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

2. Obtenção e Análise dos Requisitos – cont.

Sintetizar uma ou mais soluções

– conforme delineado em um Plano de Projeto de Software

– o processo de avaliação e síntese continua até que o analista e o cliente concordem que o sistema esteja adequadamente especificado

– é a maior área de esforço

Page 4: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Modelagem

Durante a atividade de avaliação e síntese devem ser criados– modelos do sistema para se compreender melhor o

fluxo de dados e de controle:• padrão de comportamento• padrão da informação

– esses modelos devem garantir o atendimento aos requisitos

O modelo serve como fundamento para o projeto do sistema e como base para a criação de sua especificação

Page 5: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

3. Especificação dos Requisitos

Refinamento detalhado de todos os requisitos Requisitos de Produto– Funções descritas em detalhe– Estabelecimento das características de interface

• Com outros subsistemas• Ambiente de implementação• Interface Humano-Computador• Segurança, etc

– Identificação das restrições de projeto– Especificação dos critérios de validação

Page 6: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

4. Validação

Verifica os requisitos– Critérios: pertinência, consistência, completude– As revisões são conduzidas pelo Cliente e pelo Desenvolvedor– A base para a revisão são os documentos produzidos na Especificação

dos Requisitos

O Plano de Projeto do Software deve ser revisto devido ao conhecimento adquirido durante a análise

Page 7: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

A Gerência do Processo de Desenvolvimento

Page 8: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Ciclo de Vida

Qual o propósito de estabelecer um Ciclo de Vida para o Software? – Definir que atividades devem ser executadas em um projeto de

desenvolvimento de sistemas– Introduzir consistência entre vários projetos de desenvolvimento de

sistemas de uma mesma organização– Prover pontos de controle para prever, gerenciar e controlar o

desenvolvimento de sistemas

Page 9: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Ciclo de Vida

CascataEvolucionárioFormalOrientado a ReusoEspiralIncremental

Page 10: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Cascata

Ciclo de Vida Clássico

Prevê um processo de desenvolvimento com etapas seqüenciais

Base: engenharia convencional

O resultado de cada fase envolve a elaboração de um ou mais documentos que são aprovados

Page 11: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Engenhariade Sistemas

AnáliseProjeto

Codificação

Teste

Manutenção

Cascata

Page 12: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Cascata

Problemas:– Para grandes projetos o tempo que decorre desde a especificação até

sua implantação é grande

– O Ambiente Externo evolui e é diferente daquele que deu origem a sua especificação

– Na prática os estágios se sobrepõem

– O processo de software envolve interações

Page 13: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Evolucionário

Base– Desenvolver uma implementação inicial– Expor o resultado ao comentário do usuário– Aprimoramento por meio de muitas versões– Até que o sistema tenha sido totalmente desenvolvido

Dois tipos:– Exploratório– Protótipos descartáveis

Page 14: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Evolucionário

Exploratório– Trabalhar com o cliente– O desenvolvimento inicia com as partes do sistema que

são compreendidas– O sistema evolui com as novas características propostas

pelo cliente

Protótipos descartáveis– O protótipo experimenta os requisitos não

compreendidos– Neste caso o objetivo é a Especificação de Requisitos– Falaremos de protótipos mais adiante

Page 15: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Evolucionário

Descrição doEsboço

Versão Inicial

Descrição doEsboço

Especificação

Versões Intermediárias

Versão Final

Desenvolvimento

Validação

Page 16: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Evolucionário

Produz sistemas que atendem as necessidades imediatas do clienteProblemas– O processo não é visível

• Não se produzem documentos que reflitam as versões do sistema

– Freqüentemente são mal estruturados• Software sem estrutura• Modificações cada vez mais custosas

– Ferramentas e técnicas especiais• Possibilitam rápido desenvolvimento• Poucas pessoas podem ter a habilitação necessária para

usá-las

Page 17: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Evolucionário Definição deRequisitos eRefinamento

Projeto Rápido

Constru-ção do

Protótipo

Avaliação doUsuário

Refinamentodo protótipo

ProdutoFinal

Início

Fim

Page 18: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Formal

Base: a transformação matemática formal de uma especificação de sistema em um programa executável– A especificação de requisitos é redefinida com uma linguagem formal

Especificação deRequisitos

EspecificaçãoFormal

TransformaçãoFormal

Testes

Page 19: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Formal

Transformação formal– Várias etapas– Representação mais detalhada, matematicamente

correta

Adequada a sistemas críticos– Permite verificação automática de consistência– Model checking

• utiliza máquinas de estado para verificar onde uma determinada propriedade é satisfeita sob todas as condições

– Prova de teoremas• axiomas do comportamento do sistema são empregados

para derivar uma prova de que o sistema vai se comportar de uma determinada forma

Page 20: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Orientado a Reuso

Ampla base de componentes reusáveisInfra-estrutura de integraçãoEtapas:– De posse da Especificação de Requisitos, buscam-se componentes para

implementá-la– Negociação – requisitos são modificados para que se possa usar os

componentes

Redução do esforço de desenvolvimento

Page 21: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Iteração de processo

Existe a necessidade de utilizar diferentes abordagens para diferentes partes do sistemaPartes do processo são repetidas enquanto os requisitos evoluemModelos Híbridos– Apóiam a iteração do processo– Desenvolvimento Espiral– Desenvolvimento Incremental

Page 22: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Modelo Espiral

O processo de desenvolvimento se move sobre uma espiral evolucionária– Melhores características do

• Ciclo de vida clássico• Evolucionário – Prototipação• Acrescenta Análise de Riscos

As fases são executadas de forma iterativa As fases de análise e projeto não são monolíticas e distintas

Page 23: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Modelo Espiral

Page 24: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Modelo Espiral

Planejamento– objetivos, alternativas e restrições

Análise de Riscos– Análise de alternativas e identificação/resolução de

riscos– Prototipação pode ser usada– Simulações e outros modelos podem ser usados para

definir melhor o problema

Desenvolvimento e Validação– Desenvolvimento do produto no “nível seguinte”

Avaliação feita pelo ClienteVolta ao Planejamento

Page 25: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Enfoque Incremental

Uma variação do modelo cascata onde a partir da fase de especificação de requisitos são feitos incrementos sucessivos.

Estratégia para minimizar riscos, obtendo-se resultados de médio e curto prazo sem se descuidar do objetivo final

Page 26: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Enfoque Incremental

Requisitos

Design

Codificação

Testes

Implantação

Requisitos

Design

Codificação

Testes

Implantação

Uma interação

tempo

Page 27: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Desenvolvimento Incremental

O Processo de Desenvolvimento RUP está em conformidade com o Desenvolvimento Incremental.

Page 28: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Desenvolvimento Incremental

Em vez de entregar o sistema como um todo, o desenvolvimento e a entrega são divididos em partes, com cada incremento entregando parte da funcionalidade requeridaRequisitos dos usuários são priorizados e os requisitos de mais alta prioridade são incluídos nas iterações iniciaisUma vez que o desenvolvimento de um incremento é iniciado, os requisitos são "congelados“, embora possam continuar a evoluir para incrementos posteriores

Page 29: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Desenvolvimento Iterativo e Incremental (RUP)

Page 30: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Engenharia de Requisitos

Page 31: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Engenharia de Requisitos

Compreender a natureza do software a ser desenvolvido é realmente muito complexo

Conseqüentemente é difícil estabelecer o que o sistema deve fazer

Estabelecer o que o sistema deve fazer descrevendo suas funções e restrições é conseguir determinar todos os seus requisitos

O Processo de:

1. Descobrir 2. Analisar

3. Documentar

4. Verificar

É chamado de É chamado de Engenharia de Engenharia de RequisitosRequisitos

Page 32: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Engenharia de Requisitos

Page 33: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Engenharia de Requisitos

O processo de estabelecer as funções O processo de estabelecer as funções que um cliente requer de um sistema e que um cliente requer de um sistema e as restrições sob as quais ele deve as restrições sob as quais ele deve funcionar e ser desenvolvidofuncionar e ser desenvolvido

Os requisitos são descrições das funções Os requisitos são descrições das funções e restrições que são geradas durante o e restrições que são geradas durante o processo de engenharia de requisitosprocesso de engenharia de requisitos

Page 34: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Atividades de Engenharia de Requisitos – Recursos Humanos

Page 35: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Atividades de Engenharia de Requisitos

Elicitação dos Requisitos

- Especificação e Modelagem dos

Requisitos

Verificação e Validação dos

Requisitos

Rastreabilidade e Gestão de Mudanças

Analista deNegócio

Cliente TestadorInspetorAnalista deRequisitos

Page 36: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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.

Page 37: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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árioDocumento de Visão

Elicitação dos Requisitos de Negócio

Page 38: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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

Requisitosp/ Inspeção

Plano e Casos de Teste

Casos de Uso eEsp. Suplementar

Regras de Negócio

GlossárioDocumento de Visão

Analista de Requisitos

Page 39: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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

Requisitosp/ Inspeção

Plano e Casos de Teste

Casos de Uso eEsp. Suplementar

Garantir a rastreabilidade dos requisitos Validar requisitos com o cliente

Inspetor

Especificação de Requisitos Atualizada

Resultado dos Casos de Teste

Page 40: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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ãoAtualizado

Solic. Mudança

Analista de Requisitos

Analista de Negócios

Especificação de Requisitos Atualizada

Page 41: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Resumo da nomenclatura e templates

Requisito Tipos Documento

Requisitos de Negócio (RQN) F, NF, I Documento de Visão

Requisitos de Produto F Casos de Uso (UC)

NF Especificação Suplementar (SUPL)

Regras de Negócios (RN) - Regras de Negócios

Termos (TERM) Glossário

Page 42: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Elicitação de Requisitos

Page 43: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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árioDocumento de Visão

Elicitação dos Requisitos de Negócio

Page 44: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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

Page 45: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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, ...

Page 46: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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)

Page 47: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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

Page 48: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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

Page 49: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Coleta de Requisitos

Interagir com stakeholders para descobrir os requisitosA coleta de requisitos é feita através de técnicasOs requisitos são simplesmente documentados à medida que são coletados– resulta em documento preliminar (draft)

Page 50: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Classificação dos Requisitos

Consiste basicamente em agrupar os diversos requisitos coletados em categorias bem-definidasClassificação: – Funcional

Ex.: Deve ser possível consultar o preço de uma mercadoria

– Não FuncionalEx.: A consulta deve retornar uma resposta em no máximo 5s

– InversosEx.: O sistema não fará controle de estoque.

Page 51: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Resolução de Conflitos

É normal que ocorram requisitos conflitantesPor exemplo– R-23: O sistema deve ...– R-45: O sistema não deve ...

Cliente é o responsável por resolver conflitos e ambigüidades

Page 52: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Atribuição de Prioridade

Alguns requisitos são mais urgentes que outrosÉ essencial determinar a prioridade dos requisitos junto ao clienteRequisitos de maior prioridade são considerados em primeiro lugar

Page 53: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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

Page 54: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

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

Page 55: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Verificação de Requisitos

Os requisitos são verificados– Completos?– Consistentes?– Em concordância com o que os stakeholders desejam?

Page 56: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Processo de Elicitação de Requisitos

Compreensãodo

Domínio

Coleta deRequisitos

Verificação dosRequisitos

Definição de Prioridades

Resolução de Conflitos

Classificação

Especificação de

Requisitos

Documentode

Requisitos

Page 57: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Técnicas de Elicitação

Page 58: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Técnicas de Elicitação

EntrevistasQuestionáriosLeitura de DocumentosObservaçãoReuniões– Brainstorming– JAD – Joint Application Design

Cenários

Page 59: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Entrevistas

Técnica direta– Pode ser usada na análise do problema e na

elicitação de requisitos

Objetivo– Entender os problemas reais e soluções potenciais

das perspectivas dos usuários, clientes, e outros stakeholders

Pode ser guiada por um questionário

Page 60: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Entrevistas

Quatro tipos de questões são importantes em entrevistas:- Sobre o usuário- Sobre o processo - Sobre o produto- Meta-perguntas

Page 61: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Entrevistas

Usuário:– Quem é o cliente? – Quem é o usuário? – Suas necessidades são diferentes? – Quais são suas formações, habilidades,

ambientes?

Page 62: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Entrevistas

Processo:– Qual é o problema?– Como é resolvido atualmente?– Qual a razão para resolver o problema?– Existe outra solução para este problema?– Qual o valor de uma solução bem-sucedida?

Page 63: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Entrevistas

Produto:– Que problema esse produto resolve? – Que problemas de negócios esse produto poderá ocasionar? – Que riscos poderão existir para o usuário? – Que ambiente o produto encontrará? – Quais são as suas expectativas em relação à usabilidade (facilidade de

uso)? – Quais são as suas expectativas em relação à confiabilidade? – Que desempenho/precisão é exigido?

Page 64: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Meta-perguntas:– Estou fazendo muitas perguntas? – Minhas perguntas parecem relevantes? – Você é a pessoa certa para responder a essas perguntas? – As suas respostas são requisitos? – Posso fazer mais perguntas depois? – Você aceitaria participar de uma revisão de requisitos? – Há algo mais que eu poderia perguntar a você?

Entrevistas

Page 65: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Questionários

Acesso a um grande número de pessoasVantagens:– padronização de perguntas– possibilidade de tratamento estatístico das respostas

Desvantagens:– limitação do universo de respostas– pouca interação (impessoalidade técnica)

Page 66: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Questionários

Aplicabilidade a mercados específicos – com perguntas bem definidas

Em questionários:– perguntas relevantes podem ser decididas antecipadamente, por

entrevistas– o leitor interpreta a pergunta da maneira que deseja– possibilidade de análise com questões abertas

Page 67: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Análise de documentos referentes ao sistema– Documentos técnicos: relatórios, manuais– Documentos legais: normas, leis, atas– Análise de formulários

Leitura de Documentos

Page 68: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Observação

Analista se insere no ambiente de trabalho em que o sistema será utilizado– Observa trabalho diário– Anota as tarefas reais dos participantes

Analista é imparcialDeve ser usada com outras técnicasTécnica de observação: etnografia

Page 69: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Observação

É eficaz na descoberta de dois tipos de requisitos– Os derivados da maneira como as pessoas realmente

trabalham e não a forma como deveriam trabalhar• Operadores desligam alarme de colisão em um controle

aéreo

– Os derivados da cooperação e conscientização das atividades de outras pessoas

• Um controlador de tráfego aéreo pode prever quantas aeronaves entrarão no seu setor de controle, observando trabalho em setores adjacentes

• Portanto o sistema deve prever alguma visibilidade destes setores adjacentes

Page 70: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Reuniões

Permite uma interação mais natural entre pessoasRevela múltiplas visões sobre a questão abordada– explicitar cada problema encontrado nos requisitos– todos os interessados devem ter a oportunidade de comentar (criação

coletiva)– oportunidade para priorizar requisitos

Page 71: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Reuniões

Desvantagens:– possibilidade de dispersão– custo

Estratégias para Reuniões:– Brainstorming– Joint Application Design (JAD)

Page 72: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Reuniões - Brainstorming

Fase de exploração de requisitosRegras para Brainstorming– Estabeleça o objetivo da sessão– Gere quantas idéias for possível– Deixe sua imaginação livre– Não admita críticas ou debates– Ajuste e combine as idéias

Page 73: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Reuniões - JAD

Joint Application DesignSurgiu em meados de 1970, na IBMSimilar a um Workshop de requisitosFase de especificação de requisitosPõe todos os stakeholders juntos por um período intensivo (focado)Pode utilizar representações de Engenharia de Software

Page 74: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Reuniões - JAD

Provê um ambiente para aplicar outras técnicas de elicitação Facilitador conduz a reuniãoTodos têm sua vez de falarResultados estão disponíveis imediatamente

Page 75: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

JAD - Definições

Executivo patrocinador: – Gerente de nível mais alto comprometido com JAD– Patrocina o processo do início ao fim– Fornece diretrizes sobre os objetivos e metas de um projeto– Define expectativas claras para saída do processo JAD– Realiza breve palestra; não participa de atividades das sessões

detalhadas, pode ser chamado para esclarecer questões administrativas críticas

Gerentes funcionais e usuários finais: – Peritos em sessões JAD detalhadas– Tem a capacidade de descrever porque precisam do sistema

Page 76: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

JAD - Definições

Representantes da TI:– Poucas pessoas – Convidadas a participar das sessões– Tem conhecimentos técnicos das aplicações atuais do negócio pelo

ponto de vista dos sistemas

Líder de sessão JAD– Coração do processo JAD– Seu papel é conduzir as entrevistas preparatórias antes da sessão JAD

real com o executivo patrocinador e com gerentes funcionais para a definição do escopo básico do processo

Page 77: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

JAD - Definições

Escribas– Registrar oficialmente todas as informações pertinentes ao sistema

estudado– Sessões maiores – 2 escribas

• Um descreve os comportamentos do sistema• Outro (da mesma área dos usuários) controla questões de negócio

levantadas pelos usuários durante a sessão de dinâmica de grupo– Uso de ferramentas automatizadas para capturar os requisitos e exibir

de volta para os usuários as telas, relatórios, etc.

Page 78: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Reuniões - JAD

Page 79: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Processo JAD

Quatro etapas:– Orientação inicial– Familiarização com a área/aplicação– Preparação do material para o workshop– Workshop

Page 80: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Processo JAD – Orientação Inicial

Definição global do projeto documentando os seguintes itens– finalidade do projeto– escopo do projeto e áreas funcionais envolvidas– objetivos que devem ser alcançados no final do workshop– suposições técnicas e de negócio que afetam o projeto– fatores críticos de sucesso

Informações são obtidas pelo líder – com o executivo patrocinador– com os gerentes funcionais e de sistemas ligados ao projeto antes do

workshop

Page 81: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Processo JAD - Familiarização com a área/aplicação

Análise de procedimentos atuais do negócio e identificação do fluxo geral de trabalho dos documentos no local do trabalhoDocumentar procedimentos, ressaltando:– finalidade da tarefa– dados de entrada– dados de saída– descrição do processo feito– problemas/oportunidades

Page 82: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Processo JAD - Preparação do material para o workshop

Analista de Sistema (pode ser o líder JAD) constrói um modelo elementar do sistema– esboço de telas e relatórios – veículos para simular as idéias

Page 83: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Processo JAD - Conduzir o workshop

Duração: 3 a 5 dias1º dia: – Explicar a finalidade do projeto– Descrever os compromissos de todos os participantes com apoio da

administração– Dar as informações gerais relacionadas ao escopo, objetivo– Revisar o material detalhado e consolidado antes da reunião -

abordagem estruturada, passo a passo

Conforme o workshop progride, os escribas transcrevem as decisões para telões, permitindo rápidas revisões do trabalho realizado até o momento

Page 84: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Cenários

Esboço da interaçãoOs métodos baseados em Cenários consistem de uma coleção de narrativas de situações do domínio do problema que permitem a identificação de componentes do projetoMeio de representação de fácil compreensão para os usuários envolvidos que passam a poder avaliar, criticar e fazer sugestões

Page 85: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Cenários

Esboço da interaçãoPodem incluir:– Uma descrição do estado do sistema no início do cenário– Uma descrição do fluxo normal de eventos no cenário– Uma descrição do que pode sair errado e de como lidar

com isso– Informações sobre outras atividades que possam estar

em andamento ao mesmo tempo, e– Uma descrição do estado do sistema no final do cenário.

Page 86: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Cenários

Exemplo de Cenário de uso típico para um sistema da biblioteca:– Um aluno chega na biblioteca para procurar livros-texto dos cursos que

está freqüentando. Ele entra no sistema e seleciona os cursos, e obtém uma lista de todos os livros-texto e sua localização na biblioteca. Seleciona a opção de “bibliografia complementar” e uma nova lista de livros e periódicos lhe é apresentada. Ele então manda imprimir todas as referências encontradas

Page 87: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

É uma técnica psicolingüística que permite a psicólogos e lingüistas examinarem o conteúdo e a estrutura de informações contidas numa narrativa

Objetivo é investigar de que maneira as narrativas são efetivamente compreendidas

Pode ser utilizada pelos analistas e projetistas tanto para adquirir mais rapidamente conhecimentos sobre o domínio como para inferir objetos e interações não-descritos na narrativa

Cenários – Técnica de Questionamento Sistemático

Page 88: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Abrange quatro Etapas:1. Geração do Cenário

2. Elaboração da Rede de Proposições

3. Análise

4. Questionamento Sistemático

Cenários – Técnica de Questionamento Sistemático

Page 89: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

1. Geração do CenárioAs narrativas que compõem o cenário devem ser escritas pelo especialista no domínio. O analista pode motivá-lo fazendo perguntas como num processo convencional de entrevistaUm exemplo de cenário seria: “Eu quero sacar R$ 100,00. Eu insiro o cartão no caixa eletrônico, pressiono o botão de saque, digito minha senha, retiro o cartão e o dinheiro”

Cenários – Técnica de Questionamento Sistemático

Page 90: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

2. Elaboração da Rede de ProposiçõesAs narrativas devem ser simplificadas e expressas através de proposições, como por exemplo:

“cliente insere cartão no caixa eletrônico”“cliente pressiona botão de saque rápido”“cliente digita a senha”“cliente pega cartão”“cliente pega dinheiro”

Cenários – Técnica de Questionamento Sistemático

Page 91: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

3. AnáliseA partir das proposições, pode-se determinar o perfil das tarefas (ações e objetos) e dos usuários (agentes das ações)

Cenários – Técnica de Questionamento Sistemático

Page 92: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

4. Questionamento SistemáticoNovas proposições podem ser elaboradas através de questões que são feitas sobre elementos das proposições anteriores, num processo iterativo. Existem diversos tipos de questões:

– Por que ...?

– visa revelar consequências e causas a respeito de eventos da narrativa

Cenários – Técnica de Questionamento Sistemático

Page 93: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

– Como ...?

– Oferece maiores detalhes a respeito de determinados eventos, permitindo determinar sub-tarefas e maiores detalhes sobre a interação

– O que é ...?

– Pode ser feita sobre objetos e revelam atributos e hierarquias de objetos

– Então “isto” é/ocorre assim...?

– Pode ser feita para saber se as proposições estão sendo entendidas corretamente

Cenários – Técnica de Questionamento Sistemático

Page 94: O processo de Engenharia de Requisitos. 2. Obtenção e Análise dos Requisitos Avaliar os problemas na situação atual Principal foco para o novo sistema:

Exercício

Quais técnicas poderiam ser usadas em:

1. Sistema da padaria de pequeno porte2. Sistema inteligente de preenchimento do IRPF3. Sistema de abertura automática de porta