Levantamento de requisitos funcionais e caracterização de materiais de apoio

Requisitos funcionais servem de orientação ao projetista nas decisões sobre as facilidades a serem providas pela interface de usuários.

O Documento de Requisitos Funcionais:

  • O documento enumera as facilidades de relevância ao projeto da interface de usuário a serem providas pelo sistema.
  • As facilidades são geralmente derivadas das tarefas identificadas e dos casos de uso delas derivados.
  • Algumas tarefas são apoiadas por múltiplas facilidades e algumas facilidades apóiam múltiplas tarefas.
  • Elaborar referências cruzadas, isto é, junto a cada requisito funcional, anotar as tarefas apoiadas e, junto a cada tarefa, os requisitos funcionais em que se apóia.
  • Cada requisito funcional deve ser identificado de forma independente de como será projetado ou implementado para permitir a projetistas e engenheiros atender ao conjunto de requisitos da melhor maneira possível, respeitadas as restrições tanto de usabilidade como técnicas.
  • Requisitos funcionais podem contemplar, entre outros (sempre indicando o que deve ser provido pelo sistema, mas não como):
    • abstrações de objetos ("materiais") a serem manuseados (lista, elementos, coleções, ...) e seus atributos em nível conceitual (exemplo: componentes de um elemento complexo)
    • indicações de estado do sistema e de objetos, níveis de atividades, ...
    • abstrações de realimentações (exemplo: notificações sonoros ou textuais para indicar que algo se iniciou ou cessou)
    • facilidades de efetuar determinadas operações abstratas ("ferramentas")
    • facilidades de dispor de determinadas informações
    • indicação do foco da interação (quando relevante)
    • facilidades de mudança de foco da interação
    • capacidade de acessos variados (exemplo: computação móvel e fixa) e concorrentes
    • formas (abstratas como texto, áudio, ...) de entrada e saída do sistema
    • facilidades para garantir a privacidade do usuário
    • facilidades de apoio on-line
  • Requisitos funcionais podem mudar ao longo do processo de desenvolvimento bem como ganhar ou perder em importância conforme a equipe de projeto for recebendo realimentações de exposições de versões preliminares do produto aos principais interessados.
  • Associar prioridades aos requisitos funcionais:
    • primordial: facilidade necessária para poder usar minimamente a aplicação
    • importante: sem a facilidade a aplicação não pode ser liberada para um uso mais amplo
    • interessante: facilidade que representa uma idéia boa para tornar o uso da tecnologia gerada mais instigante. Sua implementação, contudo, pode ser postergada para futuras versões.
  • Associar prioridades mais elevadas apenas quando há forte evidência para tal. Nem todos os requisitos que apóiam tarefas primordiais são absolutamente necessários para usar minimamente o sistema.
  • Os requisitos funcionais primordiais ("sine qua non") são aqueles estritamente necessários para usar minimamente a aplicação (nada mais, nada menos). Não representa o conjunto completo de facilidades "úteis".
  • Quanto menor a lista de requisitos funcionais primordiais, mais rapidamente ficará pronta uma versão que permitirá a coleta de informações sobre usabilidade junto a alguns usuários potenciais.
  • A lista de requisitos funcionais importantes também deve ser a menor possível, pois assim sobra mais tempo para implementá-los bem.

Para o desenvolvimento de uma tecnologia cooperativa (analogia com o estereótipo do mordomo inglês - não pode ser invasiva) é necessário:

  • conceber minimamente a arquitetura abstrata da interface (ambiente de usuário),
  • que os engenheiros de software não tomem nenhuma decisão de forma isolada que possa afetar a "experiência projetada do usuário" ("look & feel"),
  • que o balanceamento entre as restrições de usabilidade e técnicas seja ajustado de forma conjunta.

Materiais de Apoio (delineamento inicial)

  • Sumário comentado de manual.
  • Índice remissivo de manual.
  • Indicação dos módulos de um pacote de treinamento.
  • Estrutura do site com material de apoio.
  • Descrição sumária sobre a operação do help desk.

Plano de Implantação (visando usabilidade)

  • Etapas para a colocação em operação plena do produto e cronograma tentativo.
  • Indicação dos Materiais necessários para cada etapa (material para auto-aprendizagem, material para campanhas de divulgação e sensibilização, textos de encaminhamento, ...).
  • Formas de difusão do material previsto.
  • Breve descrição das ações preparatórias (procedimentos de instalação e configuração, treinamentos de usuários, capacitação de atendentes no help desk, ...).