Análise e Concepção de Sistemas de Informação Levantamento e Análise de Requisitos Adaptado a partir de Gerald Kotonya and Ian Sommerville Objectivos: Processo de levantamento e análise de requisitos Técnicas para levantamento e análise de requisitos Utilização de protótipos no processo de engª de requisitos 2
The wizard of id Can you stop the Rain? RAIN RAIN GO AWAY...it s snowing! What is it you really want? 3 Dilbert 4
Processo de engª de Requisitos Levantamento, análise e negociação de requisitos Draft statement of requirements Requirements elicitation Requirements analysis Requirements document Requirements negotiation Requirements problems 5 Processo de engª de Requisitos Establish objectives Understand background Organise knowledge Collect requirements Business goals Organisational structure Stakeholder identification Stakeholder requirements Problem to be solved Application domain Goal prioritisation Domain requirements System constraints Existing systems Domain knowledge filtering Organisational requirements 6
Análise e negociação de requisitos Requirements analysis Necessity checking Consistency and completeness checking Feasibility checking Unnecessary requirements Conflicting and incomplete requirements Infeasible requirements Requirements discussion Requirements prioritisation Requirements agreement Requirements negotiation 7 Técnicas de levantamento de requisitos Estruturar o conhecimento: Partitição agregar o conhecimento associado Abstracção reconhecer generalidades Projecção organizar de acordo com a perspectiva Problemas Falta de tempo para fazer o levantamento Má preparação dos engenheiros Stakeholders não acreditam na necessidade de um novo sistema 8
Técnicas de levantamento de requisitos Entrevistas Planear a entrevista Conduzir a entrevista Escrever o relatório JAD Cenários Etnografia Reutilização de requisitos Prótotipagem 9 Entrevistas Método importante para colectar informação Revela informação sobre: as opiniões do entrevistado o estado do sistema actual objectivos pessoais e organizacionais Procedimentos informais Ouvir é essêncial! 10
Fases do planeamento da entrevista Ler material de suporte Estabelecer os objectivos da entrevista Decidir quem entrevistar Preparar o entrevistado Decidir os tipos de questões e a sua estrutura 11 Tipos entrevistas Entrevistas abertas Não existe uma agenda pré-definida Entrevistas fechadas Limita o número de possíveis respostas Apropridada para gerar dados precisos 12
Entrevistas abertas Benefícios Entrevistado fica mais à vontade Usar o vocabulário do entrevistado Maior detalhe Gera novas questões Mais interessante para o entrevistado Mais espontaniedade Exige pouca preparação Desvantagens Podem se obter muitos detalhes sem importância É possível perder o controlo da entrevista As respostas podem demorar demasiado tempo Parecer pouco preparado 13 Entrevistas fechadas Benefícios Poupam tempo É fácil comparar entrevistas Vai directo ao que é importante Mantém o controlo sobre a entrevista É possível cobrir muitos assuntos Focado apenas nos dados relevantes Desvantagens Penoso para o entrevistado Falta de detalhes importantes Pode não abordar as ideias essênciais Não cria empatia com o entrevistado 14
Cenários Descrevem como os utilizadores interagem com sistema Os cenários devem: Descrever o estado inicial do sistema O fluxo normal de eventos Excepções ao fluxo normal Informação actividades concurrentes Descrever o estado final do sistema Exemplificam a interação do utilizador com o sistema 15 Cenário da biblioteca Ordenação de Documentos Log on to EDDIS system Issue order document command Enter reference number of the required document Select a delivery option Log out from EDDIS 16
Estruturar entrevistas Estrutura em pirâmide Começar com uma pergunta especifica, fechar com uma pergunta genérica Usar em entrevistados relutantes Estrutura em fúnil Começar com uma pergunta genérica, fechar com uma pergunta especifica Forma amigável de começara a entrevista Usar quando os entrevistados feel emotional about the topic Estrutura em diamante Combina as aproximações anteriores, por isso demora mais tempo Mantém o entrevistado interessado usando perguntas variadas 17 Cenário da biblioteca User id Passwd Operational terminal Login to EDDIS Exceptions Invalid id or password Login retry Login OK Select order document Exceptions Permission denied Enter help system Order accepted Input document reference Exceptions Incorrect reference Input doc. reference Enter help system Document reference OK Confirm delivery details Exceptions Delivery confirmed Logout from EDDIS Timeout Auto-logout 18
Registar a entrevista As entrevistas podem ser registadas numa cassete audio ou num bloco de notas O registo em cassete audio deve ser feito com permissão e conhecimento do entrevistado 19 Fazer o registo da entrevista Cassete Audio Registo preciso O entrevistador pode ouvir e responder mais rapidamente Permite um melhor contacto com o entrevistado Permite replay Pode tornar o entrevistado: mais nervoso menos apto a responder livremente É difícil localizar respostas na cassete Custo mais elevado Bloco de notas Mantém o entrevistador alerta É fácil rever pontos importantes Mostra interesse na entrevista Demonstra preparação Não cria contacto com o entrevistado É possível perder o fio à meada O entrevistador para enquanto as notas são escritas Foca os factos, ignorando opiniões 20
Conduzir a entrevista Antes da entrevista Confirmar o encontro Vestir de forma apropriada Chegar cedo Início a entrevista Cumprimentar o entrevistado Relembrar o seu nome e o objectivo da entrevista Informar o entrevistado como é que a entrevista será registada: Bloco de notas Cassete audio - verificar o equipamento Perguntas iniciais Começar com uma conversa agradável, perguntas abertas Ouvir atentamente as respostas iniciais Procurar metáforas 21 Conduzir a entrevista Durante entrevista A entrevista não deve exceder 1 hora Ter a certeza de perceber o que está a ser dito Pedir definições Ser sensível Encerrar a entrevista Reflectir sobre o entrevistado Perguntar se existe algo não foi referido e que o entrevistado queira adicionar Fazer um sumário Perguntar quem é que deve ser entrevistado a seguir Marcar (se necessário) próximos encontros Agradecer pelo tempo dispendido 22
Relatório da entrevista Escrever o mais cedo possível a seguir à entrevista Apresentar um sumário inicial, e depois mais detalhe Rever o relatório com o entrevistado 23 Comentários gerais Entrevista estruturada É planeada e o planeamento é seguido à risca Tem por base perguntas fechadas Entrevista não-estruturada é uma conversação Entrevistas Demoram muito tempo Sujeitas a erro e interpretações erradas 24
Joint Application Design (JAD) Pode substituir uma série de entrevistas com a comunidade de utilizadores Permite ao analista efectuar o levantamento de requisitos com os utilizadores 25 Quando usar JAD Se os utilizadores querem algo novo Se a cultura organizacional suporta a resolução de problemas em grupo A utilização do JAD provoca um aumento de ideias geradas O workflow organizacional permite que empregados essênciais se ausentem para assistir às reuniões JAD 26
Quem está envolvido Analista Pelo menos 1, mas deve ter um papel passivo Utilizadores De 8 a 12 utilizadores Escolher um moderador para a sessão que não é um especialista em análise e design, mas com bom poder de comunicação Supervisor do moderador da sessão não deve pertencer ao grupo de utilizadores JAD 1 ou 2 técnicos especializados que assumem um papel passivo Alguém deve registar o conteúdo da sessão Executivo Escolher um executivo como sponsor que irá introduzir e concluir a sessão JAD 27 Onde realizar as sessões JAD Organizar de 2 a 3 sessões diárias fora do local do trabalho para minimizar interferências Reservar uma sala para 20 pessoas Planear a comida e as bebidas Só realizar as reuniões se todos os convidados podem estar presentes 28
Vantagens do JAD Gasta menos 15% do tempo em comparação com as entrevistas individuais Desenvolvimento rápido de sistemas Os utilizadores sentem-se integrados no desenvolvimento do sistema Desenvolvimento criativo de designs 29 Desvantagens do JAD Exige que os vários participantes tenham tempo disponível para todas as sessões Se a preparação for insuficiente, a sessão pode não ter sucesso Se o relatório de uma sessão estiver incompleto pode por em risco a próxima sessão A cultura organizacional pode não ser compatível com a aproximação JAD 30
Cenários e OO O termo caso de uso pode ser usado para referir um cenário Relacionamento entre casos de uso e cenários: Opiniões divergentes Um caso de uso é um cenário Um cenário é uma coleção de casos de uso 31 Etnografia É difícil descrever como que se realizam tarefas Solução: Observar como as tarefas são realizadas Etnografia técnica desenvolvida na área das ciências socias Útil para determinar o método de trabalho Divergência entre os métodos de trabalho usados e a sua definição formal 32
Etnografia em engª de requisitos Procurar métodos pouco usuais de trabalho Estabelecer uma relação de confiança com os utilizadores Manter notas detalhadas sobre os métodos de trabalho. Combinar observação com entrevistas abertas Organisar sessões regulares de de-briefing Usar outras técnicas de levantamento de requisitos 33 Etnografia em engª de requisitos Ethnographic analysis Debriefing meetings Focused ethnography System protoyping System prototype User experiments 34
Perspectivas etnográficas Perspectiva do contexto do trabalho Descreve o contexto e a localização fisíca do trabalho e como as pessoas usam os objectos para realizar tarefas Perspectiva social e organizacional Cada individuo tem uma percepção única sobre o trabalho Perspectiva do fluxo de trabalho Descrever as actividades que formam um trabalho/tarefa e o fluxo de informação entre essas actividades. 35 Reutilização de requisitos Usar os requisitos de um sistema noutro sistema Diminui o tempo e esforço gastos no levantamento de requisitos Quando reutilizar Se o requisito fornece informação sobre o domínio de aplicação Se o requisito está relacionado com o estilo de apresentação de informação Se o requisito está relacionado com os regulamentos da empresa 36
Prototipagem Protótipo Versão inicial de um sistema para experimentação Permite aos utilizadores identificar os pontos fortes e fracos do sistema Algo concreto que pode ser criticado Protótipos devem estar disponíveis durante o levantamento de requisitos 37 Vantagens da Prototipagem Utilizadores podem experimentar o sistema Estabelece a fiabilidade e utilidade do sistema Essêncial para criar o look and feel da interface com o utilizador Pode ser usado nos testes do sistema e no desenvolvimento de documentação Obriga a estudar com detalhe os requisitos Encontrar inconsistências e omissões 38
Tipos de Protótipos Protótipos Throw-away Objectivo: Ajudar o levantamento e desenvolvimento dos requisitos Suportar os requisitos mais difíceis de perceber Protótipos Evolucionários Objectivo: desenvolvimento rápido de uma versão inicial do sistema. Suportar os requisitos bem definidos e conhecidos 39 Problemas e custos da prototipagem Custos de aprendizagem Custos de desenvolvimento Extende a planificação do desenvolvimento São incompletos Pode não ser possível protótipar requisitos críticos 40
Abordagens à Prototipagem Prototipagem em papel Representação em papel do interface do sistema Prototipagem Wizard of Oz Uma pessoa (wizard) simula as respostas do sistema a entradas de um utilizador Prototipagem executável Utilização de uma ambiente de desenvolvimemto rápido para desenvolver um protótipo executável 41 Prototipagem em papel Características Representar em papel a funcionalidade e aparência da interface Tem custos baixos e é fácil de preparar e modificar Objectivo Analisar diferentes representações para a interface Fazer o levantamento das reacções dos utilizadores Fazer o levantamento das modificações (e sugestões) requeridas pelos utilizadores 42
Prototipagem em papel 43 Esboços (Sketches) 44
Prototipagem Wizard of Oz A method of testing a system that does not exist the voice editor, IBM 1984 O que o utilizador vê Wizard The Wizard 45 Prototipagem Wizard of Oz O wizard humano simula as respostas do sistema Interpreta os inputs de um utilizador segundo um algoritmo Controla computador para simular o output desejado Usa a interface real ou um mock-up É usado para: Simular a adição de funcionalidades complexas Testar ideias futuristicas 46
Análise de requisitos Objectivos: Encontrar problemas, falhas e inconsistências A análise é intercalada com o levantamento de requisitos A análise é suportada por uma lista de verificação de problemas 47 Listas de verificação Desenho prematuro do sistema Combinação de requisitos Requisitos desnecessários Utilização de HW não-standard Conformidade com os objectivos de negócio Requisitos ambíguos Requisitos realistas Requisitos testáveis 48
Matrizes de interação Objectivos da análise de requisitos: Determinar as interações entre requisitos Evidênciar conflitos e sobreposições entre conflitos Matriz de interação de requisitos Requisitos em conflito, colocar 1 Requisitos sobrepostos, colocar 1000 Requisitos independentes, colocar 0 49 Matrizes de Interação Requirement R1 R2 R3 R4 R5 R6 R1 0 0 1000 0 1 1 R2 0 0 0 0 0 0 R3 1000 0 0 1000 0 1000 R4 0 0 1000 0 1 1 R5 1 0 0 1 0 0 R6 1 0 1000 1 0 0 50
Negociação de Requisitos Conflitos não são falhas Refletem diferentes necessidades e prioridades Negociação de requisitos tenta encontrar uma solução de concordância A negociação de requisitos pode ser um processo demorado A planificação de processo de ER deve contabilizar o tempo necessário 51 Reuniões de Negociação Fase de informação Explicar os problemas associados aos requisitos a negociar Fase de discussão stakeholders devem ter oportunidade de comentar os requisitos que lhes dizem respeito Usar esta fase para atribuir prioridades aos requisitos Fase de resolução Eliminar, alterar ou refinar o requisito 52
Conclusões Para efectuar o levantamento de requisitos é necessário conhecer O domínio de aplicação O problema a ser resolvido As necessidades e restrições da organização O levantamento, análise e negociação de requisitos são processos iterativos intercalados Pode-se (e deve-se) usar vários métodos de levantamento de requisitos: Entrevistas, cenários, JAD, protótipos e observação 53 Conclusões (cont.) Protótipos A experimentação permite que os utilizadores encontrem os seus requesitos reais Listas de verificação Permitem organizar o processo de validação de requisitos Negociação de requisitos Troca de informação, discussão e resolução de conflitos 54