30
Identificando necessidades e definindo os requisitos

Identificando necessidades e definindo os requisitos

Embed Size (px)

Citation preview

Page 1: Identificando necessidades e definindo os requisitos

Identificando necessidades

e definindo os requisitos

Page 2: Identificando necessidades e definindo os requisitos

Overview •A importância dos requisitos

•Diferentes tipos de requisitos

•Aquisição de dados

•Descrição de tarefas:

Cenários

Casos de uso

Casos de uso essenciais

•Análise das tarefas: HTA

Page 3: Identificando necessidades e definindo os requisitos

O quê, como e por quê?

•O quê2 objetivos: 1. Entender o máximo possível a respeito dos usuários, das tarefas e do contexto2. Produzir uma lista consistente de requesitos

•Como:Atividades de aquisição de dadosAtividades de análise dos dadosEntender quais são os requisitos necessáriosSaber que tudo isso é interativo

Page 4: Identificando necessidades e definindo os requisitos

•Porque:Definição de requisitos: é o estágio onde as falhas ocorrem mais freqüentementeDefinir corretamente quais são os requisitos é crucial

O quê, como e por quê?

Page 5: Identificando necessidades e definindo os requisitos

Definindo os requisitos

O quê os usuários querem? O quê eles realmente precisam? Os requisitos precisam ficar bem definidos, serem refinados, completados, analisados dentro do escopoEntrada: documentação dos requisitos (talvez) Saída: requisitos bem definidos

Por quê definir os requisitos corretamente é crucial?Conhecer bem os requisitos ajuda a entender melhor as necessidades dos usuários e a trabalhar melhor com os dados do problema

Page 6: Identificando necessidades e definindo os requisitos

Diferentes tipos de requisitos

• Funcionais: —O quê o sistema deve fazer—Históricamente o foco principal nas atividades-requisitos

• Não funcional: memória, tempo de resposta...• Dados:

—Quais os tipos de dados que devem ser armazenados?—Como estes dados serão armazenados (banco de dados)?

Page 7: Identificando necessidades e definindo os requisitos

Ambiente ou contexto de uso:

—físico: poeira? ruídos? vibração? luz? calor? umidade?—social: compartilhamento de arquivos, de equipamentos, através de grandes distâncias, privacidade para os clientes—organizacional: hierarquia, políticas internas (procedimentos adotados pela empresa) e de TI, suporte ao usuário, estrutura e infraestrutura de comunicação, treinamento

Diferentes tipos de requisitos

Page 8: Identificando necessidades e definindo os requisitos

•Usuários: quem são eles?—Características: habilidades, formação, atitude no computador—Quanto a utilização do sistema: novato, experiente, casual, freqüente—Novatos:necessidade de realizar operações passo a passo, é necessário mais restrições, informações disponíveis de forma muito clara—Experiente: flexibilidade, permissões de administrador—Freqüente: disponibilidade de atalhos—Casual: instruções e tutoriais muito claros

Diferentes tipos de requisitos

Page 9: Identificando necessidades e definindo os requisitos
Page 10: Identificando necessidades e definindo os requisitos

Diferentes tipos de requisitos

•Usabilidade: facilidade de aprender a operar o sistema e flexibilidade

Observe que os requisitos do usuário e os requisitos de usabilidade são coisas diferentes

Page 11: Identificando necessidades e definindo os requisitos

Quais são os fatores (ambiente, usuários, usabilidade) que influem nos seguintes sistemas?

• Compra de passagem aérea em um site de empresa nacional

• Compra de um produto relativamente barato em um site de leilão

• Operações de pagamento de contas no Internet Baking de bancos nacionais

Tipos de requisitos

Page 12: Identificando necessidades e definindo os requisitos

Técnicas de aquisições de dados

Questionários:—Uma série de perguntas para tentar obter algumas informações específicas —Questionários podem ter diferentes tipos de respostas:

simples sim/não; múltipla escolha; comentada—Freqüentemente são utilizadas com outras técnicas—Podem fornecer dados quantitativos e qualitativos—São ótimas para obter respostas que envolvem questões relacionadas a um grupo muito grande e disperso de pessoas

Page 13: Identificando necessidades e definindo os requisitos

Entrevistas:

—Fórum para conversar com as pessoas

—Estruturada, não estruturada, semi-estruturada

—Propostas que abrangem cenários e casos de uso

podem ser utilizados na entrevistas

—Bom para explorar alternativas

—Entretanto consome tempo e é inviável aplicar-se a

todos quando o grupo de pessoas é muito grande

Técnicas de aquisições de dados

Page 14: Identificando necessidades e definindo os requisitos

Workshops:

—Entrevistas com todo o grupo de usuários

—É ótimo para obter-se consenso e para identificar pontos ou áreas de conflito

Técnicas de aquisições de dados

Page 15: Identificando necessidades e definindo os requisitos

Observação naturalista:—Acompanhar os “stakeholders” em suas tarefas diárias, observando-os trabalhar e vendo como o processo acontece—Melhor compreensão das tarefas —É ótimo para entender a natureza e o contexto onde as tarefas são executadas—Isso requer tempo e dedicação de uma pessoa da equipe de design, e pode resultar em uma grande quantidade de dados—Etnografia é uma forma

Técnicas de aquisições de dados

Page 16: Identificando necessidades e definindo os requisitos

Estudo da documentação: —Procedimentos e regras estão freqüentemente descritos em manuais—É boa para entender as regras, legislações e práticas de mercado que envolvem a atividade—Não deve ser utilizada isoladamente—É boa para entender a legislação e regras envolvidas—Não “toma” o tempo dos stakeholders, que geralmente é o fator limitador nas outras técnicas

Técnicas de aquisições de dados

Page 17: Identificando necessidades e definindo os requisitos

Escolhendo as técnicas

As técnicas de aquisição de dados diferem de 2 formas:1. A quantidade de tempo, nível de detalhamento e risco associado às nossas conclusões2. O conhecimento que o analista necessita

A escolha da técnica é também afetada pelo tipo de tarefa a ser estudada:

—Etapas seqüenciais ou conjuntos integrados de subtarefas?—Detalhada ou superficial, informações complexas ou simples?—É necessário assessoria técnica de um especialista da área ou de assessoria jurídica?

Page 18: Identificando necessidades e definindo os requisitos

Problemas com aaquisição de dados

• Identificar e envolver os stakeholders:usuários, gerentes, desenvolvedores, clientes?, associações?, sociedades?

• Envolvendo os stakeholders: workshops, entrevistas, estudos no local, participação dos stakeholders na equipe de desenvolvimento

• Usuários reais, não os gerentes:tradicionalmente são um problema em engenharia de software, mas muito melhor agora

Page 19: Identificando necessidades e definindo os requisitos

• Requisistos de gerenciamento: controle de versão, direitos autorais

• Comunicação:—entre os membros da equipe de desenvolvimento—com o usuário / cliente—entre os usuários… diferentes partes da

organização usam diferentes terminologias• O domínio do conhecimento é distribuído e explícito:

—difícil de se aprofundar e de compreender—o conhecimento é articulado: como você raciocina

na hora que vai caminhar? Pensa na posição dos pés?

• Disponibilidade das pessoas-chave

Problemas com aaquisição de dados

Page 20: Identificando necessidades e definindo os requisitos

•Problemas políticos da organização

•Domínio de certos stakeholders (autoritarismo)

•Mudanças na economia e no contexto dos negócios

•Equilíbrio entre as demandas de usuabilidade e as funcionais

Problemas com aaquisição de dados

Page 21: Identificando necessidades e definindo os requisitos

Algumas diretrizes

•Foco na identificação das necessidades dos

stakeholders

•Envolver todos os grupos de stakeholders

•Envolver mais de um representante de cada

grupo de stakerholders

•Use uma combinação de técnicas de aquisição de

dados

Page 22: Identificando necessidades e definindo os requisitos

•Forneça suporte ao processo com a elaboração de

protótipos e descrição das tarefas

•Execute uma seção piloto

•É necessário o seu compromentimento com a coleta e

análise dos dados; antes de assumir o compromisso de

desenvolvimento é necessário estabelecer realmente

aonde você quer chegar

•Considere com cuidado como esses dados serão

armazenados

Algumas diretrizes

Page 23: Identificando necessidades e definindo os requisitos

Interpretação dos dados e análise

•Comece o mais rápido possível após a aquisição dos dados

•Faça uma interpretação inicial antes de uma análise mais aprofundada

•As diferentes técnicas enfatizam diferentes elementos. Por exemplo: diagramas de classes para sistemas orientados a objetos, diagramas de entidade-relacionamento para sistemas de bancos de dados

Page 24: Identificando necessidades e definindo os requisitos

Descrição de tarefas

•Cenáriosuma história narrativa informal, simples, natural, pessoal, não corriqueira

•Casos de uso—assumem a interação com o sistema—assumem um entendimento detalhado da interação

•Casos essenciais de uso—sumário sem muitos detalhes—não tem as mesmas suposições que os casos de uso

Page 25: Identificando necessidades e definindo os requisitos

• As descrições de tarefas são usadas freqüentemente para prever sistemas ou dispositivos novos

• A análise de tarefas é utilizada principalmente para investigar uma situação existente

• É importante não se concentrar em atividades superficiais

O que as pessoas estão tentando fazer? Por quê elas estão tentando fazer isso?De que forma elas estão tentando fazer isso?

• Existem muitas técnicas, mas a mais popular é a HTA (Hierarchical Task Analysis, ou seja, Análise Hierárquica de Tarefas)

Análise de tarefas

Page 26: Identificando necessidades e definindo os requisitos

HTA

• Consiste em dividir uma tarefa em subtarefas, subdividindo-se também as subtarefas em outras, e assim por diante

• HTA é focada em ações físicas e perceptíveis e inclui a observação de ações não relacionadas com o software ou dispositivo de interação

• Comece com os objetivos do usuário os quais devem ser examinados e as principais tarefas para atingi-lo devem ser identificadas

• Tarefas são subdivididas em subtarefas

Page 27: Identificando necessidades e definindo os requisitos

Exemplo de HTA

0. Emprestar um livro da biblioteca 1. ir até a biblioteca 2. achar o livro desejado

2.1 acessar o catálogo da biblioteca2.2 entrar na tela de busca no sistema2.3 entrar com um critério de busca2.4 identificar o livro requisitado 2.5 anotar a sua localização

3. ir até a prateleira e retirar o livro4. levar o livro até o balcão e oficializar o

empréstimo

Page 28: Identificando necessidades e definindo os requisitos

plano 1: execute 1-3-4. Se o livro não estiver na prateleira, execute 2-3-4.plano 2: execute 2.1-2.4-2.5. Se o livro não for encontrado, execute 2.2-2.3-2.4.

Exemplo de HTA

Page 29: Identificando necessidades e definindo os requisitos

Emprestar um livro da biblioteca

Vá até a biblioteca

Encontre olivro

Retire o livro da prateleira

Leve o livro até o balcão

321 4

0

Catálogode acesso

Utilize sistemade busca

Entre com umcritério de busca

Identifiqueo livro

Anote a localização

plano 1: execute 1-3-4. Se o livro não estiver na prateleira, execute 2-3-4.

plano 2: execute 2.1-2.4-2.5.Se o livro não foi encontrado, execute 2.2-2.3-2.4-2.5

2.1 2.2 2.3 2.4 2.5

Exemplo de HTA

Page 30: Identificando necessidades e definindo os requisitos

Sumário• Definir os requisitos corretamente é crucial

• Há diferentes tipos de requisitos, cada um deles é significativo no design de interação

• As técnicas mais freqüentemente utilizadas na aquisição de dados são: questionários, entrevistas, workshops, observação naturalista, estudo da documentação

• Cenários, casos de uso e casos esseciais de uso podem ser usados para articular práticas existentes e previstas do trabalho

• Técnicas de análise como a HTA ajuda a investigar sistemas existentes e práticas