Prof. Edison A M Morais -...

77
1 Engenharia de Software Engenharia de Software Engenharia de Requisitos (ER) Engenharia de Requisitos (ER) Prof. Edison A M Morais http://usuarios.cultura.com.br/eds/ [email protected] Copyright © 2012 1

Transcript of Prof. Edison A M Morais -...

Page 1: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1

Engenharia de SoftwareEngenharia de SoftwareEngenharia de Requisitos (ER)Engenharia de Requisitos (ER)

Prof. Edison A M Moraishttp://usuarios.cultura.com.br/eds/

[email protected] © 2012

1

Page 2: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

2

AgendaAgenda� Definição de Engenharia de Requisitos� Motivação� Perspectivas� Definição e Tipos de Requisitos� Processo de ER

2

Page 3: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

3

DefiniDefiniççãoão� Também conhecida como:◦ Análise de requisitos;Análise de sistemas.

� É a área responsável pela descoberta:◦ Das reais necessidades dos clientes.

◦ Do comportamento externo de uma solução que atenda a estas necessidades.

Domínio do Problema

Domínio da Solução

3

Page 4: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

4

AgendaAgenda� Definição de Engenharia de Requisitos� Motivação� Perspectivas� Definição e Tipos de Requisitos� Processo de ER

4

Page 5: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

55

MotivaMotivaççãoão� Segundo Brooks[5], a ER é a atividade

mais importante da construção de um software, pois determina:

Page 6: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

6

SucessoSucesso……

6

Fonte: [2]

Page 7: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

7

FracassoFracasso……

7

Fonte: [2]

Page 8: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

88

MotivaMotivaççãoão� ER também é

uma atividade

essencialmente

e acidentalmente

difícil [4]:

Fonte: [3]

Page 9: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

99

Dificuldades EssenciaisDificuldades Essenciais

� São aquelas inerentes à atividade em si, por exemplo:◦ Clientes não estarem convencidos da necessidade de um novo software;◦ Clientes não sabem exatamente o que querem.◦ Clientes com dificuldades para esclarecer seus objetivos.

Page 10: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1010

Dificuldades Essenciais (cont...)Dificuldades Essenciais (cont...)

◦ Clientes dispersos, numerosos;

◦ Clientes com

Objetivos conflitantes,

Perspectivas diferentes,

Formações distintas;

Volatilidade dos requisitos;

Page 11: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1111

Volatilidade dos RequisitosVolatilidade dos Requisitos

�Tipos de requisitos voláteis:◦ Mutáveis

� Originados a partir de mudanças no ambiente.

◦ Emergentes� Surgem durante o desenvolvimento.

Page 12: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1212

Dificuldades AcidentaisDificuldades Acidentais

� São oriundas da falta de controle sobre aquilo que precisa ser construído, por exemplo:◦ Pouco esforço despendido no levantamento de informações junto ao usuário;

◦ Documentação pobre sobre os requisitos obtidos;

◦ Pouca revisão dos requisitos obtidos;

Page 13: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1313

Dificuldades Acidentais (cont...)Dificuldades Acidentais (cont...)

◦ Especificações incorretas dos requisitos;

◦ Tendência em iniciar logo o processo de desenvolvimento do software;

◦ Não existir tempo adequado para a elicitação;

◦ Preparação inadequada dos engenheiros.

Page 14: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1414

MotivaMotivaççãoão� Nenhuma outra parte do desenvolvimento causa tantos prejuízos se feita de forma errada.

Corrigir um produto após sua implementação pode custar 100x mais.

Page 15: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

15

AgendaAgenda� Definição de Engenharia de Requisitos� Motivação� Perspectivas� Definição e Tipos de Requisitos� Processo de ER

15

Page 16: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1616

PerspectivasPerspectivas

◦Perspectiva de domínio◦Perspectiva tecnológica◦Perspectiva temporal

Page 17: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1717

Perspectiva de DomPerspectiva de Domíínionio

�Domínio do problema◦ Exploração detalhada de um problema particular para determinar as necessidades de automação do usuário.

�Domínio da solução◦ Especificação do comportamento externo de um sistema.

Page 18: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1818

Perspectiva TecnolPerspectiva Tecnolóógicagica

� Existem vários mecanismos de especificação:◦ Linguagem natural;◦ UML;◦ Prototipação;◦Métodos formais, etc.

Page 19: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

1919

Perspectiva TemporalPerspectiva Temporal◦ É uma das atividades iniciais da engenharia de software.

◦ Resulta no criação de um documento de Especificação de Requisitos de Software (ERS).� Este documento deve ser atualizado constantemente para obtenção de mais conhecimento sobre o problema.

Page 20: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

20

AgendaAgenda� Definição de Engenharia de Requisitos� Motivação� Perspectivas� Definição e Tipos de Requisitos� Processo de ER

20

Page 21: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

21

Conceito de RequisitoConceito de Requisito�Em software: ◦ “É a CARACTERIZAÇÃO do que o sistema deverá fazer.”

�Existem vários tipos de requisitos que devem ser analisados…

21

Page 22: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

22

Tipos de RequisitosTipos de Requisitos

22

Fonte: [2]

ISO 9126

Page 23: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

23

Requisitos FuncionaisRequisitos Funcionais� Segundo Somerville [5]:◦ Descrevem o que o software deve fazer.

◦ Descrevem a função do sistema (entradas, saídas, exceções, etc.) detalhadamente.

◦ Geralmente especificados em Casos de Uso.

◦ Exemplos:� O usuários deve ser capaz de cadastrar seu cliente.� O aluno pode emitir o seu histórico escolar.� O cliente monta a cesta de produtos.

23

Page 24: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

24

Requisitos Requisitos nãonão FuncionaisFuncionais� Segundo a ISO 9126 [6]:

24

Page 25: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

25

AgendaAgenda� Definição de Engenharia de Requisitos� Motivação� Perspectivas� Definição e Tipos de Requisitos� Processo de ER

25

Page 26: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

2626

Processo de ERProcesso de ER

Como deve ser este documento?

Como Conduzí-lo?

Fonte: [2]

Page 27: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

2727

CaracterCaracteríísticas da ERSsticas da ERS

� Completo;

� Consistente;

� Não ambíguo;

� Passível de ser testado (verificável);

� Rastreável;

� Modificável;

� Utilizável durante operações e manutenções.

Page 28: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

28

Processo de ERProcesso de ER

28

Fonte: [2]

Page 29: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

29

Atividades do Processo de ERAtividades do Processo de ER

29

Fonte: [2]

Page 30: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos
Page 31: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

31

Elicitação de Requisitos

� Elicitar (ou Eliciar):◦ Descobrir;

◦ Tornar explícito;

◦ Obter o máximo de informações para o conhecimento de determinado assunto.

Page 32: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

32

Elicitação de Requisitos

� Elicitar Requisitos em Software

Fonte: http://codipse.tigris.org/elirequisitos.htm

Page 33: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

33

Elicitação de Requisitos� Exemplo de Processo de Elicitação de Requisitos

de SoftwareObter Informações sobre o Domínio do Problema

Identificar Fontes de Informação (documentos, softwares antigos...)

Identificar Usuários (Stakeholders) e Provedores de Requisitos

Identificar as Necessidades dos Usuários

Administrar Conflitos entres os Usuários

Identificar Requisitos Funcionais

Identificar Requisitos não Funcionais

Priorizar Objetivos e Requisitos

Page 34: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

34

Técnicas para Elicitação de Requisitos� Reuniões� Entrevistas� Etnografia� Protótipos� Pontos de Vista (Viewpoints)� Cenários

Page 35: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

35

Reuniões

� Permitem a comunicação entre o Engenheiro de Requisitos em os provedores de informações.

� Pode ser conduzida de várias formas, por exemplo:◦ Brainstorming.◦ JAD.

Page 36: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

36

Reuniões

� Brainstorming (Tempestade de Ideias)◦ Um grupo de pessoas é reunido;

◦ Um cenário simulado e um assunto é discutido.

◦ As pessoas participantes devem se sentir confortáveis o bastante para discutir o assunto sem se sentirem intimidadas.

◦ Nenhuma idéia deve ser descartada. Em princípio todas podem ser boas idéias.

Page 37: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

37

Reuniões

� JAD (Joint Application Development)◦ Visa reunir stakeholders em um workshop organizado para promover decisões.

◦ Objetivo:

� Garantir comprometimento dos usuários com o levantamento dos requisitos do sistema.

◦ Sua aplicação é recomendada quando a necessidade de consenso entre os usuários do sistema se torna fator importante para o desenvolvimento do software.

Page 38: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

38

Entrevistas

� É uma técnica que ajuda na captura de conhecimento sobre o domínio do problema.

� O uso de questionários é recomendado quando os analistas identificam a necessidade de coletar informações de muitos usuários ao mesmo tempo.

� Quando aplicado, cada usuário responde o questionário individualmente e posteriormente os requisitos são identificados através de análise de respostas fornecidas.

Page 39: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

39

Entrevistas

� Importante:◦ Entrevistadores devem ser open-minded, ou seja, devem saber ouvir os stakeholders e não devem ter ideias pré-concebidas sobre requisitos.

◦ Não devem impor uma proposta ou intimidá-lo.

◦ Não se deve esperar que os usuários respondam a questionamentos muito genéricos do tipo: “what do you want”.

Page 40: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

40

Etnografia

� ETHNOS◦ significa “povo”

� GRAPHEIN◦ significa “grafia”, ”escrita”, ”descrição”, “estudo

descrito”.

� Etimologicamente, a etnografia é o estudo descrito de um povo.

� Como pode ser usada em Eliciação de Requisitos?

Page 41: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

41

Etnografia

� Gasta-se um tempo considerável no ambiente de trabalho observando:

◦ A rotina de trabalho dos usuários.

◦ Interações implícitas são reveladas (as pessoas não têm que explicar o seu trabalho).

◦ Fatores sociais e organizacionais importantes

◦ Os requisitos são derivados levando em consideração a cooperação entre as atividades de outras pessoas

Page 42: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

42

Protótipos

� Consiste na criação de um protótipo do software.

� Descartáveis :◦ São criados com a função de ilustrar para os

usuários e/ou clientes do sistema o que o analista entendeu sobre os requisitos que deverão ser contemplados no produto. ◦ Essa prototipagem deve ser feita rapidamente e

ser concluída preferencialmente em curto prazo.

� Evolutivos . ◦ São reaproveitados durante a construção do

sistema.

Page 43: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

43

Pontos de Vista (Viewpoints)

� Stakeholders podem apresentar diferentes formas de olhar para o problema .

� Por exemplo:◦ Sistema bancário com caixa automático � Serviços: extrato, transferências, saques, etc.

◦ Pontos de Vista� Clientes do banco� Representantes de outros bancos� Engenheiros de manutenção de HW e SW� Departamento de marketing, gestores e caixas do banco� Administradores das bases de dados, etc.

Page 44: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

44

Cenários

� Cenários são descrições de como o sistema é usado na prática .

� Descrições de cenários ◦ O estado do sistema no início do cenário ◦ O fluxo normal de eventos no cenário ◦ O que pode sair errado e como é tratado ◦ Outras atividades concorrentes

◦ O estado do sistema no fim do cenário

� Por exemplo:

Page 45: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

45

Exemplo de Cenário - Caixa Eletrônico

Validate user

Request PIN

Selectservice

Timeout

Return card

Invalid card

Return card

Stolen card

Retain card

Incorrect PIN

Re-enter PIN

Incorrect PIN

Return card

Card

PIN

Card present

Accountnumber

PIN

Accountnumber

Valid card

User OK

Page 46: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos
Page 47: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

47

Modelagem de RequisitosModelagem de Requisitos

47

Fonte: [2]

Mas quais são as boas práticas?

Page 48: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

48

Modelagem de RequisitosModelagem de RequisitosBoas PrBoas Prááticasticas� Análise Orientada a Objetos (AOO);

� ER executada em várias rodadas;

� Revisões constantes com os usuários;

� Protótipos;

� Alocação de 15% a 30% do esforço total do processo.

48

Page 49: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

49

EspecificaEspecificaçção de Requisitosão de Requisitos

�Modelagem GERA especificação.�Especificação: Documento ERS.�É um conjunto de documentos.�Ex.:

49

Documento Visão

Especificação Suplementar

Modelo de Domínio

Casos de Uso

+ + +

Page 50: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

50

Documento VisãoDocumento Visão

�Objetivo◦Descrever as necessidades e características de alto nível do sistema.◦Ex.: � Visão geral do sistema.�Descrição dos usuários.� Requisito funcionais.

50

Page 51: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

51

EspecificaEspecificaçção Suplementarão Suplementar

�Objetivo◦Descrever os requisitos não funcionais do sistema◦Ex.: � Usabilidade� Confiabilidade� Performance

51

Page 52: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

52

Modelo de DomModelo de Domíínionio

�É o resultado da Análise Orientada a Objetos (AOO);

�Objetivo:◦ Auxiliar na compreensão e análise do problema.

� Artefato◦ Diagrama de Classe de Domínio(UML)

52

Page 53: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

53

Diagrama de Classe de DomDiagrama de Classe de Domíínionio

�Exemplo

53

Page 54: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

54

Casos de UsoCasos de Uso

�Representam interaçõesentre usuário e software.

54

Caso de Uso A

Ator

Caso de Uso B

UC1. Caso de Uso 1

Descrição: .........

Fluxo Básico:1. O usuário

solicita....2. O sistema

disponibiliza...

UC1. Caso de Uso 1

Descrição: .........

Fluxo Básico:1. O usuário

solicita....2. O sistema

disponibiliza...

Descrição de Caso de UsoDiagrama de Caso de Uso

Page 55: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

55

Casos de UsoCasos de Uso

�Exemplo

55

É recomendável associar um diagrama de atividades,Sequência e um protótipo.

Page 56: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

56

Diagrama de AtividadesDiagrama de Atividades

�Exemplo

56

Page 57: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos
Page 58: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

58

Validação de Requisitos

� Segundo o Guia Geral do MPS.BR [8], Validação de Requisitos é:◦ Confirmar que um produto ou componente de um produto atenderáseu uso pretendido quando colocado no ambiente para o qual foi desenvolvido.

� A validação deve considerar os seguintes aspectos...

Page 59: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

59

Validação de Requisitos� Compreensibilidade◦ O requisito está bem compreendido?

� Completude◦ Todas os requisitos pedidos pelo cliente estão

incluídos?

� Validade◦ Os requisitos atendem as necessidades do

cliente?

� Consistência◦ Há conflitos de requisitos?

Page 60: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

60

Validação de Requisitos� Realismo◦ Os requisitos podem ser implementados com o orçamento

e tecnologia disponíveis?

� Verificabilidade◦ Os requisitos podem ser verificados?

� Adaptabilidade◦ O requisito pode ser mudado sem grande impacto em

outros requisitos?

� Rastreabilidade◦ A origem do requisito está claramente identificada?

Page 61: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

61

Validação de Requisitos� Como é feita a validação na prática:◦ Revisões de requisitos envolvendo usuários e analistas;

◦ Análise manual dos requisitos;

◦ Prototipação;

◦ Geração de casos de testes funcionais;

◦ Desenvolver casos de testes de unidade;

Page 62: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos
Page 63: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

63

Gerência de Requisitos

� Segundo o Guia Geral do MPS.BR [8], Gerência de Requisitos é gerenciar:◦ Os requisitos do produto.◦ Os componentes do produto do projeto.

� E identificar inconsistências entre:◦ Os requisitos;◦ Os planos de projeto;◦ Os produtos de trabalho do projeto.

Page 64: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

64

Gerência de Requisitos

� Como fazer:◦ GRE 1:� O entendimento dos requisitos é obtido

junto aos fornecedores.

◦ GRE 2:� Os requisitos são validados com base em critérios objetivos.

� Um comprometimento da equipe técnica com estes requisitos é obtido

Page 65: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

65

Gerência de Requisitos◦ GRE 3:� A rastreabilidade bidirecional entre os

requisitos e os produtos de trabalho éestabelecida e mantida

◦ GRE 4:� Revisões em planos e produtos de trabalho do

projeto são realizadas visando identificar e corrigir inconsistências em relação aos requisitos.

Page 66: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

66

Gerência de Requisitos◦ GRE 5:� Mudanças nos requisitos são gerenciadas ao

longo do projeto.

Page 67: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

67

Gerência de RequisitosRastreabilidade� E a Rastreabilidade?

Page 68: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

68

Gerência de RequisitosRastreabilidade� Onde fica?

Fonte: [9]

Page 69: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

69

Gerência de RequisitosGerência de RequisitosRastreabilidade� Conceito◦ Preocupa-se com as relações entre os

requisitos, suas origens e o projeto do sistema.

◦ Gera a chamada Matriz de Rastreabilidade.

◦ Entre Requisitos� Ligações entre requisitos dependentes

◦ De Origem� Ligações dos requisitos aos stakeholders que

propuseram estes requisitos

◦ De Projeto� Ligações dos requisitos ao projeto

69

Page 70: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

70

Gerência de RequisitosGerência de RequisitosMMatriz de Rastreabilidadeatriz de Rastreabilidade

70

� Entre os próprios Requisitos Funcionais

Page 71: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

71

Gerência de RequisitosGerência de RequisitosMMatriz de Rastreabilidadeatriz de Rastreabilidade

71

� Entre Requisitos Funcionais e Não Funcionais

Page 72: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

72

Gerência de RequisitosGerência de RequisitosMMatriz de Rastreabilidadeatriz de Rastreabilidade

72

Fonte: [9]

� Entre Requisitos e Casos de Uso◦ r1..rn: requisito 1 a n◦ A1..an: caso de uso 1 a n

Page 73: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

73

Gerência de RequisitosGerência de RequisitosTipos deTipos de Rastreabilidade

73

Fonte: [9]

Page 74: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

74

Gerência de RequisitosGerência de RequisitosPrPréé e Pe Póóss Rastreabilidade

74

Fonte: [9]

Page 75: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

75

TarefaTarefa

�Com seu grupo, crie os seguintes documentos para o software planejado nas aulas anteriores:◦Documento Visão◦Especificação Suplementar

� * O template destes documentos está disponível no site da disciplina.

75

Page 76: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

76

Referências BibliogrReferências Bibliográáficasficas� [1] Pressman, Roger. Engenharia de Software. 6ª Edição.

� [2] Lucena, F. N. Requisitos de Software: Eliciar, Registrar e Ser bem-sucedido. Disponível em http://www.inf.ufg.br/~fabio

� [3] Queiróz, R. Silva, J. Eliciação e comunicação de requisitos em domínios disjuntos: estudo de caso para automação na área médica. Disponível em http://www.scielo.br/scielo.php?pid=S0103-17592009000400014&script=sci_arttext. Acessado em Set/12.

� [4] Brooks, Fred P. (1986). "No Silver Bullet — Essence and Accident in Software Engineering". Proceedings of the IFIP TenthWorld Computing Conference: 1069–1076.

� [5] Sommerville, Ian. Engenharia de Software, 8ª Edição. São Paulo: Pearson Addison-Wesley, 2007.

76

Page 77: Prof. Edison A M Morais - professores.chapeco.ifsc.edu.brprofessores.chapeco.ifsc.edu.br/lara/files/2013/03/5-Engenharia-de... · Nenhuma outra parte do desenvolvimento causa tantos

77

Referências BibliogrReferências Bibliográáficasficas� [6] NBR ISO/IEC 9126. Engenharia de Software – Qualidade de

Produto. Quality model. Válida a partir de 30.07.2003.

� [7] IEEE. IEEE Recommended Practice for Software Requirements Specifications. IEEE Standard 830 – 1998.

� [8] MPS.BR. Guia Geral. Disponível em http://www.softex.br/mpsbr/. Acessado em Set/12.

� [9] Genvigir, E. C. Um Modelo para Rastreabilidade de Requisitosde Software Baseado em Generalização de Elos e Atributos. Tese de Doutorado. São José dos Campos: INPE. – 2009.

77