![Page 1: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/2.jpg)
Processos de Requisitos8
![Page 3: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/4.jpg)
2 Como é
![Page 5: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/7.jpg)
! Devemos prosseguir?
![Page 8: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/10.jpg)
3 Elicitação e Análise
![Page 11: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 9](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022020301/5875a5641a28ab6d198b7a2f/html5/thumbnails/19.jpg)
Renato Leal
CJREmpresa Júnior de Computação da UnB