Engenharia de Software

27
Engenharia de Software Prof.: Bruno Rafael de Oliveira Rodrigues

description

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. - PowerPoint PPT Presentation

Transcript of Engenharia de Software

Page 1: Engenharia de Software

Engenharia de Software

Prof.: Bruno Rafael de Oliveira Rodrigues

Page 2: Engenharia de Software

• O levantamento de requisitos não é uma tarefa simples, por isso deve acontecer de forma organizada

Page 3: Engenharia de Software

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.

Page 4: Engenharia de Software

Técnicas de apoio durante o levantamento de requisitos

• Prototipação• Entrevistas• Questionários• Brainstorming• JAD (Joint Application Development)• Estudo etnográfico• Workshops

Page 5: Engenharia de Software

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.

Page 6: Engenharia de Software

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.

Page 7: Engenharia de Software

EntrevistaÉ uma das técnicas tradicionais mais simples de utilizar e que produz bons resultados na fase inicial de obtenção de dados.

Page 8: Engenharia de Software

• Forma mais comum: pessoal / direta• Documentar os resultados• Procurar as pessoas certas • Planejamento do tempo• Coleta prévia de tantos dados quanto possíveis

Page 9: Engenharia de Software

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

Page 10: Engenharia de Software

Questionários• É indicado, por exemplo, quando há diversos

grupos de usuários que podem estar em diversos locais diferentes do país

Page 11: Engenharia de Software

Tipos de Questionários• Múltipla escolha• Lista de verificação• Questões com espaços em branco

Page 12: Engenharia de Software

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

Page 13: Engenharia de Software

Brainstorming• É uma técnica para geração de idéias. São

reuniões onde todos têm liberdade de expressar suas opiniões.

Page 14: Engenharia de Software

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

Page 15: Engenharia de Software

• 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.

Page 16: Engenharia de Software

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

Page 17: Engenharia de Software

• 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

Page 18: Engenharia de Software

• 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.

Page 19: Engenharia de Software

Cenários• Levar as pessoas a imaginarem o comportamento

de um sistema através de exemplos práticos descritivos do comportamento de um sistema

Page 20: Engenharia de Software

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.

Page 21: Engenharia de Software

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

Page 22: Engenharia de Software

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.

Page 23: Engenharia de Software

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

Page 24: Engenharia de Software

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.

Page 25: Engenharia de Software

• 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

Page 26: Engenharia de Software

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.

Page 27: Engenharia de Software

Bibliografia• Moraes, Janaína Bedani Dixon.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.