34
Engenharia de Requisitos

Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Embed Size (px)

Citation preview

Page 1: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Engenharia de Requisitos

Page 2: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Processo de Eng. Requisitosp Composto por quatro (ou cinco) atividades

de alto nível (Soares, 2005):p Viabilidade p Identificação. p Análise e negociação. p Especificação e documentação. p Validação.

Page 3: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Viabilidadep interação com "as partes interessadas" (ou stakeholder em

inglês) do projeto p reuniões ou entrevistasp Será que o sistema contribui para os objetivos da

organização? p Dadas as restrições tecnológicas, organizacionais

(econômicas, políticas, ambientais, recursos disponíveis) e temporais associadas ao projeto, será que o sistema pode ser implementado?

p Se o novo sistema não fosse implementado, quais seriam as alternativas para a organização?

p Quais são os problemas que os sistemas atuais apresentam e como é que um sistema novo irá resolver estas falhas?

p Caso haja necessidade de integração entre diferentes sistemas, será que esta é possível?

Page 4: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Identificaçãop Compreensão do domínio: p Identificação das partes interessadas: p Captura:

n consiste na obtenção com o cliente dos requisitos (funcionais e não-funcionais) pretendidos para o sistema.

p Identificação e análise de problemas: n os problemas devem ser identificados (e a sua

definição deve ser consensual) e n devem ser propostas soluções em conjunto

com as partes interessadas.

Page 5: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Técnicas para levantamento de requisitos

p Entrevista e Questionáriosp Workshop de requisitosp Cenáriosp Prototipagem

n Versão inicial do sistema com poucos requisitos

Page 6: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Análise e negociação dos requisitos p Classificação:

n agrupamento de requisitos em "módulos"

p Resolução de conflitosp Prioritização:

n consiste na atribuição de uma "prioridade" a cada requisito (por exemplo elevada/média/baixa);

p Confirmação: n Confirma com as partes interessadas n a completude dos requisitos, n sua consistência e validade.

Page 7: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Especificação e documentaçãop Requisitos Funcionais p Requisitos não-funcionais

Page 8: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Validaçãop demonstrar que o documento de

requisitos produzido corresponde, de fato, ao sistema que o cliente pretende

Page 9: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Trecho do Pequeno Príncipe: Antoine Saint-Exupéry, 1996.

“E ele repetiu-me então, brandamente, como uma coisa muito séria:- Por favor ... desenha-me um carneiro ...

Quando o mistério é muito impressionante, a gente não ousa desobedecer. Por maisabsurdo que aquilo me parecesse a mil milhas de todos os lugares habitados e emperigo de morte, tirei do bolso uma folha de papel e uma caneta. Mas lembrei-me, então, que eu havia estudado de preferência geografia, história, cálculo e gramática, e disse ao garoto (com um pouco de mau humor) que eu não sabia desenhar. Respondeu-me:

-Não tem importância. Desenha-me um carneiro.

Como jamais houvesse desenhado um carneiro, refiz para ele um dos dois únicosdesenhos que sabia. O da jibóia fechada. E fiquei estupefato de ouvir o garotoreplicar:

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 10: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

- Não! Não! Eu não quero um elefante numa jibóia. A jibóia é perigosa e o elefantetoma muito espaço. Tudo é pequeno onde eu moro. Preciso é dum carneiro. Desenha-me um carneiro.

Então eu desenhei.

Olhou atentamente, e disse:

- Não! Esse já está muito doente. Desenha outro.Desenhei de novo.-Bem vês que isto não é um carneiro. É um bode... Olha os chifres...-Fiz mais uma vez o desenho. Mas ele foi recusado como os precedentes:- Este aí é muito velho. Quero um carneiro que viva muito.-Então, perdendo a paciência, como tinha pressa de desmontar o motor, rabisquei o desenho ao lado.E arrisquei:-Esta é a caixa. O carneiro está dentro.Mas fiquei surpreso de ver iluminar-se a face do meu pequeno juiz:- Era assim mesmo que eu queria! Será preciso muito capim para esse carneiro?”

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 11: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

DefinindoDefinindo o o SucessoSucesso do Software do Software

p Clientes satisfeitos

p Eles estãosatisfeitosquando você:n Atende às expectativasn Entrega no prazon Entrega no orçamento

O O SucessoSucesso comecomeççaa comcoma Gerência de Requisitos a Gerência de Requisitos

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 12: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Principais Principais FatoresFatores de de FalhaFalha dos Projetosdos Projetos

oo Objetivos Objetivos nãonão estavamestavam clarosclaros

oo FaltaFalta de de ““InputInput”” do do UsuUsuááriorio

oo FaltaFalta de de suportesuporte do do nníívelvel executivoexecutivo

oo IIgnorar um grupo de clientes

oo OOmitir um grupo de requisitos

oo PPermitir inconsistências entre grupos de requisitos

oo AAceitar um requisito ambíguo e inconsistente

oo AAceitar requisito inadequado, incorreto, indefinido, ou impreciso

oo Requisitos e Requisitos e especificaespecificaççõesões incompletosincompletos

oo Requisitos e Requisitos e especificaespecificaççõesões instinstááveisveis ((mudanmudanççasas))

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 13: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Como os Projetos Como os Projetos podempodem terter sucessosucesso??

p Análise do Probleman Entenda o probleman Obtenha concordância dos envolvidos

p Levantamento dos Requisitosn Identifique quem usará o sistema (atores)n Descubra como o sistema será usado (casos de

uso)

p Gerência de Requisitosn Especifique os requisitos completamente

n Gerencie expectativas, mudanças e errosn Controle o aumento do escopo

n Defina a equipe e a mantenha informada

p Análise do Probleman Entenda o probleman Obtenha concordância dos envolvidos

p Levantamento dos Requisitosn Identifique quem usará o sistema (atores)n Descubra como o sistema será usado (casos de

uso)

p Gerência de Requisitosn Especifique os requisitos completamente

n Gerencie expectativas, mudanças e errosn Controle o aumento do escopo

n Defina a equipe e a mantenha informada

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 14: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Mas o que são Requisitos?Mas o que são Requisitos?

p Os requisitos de um sistema de computação constituem uma especificação das características e propriedades do sistema ou

p Uma descrição do que o sistema deve fazer, de como ele deve se comportar, bem como das suas restrições de operação.

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 15: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Mas o que são Requisitos?Mas o que são Requisitos?

p É importante ressaltar que os requisitos descrevem "o que o sistema deve fazer"- e também "o que ele não deve fazer"- sem dizer "o como fazer".

p Quando o requisito é expresso em termos do comportamento do sistema, este comportamento deve ser possível de ser percebido por um observador externo ao sistema.

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 16: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

O que são requisitos?O que são requisitos?

Clientes

Necessidades

Usuários

Limitações

Impossibilidades

Infra-Estrutura Tecnológica

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 17: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Requisitos e EspecificaRequisitos e Especificaççãoão

p Requisito (IEEE)n Uma condição ou capacidade necessitada por

um usuário para resolver um problema ou alcançar um objetivo

n Uma condição ou capacidade que deve ser satisfeita por um sistema para satisfazer um contrato ou um padrão

p Especificação:n descrição rigorosa e minuciosa das

características que um material, uma obra, ou um serviço deverá apresentar

n processo de representação dos requisitos de uma forma que leva à implementação bem-sucedida

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 18: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

p Uma compreensão completa dos Requisitos do Software é fundamental para obter um software e um processo de desenvolvimento com alta qualidade

p Não importa quão bem projetado ou codificado está um programa, se ele for mal analisado e especificado desapontaráo usuário e trará aborrecimentos ao desenvolvedor

Importância da EspecificaImportância da Especificaçção Corretaão Correta

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 19: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

p ser a base para o desenvolvimento;

p permitir o controle da qualidade do produto;

p estabelecer a comunicação entre o pessoal envolvido no projeto;

p auxiliar no entendimento do problema.

EspecificaEspecificaçção de Requisitosão de Requisitos

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 20: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Fase de AnFase de Anáálise de Requisitoslise de Requisitos

ANÁLISE DEREQUISITOS

Engenharia de Sistemas de Computador

Projeto de Software

Escopo do Software •Primeiro passo técnico•Analista de Sistemas

PONTE

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 21: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Conceito de Requisito

Requisito é uma condição ou capacidade

• necessária para um usuário resolverum problema ou alcançar um objetivo;

• para satisfazer uma especificaçãoem um sistema ou em um componente;

• com uma representação documentada.

Em: The IEEE Standard Glossaryof Software Engineering Terminology, 1997.

Roc

co, 2

004

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 22: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Fase de AnFase de Anáálise de Requisitoslise de Requisitos

ANÁLISE DEREQUISITOS

Engenharia de Sistemas de Computador

Projeto de Software

Escopo do Software •Primeiro passo técnico•Analista de Sistemas

PONTE

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 23: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 24: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Requisitos de SoftwareRequisitos de Software

p A Norma ISO/IEC 9126 define seis características de qualidade de software que devem ser avaliados:n Funcionalidade (finalidade do produto) n Usabilidade (esforço para utilizar, aprender o produto)n Confiabilidade (freqüência de falhas, recuperabilidade)n Eficiência (desempenho)n Manutenibilidade (esforço necessário para modificar)n Portabilidade (capacidade de transferir o produto para

outros ambientes)

Engenharia de Requisitos / AnEngenharia de Requisitos / Anáálise de Requisitoslise de Requisitos

Page 25: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Como os Projetos Podem Como os Projetos Podem TerTer SucessoSucesso??

p Análise do Probleman Entenda o probleman Obtenha concordância dos envolvidos

p Levantamento dos Requisitosn Identifique quem usará o sistema (atores)n Descubra como o sistema será usado (casos de uso)

p Gerência de Requisitosn Especifique os requisitos completamenten Gerencie expectativas, mudanças e errosn Controle o aumento do escopon Defina a equipe e a mantenha informada

p Análise do Probleman Entenda o probleman Obtenha concordância dos envolvidos

p Levantamento dos Requisitosn Identifique quem usará o sistema (atores)n Descubra como o sistema será usado (casos de uso)

p Gerência de Requisitosn Especifique os requisitos completamenten Gerencie expectativas, mudanças e errosn Controle o aumento do escopon Defina a equipe e a mantenha informada

Page 26: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Gerência de RequisitosGerência de Requisitos

Atividades de:

- acompanhar o desenvolvimento- controlar as mudanças dos requisitos

Ações:

- planejamento desenvolvimento (“baseline”)- rastreabilidade com componentes de software- definição do estado e avaliação da qualidade- análise impacto e controle versões de mudanças

Roc

co, 2

004

Page 27: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Necessidades da Necessidades da ElicitaElicitaççãoão

pp FazFaz Coleta de Fatos

pp FazFaz Identificação de Fontes de Informação

pp FazFaz Comunicação

pp Faz/UsaFaz/Usa Ferramentas

pp UsaUsa Pessoal

pp UsaUsa Métodos

pp Depende deDepende de Pontos de Vista

Page 28: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

IdentificaIdentificaçção das Fontes de Informaão das Fontes de Informaççãoão

p O que são Stakeholders do sistema?n Qualquer pessoa afetada de

alguma forma pelo sistema (atores, cliente, usuário final, desenvolvedor)

o A análise dos Stakeholders ajuda a determinar o impacto que um novo sistemade informação terá.

Page 29: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

Coleta de FatosColeta de Fatos

p Entrevistas

p Coleta e Leitura de documentos

p Observação

p Questionários

p Análise de Protocolos

p Enfoque antropológico (estudo do ser humano)

p Reuniões

p Reutilização

p Recuperação (eng. reversa) do projeto do software

Page 30: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

CaracterCaracteríísticas das Tsticas das Téécnicascnicas

p Brainstormn útil no início do processo levantamento de requisitosn reunião conjuntan objetivo estimular a imaginação e a geração de idéiasn não avalia um conjunto de soluções

p Entrevistasn não-estruturadasn estruturadas

Page 31: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

JAD JAD -- JointJoint Application Application DevelopmentDevelopment

INTRODUZ TEMA

MOSTRAR EXEMPLOS

DISCUSSÃO

CONSENSO

DOCUMENTAÇÃO

PENDÊNCIAIMPASSE

Responsável

Gerência

ProcessoProcesso

p Usuários e desenvolvedores trabalham juntos em uma reunião com o objetivo de:n identificar o probleman propor elementos de soluçãon negociar diferentes abordagensn especificar um conjunto preliminar de

requisitos de solução

p Envolve:n preparação para reunião a partir de

uma requisição geral do produton reunião

Page 32: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

LinguagemLinguagem

p A linguagem é reflexo da cultura de umasociedade.

p Para entendermos algo de importante para umasociedade temos que entender sua linguagem.

p Deve-se compreender a linguagem antes de elicitar as necessidades.

Exemplos

Fecha a mesa, Passagem de Resultados, Zipar, FTP, TCP/IP

Page 33: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

NNíívelvel de de AbstraAbstraççãoão

p A comunicação pode ser ruidosa se osindivíduos estiverem dialogando em diferentesníveis de abstração.

p Conflito presente entre generalistas e especialistas.

ExemploDevemos conquistar mercados (Diretoria)

XDistribuir os vendedores (Gerência de Vendas)

Page 34: Engenharia de Requisitos - IFBA Portal · Requisitos e Especificação p Requisito (IEEE) n Uma condição ou capacidade necessitada por um usuário para resolver um problema ou alcançar

RetroalimentaRetroalimentaççãoão

p Obrigar ao receptor da informação a recolocar a comunicação até que o emissor responda positivamente a recolocação.

p Resumir, parafrasear, confirmar.

?

a

a