curso de introdução a engenharia de software - cjr/unb - aula 9

19
Introdução a Engenharia de Software CJR – Empresa Júnior de Computação

Upload: renato-leal

Post on 11-Jan-2017

144 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

Introdução a Engenharia de

SoftwareCJR – Empresa Júnior de Computação

Page 2: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

Processos de Requisitos8

Page 3: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

Engenharia de Requisitos (ou especificação de software)

Estudo de Viabilidade

Elicitação e análise de requisitos

Especificação de requisitos

Validação de Requisitos

Relatório de Viabilidade

Modelos de Sistema

Requisitos de Usuário e de Sistema

Documento de Requisitos

1 Back in time

Page 4: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

2 Como é

Page 5: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

3 Estudos de viabilidade

Decide se o sistema deve ou não ser feito.

• O sistema contribui para os objetivos gerais da organização?• Pode ser implementado com tecnologia atual dentro do custo e prazo

estabelecidos?• Pode ser integrado ao sistema atual?

Page 6: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

3 Estudos de viabilidade

Para ajudar a realiza-lo, responde-se as seguintes perguntas:

• Se o sistema não fosse implementado, o que aconteceria com a organização?• Quais são os problemas do processo atual?• Quanto aos objetivos e requisitos da organização, qual a contribuição direta

do novo sistema?• Existe a possibilidade de integração com os outros sistemas?• São necessárias novas tecnologias? Quais “skills” são necessários?• O que o novo sistema irá apoiar?

Page 7: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

! Devemos prosseguir?

Page 8: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

3 Elicitação e Análise

Objetivo é definir o domínio do sistema, serviços oferecidos, desempenho, restrições...

Envolve vários stakeholders

Page 9: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

3 Elicitação e Análise

Alguns problemas comuns...

• Os stakeholders frequentemente não sabem o que querem.• Diferentes stakeholders podem passar as informações de maneiras diferentes

causando confusão.• Diferentes stakeholders podem ter visões diferentes das funcionalidades• Fatores políticos e organizacionais podem influenciar• O ambiente é dinâmico, a importância dos requisitos sofrerão alterações

durante a analise, novos requisitos serão gerados e outros descartados. Além de que novos stakeholders podem aparecer

Page 10: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

3 Elicitação e Análise

Page 11: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

3 Elicitação e Análise

• Entrevista aberta• DFD/OO• Casos de Uso• Etc...

Para obtenção dos requisitos são utilizados, por exemplo:

Page 12: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

4 Especificação

Conversão destes requisitos em um formato padrão, gerando um documento de entendimento do cliente.

Page 13: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

5 Validação

Verificar se os requisitos realmente suprem as necessidades do cliente. Apresentar ao cliente o projeto com base no documento gerado para que o mesmo valide os requisitos.

Page 14: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

5 Validação

O que checar?

• Validade• O Sistema tem as funções que o cliente precise?

• Consistência• Existem conflitos nos requisitos?

• Completude• Todos as necessidades do cliente estão expostas nos requisitos?

• Realismo• Podemos implementar os requisitos com a tecnologia existente? E com o orçamento?

• Verificabilidade• Os requisites podem ser checados?

Page 15: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

5 Validação

Técnicas

• Revisões de requisitos• Analise manual dos requisitos

• Prototipação• Geração de casos de teste

• Para ver se é testável

Page 16: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

5 Validação

Review Checks

• Verificabilidade• O requisito é realmente testável?

• “Comprehensibility”• O requisite está completamente compreensível

• Adaptabilidade• O requisito pode ser modificado sem impactar muito no geral?

Page 17: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

6 Gerência de requisitos

A verdade é que os requisitos sempre estarão incompletos e inconsistentes

• A prioridade dos requisitos pode diferir de acordo com cada stakeholder• Usuários tem perspectivas diferentes e elas podem ser conflitantes• O ambiente técnico e organizacional muda durante o desenvolvimento

Page 18: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

Bibliografia

http://www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Presentations/PDF/ch6.pdf

http://www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Presentations/PDF/ch7.pdf

Page 19: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9

Renato Leal

[email protected]

[email protected]

CJREmpresa Júnior de Computação da UnB

[email protected]

[email protected]