1 engenharia de requisitos prof. rodrigo nin [email protected]

27
1 Engenharia de Requisitos Prof. Rodrigo Nin [email protected]

Upload: internet

Post on 22-Apr-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

1

Engenharia de Requisitos

Prof. Rodrigo Nin

[email protected]

Page 2: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

2

Definição

Área da Engenharia de Software que estuda o processo de definição dos requisitos que um software deverá atender.

Objetivo

Entender as necessidades dos clientes e traduzi-las em especificação de características e propriedades do software a ser construído ou adquirido.

Engenharia de Requisitos - ER

Page 3: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

3

Custo do erroEsp

eci

fica

ção

Cu

sto

do e

rro

Análise

Pro

jeto

Const

ruçã

o

Test

es

Impla

nta

ção

Adaptado de Pressman e Boehm

Opera

ção

Fase onde ocorreu o erro

Fase onde o erro foi identificado

Page 4: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

4

Mais de um milhão de aposentados terão que fazer nova declaração

Cerca de 1,3 milhão de aposentados do INSS vão ter que fazer uma nova declaração do Imposto de Renda 2005, por causa de um erro cometido pela Previdência na hora de emitir o comprovante de rendimento. O INSS deixou de incluir um desconto concedido pelo governo no ano passado, que reduz o valor do rendimento tributável em cerca de R$500. Isso, torna menor o imposto devido e aumenta a restituição de quem terá dinheiro a receber.

Já para aqueles aposentados que tinham imposto a pagar e, por causa do erro do INSS, acabaram pagando valor maior do que deveriam, a Receita ainda está estudando a forma como será feita a devolução do dinheiro, após o recebimento da declaração retificadora

No ramo de software, erro é regra não exceção ...

Errar é

humano, m

as para

faze

r um g

rande est

rago

precis

amos de

computa

dores .

..

(Alguém)

Custo do erro

Fonte: O Globo Online

Page 5: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

5

Tempo

Taxa d

e e

rros

Curva ideal

Curva a ser evitada

Alteração

Novos erros

Deterioração de software

Adaptado de Pressman

Page 6: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

6

• Desenvolvimento de Requisitos• Solução Técnica• Integração do Produto• Verificação• Validação• Foco no Processo

Organizacional• Definição do Processo

Organizacional• Treinamento Organizacional• Gerência de Projeto Integrada

(parte só IPPD)• Gerência de Riscos• Integração da Equipe (IPPD)• Gerência Integrada de

Fornecedores• Análise de Decisão e Resolução• Ambiente Organizacional para

Integração (IPPD)

• Gerência de Requisitos• Planejamento do Projeto• Monitoração e Controle do

Projeto• Gerência de Acordos com

Fornecedores• Medição e Análise• Garantia da Qualidade do

Processo e do Produto• Gerência de Configuração

CMMI – Áreas de Processo

2 Gerenciado 3 Definido

Engenharia de Requisitos

http://www.sei.cmu.edu

Page 7: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

7

CMMI – Requisitos

Desenvolvimento de RequisitosObjetivo: Produzir e analisar requisitos de clientes,

produtos e componentes de produtos.

Gerência de Requisitos

Objetivo: Gerenciar os requisitos dos produtos e

componentes de produtos do projeto e identificar as

inconsistências entre estes requisitos e os planos e os

produtos de trabalho do projeto.

http://www.sei.cmu.edu

Page 8: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

8

Desenvolvimento de Requisitos

http://www.scielo.br/scielo.php?pid=S0104-530X2000000300009&script=sci_arttext&tlng=pt

•Requisitos de clientes

•Requisitos de produtos

•Requisitos de componentes de

produtos

Page 9: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

9

Desenvolvimento de Requisitos

Software

Interfaces Algorítimos Memória

Consultas

Relatórios

Entradasde dados

Cálculo A

Cálculo B

Transfomaçãode dados

Arquivo 1

Arquivo 2

Arquivo 3

ComponenteComponente

ComponenteComponente

Page 10: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

10Adaptado de http://www.sei.cmu.edu

Gerencia-mento deRequisitos

Desenvolvi-mento deRequisitos

SoluçãoTécnica

Gerência deConfiguração

Verificação

Validação

Cliente

Requisitos Requisitos

Soluçõesalternativas

Requisitos

Software

Necessidades

Componentes

Requisitos

Componentes

Requisitos

Desenvolvimento de Requisitos

Requisitos

Software(componentes

integrados)

Page 11: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

11

A validação confirma que o produto, como fornecido, irá atender o seu uso pretendido. Em outras palavras, a validação assegura que “você construiu a coisa certa”.

A verificação confirma que os produtos de trabalho refletem de forma apropriada os requisitos que foram especificados. Em outras palavras, a verificação assegura que “você construiu certo a coisa”.

Adaptado de http://www.sei.cmu.edu

Page 12: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

12

Processo: Desenvolver os requisitos da solução do

negócio Objeto: Regras, necessidades, expectativas e restrições da solução do negócio

Produtos (na linguagem do negócio):

• Requisitos formalmente definidos• Restrições para validação

Coletar

Descobrir

Levantamento

Transformarem requisitos

da soluçãodo negócio

Adaptado de http://www.sei.cmu.edu

Desenvolvimento de Requisitos

Page 13: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

13

O negócio

Nosso Escopo

A soluçãodo negócio

Software

Hardware

Infra-estrutura

Pessoas Materiais

Organizaçãoe Processos

FinançasAspectoslegais e

normativos

componentes da solução do

negócio

Page 14: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

14

• requisitos funcionais• requisitos de interface• requisitos operacionais• requisitos de persistência

Decorrentesda soluçãodo negócio

• requisitos financeiros• requisitos de tempo• requisitos de recursos humanos• requisitos de riscos• requisitos legais ou normativos • etc.

Decorrentesde outros condicionantes

Desenvolvimento de Requisitos

Processo: Desenvolver os requisitos da solução do

negócio Requisitos (na linguagem do negócio)

Adaptado de http://www.sei.cmu.edu

Page 15: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

15

Técnicas de registro do modelo

• Modelos de Processos / Atividades• Modelos de Dados/Classes (conceitual)• Modelo Vital• Etc. Técnicas de obtenção de informações

• Modelagem Participativa (JAD)• Brainstorming• Quality Function Deployment (QFD)• Desenvolvimento de cenários• Entrevistas, questionários• Análise de documentos• Observação dos fluxos de trabalho• Etc.

Aspectos importantes

• Comunicação• Engajamento de usuário/cliente• Compartilhamento da paternidade

Desenvolvimento de Requisitos

Processo: Desenvolver os requisitos da solução do

negócio Modelagem da Solução do Negócio

Adaptado de http://www.sei.cmu.edu

Page 16: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

16

Objeto: Especificações de software, hardware, operação e

infraestrutura

Transformarem requisitos

do produto

Produtos (em linguagem técnica):

• Requisitos formalmente definidos e

alocados

• Definições para verificação dos

componente

• tecnologia• solução técnica• métodos e técnicas de

construção e teste

Requisitos da solução do negócio

Alocar requisitosa componentes

do produto

Desenvolvimento de Requisitos

Processo: Desenvolver os requisitos do produto

Adaptado de http://www.sei.cmu.edu

Page 17: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

17

Desenvolvimento de Requisitos

Processo: Desenvolver os requisitos do produto

Requisitos do Produto

Técnicas de registro de requisitos

• Textual

• Modelo de Casos de Uso

• Protótipos de intefaces (externas)

• Descrições de interfaces de componentes

• Descrições de algorítmos

• Etc.

Há muita interação com o desenvolvimento da solução do produto

Adaptado de http://www.sei.cmu.edu

Page 18: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

18

Gerência de Requisitos

OBJETIVO:

Gerenciar os requisitos dos produtos do projeto e dos

componentes do software identificando inconsistências entre

os requisitos, os planos de projeto e os artefatos produzidos

ESCOPO

Considera todos os requisitos recebidos ou gerados pelo

projeto, incluindo os requisitos técnicos e não técnicos

bem como os requisitos impostos ao projeto pela

organização

Adaptado de http://www.sei.cmu.edu

Page 19: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

19

Documentar as alterações de requisitos e suas motivações

Manter a rastreabilidade bidirecional entre os requisitos do produto e os requisitos dos componentes e artefatos

Assegurar que o conjunto acordado de requisitos é a base para o planejamento e a execução do projeto

Revisar os requisitos recebidos de fontes autorizadas – em conjunto com as fontes – de modo a garantir o entendimento comum e a consistência com outros requisitos antes de incorporar cada requisito ao projeto

Identificar e resolver eventuais inconsistências entre alterações de requisitos com os planos, artefatos e outros requisitos bem como o seu impacto no planejamento e execução do projeto

Gerência de Requisitos

Detalhamento do Objetivo

Adaptado de http://www.sei.cmu.edu

Page 20: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

20

Gerência de Requisitos

Práticas

1) Obter Entendimento sobre Requisitos

2) Obter Compromisso sobre Requisitos

3) Gerenciar Alterações nos Requisitos

4) Manter Rastreabilidade Bidirecional para os Requisitos

5) Identificar Inconsistências entre Artefatos e Requisitos

Adaptado de http://www.sei.cmu.edu

Page 21: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

21

Gerência de Requisitos

Práticas

1) Obter Entendimento sobre Requisitos

Desenvolver um entendimento com as fontes dos

requisitos quanto ao significado de cada um

Subpráticas:

• Estabelecer critérios para distinguir fontes apropriadas de

requisitos

• Estabelecer critérios objetivos para aceitação de requisitos

• Assegurar que os requisitos alcancem os critérios

estabelecidos

• Conseguir um entendimento com as fontes sobre os

requisitos tal

que os participantes do projeto possam executá-losAdaptado de http://www.sei.cmu.edu

Page 22: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

22

Gerência de Requisitos

Práticas

2) Obter Compromisso sobre Requisitos

Obter compromisso dos interessados no projeto com os requisitos

Subpráticas:

• Avaliar o impacto dos requisitos sobre compromissos

existentes

• Negociar e registrar compromissos

Adaptado de http://www.sei.cmu.edu

Page 23: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

23

Gerência de Requisitos

Práticas

3) Gerenciar Alterações nos Requisitos

Gerenciar alterações nos requisitos na medida em que estes evoluam durante o projeto

Subpráticas:

• Capturar todos os requisitos que foram colocados para o

projeto

ou gerados por este e suas alterações

• Manter o histórico de alterações dos requisitos com as

respectivas justificativas

Adaptado de http://www.sei.cmu.edu

Page 24: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

24

Gerência de Requisitos

Práticas

4) Manter Rastreabilidade Bidirecional para os Requisitos

Manter rastreabilidade bidirecional entre os requisitos e os planos do projeto e artefatos

Subpráticas:

• Manter a rastreabilidade dos requisitos para garantir que a

fonte

de requisitos de menor nível esteja documentada (para trás)

• Manter a rastreabilidade de um requisito para requisitos dele

derivados bem como para sua alocação em funções, objetos,

pessoas, processo e artefatos (para frente)

• Manter rastreabilidade horizontal de função para função e

com

interfaces

• Gerar matriz de rastreabilidade cruzada de requisitosAdaptado de http://www.sei.cmu.edu

Page 25: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

25

Gerência de Requisitos

Práticas

5) Identificar Inconsistências entre Artefatos e Requisitos

Identificar inconsistências entre os requisitos e os planos do projeto e produtos de trabalho

Subpráticas:

•Rever os planos do projeto, atividades e produtos de trabalho

para manter a consistência com as alterações nos requisitos

• Identificar a fonte das inconsistências e sua razões

• Identificar as alterações que precisam ser feitas nos planos e

produtos de trabalho decorrentes das alterações nos requisitos

•Proceder às ações corretivas pertinentes

Adaptado de http://www.sei.cmu.edu

Page 26: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

26Fonte: Marco Aurélio Cordeiro

Page 27: 1 Engenharia de Requisitos Prof. Rodrigo Nin rodrigo@azimuteZero.com.br

27Fonte: SERPRO - Ana-Helena-Jaelson