270 likes | 476 Views
Engenharia de Software. Prof.: Bruno Rafael de Oliveira Rodrigues. O levantamento de requisitos não é uma tarefa simples, por isso deve acontecer de forma organizada. Principais problemas relacionados ao levantamento de requisitos.
E N D
Engenharia de Software Prof.: Bruno Rafael de Oliveira Rodrigues
O levantamento de requisitos não é uma tarefa simples, por isso deve acontecer de forma organizada
Principais problemas relacionados ao levantamento de requisitos • Problemas de escopo – O limite do sistema é mal definido ou o cliente especifica detalhes técnicos desnecessários • Problemas de entendimento – Os clientes/usuários não estão completamente certos do que é necessário; têm dificuldade de informar as necessidades ao engenheiro de sistemas; omitem informações que acreditam ser “óbvias”; especificam requisitos conflitantes com as necessidades de outros clientes/usuários; • Problemas de volatilidade – Os requisitos mudam ao longo do tempo.
Técnicas de apoio durante o levantamento de requisitos • Prototipação • Entrevistas • Questionários • Brainstorming • JAD (Joint ApplicationDevelopment) • Estudo etnográfico • Workshops
Prototipação • É construído com o objetivo de demonstrar aos usuários o que o analista conseguiu captar quanto aos requisitos do produto, ou parte dele.
O protótipo é indicado: • alternativa de interface de usuário. • os problemas de comunicação com outros produtos. • a viabilidade de atendimento dos requisitos de desempenho.
Entrevista É uma das técnicas tradicionais mais simples de utilizar e que produz bons resultados na fase inicial de obtenção de dados.
Forma mais comum: pessoal / direta • Documentar os resultados • Procurar as pessoas certas • Planejamento do tempo • Coleta prévia de tantos dados quanto possíveis
Para elaborar perguntas • Explique o relacionamento entre o que está em discussão e as demais partes do sistema; • Descreva o ponto de vista de outros usuários em relação ao item que esteja sendo discutido; • Descreva informalmente a narrativa do item em que o analista deseja obter informações; • Perguntar ao usuário se o item em discussão depende para a sua existência de alguma outra coisa, para assim poder juntar os requisitos comuns do sistema, formando assim um escopo conciso
Questionários • É indicado, por exemplo, quando há diversos grupos de usuários que podem estar em diversos locais diferentes do país
Tipos de Questionários • Múltipla escolha • Lista de verificação • Questões com espaços em branco
Deve ser desenvolvido um controle que identifique todas as pessoas que receberão os questionários. Devem haver instruções detalhadas sobre como preenchê-lo e ser indicado claramente o prazo para devolução do questionário
Brainstorming • É uma técnica para geração de idéias. São reuniões onde todos têm liberdade de expressar suas opiniões.
Para conduzir uma sessão de brainstorming • Seleção dos participantes • Explicar a técnica e as regras a serem seguidas • Produzir uma boa quantidade de idéias
Uma pessoa registra todas as ideias em uma lousa branca ou em papel. À medida que cada folha de papel é preenchida, ela é colocada de forma que todos os participantes possam vê-la.
Workshops • Consiste numa técnica usada através de uma reunião estruturada, da qual devem fazer parte um grupo de analistas e um grupo representando o cliente, para então obter um conjunto de requisitos bem definidos
Promove-se a interação entre todos os elementos presentes no workshop fomentando momentos de descontração como forma de dinamizar o trabalho em equipe, existindo um facilitador neutro cujo papel é conduzir a workshop e promover a discussão entre os vários intervenientes
Uma técnica que é também útil em workshops é o uso de brainstorming. • Deve ser produzida documentação que reflita os requisitos e decisões tomadas sobre o sistema a implementar. É importante que esta técnica, não seja utilizada sozinha, pois a informalidade do Workshop poderá deixar alguns detalhes dos projetos escapar.
Cenários • Levar as pessoas a imaginarem o comportamento de um sistema através de exemplos práticos descritivos do comportamento de um sistema
Os cenários devem incluir • Estado do sistema no início do cenário. • Sequência de eventos esperada (na ausência de erros) no cenário. • Listagem de erros que podem ocorrer no decorrer dos eventos do cenário e de como estes erros serão tratados. • Outras atividades que podem ser executadas ao mesmo tempo que as deste cenário. • Estado do sistema depois de o cenário terminar.
JAD (Joint Application Design) • É uma técnica estruturada de condução de reuniões, aplicável a diversas atividades de desenvolvimento de software. • Muito útil para o levantamento e a negociação de requisitos
Vantagens do JAD • Compromete nos requisitos os usuários com poder de decisão sobre eles. • Reduz o prazo de levantamento da especificação de requisitos. • Elimina requisitos de valor questionável. • Reduz diferenças de interpretação dos requisitos entre usuários e desenvolvedores. • Produz um primeiro esboço das interfaces de usuários. • Traz à baila, o mais cedo possível, problemas políticos que possam interferir no projeto.
Problemas do JAD • A não participação das pessoas que desempenham papéis-chave nos processos de uso do produto. • A participação das pessoas não comprometidas com o produto • O número excessivo de participantes(8 a 15 pessoas) • O cliente não libere o seu pessoal para participar das reuniões com a dedicação necessária
Etnografia • É uma técnica de observação que pode ser utilizada para compreender os requisitos sociais e organizacionais, ou seja, entender a política organizacional bem como a cultura de trabalho com objetivo de familiarizar-se com o sistema e sua história.
Uma observação direta das atividades realizadas durante um período de trabalho de um funcionário é possível encontrar requisitos que não seriam observáveis usando técnicas convencionais
Problemas da Etnografia • O tempo necessário para os processar pode ser demasiado. Nesta técnica assume-se que o representante do cliente observado desempenha as suas funções "corretamente", pelo que convém ter algum cuidado na escolha do mesmo.
Bibliografia • Moraes, Janaína BedaniDixon.Técnicas para levantamento de Requisitos. Disponível em:<http://www.devmedia.com.br/artigo-engenharia-de-software-2-tecnicas-para-levantamento-de-requisitos/9151> acessado em: 07 de mar. De 2012 • Felizardo, José Henrique Lincoln da Fonseca. Técnicas Para Levantamento de Requisitos. Disponível em: <http://www.projetodiario.com.br/engenharia-de-requisitos/tecnicas-para-levantamento-de-requisitos> acessado em: 07 de mar. De 2012 • Técnicas de Levantamento de Requisitos disponível em: <http://pt.scribd.com/doc/40232331/Tecnicas-de-Levantamento-de-Requisitos> acessado em: 07 de mar. De 2012 • PÁDUA, Wilson de Paula. Engenharia de software: fundamentos, métodos e padrões. 1. ed. LTC, 2001.