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 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 contexto 2. Produzir uma lista consistente de requesitos •Como: Atividades de aquisição de dados Atividades de análise dos dados Entender quais são os requisitos necessários Saber que tudo isso é interativo O quê, como e por quê? •Porque: Definição de requisitos: é o estágio onde as falhas ocorrem mais freqüentemente Definir corretamente quais são os requisitos é crucial 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 escopo Entrada: 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 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)? Diferentes tipos de 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 •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 •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 Tipos de 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 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 Técnicas de aquisições de dados 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 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 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 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 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ões 2. 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? Problemas com a aquisiçã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 Problemas com a aquisição de dados • 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 a aquisição de dados •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 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 Algumas diretrizes •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 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 Descrição de tarefas •Cenários uma 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 Análise de tarefas • 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) 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 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 biblioteca 2.2 entrar na tela de busca no sistema 2.3 entrar com um critério de busca 2.4 identificar o livro requisitado 2.5 anotar a sua localização 3. ir até a prateleira e retirar o livro 4. levar o livro até o balcão e oficializar o empréstimo Exemplo de HTA 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 Emprestar um livro da biblioteca 0 plano 1: execute 1-3-4. Se o livro não estiver na prateleira, execute 2-3-4. Vá até a biblioteca 1 Encontre o livro Retire o livro da prateleira 2 Leve o livro até o balcão 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 Catálogo de acesso 2.1 Utilize sistema de busca 2.2 Entre com umcritério de 2.3 busca Identifique o livro 2.4 Anote a localização 2.5 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