Escolar Documentos
Profissional Documentos
Cultura Documentos
Requisitos
http://www.ic.uff.br/~viviane.silva/2012.1/es1
Problema chave: Comunicao
Cliente Engenheiro de
Software
Etapas da Engenharia de Requisitos
Concepo
Elicitao
Elaborao
Negociao
Especificao
Validao
Gerenciamento
Concepo
Objetivo
Ter uma viso geral do negcio
Conhecer o cliente e suas expectativas
Resultados esperados
Identificao dos interessados (stakeholders)
Identificao dos diferentes pontos de vista
Viso geral do escopo do sistema
Elicitao
Elicitao
Objetivo
Entender o que o cliente espera do software
Problemas mais comuns
Escopo varivel (mas contrato fixo)
Incertezas do cliente
Volatilidade dos requisitos
Elementos a serem identificados
Objetos manipulados pelo sistema
Servios prestados pelo sistema
Restries que devem ser obedecidas
Critrios de desempenho
Resultados esperados
Narrativa em linguagem natural dos requisitos do sistema
Lista de requisitos do sistema
Tcnicas de Elicitao
Entrevistas
Oficinas (workshops)
Reunies de Brainstorming
Prototipao
Maquetes
Anlise de documentao existente
Anlise de sistemas existentes
Observao de pessoas trabalhando
Anlise de mercado
Etc.
Elicitao: Maximizar a satisfao do cliente!
Requisito normal
O cliente lembra de falar
O cliente ficar satisfeito se esse requisito estiver no sistema
Requisito esperado
Requisito implcito
O cliente no lembra de falar
O cliente ficar insatisfeito se esse requisito no estiver no sistema
Requisito excitante
O cliente no lembra de falar
O cliente no espera encontrar esse requisito no sistema
O cliente ficar satisfeito se esse requisito estiver no sistema
Elicitao: Cliente x Usurio final
Requisitos funcionais:
Descrevem as funcionalidades do sistema
Requisitos no funcionais:
Descrevem a qualidade do sistema
Elicitao: Requisitos funcionais
Narrativa livre
O sistema deve mostrar uma mensagem de status (finalizada, em
andamento, ...) para uma tarefa em intervalos no menores que 60
segundos
Lista de requisitos
RF-1: Uma mensagem de status deve ser mostrada na rea inferior da
janela (desenho da Fig.1)
RF-2: A mensagem deve ser atualizada a cada 60 segundos, com
tolerncia de 10 segundos para mais ou para menos
RF-3: A mensagem deve estar sempre visvel
RF-4: Se a mensagem for referente a uma tarefa em andamento, o
percentual de andamento deve ser mostrado
RF-5: Se a mensagem for referente a uma tarefa j terminada, isso
deve ser informado com o texto Finalizada
Elicitao: Requisitos no funcionais
Flexibilidade
FL-1: Um novo tipo de sensor deve poder ser configurado no sistema
em menos de 3 horas
Integridade
IN-1: Transaes histricas dos consumidores s podero ser vistas
por usurios com privilgios de auditor
Interoperabilidade
IT-1: O sistema deve ser capaz de importar dados tanto do MS Office
(verso 2003 ou maior) quanto do OpenOffice (verso 2.4 ou maior)
Confiabilidade
CF-1: Em cada 1000 execues, no mais do que 2 podem apresentar
falhas de software
Elicitao: Requisitos no funcionais
Robustez
RB-1: Se acontecer uma falha antes do usurio salvar, o sistema deve
recuperar uma verso no salva com perda de contedo menor que 1
minuto de trabalho
Usabilidade
US-1: Um usurio treinado deve ser capaz de submeter um pedido de
compra em menos que 5 minutos
US-2: Um usurio no treinado deve ser capaz de submeter um
pedido de compra em menos que 30 minutos
US-3: Todos os comandos de menu devem ter teclas de atalho
associadas
Manutenibilidade
MN-1: Todos os mtodos devem ser documentados utilizando a
notao Javadoc
MN-2: Modificaes corretivas devem ser feitas em menos de 5 horas
Elicitao: Requisitos no funcionais
Portabilidade
PR-1: O sistema deve poder ser executado em sistema operacional
Windows e Linux, nas arquiteturas i386, AIX e SPARC
Reusabilidade
RS-1: O controle de usurios deve reutilizar componentes de
autenticao j utilizados no sistema PORTMAP
Testabilidade
TS-1: A complexidade ciclomtica mxima de um mdulo no pode ser
maior que 20
Elicitao: Requisitos no funcionais
Disponibilidade x Robustez
Eficincia x Robustez
DS EF FL IN IT CF RB US MN PR RS TS
DS + +
EF - - - - - - - -
FL - - + + + +
IN - - - - -
IT - + - +
CF + - + + + + +
RB + - + +
US - + -
MN + - + + +
PR - + + - - + +
RS - + - + - + + +
TS + - + + + +
Exerccio: Agenda Eletrnica
Objetivo
Explicitar o conhecimento obtido na concepo e elicitao
Resultados esperados
Casos de uso
Classes conceituais
Negociao I/II
Objetivo
Priorizar e identificar os riscos dos requisitos
Eliminar, combinar ou modificar os requisitos
Chegar a um consenso sobre a lista final de requisitos
Conflitos comuns
Entre representantes do cliente
Requisitos contraditrios
Prioridades
Entre o cliente e a equipe de desenvolvimento
Prazo
Custo
Negociao II/II
As dimenses so interligadas
Mudana de posio em uma das dimenses pode gerar
conseqncias nas outras dimenses
Negociao: Dicas
Objetivo
Produzir a especificao de requisitos
Descrio detalhada dos requisitos
Objetivo
Assegurar que a especificao de requisitos est consistente
Problemas comuns
Ambigidade
Inconsistncia
Omisso
Erro
Validao: Questes
Ambigidade
Inconsistncia
Omisso
Erro
Objetivo
Controlar as mudanas nos requisitos
Permitir a anlise de impacto das mudanas
Tipos de rastreabilidade
Caractersticas do sistema
Fonte do requisito
Dependncias entre requisitos
Subsistemas
Interfaces
Gerenciamento: Matriz de rastreabilidade
10 princpios de engenharia de requisitos I/III