Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos Prof. Bruno Moreno bruno.moreno@ifrn.edu.br
Engenharia de Requisitos O objetivo do processo de Engenharia de Requisitos é criar e manter um documento de requisitos; Inclui, geralmente, 4 subprocessos Estudo de viabilidade Elicitação e Análise Especificação Validação 2
Engenharia de Requisitos Estudo de Viabilidade Elicitação e Análise Especificação Relatório de Viabilidade Modelos de Sistema Validação Requisitos de Usuário e de Sistema Documento de Requisitos 3
Engenharia de Requisitos Requisitos mudam constantemente As pessoas mudam A organização que está comprando o SW muda Os hardwares mudam O ambiente organizacional do SW muda O processo de gerenciamento dessas mudanças de requisitos é chamado de gerenciamento de requisitos 4
Engenharia de Requisitos Estudo de Viabilidade Elicitação e Análise Especificação Relatório de Viabilidade Modelos de Sistema Validação Requisitos de Usuário e de Sistema Documento de Requisitos 5
Estudo de Viabilidade Em todo projeto novo, deve-se fazer um estudo a respeito de sua viabilidade 6
Estudo de Viabilidade Entrada para o estudo de viabilidade Requisitos de negócio Esboço da descrição do sistema Como sistema irá apoiar os processos de negócio Resultados do estudo de viabilidade Estudo que recomenda se vale a pena ou não prosseguir com o processo de engenharia de requisitos e de desenvolvimento do sistema 7
Estudo de Viabilidade Perguntas que o estudo de viabilidade busca responder O sistema contribui para os objetivos gerais da organização? O sistema pode ser implementado com as tecnologias atuais e dentro das restrições de custo e prazo? O sistema pode ser integrado a outros sistemas já implantados? 8
Estudo de Viabilidade A realização de um estudo de viabilidade envolve avaliação de informações, coleta e elaboração de um relatório Avaliação de informações identifica as informações necessárias para responder as três questões anteriores 9
Estudo de Viabilidade Algumas questões que podem ajudar na coleta de informações para o estudo de viabilidade Como a organização se comportaria se esse sistema não fosse implementado? Quais são os problemas com os processos atuais e como o novo sistema ajudaria a reduzir esses problemas? Qual será a contribuição direta do sistema para os objetivos e requisitos da empresa? As informações podem ser transferidas e recebidas de outros sistemas da organização? O sistema requer tecnologia que ainda não foi usada na organização? O que deve ser apoiado pelo sistema e o que não precisa ser apoiado? 10
Estudo de Viabilidade Em um estudo de viabilidade deve-se considerar também as fontes das informações Gerente do departamento em que o sistema será usado; Engenheiros de software familiarizados com o tipo de sistema proposto; Especialistas em tecnologia dentro da organização; Usuários finais 11
Estudo de Viabilidade Tendo coletado todas as informações, o relatório deve ser elaborado No relatório, você deve fazer a recomendação de se o desenvolvimento do sistema deve ou não prosseguir No relatório pode propor mudanças de escopo, orçamento, prazo e sugerir requisitos de alto nível adicionais para o sistema 12
Engenharia de Requisitos Estudo de Viabilidade Elicitação e Análise Especificação Relatório de Viabilidade Modelos de Sistema Validação Requisitos de Usuário e de Sistema Documento de Requisitos 13
Elicitação e Análise Os engenheiros de SW trabalham com os clientes e usuários finais para aprender sobre O domínio de aplicação Quais serviços o sistema deve fornecer O desempenho esperado do sistema Quais são as restrições de hardwares Dentre outros... Requisitos funcionais e não funcionais 14
Elicitação e Análise Pode-se pensar na atividade de elicitação como um processo em espiral... Envolve a coleção de requisitos não estruturados; Agrupa requisitos relacionados e os organiza em conjuntos coerentes Quanto mais stakeholders envolvidos, maior a probabilidade de existir requisitos conflitantes; Aqui, define-se a prioridade dos requisitos; Processo de interação com os stakeholders; Os requisitos de domínio são descobertos aqui; Os requisitos são documentados e colocados na próxima volta da espiral; Podem ser criados documentos de requisitos formais ou informais. 15
Elicitação e Análise Os engenheiros de SW trabalham com os clientes e usuários finais para aprender sobre O domínio de aplicação Quais serviços o sistema deve fornecer O desempenho esperado do sistema Quais são as restrições de hardwares Dentre outros... 16
Elicitação e Análise Obtenção dos requisitos Fontes de informações Documentações Stakeholders Sistemas similares Interações com os stakeholders Entrevistas e observações Uso de cenários e protótipos 17
Checagens de Análise Checagem da necessidade A necessidade dos requisitos é analisada; Alguns requisitos propostos podem não contribuir para os objetivos de negócio da organização ou para o problema específico tratado pelo sistema. Checagem de consistência e completude Os requisitos são checados entre si para determinar consistência e completude. Consistência significa que nenhum requisito deve ser contraditório Completude significa que nenhum serviço (ou restrição) foi esquecido. Checagem de viabilidade Os requisitos são checados para garantir que são viáveis dentro do orçamento e tempo disponível para o desenvolvimento do sistema. 18
Negociação dos Requisitos 19
Negociação dos Requisitos Discutir dos requisitos Os requisitos que foram identificados como problemáticos são discutidos e os stakeholders envolvidos apresentam seus pontos de vista a cerca dos requisitos. Priorizar os requisitos Os requisitos disputados são priorizados para identificar requisitos críticos e ajudar a processo de tomada de decisão. Concordância dos requisitos Soluções para os problemas dos requisitos são identificadas e um conjunto de requisitos são acordados. Geralmente isto envolve mudanças em alguns dos requisitos 20
Técnicas de Elicitação Técnicas especiais que podem ser usadas para coletar conhecimento sobre os requisitos dos usuários Este conhecimento deve ser estruturado Particionamento - agregando conhecimentos relacionados Abstração - reconhecendo generalidades Projeção - organizando de acordo com a perspectiva Problemas da elicitação Não existir muito tempo para a elicitação Preparação inadequada dos engenheiros Stakeholders não estarem convencidos da necessidade de um novo sistema 21
Técnicas de Elicitação Entrevista Leitura de documentos Questionários Análise de protocolos Participação ativa dos usuários Cenários Métodos Soft Systems Observações e análise sociais Reuso de requisitos 22
Elicitação e Análise O profissional deve selecionar as técnicas a serem utilizadas e estabelecer de que maneira elas serão integradas É importante utilizar uma técnica de modelagem de apoio para que os fatos elicitados fiquem corretamente representados para futuro tratamento A escolha das técnicas e seu esquema de integração dependerá do problema e da equipe participante O ponto importante é ter conhecimento sobre estas técnicas e identificar onde uma técnica é superior a outra 23
Elicitação e Análise Etnografia Etnografia é uma técnica das ciências sociais que se mostrou útil no entendimento das processos reais realizados nos trabalhos As pessoas geralmente acham difícil descrever o que elas fazem pois isto é muito natural para elas. As vezes, a melhor forma de entende será observá-las no trabalho. Os processo reais de trabalho geralmente diferem daqueles processos formais descritos Um etnógrafo passa algum tempo observando as pessoas no trabalho e constrói uma imagem de como o trabalho é realizado 24
Diretrizes para Etnografia Assuma que as pessoas são boas no que fazem e procure formas não padronizadas de trabalho Gaste algum tempo conhecendo as pessoas e estabeleça um relacionamento de confiança Tome nota de forma detalhada de todas as práticas de trabalho. Analise-as e chegue a uma conclusão a partir delas Combine observação com entrevistas abertas Organize regularmente seções de relato, onde o etnógrafo fale para pessoas externas ao processo Combine etnografia com outras técnicas de elicitação 25
Etnografia Etnográfo procura ter a mesma perspectiva do cliente Vantagem: visão mais completa e perfeitamente ajustada ao contexto Desvantagem: tempo gasto e pouca sistematização do processo 26
Dicas gerais para Elicitação Sempre perguntar: o que? Por que(m)? Como? Pergunte o óbvio Organize as respostas: durante versus depois Viva a situação durante um tempo Observe Estudar o que? Por que? Onde começar Seja humilde, procure aprender 27
Engenharia de Requisitos Estudo de Viabilidade Elicitação e Análise A especificação já foi abordada... Especificação Relatório de Viabilidade Modelos de Sistema Requisitos de Usuário e de Sistema Validação Documento de Requisitos 28
Engenharia de Requisitos Estudo de Viabilidade Elicitação e Análise Especificação Relatório de Viabilidade Modelos de Sistema Validação Requisitos de Usuário e de Sistema Documento de Requisitos 29
Validação de Requisitos Tem o objetivo de mostrar que os requisitos especificados realmente definem o sistema que o cliente deseja; É importante porque caso erros não sejam detectados nessa última fase, serão detectados durante o desenvolvimento Aumentando o custo, consequentemente 30
Validação de Requisitos Qual das seguintes tarefas tem maior custo de correção: correção de mudança de requisitos ou correção de erro de projeto? 31
Validação de Requisitos Tem o objetivo de mostrar que os requisitos especificados realmente definem o sistema que o cliente deseja; É importante porque caso erros não sejam detectados nessa última fase, serão detectados durante o desenvolvimento Aumentando o custo, consequentemente 32
Atividades Relatório sobre diferenças entre CMMI e MPS.BR; Prazo: 18/08; Em dupla; Apresentar: Definição, Diferenças entre outros padrões existentes; Exemplos Reais de empresas brasileiras e Internacionais que têm essa certificação; Conclusão com suas próprias palavras sobre a importância de se ter uma certificação de qualidad; Colocar referências bibliográficas. 33