3. Como identificar requisitos? Noções de Engenharia de Software 3. Como identificar requisitos? Objetivo: mostrar o papel da análise de requisitos de sistemas e as principais atividades relacionadas
3.1 CONSIDERAÇÕES GERAIS SOBRE REQUISITOS Podem surgir de várias formas... ... mas não implicam simplesmente escrever uma lista de desejos das características pretendidas retirados da cabeça do usuário A atividade de entender o que o produto pode realizar já recebeu várias denominações Coleta de requisitos ou captura de requisitos Elicitação de requisitos Análise de requisitos Engenharia de requisitos No design de interação é ESTABELECIMENTO DE REQUISITOS (interpretação + coleta)
Objetivos do estabelecimento de requisitos E o que são requisitos? Declaração sobre um produto pretendido que especifica o que ele deveria fazer ou como deveria operar Objetivos do estabelecimento de requisitos Especificidade Retirar ambiguidades Clareza Exemplos de requisitos para um site: “Tempo de download de uma página completa em 5 s” “Os adolescentes devem achar o site atrativo” “Tempo de resposta rápido” “Estrutura de menu fácil de utilizar”
3.2 TIPOS DE REQUISITOS Requisitos funcionais – dizem o que o sistema deve fazer. Exs.: Suporte a formatações Formatação por parágrafo Formatação por caractere Requisitos não-funcionais – indicam as limitações no sistema e em seu desenvolvimento Ser executado em várias plataformas Funcionar em um computador com 64 Mb de RAM Estar pronto em seis meses
Tipos de requisitos não funcionais Requisitos de dados Requisitos ambientais Ambiente físico Ambiente social Ambiente organizacional Ambiente técnico Requisitos do usuário Requisitos de usabilidade
. 3.3 CUIDADOS NA ANÁLISE DE REQUISITOS Se perguntar não sobre COMO deve ser feita alguma tarefa para construir o sistema, mas sobre O QUE é exigido Estar preparado para ambiguidades: “sei que você acredita que entendeu o que acha que eu disse, mas não estou certo de que percebe que aquilo que ouviu não é o que eu pretendia dizer…” Etapas que antes eram construídas posteriormente devem ser pensadas em conjunto com a análise: Construção do manual do usuário Plano dos testes de usabilidade .
Um analista deve exibir nos seus esforços traços característicos… Compreensão de conceitos abstratos Absorver fatos pertinentes Entender o ambiente do usuário Aplicar elementos do sistema aos elementos do usuário Comunicar-se bem nas formas escrita e verbal Capacidade de “ver as florestas entre as árvores” … e coordenar cada uma das tarefas associadas à análise de requisitos de software
Primeira lei da engenharia de sistemas “Não importa onde se esteja no ciclo de vida do sistema, o sistema se modificará, e o desejo de mudá-lo persistirá ao longo de todo o ciclo” (Bersoff)