Extração de Requisitos

Slides:



Advertisements
Apresentações semelhantes
Gerenciamento de Projetos
Advertisements

Metodologia de testes Nome: Gustavo G. Quintão
Requisitos de Software
APSOO Aula 03.
Participantes do Processo de Desenvolvimento de Software
NORMA NBR ISO OBJETIVO Esta norma - NBR fornece princípios e orientações para a empresa implementar um processo eficaz e eficiente de tratamento.
SAD - SISTEMA DE APOIO À DECISÃO Prof. Wagner Andrade
Gerenciamento do escopo do projeto
Adélia Barros Requisitos Adélia Barros
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
O processo de coletar os requisitos (escopo do cliente)
Extração de Requisitos
Lafayette B. Melo – CEFET-PB - COINFO Interface do usuário, linhas de comando e menus Interface do usuário Linhas de comando Menus.
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Noções de Engenharia de Software.
Prof. Everton Lopes Bonifácio
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
A implementação de avaliação formativa na sala de aula
Plano de Projeto de Software
Engenharia de Software
Modelagem para Web Aula de 11/04/2011.
PLANIFICAÇÃO DE UMA AVALIAÇÃO.
Seminário de Engenharia de Usabilidade
Tomada de Decisão e Sistemas de Informação
EXEMPLO DE FLUXO PARA O DESENVOLVIMENTO DE ANÁLISE CRÍTICA DO SGQ
Engenharia de Software
Orientações sobre usabilidade
Lafayette B. Melo – CEFET-PB - COINFO Quando só o que se tem é um martelo, se acha que tudo que tem no mundo é prego (?) Como você vê o mundo em sua volta.
PMBOK 5ª Edição Capítulo 3
Treinamento do Microsoft® Access® 2010
SISTEMA DE INFORMAÇÃO NA EMPRESA
Gestão de Projetos Ms. Karine R. de Souza
Análise e Projeto de Sistemas
Oficina Mecânica TADS 2011.
Análise de problemas Capacidade de pensamento crítico
Análise e Projeto de Sistemas
Introdução e Fundamentos Engenharia de Requisitos
GESTÃO DAS INFORMAÇÕES DA ORGANIZAÇÃO
Engenharia de Software
CURSO TÉCNICO EM SEGURANÇA DO TRABALHO
O Processo de desenvolvimento de software
Levantamento de Requisitos
ATIVIDADES DE EXECUÇÃO DA AUDITORIA
Documentação de Software
O Processo Unificado (UP)
Gestão de defeitos.
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
Laboratório de Programação
Controles Gerais Prof.: Cheila Bombana. Controles Gerais Prof.: Cheila Bombana.
Processos do Design 27/09.
Técnicas de avaliação de Interfaces Alunos: Joel Levandowski Ranieri R. Tremea Prof ª.:Cristina P. dos Santos URI - Universidade Regional Integrada do.
Modelando Sistemas em UML
TEMA E PROBLEMA.
Expansão dos Casos de Uso
É a etapa dos trabalhos de auditoria onde se definide a natureza dos exames (quais os procedimentos a serem aplicados), a extensão dos exames (quanto será.
Algoritmos e Programação I
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
O que é Técnica e o que é Pesquisa?
Engenharia de Software
O QUE MUDOU COM A NOVA ISO 9001:2000
Aula 02 de Eng. de Requisitos
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
Engenharia de Software
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
TÉCNICAS DE ESTIMATIVAS
Gerenciamento de Escopo
CENTRO UNVERSÁTARIO PADRE ANCHIETA AULA 6 CURSO ENGENHARIA DE PRODUÇÃO DISCIPLINA: SISTEMAS DE INFORMAÇÕES GERENCIAIS (SIG) PROF: CÉSAR ANTONIO SOLDERA.
Gerência de Projetos Gerenciamento de Escopo. Gerenciamento de Escopo do Projeto...inclui os processos necessários para assegurar que o projeto inclui.
Extração de REQUISITOS Parte II. Segundo Pressman (1995), na analise e especificação de requisitos, a ambigüidade não só é possível mas é provável. “-
Elicitação de Requisitos Análise Orientada a Objetos Prof. Wolley W. Silva.
Transcrição da apresentação:

Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente do usuário(a entrada)em um documento formal (saída). Esta transformação só é possível através de: Determinação dos objetivos do produto; Restrições para a sua operacionalidade. A saída do processo de extração de requisitos é um documento de especificação de requisitos

Processo de Extração de Requisitos O processo de extração de requisitos consiste nos seguintes passos: Entendimento do domínio; Extração e análise de requisitos; Especificação dos requisitos; Validação dos requisitos.

Dificuldades no processo de extração de requisitos Falta de conhecimento do usuário das suas reais necessidades e do que o produto de software pode lhe oferecer – o processo de extração de requisitos ajuda os usuários a explorar e entender suas reais necessidades (o que eles querem X o que precisam) Falta de conhecimento do desenvolvedor do domínio do problema – é imprescindível que o desenvolvedor faça um esforço para entender o domínio para não tomar decisões erradas

Dificuldades no processo de extração de requisitos Domínio do processo de extração de requisitos pelos desenvolvedores de software – se os desenvolvedores dominarem o processo de extração, não ouvindo o que os usuários têm a dizer pode resultar uma participação menos efetiva por parte dos usuários e ainda levar a decisões erradas Comunicação inadequada entre desenvolvedores e usuários – a forma de comunicação entre usuários e desenvolvedores é inerentemente ambígua, também pode ocorrer um mal-entendido por atribuírem significados diferentes a termos comuns. Existe ainda o problema das omissões

Dificuldades no processo de extração de requisitos Dificuldade do usuário em tomar decisões – os usuários podem ter muita dificuldade para decidir alguma questões por não entenderem as consequências das decisões, ou alternativas possíveis Problemas de comportamento – cada usuário pode assumir que é responsabilidade de algum outro usuário contar ao desenvolvedor algum aspecto dos requisitos. O desenvolvedor pode assumir que o usuário é um especialista no domínio e que dará toda a informação necessária, enquanto o usuário pode assumir que o desenvolvedor fará as perguntas apropriadas Questões técnicas – As tecnologias de software e hardware mudam rapidamente e os avanços tecnológicos podem tornar um requisito, anteriormente considerado caro ou complexo demais, totalmente possível

Classificação das solicitações do usuário As solicitações ou requisições do usuário podem ser classificadas de acordo com algumas características que podem auxiliar no processo de extração de requisitos: Frequência da requisição Previsibilidade da solicitação Atualização da informação

Qual é a frequência da solicitação do cliente? Solicitação programada –a solicitação foi detectada durante a extração e análise de requisitos e faz parte do produto do software Solicitação disparada por um evento – esse tipo de solicitação também deve ter sido prevista para fazer parte do produto Requisição eventual – neste caso o produto desenvolvido deve ter flexibilidade suficiente para comportar tais solicitações

Quão previsível é a natureza da solicitação? Previsível – As solicitações com periodicidade definida ou disparadas por eventos. Algumas solicitações eventuais também podem ser previsíveis Imprevisível – Solicitações eventuais, em qe variam os elementos de dados e/ou os processamentos necessários para atender a solicitação

Quão atuais deve ser os dados? Atualização imediata – é necessário que os dados sejam atualizados a cada transação Atualização adiada – é suficiente que os dados sejam atualizados ao final de um período de tempo determinado A partir dessas informações é possível avaliar a complexidade e o custo do processamento: Solicitação imprevisível e resultado imediato, o custo do processamento é maior. Quando a solicitação é previsível e o resultado não precisa ser imediato, o custo de processamento é menor

Lista de requisições - Exemplos Desejo receber diariamente uma lista de compras feita nodia anterior. O relatório deve estar disponível até as 12 horas Quando a quantidade em estoque de um item for menor que o estoque de segurança emita um pedido de compra para o item. Esse pedido de compra deve ser gerado até o final do expediente Qual é o valor do pedido de compra número 34923? O fornecedor precisa de confirmação e está ao telefone agora Qual é o total de pedidos feitos ao fornecedor X no período de março a agostos deste ano? Os dados precisam estar disponíveis amanhã Forneça-me o nome e telefone de funcionários queconheçam a língua francesa, tenham tido treinamento fora do país e sejam solteiros. A lista deve ser classificada por tempo de serviço. Quero esta informação agora

Técnicas para extração e análise de requisitos Procedimentos genéricos que devem fazer parte de qualquer processo de extração de requisitos: Perguntar –identificar a pessoa apropriada e perguntar quais são os requisitos do produto de software Observar e inferir- observar o comportamento dos usuários e então inferir suas necessidades a partir do seu comportamento Discutir e formular – discutir com os usuários suas necessidade e formular um entendimento comum dos requisitos

Técnicas para extração e análise de requisitos Negociar a partir de um conjunto padrão – começar com um conjunto-padrão de requisitos e negociar com os usuários quais dessas características serão incluídas, excluídas ou modificadas Estudar e identificar problema – Investigar os problemas para identificar os requisitos ou características que podem melhorar o produto Supor – quando não existe acesso ao usuário, ou para a criação de um produto inexistente é preciso usar a intuição para identificar características ou funções que o usuário possa desejar

Entrevistas A entrevista consta de quatro fases: 1. Identificação dos candidatos para entrevista Normalmente começa com o próprio financiador do projeto ou com os usuários do produto. Em cada entrevista é possível descobrir outras pessoas a serem entrevistadas: “ Com que mais eu deveria conversar?” ou “Quem mais deverá usar o produto?” ou “ Quem mais interage com você?” 2. Preparação para uma entrevista Duas atividades principais: agendar a entrevista e preparar uma lista de questões Deixar claro os objetivos da entrevista e sua duração A entrevista pode ser gravada, mas é necessário pedir autorização

Entrevistas 3. Condução da entrevista O entrevistador deve fazer uma breve revisão dos objetivos da entrevista É preciso estar alerta para o fato de que a primera reposta para a pergunta pode não estar completa e correta É necessário resumir e refrasear para mostrar ao usuário as implicações de seus requisitos. A sumarização é útil durante toda a entrevista É útil fazer comentários: “Estamos indo bem?” , “Esquecemos de alguma coisa?” , “Gastamos tempo suficiente com esta questão” Fazer questões de caráter geral: “Por que este produto está sendo desenvolvido”, “ O que você espera dele?”, “Quem são os outros usuários do sistema?” Cuidado para não induzir a resposta: “O relatório de vendas deveria ser produzido semanalmente?”

Condução da entrevista - continuação Explorar os tópicos com questões que os abordem em diferentes níveis de abstração Subir o nível das perguntas quanto o entrevistado se concentrar em detalhes ou em uma única solução Se o entrevistado diz que uma função específica é necessária, pode-se perguntar: “Qual é o objetivo disso?”, “Como o objetivo será obtido?” O entrevistador deve se certificar de que o entrevistado está entendendo o contexto no qual cada questão está sendo formulada (p.ex. formato dos dados de entrada ou de saída?)

Condução da entrevista - Erros de comunicação Erros de observação – pessoas diferentes se concentram em diferentes aspectos e podem ver coisas diferentes para o mesmo fenômeno Erros de memória – o entrevistado pode confiar demais na lembrança de informções específicas Erros de interpretação – interpretação de palavras comuns de maneira diferente: “pequena quantidade de dados” Erros de foco – amplo X restrito Ambiguidades – linguagem natural é ambigua Conflitos – entrevistador e entrevistado podem ter opiniões conflitantes, a tendência é registrar seu próprio ponto de vista Fatos que não são verdadeiros – o entrevistado pode dar informações que assumo como verdadeiras mas que são só a sua opinião

4. Finalização da entrevista A entrevista pode terminar quando todas as questões tiverem sido feitas e respondidas, quando o tempo alocado estiver se esgotado ou se o entrevistador perceber que o entrevistado está exausto É importante reservar cinco ou dez minutos para sumarizar e consolidar a informação recebida, descrevendo os tópicos adequadamente explorados e aqueles que necessitam de informação adicional A atividade mais importante posterior à entrevista é a produção de um resumo escrito, com o objetivo de reconhecer ou reordenar os tópicos discutidos e consolidar a informação obtida

Exemplo – Sistema hospitalar Gostaria que fosse construído um sistema para monitorar a temperatura e a pressão de pacientes da UTI, que deverão ficar ligados on-line a rede de computadores do hospital que é formada por um computador principal e vários terminais que monitoram os pacientes. Se a temperatura ou pressão do paciente lida pelo terminal se tornarem críticas, o computador principal deverá mostrar uma tela de alerta com um histórico das medidas realizadas para o paciente. Um aviso sonoro deve ser ativado neste caso. A verificação da pressão é feita comparando-se a pressão do paciente com um valor padrão de pressão (máximo e mínimo) a ser digitado pelo responsável e verificando-se se a pressão medida está dentro dos parâmetros considerados normais para o paciente (valores próximos ao máximo e mínimo são permitidos). Temos vários sistemas on-line no computador e todos devem rodar ao mesmo tempo

Ambiguidades Omissões O terminal ativará um aviso sonoro O computador principal ativará um aviso sonoro Omissões Quais os valores possíveis para máximos e mínimo a serem digitados pelo usuário? O que ocorre se o usuário digitar o valor máximo menor que o mínimo? E se o intervalo fornecido pelo usuário estiver fora de um valor normal para pressão? O que significa valores próximos

PIECES PIECES é uma sigla para seis categorias de questões a serem levadas em consideração: desempenho, informação e dados, economia, controle, eficiência e serviços Esta técnica é mais proveitosa na análise de produtos de software já existentes, sejam manuais ou automatizados

Desempenho O desempenho de um sistema é medido de duas maneiras: Pelo número de tarefas completadas em uma unidade de tempo (throughput), como por exemplo o número de pedidos processados no dia; e Pelo tempo de resposta, ou seja ,a quantidade de tempo necessária para executar uma única tarefa Para extrair os requisitos de desempenho é preciso fazer perguntas que ajudem a identificar as tarefas que o produto deverá executar e então identificar o throughput ou o tempo de resposta para cada tipo de tarefa

Informação e dados Para ser mais efetivo, o software deve fornecer acesso ao tipo certo de informação, nem de mais nem de menos Se os usuários tendem a não utilizar o produto isso pode ser um sintoma de que informações erradas estão sendo fornecidas Exemplos: O sistema pode fornecer informação na forma de um relatório diário que seria necessário mensalmente. O relatório pode conter muitas páginas e sua consulta se torna uma tarefa intediante o que sugere que um acesso on-line pode ser melhor

Economia Existem dois fatores de custo inter-relacionados que podem ser considerados no desenvolvimento de software: Nível de serviço – é a medida do desempenho do sistema (throughput, tempo de resposta ou ambos) Capacidade de lidar com alta demanda Alguns produto tem uma considerável alteração de demanda entretanto o desempenho dever ser relativamente estável A capacidade de lidar com alta demanda pode requerer diversos recursos adicionais, encarecendo o produto de software

Controle Os sistemas devem possuir ações de controle para prevenir comportamentos fora do esperados: Segurança O acesso pode ser restrito a certos usuários ou a certas horas do dia O acesso a algumas informações pode ser restrito a certos usuários O tipo de acesso pode ser restrito – somente leitura ou leitura e escrita Auditoria - habilidade de ver, monitorar ou reconstruir o comportamento do sistema

Eficiência A Eficiência de um produto de software é medida pela relação entre os recursos que resultam em trabalho útil e o total de recursos gastos Eficiência é diferente de economia- para melhorar a economia do processo a quantidade de recursos utilizados deve ser reduzida; para melhorar a eficiência a perda no uso desses recursos deve ser reduzida Exemplos de ineficiências: coleta do mesmo dado mais de uma vez, computar um determinado valor mais de uma vez, algoritmos e estruturas de dados pobres, interfaces inadequadas, etc

Serviços Um produto de software fornece serviços aos usuários e pode ser muito útil pensar em termos de serviços durante o processo de extração de requisitos Os usuários respondem perguntas sobre que tipos de serviços eles precisam que o produto realize e como esses serviços devem ser fornecidos É preciso saber também que interfaces serão necessárias com outros produtos de software

Brainstorming Brainstorming é uma técnica básica para geração de idéias. Ela consiste em uma ou várias reuniões que permitem que as pessoas sugiram e explorem idéias sem que sejam criticadas ou julgadas Duas fases Geração de idéias Consolidação das idéias

JAD A técnica JAD possui quatro princípios básicos: Dinâmica de grupo Uso de técnicas visuais manutenção do processo organizado e racional Utilização de documentação-padrão Consta de duas etapas principais Planejamento – extração e especificação dos requisitos Projeto de software Cada etapa consiste de três fases: adaptação, sessão e finalização

Etapas da técnica JAD Adaptação – consiste na preparação para a sessão, inclui organizar a equipe, adaptar o processo JAD ao produto a ser construído e preparar o material Sessão – consiste em um ou mais encontros estruturados, envolvendo desenvolvedores e usuário Finalização – é dedicada a converter a informaçao da fase de sessão em sua forma final, em um documento de especificão de requisitos de software Há seis tipos de participantes: líder da sessão, engenheiro de requisitos, executor, representantes dos usuários, representantes dos produtos de software, especialista