Elicitação de Requisitos
f. N e il a X a v ie rElicitação de Requisitos
“A maioria dos projetos começa
quando uma necessidade de negócio é
identificada ou um mercado ou serviço
potencialmente novo é descoberto”.
N e il a X a v ie r
potencialmente novo é descoberto”.
(PRESSMAN, 2006).
Elicitação de Requisitos
A atividade de elicitação de requisitos é
uma das mais importantes práticas da
engenharia de software.
Através dela, busca-se o entendimento das
f. N e il a X a v ie r
Através dela, busca-se o entendimento das
necessidades do usuário e dos requisitos de
negócio, de forma a endereçá-los
posteriormente através de uma solução
tecnológica.
Elicitação de Requisitos
A fase da elicitação de requisitos tem
como objetivo identificar todas as
possíveis iterações importantes do
sistema e documentar de forma
N e il a X a v ie r
sistema e documentar de forma
consistente e justificada;
Elicitação de Requisitos
Na fase de levantamento o contexto
proposto é identificado assim como os
requisitos relevantes e não-relevantes
a partir da descrição, justificativa,
f. N e il a X a v ie r
a partir da descrição, justificativa,
importância, dependência entre outros
itens determinantes.
Elicitação de Requisitos
Com a elicitação é possível criar um cenário
inicial do que realmente se pretende
implementar possibilitando desta forma
visualizar se o problema proposto pode ou
não se tornar computacional;
N e il a X a v ie r
Elicitação de Requisitos
Os
tópicos
fundamentais
neste
processo
podem
ser
assim
enumerados:
Estudo de viabilidade;
f. N e il a X a v ie rEstudo de viabilidade;
Obtenção e análise de requisitos;
Validação de requisitos;
Elicitação de Requisitos
Sommerville (2003) propõe um processo
genérico de levantamento e análise que
contém as seguintes atividades:
Compreensão do domínio; N e il a X a v ie r Coleta de requisitos; Classificação; Resolução de conflitos; Definição das prioridades; Verificação dos requisitos.
Elicitação de Requisitos
Dificuldades existentes na identificação
dos requisitos
Identifica-se
um
levantamento
de
requisitos adequado através da boa
f. N e il a X a v ie r
requisitos adequado através da boa
definição do projeto da efetividade do
projeto, de informações necessárias a um
perfeito
diagnóstico
e
de
soluções
inteligentes.
Elicitação de Requisitos
Dificuldades existentes na identificação
dos requisitos
Algumas razões para o baixo grau de
confiabilidade nos resultados da fase de
N e il a X a v ie r
confiabilidade nos resultados da fase de
levantamento de requisitos de sistema:
Não é utilizada uma técnica adequada para extrair
requisitos do sistema;
O analista falha ao descrever os requisitos do
sistema de modo claro, sem ambiguidades, conciso e consistente com todos os aspectos significativos do
Elicitação de Requisitos
Entre
as
dificuldades
na
fase
de
levantamento de requisitos de sistemas
estão:
Problemas do escopo;
f. N e il a X a v ie rProblemas do escopo;
Problemas de entendimento;
Problemas de volatilidade.
Técnicas de Levantamento de
Requisitos
As técnicas de levantamento de requisitos têm por
objetivo superar as dificuldades relativas a esta fase.
Todas as técnicas possuem um conceito próprio e
suas respectivas vantagens e desvantagens, que
N e il a X a v ie r
suas respectivas vantagens e desvantagens, que podem ser utilizadas em conjunto pelo analistas.
Algumas das técnicas mais conhecidas e
Técnicas de Levantamento de
Requisitos
Cenários: representar tarefas que executam
e as que desejam executar;
Técnicas tradicionais: questionários,
entrevistas, análise de documentação
f. N e il a X a v ie r
entrevistas, análise de documentação
existente;
Técnicas de elicitação de grupo: Dinâmica
de grupo;
Prototipação: quando existe alto grau de
Técnicas para Levantamento
de Requisitos
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
N e il a X a v ie r
organizacional bem como a cultura de trabalho com o objetivo de familiarizar-se com o sistema e sua história;
Nesta técnica, o analista se insere no ambiente
de trabalho em que o sistema será utilizado. O trabalho diário é observado e são anotadas as tarefas reais em que o sistema será utilizado.
Técnicas para Levantamento
de Requisitos
Etnografia
O principal objetivo da etnografia é que ela ajuda
a descobrir requisitos de sistemas que refletem os processos reais, em vez de os processos formais, onde as pessoas estão envolvidas;
f. N e il a X a v ie r
onde as pessoas estão envolvidas;
Particularmente eficaz na descoberta de dois
tipos de requisitos:
1. Os requisitos derivados da maneira como as
pessoas realmente trabalham;
2. Os requisitos derivados da cooperação e
Técnicas para Levantamento
de Requisitos
Etnografia
Itens importantes que devem ser executados antes, durante e depois do estudo de observação:
Antes: é necessário identificar as áreas de usuário a
N e il a X a v ie r
Antes: é necessário identificar as áreas de usuário a
serem observadas; obter nome e funções das pessoas chaves que estão envolvidas no estudo de observação;
Durante: é necessário familiarizar-se com o local de
trabalho que está sendo observado;
Depois: é necessário documentar as descobertas
Técnicas para Levantamento
de Requisitos
Workshops
Trata-se de uma técnica de elicitação em grupo
usada em um reunião estruturada.
Devem fazer parte do grupo uma equipe de analistas
e uma seleção de stakeholders que melhor
f. N e il a X a v ie r
e uma seleção de stakeholders que melhor representam a organização e o contexto em que o sistema será usado, obtendo assim um conjunto de requisitos bem definidos;
Objetivo acionar o trabalho em equipe;
Há um facilitador neutro cujo papel é conduzir o
workshop e promover a discussão entre o vários mediadores.
Técnicas para Levantamento
de Requisitos
Prototipagem
Tem por objetivo explorar aspectos críticos dos
requisitos de um produto, implementado de forma rápida um pequeno conjunto de funcionalidades deste produto; N e il a X a v ie r deste produto;
Indicado para estudar as alternativas de interface do
usuário;
Benefícios: reduções dos riscos na construção do
sistema, pois o usuário chave já verificou o que o analista captou nos requisitos do produto
Técnicas para Levantamento
de Requisitos
Entrevista
É uma técnica tradicionais mais simples de
utilizar e que produz bons resultados na fase inicial de obtenção de dados;
Convém que o entrevistador dê margem ao
f. N e il a X a v ie r
Convém que o entrevistador dê margem ao
entrevistado para expor as suas idéias;
Plano de entrevista;
Técnicas para Levantamento
de Requisitos
Entrevista
Antes de realizar a entrevista devem ser
coletados e estudado todos os dados pertinentes à discussão, como formulário, relatórios, documentos e outros; N e il a X a v ie r documentos e outros;
Após a entrevista é necessário validar se o que
foi documentado pelo analista está de acordo com a necessidade do usuário, e se o usuário não mudou de opinião.
Técnicas para Levantamento
de Requisitos
Entrevista
A atitude do analista em relação à
entrevista é determinar seu fracasso ou
seu sucesso;
f. N e il a X a v ie rseu sucesso;
O analista deve ter em mente que o
entrevistado é o perito no assunto e
fornecerá as informações necessárias ao
sistema;
Técnicas para Levantamento
de Requisitos
Questionário
O uso do questionário é indicado, por
exemplo, quando há diversos grupos de
usuários que podem estar em diversos
N e il a X a v ie r
usuários que podem estar em diversos
locais diferentes do país;
Técnicas para Levantamento
de Requisitos
Questionário
Neste caso, elaboram-se pesquisas específicas
de acompanhamento com usuários selecionados, que a contribuição em potencial pareça mais importante, pois não seria prático
f. N e il a X a v ie r
pareça mais importante, pois não seria prático entrevistar todas as pessoas em todos os locais;
Tipos de questionário que podem ser utilizados:
Múltipla escolha; Lista de verificação;
Técnicas para Levantamento
de Requisitos
Questionário
Na preparação do questionário deve ser
indicado o tipo de informação que se
deseja obter;
N e il a X a v ie rdeseja obter;
Técnicas para Levantamento
de Requisitos
Questionário
Assim que os requisitos forem definidos o
analista deve elaborar o questionário com questões de forma simples, clara e concisa, deixar espaço suficiente para as respostas que
f. N e il a X a v ie r
deixar espaço suficiente para as respostas que foram descritivas e agrupar as questões de tópico específicos em um conjunto com título especial;
O questionário deve ser acompanhado de uma
carta explicativa, enfatizando a importância dessa pesquisa para a organização.
Técnicas para Levantamento
de Requisitos
Questionário
Deve haver um controle que identifique todas as
pessoas que receberão os questionários;
Ao analisar as respostas dos participantes é feito
uma consolidação das informações fornecidas no
N e il a X a v ie r
uma consolidação das informações fornecidas no questionário, documentando as principais descobertas e enviando uma cópia com estas informações para o participante como forma de consideração ao tempo dedicado.
Técnicas para Levantamento
de Requisitos
Brainstorming
É uma técnica 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; f. N e il a X a v ie r idéias;
As principais etapas necessárias para conduzir
uma sessão de brainstorming são;
Seleção dos participantes;
Explicar a técnica e as regras a serem
seguidas;
Técnicas para Levantamento
de Requisitos
Brainstorming
No brainstorming as idéias que a princípio
pareçam não convencionais, são encorajadas, pois elas frequentemente estimulam os participantes, o que pode levar a solução criativa
N e il a X a v ie r
participantes, o que pode levar a solução criativa do problema;
Técnicas para Levantamento
de Requisitos
Brainstorming
Encorajar os participantes a combinar ou
enriquecer as idéias dos outros;
Analisar as idéias é a fase final do brainstorming.
Nesta fase é realizada uma revisão das idéias,
f. N e il a X a v ie r
Nesta fase é realizada uma revisão das idéias, uma de cada vez.
Técnicas para Levantamento
de Requisitos
JAD
Join Application Design é uma técnica para
promover cooperação, entendimento e trabalho em grupo entre os usuários e desenvolvedores; O JAD facilita a criação de uma visão
N e il a X a v ie r
O JAD facilita a criação de uma visão
compartilhada do que o produto de software deve ser;
Técnicas para Levantamento
de Requisitos
JAD
A técnica JAD tem quatro princípios básicos:
Dinâmica de grupo;
Uso de técnicas visuais;
f. N e il a X a v ie r
Uso de técnicas visuais;
Manutenção do processo organizado e
racional;
Técnicas para Levantamento
de Requisitos
JAD
É composta de duas etapas principais:
Planejamento, que tem por objetivo elicitar e
especificar os requisitos; e Projeto, em que se
lida com o projeto de software;
N e il a X a v ie r
lida com o projeto de software;
Cada etapa possui três fases:
Adaptação; Sessão; Finalização.
Técnicas para Levantamento
de Requisitos
JAD
Há seis tipos de participantes, embora nem
todos participem de todas as fases:
Líder da sessão; f. N e il a X a v ie r Engenheiro de requisitos; Executor;
Representantes dos usuários;
Representante de produtos de software; Especialistas.
Técnicas para Levantamento
de Requisitos
JAD
A maioria das técnicas JAD funciona melhor em
projetos pequenos ou médios;
Para um sistema grande e complexo podem ser
usadas múltiplas sessões JAD para acelerar a
N e il a X a v ie r
usadas múltiplas sessões JAD para acelerar a definição de requisitos do sistema;
Não existe uma técnica padrão o processo de
levantamento de requisitos;
Para alcançar um levantamento mais preciso dos
requisitos é importante ter conhecimento de várias técnicas de levantamento aplicar em cada
Elicitação de Requisitos
O analista de sistemas:
Precisa
mais
do
que
apenas
a
capacidade de desenhar fluxograma e
outros diagramas técnicos;
f. N e il a X a v ie r
outros diagramas técnicos;
Tem a função de projetar e analisar
Elicitação de Requisitos
O analista de sistemas:
Possuir capacidade de:
Compreender conceitos abstratos; Absorver fatos pertinentes;
N e il a X a v ie r
Absorver fatos pertinentes;
Entender os ambientes do usuário/cliente;
Aplicar elementos do sistema de hardware
e/ou software aos elementos do usuário/cliente;
Comunicar bem nas escrita e verbal e
Elicitação de Requisitos
Diretrizes do Projeto
A coleta de dados é uma das fases mais
importantes e cruciais a qual define o
prosseguimento
ou
não
do
f. N e il a X a v ie rprosseguimento
ou
não
do
desenvolvimento do que foi solicitado;
O projeto depende inteiramente dos
resultados gerados do levantamento de
requisitos.
Elicitação de Requisitos
Diretrizes do Projeto
O analista após a coleta de informações
deve ter claro as respostas necessárias
para prosseguir para a próxima fase;
N e il a X a v ie r
Elicitação de Requisitos
Diretrizes do Projeto
Descrever minuciosamente todos os envolvidos
no processo (pessoas, organizações entre outros.), ou seja, informações relacionadas com o desenvolvimento do sistema como:
f. N e il a X a v ie r
o desenvolvimento do sistema como:
1. Para quem será desenvolvido? 2. Quem pagará?
3. Quem comprará? 4. Pessoas afetas?
Elicitação de Requisitos
Restrições de Projeto
Com a correta descrição das restrições é
possível especificar como o produto final
deverá se ajustar ao contexto proposto;
N e il a X a v ie r
As restrições englobam três itens bem
definidos:
Requisitos funcionais;
Requisitos não- funcionais; Questões de projeto
Elicitação de Requisitos
Restrições de Projeto
As restrições do projeto surgem a partir
da coleta de dados, onde o cliente lista
algumas restrições “exigências”, que
f. N e il a X a v ie r
algumas restrições “exigências”, que
determinam o funcionamento do sistema.
Elicitação de Requisitos
Restrições de Projeto
O diálogo com o cliente na fase inicial é
importante para deixar bem claro todas as
reais exigências do cliente em relação ao
N e il a X a v ie r
reais exigências do cliente em relação ao
que ele deseja do sistema e possibilita
também que
o
analista
possa
posteriormente comprovar tudo o que foi
solicitado;
Elicitação de Requisitos
Restrições
de
Projeto
–
Requisitos
Funcionais
O objetivo dos requisitos funcionais é especificar
as funcionalidades ou atividades do sistema ( o escopo do trabalho, do produto e os requisitos
f. N e il a X a v ie r
escopo do trabalho, do produto e os requisitos funcionais e de dados);
Elicitação de Requisitos
Restrições
de
Projeto
–
Requisitos
Funcionais
O escopo do trabalho busca apresentar o
domínio do sistema listando os vários eventos de negócio definidos pelo usuário;
N e il a X a v ie r
negócio definidos pelo usuário;
O escopo do produto é possível listar e
identificar os casos de usos oriundos e descritos a partir dos eventos relatados no escopo do trabalho
;
Elicitação de Requisitos
Restrições
de
Projeto
–
Requisitos
Funcionais
Os requisitos funcionais e de dados podem ser
descritos utilizando uma ficha própria de
especificação de requisitos composta por
f. N e il a X a v ie r
especificação de requisitos composta por
campos
(itens)
que
irão
descrever
sucintamente todas as informações relativas
aos requisitos capturados;
N e il a X a v ie r
Elicitação de Requisitos
Restrições
de
Projeto
–
Requisitos
Funcionais
Com
a
ficha
Volere
estaremos
identificando os requisitos que ainda
f. N e il a X a v ie r
identificando os requisitos que ainda
não foram capturados, fornecendo
desta forma uma nova visão do
sistema;
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Caracterizam-se pela especificação das
N e il a X a v ie r
Caracterizam-se pela especificação das propriedades comportamentais das funções já especificada.
São eles: sensoriais, de usabilidade, de desempenho, de desempenho, de operação, de manutenibilidade e portabilidade, de segurança, legais e de cultura e política.
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos Sensoriais
Devemos descrever as reais necessidades e
f. N e il a X a v ie r
Devemos descrever as reais necessidades e exigências do cliente no que se refere a: interface do produto, a cor, forma, marca, slogan, tamanho, ordem, enfim informações referentes ao produto;
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos de Usabilidade
Deve-se especificar a dificuldade quanto ao
N e il a X a v ie r
Deve-se especificar a dificuldade quanto ao uso do produto, sua eficiência, taxa de erro, a facilidade de memorização dos comando pelo usuário assim como a satisfação após seu uso...”o tempo que ele leva para aprender”...
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos de Desempenho
Descrever quanto tempo o produto executa
f. N e il a X a v ie r
Descrever quanto tempo o produto executa a ação desejada, qual o tempo de resposta do produto (sistema), os riscos que apresenta para o usuário “é importante que se realize teste”.
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos de Operação
É necessário saber qual ambiente o
N e il a X a v ie r
É necessário saber qual ambiente o
sistema
irá
funcionar
(físico
e
tecnológico), assim como a interação com
outros sistemas.
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos
de
Manutenibilidade
e
Portabilidade
f. N e il a X a v ie rPortabilidade
Descrição do tempo necessário para a realização de alterações no produto (troca ou manutenção de requisitos), estimar um tempo para lançar uma nova versão do produto.Indicar as plataformas que o produto irá rodar.
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos de Segurança
Descrever como será realizada a segurança
N e il a X a v ie r
Descrever como será realizada a segurança dos dados, quem poderá ter acesso a eles, quais acessos, se há restrições (quais), etc.
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos de Cultura e Política
Descrever se o produto não respeita
f. N e il a X a v ie r
Descrever se o produto não respeita (atende) a alguma exigência social, étnica ou política de algum país, tal consideração torna-se relevante caso o produto seja exportado.
Elicitação de Requisitos
Restrições de Projeto – Requisitos
Não-funcionais
Requisitos de Legais
Requer que sejam realizadas as
N e il a X a v ie r
Requer que sejam realizadas as especificações legais do produto, e com quais padrões o sistema está coerente.
Elicitação de Requisitos
Questões de Projeto
Especificar as condições que o projeto será
desenvolvido;
Registrar e manter as questões que ainda não
foram solucionadas; f. N e il a X a v ie r foram solucionadas;
Realizar um cronograma detalhado com datas
que vão desde a criação até a entrega do software (que envolva todo o ciclo de vida).
Boas Práticas
Considerando-se a complexidade na execução das atividades de elicitação de requisitos e a dependência do relacionamento entre os
envolvidos, algumas boas práticas devem ser adotadas pelos analistas de forma a facilitar o
N e il a X a v ie r
adotadas pelos analistas de forma a facilitar o processo:
Preparação: Prepare-se previamente e de forma
adequada para as atividades planejadas, as quais são geralmente realizadas através de entrevistas, questionários, brainstorms e workshops.
Boas Práticas
Stakeholders: Mapeie (com antecedência) quem
serão os participantes do processo, quais os seus papéis no projeto e na organização e quais são os seus níveis de conhecimento e influência. É
imprescindível que as pessoas corretas sejam
f. N e il a X a v ie r
imprescindível que as pessoas corretas sejam envolvidas o quanto antes.
Postura: Busque sempre a efetividade nas
comunicações, assim como procure demonstrar ponderação durante as situações de conflito.
Boas Práticas
Entendimento: Procure focar no
entendimento do problema e evitar
conclusões precipitadas. Nesse primeiro
momento o mais importante é saber escutar.
N e il a X a v ie r
Experiências passadas: Utilize de forma
positiva as experiências vividas
anteriormente para ajudar a melhor
compreender o problema. Evite considerar
que o problema atual é igual a algum outro
que tenha sido resolvido em um cliente ou
Boas Práticas
Documentação: descreva o problema de forma
clara e objetiva. Em caso de dúvidas, consulte o cliente e evite inferências. Procure usar exemplos citados pelos stakeholders. A adoção de diagramas e figuras sempre ajuda na documentação e
f. N e il a X a v ie r
e figuras sempre ajuda na documentação e entendimento dos requisitos. A criação de
protótipos também contribui para o entendimento comum da solução proposta.
Validação: Faça com que os stakeholders validem
a documentação, verificando o entendimento do problema e as melhorias desejadas e