Escolar Documentos
Profissional Documentos
Cultura Documentos
Analise de Requisitos Software
Analise de Requisitos Software
rildosan@uol.com.br
rildo.santos@companyweb.com.br
Twitter: http://twitter.com/rildosan
Blog: http://rildosan.blogspot.com/
Contedo:
Sobre o Autor
Sobre a Apresentao
Introduo
1 Requisitos de Software
Sobre o autor:
Coach e Consultor de Gesto de Negcios, Inovao e Tecnologia para a Gesto 2.0, a Gesto gil.
A Gesto gil ajuda as empresas a responder mais rpido as demandas de negcio e mudanas. A Gesto 2.0, abrange
Planejamento Estratgico, Gesto por Processos geis, Gesto de Projetos geis, Tecnologia da Informao (Mtodos geis),
Inovao e Liderana.
Minha Experincia:
Tenho mais de 10.000 horas de experincia em Gesto de Negcios, Gesto de Inovao, Governana e Engenharia de
Software. Formado em Administrao de Empresas, Ps-Graduado em Didtica do Ensino Superior e Mestre em Engenharia
de Software pela Universidade Mackenzie.
Rildo Santos
Fui instrutor de Tecnologia de Orientao a Objetos, UML e Linguagem Java na Sun Microsystems e na IBM.
Conheo Mtodos geis (SCRUM, Lead, FDD e XP), Arquitetura de Software, SOA (Arquitetura Orientado a Servio),
RUP/UP - Processo Unificado, Business Intelligence, Gesto de Risco de TI entre outras tecnologias.
Sou professor de curso de MBA da Fiap e fui professor de ps-graduao da Fasp e IBTA.
Possuo fortes conhecimentos de Gesto de Negcio (Inteligncia de Negcio, Gesto por Processo, Inovao, Gesto de
Projetos e GRC - Governance, Risk and Compliance), SOX, Basel II e PCI;
E experincia na implementao de Governana de TI e Gerenciamento de Servios de TI. Conhecimento dos principais
frameworks e padres: ITIL, Cobit, ISO 27001 e ISO 15999;
Desempenhei diversos papis como: Estrategista de Negcio, Gerente de Negcio, Gerente de Projeto, Arquiteto de Software,
Projetista de Software e Analista de Sistema em diversos segmentos: Financeiro, Telecomunicaes, Seguro, Sade,
Comunicao, Segurana Pblica, Fazenda, Tecnologia, Varejo, Distribuio, Energia e Petrleo e Gs.
Possuo as certificaes: CSM - Certified SCRUM Master, CSPO - Certified SCRUM Product Owner , SUN Java Certified
Instrutor, ITIL Foundation e sou Instrutor Oficial de Cobit Foundation e Cobit Games;
Sou membro do IIBA-International Institute of Business Analysis (Canada)
Onde estou:
Twitter: http://twitter.com/rildosan
Blog: http://rildosan.blogspot.com/
Verso 28
Sobre o Apresentao
Esta apresentao discute e fornece informao sobre o Ciclo de Requisitos de Software, indo da
elicitao at a especificao de requisitos de software.
abordado as principais tcnicas, ferramentas e melhores prticas para desenvolvimento da
especificao de requisitos
Verso 28
Introduo
Introduo
Fases
Fluxos de Trabalho Concepo Elaborao
Construo
Transio
Modelagem de Negcios
Nosso
escopo
Requisitos
Anlise e Projeto
Implementao
Teste
Implantao
Opcional
Gerncia de Configurao
Gerncia de Projeto
Ambiente
Iteraes
Preelim.
Iter.
#1
Iter.
#2
Iter.
#n
Iter. Iter.
#n+1 #n+2
Iter.
#m
Iter.
#m+1
Iteraes
Verso 28
Introduo
Da perspectiva da engenharia de software, a elicitao de requisitos talvez a mais parte mais critica
do processo de desenvolvimento de software.
Estudos indicam que os requisitos, s detectados depois do software implementado ou erros na anlise
de requisitos, so at 20 vezes mais caros de se corrigir que qualquer outro tipo de erro.
Verso 28
Requisitos de Software
Requisitos de Software
Objetivo desta parte:
apresentar e discutir o Ciclo de Requisitos de Software:
Identificao, Elicitao, Anlise, Especificao e
Validao
Verso 28
Introduo
Um cenrio comum:
Verso 28
Requisitos de Software
Requisitos
Analise de Requisitos de Software
Verso 28
10
Requisitos de Software
Verso 28
11
Requisitos de Software
Elicitao de Requisitos
A elicitao de requisitos corresponde a identificar junto aos clientes/usurios quais so
os objetivos do sistema, o que deve ser acompanhado, como o sistema se encaixa no
contexto das necessidades do negcio e, finalmente, como ser a utilizao do sistema
no dia-a-dia.
A parte mais rdua na construo de um software consiste exatamente em identificar
o que construir. Nenhuma outra parte do trabalho compromete tanto o resultado do
trabalho se elaborado de forma incorreta. Nenhuma outra parte oferece tanta dificuldade
para efetuar correes posteriores. " F. Brook
Apesar de parecer simples, trata-se de um processo extremamente complexo. Algumas
das razes desta dificuldade:
Problemas de escopo:
Os limites do sistema so geralmente definidos de forma incompleta, ou os
clientes/usurios especificam detalhes tcnicos desnecessrios;
Problemas de compreenso:
Os clientes/usurios geralmente no esto completamente certos das necessidades, tm
uma pouca compreenso ou do domnio do seu negcio, omitem informaes que julgam
bvias e etc.
Problemas de volatilidade:
Os requisitos mudam o tempo todo.
Verso 28
12
Requisitos de Software
Elicitao de Requisitos
Para ajudar a superar estes problemas, os desenvolvedores devem abordar os requisitos
de forma simples, prtica e organizada. Alguns passos so recomendados para atividade
de Elicitao de Requisitos de Software:
- Avaliar a viabilidade tcnica e de negcio para o sistema proposto;
- Identificar as pessoas que vo auxiliar a especificar os requisitos e compreender seus
preconceitos organizacionais;
- Definir o ambiente tcnico no qual o sistema ser instalado;
- Identificar regras de domnio que limitam a funcionalidade ou desempenho do software
que ser construdo;
- Definir um ou mais mtodos de elicitao de requisitos;
- Solicitar participao de vrias pessoas para que os requisitos sejam definidos a partir
de diversos pontos de vista;
- Identificar claramente a justificativa de existncia para cada requisito registrado;
- Identificar requisitos ambguos que sero candidatos a prototipao.
Os documentos criados como conseqncia da atividade de elicitao de requisitos iro
depender do tamanho do software/sistema que ser construdo.
Verso 28
13
Elicitao de Requisitos
Analise de Requisitos de Software
Stakeholder = Todos os clientes interessados no contexto de requisitos, pode ser uma pessoa ou entidade
Verso 28
14
Requisitos de Software
Elicitao de Requisitos
Analise de Requisitos de Software
Verso 28
15
Requisitos de Software
Regras de
negcio
Documento de Viso
Documentos
Documento de
Requisitos
16
Identificao e Elicitao de
Requisitos
Objetivo desta parte:
apresentar e discutir as atividades de Identificao e
elicitao de requisitos
Verso 28
17
Regras de
negcio
Documento de Viso
Documentos
Documento de
Requisitos
Verso 28
18
19
Elicitao Boa
Elicitao Ruim
Bom Diagnstico
Diagnstico ineficiente
Solues eficientes
Solues medocres
Verso 28
20
Participantes:
Analistas e
Especialista
em Negcios
Reunies e
Workshops
Documentos
e sistemas
Objetivo:
Descrever
a viso inicial
do software
identificao/
elicitao de
Requisitos
Participantes:
Usurio,
Clientes,
Fornecedores e
Patrocinadores
Entrevistas
Verso 28
Observao
de campo
Documento
de viso
21
Planejamento
Identificar Fontes
Tcnicas
Elicitao de
Requisitos
Identificar Funcionalidades
Identificar Restries e Riscos
Documentao
Documento de Viso
Verso 28
22
Verso 28
23
Quais so as tcnicas ?
Existem vrias tcnicas, todas elas possuem seus
prprios conceitos, vantagens e desvantagens,
que podem ser usada nesta atividade entre elas
esto:
- Reunies formais;
- Reunies informais;
- Entrevistas;
- Questionrios;
- Workshop;
- Brainstorming;
- JAD (Join Application Development)
- Fast;
- Anlise de Documentos;
- Manual de Sistemas Legados.
Verso 28
24
Verso 28
25
- Declarao do problema:
uma descrio narrativa, que apresenta de forma concisa e
clara s necessidades dos usurios.
Esta narrativa tambm deve descrever o cenrio atual e as
necessidades futuras.
A linguagem usada neste documento pode ser tcnica ou de
negcios, entretanto, evite o usar jarges que no se
enquadram no escopo do problema.
- Diagrama de Contexto:
Estabelece quais so as fronteiras do software e principais
funcionalidades, ou seja, onde as responsabilidades do
software comeam e quando acabam.
Verso 28
26
Que stakeholders ?
Stakeholders podem ser pessoas ou entidades que influenciam
a construo do software.
Exemplo:
- Usurios, porque definem os requisitos
- Gerentes, Diretores, Patrocinadores porque influenciam
atravs de tomada de deciso.
Verso 28
27
Verso 28
28
Requisitos
Requisitos
Funcionais
Requisitos
No-Funcionais
Definem as
funcionalidades do
sistema. O que sistema
deve fazer.
Declaram as
caractersticas que o
sistema deve possuir e
que esto relacionadas
s suas
funcionalidades.
Requisitos de Software
Verso 28
29
Requisitos Funcionais:
Os requisitos funcionais descrevem o que o sistema deve fazer, isto , as funes
necessrias para atender os objetivos do sistema.
Exemplo:
- Cadastrar Clientes;
- Fazer Anlise de Crdito;
- Fazer uma Transao com Banco de Dados;
- Cadastrar um Registro de Atendimento;
- Imprimir Relatrio
- etc.
Verso 28
30
Requisitos No Funcionais:
- Confidencialidade;
- Confiabilidade;
- Performance;
- Qualidade;
- Usabilidade;
Verso 28
- Portabilidade;
- Preciso;
- Integridade;
- Segurana
- etc.
31
Verso 28
32
Exemplo:
Declarao do Problema
Exemplo: Acompanhamento das estatsticas de aprendizado do aluno e da turma (professor)
Informao: Relatrio de aproveitamento do aluno e da turma (s)
Requisitos Funcionais:
O sistema deve registrar as principais aes de cada usurio.
O sistema deve fornecer um relatrio do aproveitamento do aluno.
O relatrio de aproveitamento do aluno deve conter o tempo de uso do software,
o nmero de exerccios feitos, o nmero de acertos e o de erros.
O sistema deve fornecer um relatrio do aproveitamento da turma.
O relatrio de aproveitamento da turma deve conter a mdia e o desvio-padro
dos seguintes dados: tempo de uso do software, nmero de exerccios feitos,
nmero de acertos e erros de cada exerccio.
Requisitos No-Funcionais:
O sistema deve usar grficos comparativos do aproveitamento do aluno com a mdia
da turma
O sistema deve usar cores na construo dos grficos
O tempo de resposta na elaborao do relatrio no pode ser superior a 15 segundos.
Verso 28
33
- Identificao de Riscos:
Os riscos so a principal razo de falha em um projeto de software.
Para um projeto ter sucesso importante a identificao dos riscos o
mais cedo o possvel. Assim poderemos criar um plano para reduzi-los.
No Documento de Viso precisamos apenas identificar e criar uma
Lista de Riscos encontrados.
Os eventos de riscos podem ter vrias origens como:
- Poltica:
O software pode sofre a influncia de Poltica de Negcios da
Empresa ou Leis, Decretos, Normas e Regulamentos que regulam a
sociedade.
Problemas financeiros
Exemplos de Sistemas que tem restries legais:
- SPB (Sistema Brasileiro de Pagamentos) - Banco Central
- Sistema de Faturamento e Contbil (Secretria da Fazenda
Municipal, Estaduais e Federais)
- Sistema de Folha de Pagamento (Ministrio do Trabalho e
Previdncia Social)
- Sistema de Conta Corrente (Banco Central - CPMF)
Verso 28
34
- Identificao de Riscos:
- Tecnologia:
Uso de tecnologias emergentes; Integrao com legado
- Recursos:
Oramento estreito; Contratao de Terceiros
- Habilidade:
Falta de domnio da tecnologia (conhecimento e experincia)
- Requisitos:
Requisitos no so plenamente conhecidos
Verso 28
35
Verso 28
36
Documento de Viso:
Objetivo:
Fazer uma descrio da viso do software
Este documento tem as as seguintes sees:
- Declarao do Problema;
- Lista dos Stakeholders
- Lista dos Requisitos
- Lista de Riscos
- Lista das Restries
Verso 28
37
Documento de Viso:
Data: ________ | Autor: ________ | Reviso: ____
ndice:
1.0 - Introduo
1.1 Objetivo do documento
1.2 Escopo
1.3 Abreviaturas, Siglas e etc.
2.0 Contexto
2.1 Declarao do Problema
3.0 Lista de Stakeholders
3.1 Stakeholders primrios
3.2 Stakeholders segundrios
4.0 Lista dos Requisitos
4.1 Requisitos funcionais
4.2 Requisitos no funcionais
5.0 Lista dos Riscos
6.0 Lista das Restries
6.1 Software
6.2 Hardware
6.3 Ambiente e Tecnologia
Verso 28
38
Anlise de Requisitos
Objetivo desta parte:
apresentar e discutir as atividades da anlise de
requisitos de software
Verso 28
39
Anlise de Requisitos
Regras de
negcio
Documento de Viso
Documentos
Documento de
Requisitos
Verso 28
40
Anlise de Requisitos
Verso 28
41
Anlise de Requisitos
Anlise de Requisitos
A Anlise de Requisitos deve ser:
Correta: Quando cada requisito expresso nela for encontrado no software;
No Ambgua: Cada requisito deve ter somente uma interpretao;
Completa: Quando incluir todos os requisitos significativos relacionados as
funcionalidades e requisitos relacionados a qualidade do servio (tambm
conhecidos como requisitos no funcionais)
Consistente: Quando no existir conflito entre os requisitos;
Verificvel: Quando for possvel verificar/validar cada requisito;
Modificvel: Quando os requisitos podem ser facilmente alterados.
Verso 28
42
Anlise de Requisitos
Anlise de Requisitos
Atividades da Anlise de Requisitos
A anlise de requisitos possibilita que o Analista de Sistemas especifique as
funcionalidades, classificando e detalhando os requisitos encontrados na coleta.
Os requisitos funcionais sero descritos em detalhes. E os requisitos no funcionais sero
classificados.
Detalhar os
Requisitos Funcionais
Classificar os
Requisitos no Funcionais
Descrever os Usurios
e Entidades Externas
Documento de Requisitos
Verso 28
43
Anlise de Requisitos
Requisitos Funcionais:
Os requisitos funcionais devem ser detalhados. Devemos usar um formato padro para
esta atividade. Veja o exemplo:
Lista de Requisitos funcionais
Autor:
Reviso:
Nome
Cdigo
Data Atualizao:
Descrio
Verso 28
44
Anlise de Requisitos
id
RN01
Nome da Regra
Registrar Reserva de
Apartamento
01/01/08
Nome / Equipe
RFS
Verso
Status
2.1
Vigente
Requisitos Funcional
RN: RN01
Nome: Reserva
ID
Nome
Descrio
RFC01
Registrar Reserva
de Apartamento
Verso 28
45
Anlise de Requisitos
Requisitos No Funcionais:
Agora vamos descrever os Requisitos No Funcionais. Entretanto, precisamos
categorizar estes requisitos, as mais frequente so:
- Performance:
Tempo de resposta
- Segurana:
Uso de senhas, certificados digitais e etc..
- Usabilidade:
Identidade Visual e Interfaces amigveis
- Disponibilidade:
O software deve estar disponvel para usurio 24x7. Exemplo: Tolerncia a falha
- Flexibilidade:
Capacidade de adaptao quando um requisito muda
- Portabilidade:
Capacidade de se adaptar a outros ambientes (sistemas operacionais)
- Escalabilidade:
Capacidade de responder aumento de carga (novos usurios)
Outras categorias como Integrao, Processamento, Manutenvel e etc.
Verso 28
46
Anlise de Requisitos
Requisitos No Funcionais:
Bem vamos descrever os requisitos no funcionais. Como na descrio dos Requisitos
funcionais, precisamos ter um padro
Lista de Requisitos No funcionais
Categoria: Performance
Autor:
Reviso:
Req. Funcional
Fazer
Consulta
Data Atualizao:
Cdigo
Descrio
RNFP1
Verso 28
47
Anlise de Requisitos
Requisitos No Funcionais:
Continuao:
Lista de Requisitos No funcionais
Categoria: Usabilidade
Autor:
Reviso:
Data Atualizao:
RF /
Aplicao
Cdigo
Descrio
Aplicao
RNFU1
Aplicao
RNFU2
Verso 28
48
Anlise de Requisitos
Reviso:
Data Atualizao:
Nome
Descrio
Cliente
Colaborador
Verso 28
49
Anlise de Requisitos
Lista de Stakeholders:
Continuao:
Lista dos Stakeholders
Autor:
Reviso:
Data Atualizao:
Nome
Descrio
Administradora de
Carto de Crdito
Verso 28
50
Anlise de Requisitos
Verso 28
51
Anlise de Requisitos
Verso 28
52
Anlise de Requisitos
Documento de Requisitos:
Data: ________ | Autor: ________ | Reviso: ____
ndice:
1.0 - Introduo
1.1 Objetivo do documento
1.2 Escopo
2.0 Descrio dos Requisitos Funcionais
3.0 Descrio dos Requisitos No Funcionais
4.0 Lista dos Stakeholders (clientes e usurios)
4.1 Stakeholders primrios
4.2 Stakeholders segundrioss
5.0 Plano de Mitigao de Riscos
Verso 28
53
Anlise de Requisitos
Mitos e Lendas:
O que dito:
- Usurios no entendem do negcio...
- Requisitos so estticos...
- Achar que tem a soluo, mesmo antes de conhecer todo o problema...
Verso 28
54
Especificao de Requisitos
com Caso de Uso
Objetivo desta parte:
apresentar as principais tcnicas para especificao
de requisitos de software.
Verso 28
55
Regras de
negcio
Documento de Viso
Documentos
Documento de
Requisitos
Verso 28
56
Requisitos
Funcionais
Documento
de Viso
Requisitos No
Funcionais
Restries
de Projeto
Documento de
Requisitos
Arquitetura
do Software
Especificao de Requisitos
Comportamento externo
Casos de Uso
Comportamento interno
Seqncia
Estrutura
Implementao
Verso 28
Colaborao
Classes
Distribuio
57
Objetivos:
Identificar os atores;
Identificar os casos de uso;
Desenhar os casos de uso e
Escrever cenrios.
Verso 28
58
Transformar os Requisitos
Funcionais em Casos de Uso:
Calcular Total
Cliente
Fazer Cadastro
Funcionrio
Fazer Pedido
Emitir NF
59
Verso 28
Atividades e Passos:
Fazer Diagrama de
Casos de Uso
Identificar Atores /
Casos de Uso
Escrever cenrios
Ferramenta de
Modelagem UML
Escrever Formulrio
Fazer Diagrama de
Caso de Uso
Refinar Diagrama de
Casos de Uso
Verso 28
60
Introduo:
Caso de Uso uma representao grfica e semntica da
interao do usurio e o sistema.
Os diagramas de caso de uso so usados para capturar os
requisitos funcionais do sistema. Ajuda o entendimento do
contexto dos requerimentos do sistema.
Os casos de uso podem ser agrupados em pacotes, desta
forma temos uma organizao funcional.
Verso 28
61
Definio:
Caso de Uso uma descrio de um conjunto de
seqncias de aes, inclusive variantes, que um sistema
pode produzir um resultado de valor observvel por
um ator. A representao grfica uma elipse.
Caso de Uso
Gerenciar
Reserva
Ator
Usurio
Nome
Verso 28
62
Verso 28
63
Este um dos cenrio que pode acontecer. Se houver algum problema, com a
autorizao da transao do carto de crdito teremos um novo cenrio.
Verso 28
64
Verso 28
65
Uso caso de uso descreve o qu um sistema (ou subsistema, classe, ou interface) faz,
ele no especifica como isso feito. Ao fazer uma modelagem, importante manter
clara a separao de questes entre a viso interna e externa.
Podemos especificar o comportamento de um caso de uso pela descrio do fluxo de
eventos no texto de maneira suficientemente clara para que qualquer pessoa possa
entende-lo facilmente. Ao escrevermos o fluxo de eventos devemos incluir como
e quando o caso de uso inicia e termina, como e quando o caso de uso interage com os
atores e o fluxo bsico e fluxo alternativo do comportamento.
Tipos de fluxos:
Fluxo de eventos principal e
Fluxo alternativo de eventos.
Verso 28
66
Fluxo Normal
Fluxo
alternativo 2
Fluxo
alternativo 1
Fluxo
alternativo 3
Cenrio 1
Verso 28
67
Verso 28
68
Verso 28
Verso 28
70
Manter informao de
aluno
Manter informao de
professor
Gerente de
Educo
Gerar catalogo
Matrcula nos
Cursos
Professor
Aluno
Selecionar curso
para ensinar
Verso 28
71
Verso 28
72
Verso 28
73
Receber Pagamento
generalizao
Verso 28
74
Funcionrio
Recepcionista
Verso 28
Gerente de
Reservas
75
Locadora de Automveis
Devolver Veculo
Verso 28
<<include>>
<<extend>>
<<include>>
Consulta Cliente
Calcular Multa
76
Acompanhar Pedido
<<include>>
Verso 28
77
Fazer Check IN
Fazer Check OUT
Gerenciar Reserva
Receber Pagamento
<<include>>
<<include>>
Verso 28
78
Verso 28
79
Exemplo:
No domnio de ponto de venda, algum pode definir um caso de uso chamado
Imprimindo o Recibo, quando de fato, a operao de impresso meramente um passo
no processo muito mais abrangente do caso de uso Comprar Itens
Lembre-se:
Um caso de uso uma descrio completa de processo, que inclui outros passos
ou transaes.
Verso 28
80
Estudo de Caso:
O hotel contm um nmero de apartamentos disponveis para ser alugado aos hospedes. Cada apartamento tem as
seguintes propriedades:
- Nmero, preos base, capacidade de pessoas
- Tipo (Single, double, triplo ou suite)
O preo de cada apartamento est relacionado com seu tipo e sazonalidades (perodos especiais, tais como: frias, natal,
carnaval...)
Um hospede pode fazer reserva de mais de um apartamentos atravs do telefone, Internet ou pessoalmente no balco de
reserva do Hotel .
Refinado pelo
Requisitos Funcionais
Gerenciar Reserva
...
Documento de
Viso
Documento
de Requisitos
Verso 28
81
Estudo de Caso:
Especificao de Requisitos:
3
Formulrio
Cenrios
Gerenciar Reserva
Usurio
Ator
Caso de Uso
Associao
Verso 28
82
Escrevendo os Cenrios:
Gerenciamento de Reserva:
Cenrios
O Setor de Reserva do Hotel recebe um telefonema de cliente que solicita uma reserva
de apartamentos para data.
O cliente informa o perodo, ou seja, data de chegado e partida, e qual tipo de apartamento
ele precisa.
O funcionrio do Setor de Reserva, verifica a disponibilidade do apartamento e confirma a
reserva.
Gerenciamento de Reserva:
O Setor de Reserva do Hotel recebe um telefonema de cliente que solicita uma reserva
de apartamentos para data.
O cliente informa o perodo, ou seja, data de chegado e partida, e qual tipo de apartamento
ele precisa.
O funcionrio do Setor de Reserva, verifica a disponibilidade do apartamento e informa
que no tem disponibilidade de apartamento para o perodo informado pelo cliente e
oferece um outro tipo de apartamento.
O cliente aceita o apartamento e ento o funcionrio confirma a reserva.
Verso 28
83
Escrevendo os Cenrios:
Gerenciamento de Reserva:
Cenrios
O Setor de Reserva do Hotel recebe um telefonema de cliente que solicita uma reserva
de apartamentos para data.
O cliente informa o perodo, ou seja, data de chegado e partida, e qual tipo de apartamento
ele precisa.
O funcionrio do Setor de Reserva, verifica a disponibilidade do apartamento e informa
que no tem disponibilidade de apartamento para o perodo informado pelo cliente e
oferece um outro tipo de apartamento.
O cliente no aceita a proposta do funcionrio e a reserva no confirmada.
Verso 28
84
Estudo de Caso:
Escrevendo o Formulrio:
Compilar os Cenrios em Formulrio:
Cenrios
Formulrio
Pr- condio
O Setor de Reserva do Hotel recebe um telefonema de cliente que solicita uma reserva
de apartamentos para data.
O cliente informa o perodo, ou seja, data de chegado e partida, e qual tipo de apartamento
ele precisa.
O funcionrio do Setor de Reserva, verifica a disponibilidade do apartamento e confirma a
reserva.
Ps- condio
Verso 28
85
Estudo de Caso:
Escrevendo o Formulrio:
Compilar os Cenrios em Formulrio:
Gerenciar Reserva
caminho feliz
Gerenciar Reserva
caminho alternativo
Fluxo Alternativo:
Verso 28
Estudo de Caso:
Escrevendo o Formulrio:
Formulrio:
Nome: Gerenciar Reserva
Ponto de ativao: Este caso de uso comea quando o funcionrio do setor de
reserva recebe uma solicitao de reserva
Ator: Funcionrio
Objetivo: Fazer reservar de apartamentos
Pr-condio: Solicitao de reserva
Fluxo Normal:
O cliente informa o tipo de apartamento
O cliente o perodo (data de chegada e partida)
O funcionrio do Hotel verifica a disponibilidade do apartamento
O funcionrio confirma a reserva
Fluxo Alternativo:
...
O funcionrio do Hotel verifica a disponibilidade do apartamento
O funcionrio faz proposta de outro apartamento para cliente
O cliente aceita e ento o funcionrio confirma a reserva
Ps-condio: Reserva confirmada
Verso 28
87
Estudo de Caso:
Especificao de Requisitos:
3
Formulrio
Cenrios
Funcionrio
Ator
Gerenciar Reserva
Caso de Uso
Associao
Verso 28
88
Verso 28
89
Mitos e Lendas
Analise de Requisitos de Software
Verso 28
90
Atividades e Passos:
Fazer Diagrama de
Casos de Uso
Identificar Atores /
Casos de Uso
Escrever cenrios
Rational Rose
Escrever Formulrio
Fazer Diagrama de
Caso de Uso
Refinar Diagrama de
Casos de Uso
91
Verso 28
Verso 28
92
Verso 28
93
Fazer Diagrama de
Casos de Uso
Identificar Atores /
Casos de Uso
Escrever cenrios
Rational Rose
Escrever Formulrio
Fazer Diagrama de
Caso de Uso
Refinar Diagrama de
Casos de Uso
Neste momento vamos refinar o Diagrama de Caso de Uso:
1 - Identificar os pontos de extenso
2 - Identificar as generalizaes
3 - Identificar os pontos de incluso
Verso 28
94
Sem include:
Com include:
<<include>>
Buscar Apartamento
Funcionrio
Gerenciar
Reserva
<<include>>
Funcionrio
Verso 28
Gerenciar
Reserva
Cadastrar Cliente
95
Cancelar
Check IN
<<extend>>
Recepcionista
Fazer Check IN
<<include>>
Recepcionista
Consultar
Reserva
Fazer Check IN
<<include>>
Consultar
Cliente
Verso 28
96
Sem include:
Com include:
<<include>>
Consultar
Cliente
<<include>>
Recepcionista
Consultar
Reserva
<<include>>
Recepcionista
Verso 28
Fazer Check
OUT
Receber
Pagamento
97
Validao de Requisitos
Objetivo desta parte:
apresentar as principais tcnicas para validao de
requisitos de software.
Verso 28
98
Validao de Requisitos
Regras de
negcio
Documento de Viso
Documentos
Documento de
Requisitos
Verso 28
99
Validao de Requisitos
Deve preocupa-se em mostrar que os requisitos definem o sistema que o cliente/usurio
deseja.
Validao importante uma vez que o custo para remover um erro de requisitos
grande.
Pequeno Check List de Requisitos:
Validade. O sistema fornece as funes que melhor atende as necessidades do
usurio?
Consistncia. Existem conflitos de requisitos?
Completeza. Todas as funes necessrias para o cliente esto includas?
Verso 28
100
Validao de Requisitos
Reviso de requisitos:
- Revises regulares devem ocorrer durante a formulao da definio dos requisitos
- Tanto o cliente quanto a equipe contratada devem estar envolvidos nas revises
- As revises podem ser formais (com documentos completos) ou informais. Uma boa
comunicao entre os desenvolvedores, clientes e usurios pode resolver problemas em
estgios iniciais
Verificao de revises:
- Verificabilidade. O requisito realisticamente testvel?
- Compreensibilidade. O requisito propriamente entendido?
- Rastreabilidade. A origem do requisito claramente estabelecida?
- Adaptabilidade. O requisito pode ser modificado sem grande impacto sobre outros
requisitos?
Verso 28
101
Validao de Requisitos
Caso de Teste
Definio: Caso de Teste
- Casos de Testes:
Especifica uma forma de fazer testes, incluindo o que testar (as entradas e/ou as sadas) ,
como testar e as condies de testes.
Em engenharia de software, Caso de Teste um conjunto de condies usadas para
teste de software. Ele pode ser elaborado para identificar defeitos na estrutura interna
do software, atravs de situaes que exercitem adequadamente todas as estruturas
utilizadas na codificao; ou ainda, garantir que os requisitos do software que foi
construdo sejam plenamente atendidos. Podemos utilizar os Casos de Uso para criar e
rastrear os Caso de Teste.
Verso 28
102
Validao de Requisitos
Caso de Teste
Definio: Modelo de Teste - Caso de Teste. Exemplo:
Caso de Teste
ID Caso Teste
ID Caso de Uso
Nome
Descrio
Fazer Login
Cenrio
Resultado Esperado
Resultado Observado
Fluxo Normal
Entrada: nome e senha
Usurio autorizado
(Sucesso)
OK
Fluxo Alternativo 1
Entrada: nome e senha
Mensagem usurio
invlido (Insucesso)
NOK
25
24
Nome do Testador:
OK ?
Data:
____/____/_____
Caso de Uso
Fluxo Normal
Fluxo
alternativo 2
Fazer Login
Fluxo
alternativo 1
Fluxo
alternativo 3
Descrio
do Caso de Uso
Cliente
Cenrio 1
Verso 28
103
Validao de Requisitos
Tcnicas de validao de requisitos
Requisitos em
linguagem formal
Relatrio
Processador de
Requisitos
Anlise de
Requisitos
Base de Dados
de Requisitos
Verso 28
104
Gerenciamento de Mudana
de Requisitos
Objetivo desta parte:
apresentar as principais tcnicas para processo de
gerenciamento de mudana de requisitos de software.
Verso 28
105
- A prioridade dos requisitos podem mudar para atender novas demandas de negcio
- Requisitos podem sofrer alterao quando muda a regra de negcio;
- As pessoas que pagam pelo software/sistema podem especificar os requisitos de maneira
conflitantes com os requisitos das pessoas que iro utilizar o software/sistema.
- A empresa e o ambiente tcnico do software/sistema se modificam durante o processo
de desenvolvimento
Verso 28
106
Entendimento
do problema
(alterado)
Entendimento
inicial do problema
Requisitos
iniciais
Requisitos
modificados
tempo
Verso 28
107
Requisitos Conseqentes:
- Requisitos que resultam da introduo do sistema de computador.
Requisitos de compatibilidade:
- Requisitos que dependem de outros sistemas ou processos de negcio especficos dentro
da organizao
Verso 28
108
Verso 28
109
Rastreabilidade:
Verso 28
110
Suporte ferramenta:
Armazenamento dos requisitos:
- Os requisitos devem ser gerenciados em uma memria de dados segura e gerenciada
Mudana de gerenciamento:
- O processo de mudana de gerenciamento um processo de fluxo de trabalho cujos
estgios podem ser definidos e o fluxo de informao entre esses estgios parcialmente
automatizado
Gerenciamento de rastreabilidade
- Recuperao automtica dos links entre requisitos
Verso 28
111
Solicitao
de Mudana de
Requisito
Anlise do Problema
e especificao da
mudana
Verso 28
Anlise e custo
mudana
implementao
da mudana
Requisito
Alterado
112
Verso 28
113
Verso 28
114
Contedo:
Tcnicas para identificao/elicitao de requisitos:
- JAD
- FAST
Documento de Requisitos
- Padro IEEE/ANSI 830-1993:
Verso 28
115
Anexo
A tcnica JAD desenvolvida na IBM no fim dos anos 70 visa criar sesses de trabalho
estruturadas, atravs de uma dinmica de grupo e recursos visuais, em que analistas e
usurios trabalham juntos para projetar um sistema, desde os requisitos bsicos at o
layout de telas e relatrios, prevalecendo a cooperao e o entendimento
[PORTELLA1994]. Os desenvolvedores ajudam os usurios a formular os problemas e
explorar possveis solues, envolvendo-os e fazendo com que eles se sintam
participantes do desenvolvimento
JAD se baseia em quatro princpios bsicos:
1. Dinmica de grupo, com a utilizao de sesses de grupo facilitadas para aumentar a
capacidade dos indivduos;
2. Uso de tcnicas audiovisuais para aumentar a comunicao e o entendimento;
3. Manuteno do processo organizado e racional; e
4. Utilizao de documentao-padro, que preenchida e assinada por todos os
participantes de uma sesso.
A tcnica JAD tem duas grandes etapas: planejamento, cujo objetivo elicitar e
especificar requisitos; e projeto, em que se lida com o projeto do software. Nesta
monografia somente ser tratada a primeira etapa. Os participantes de uma sesso de
JAD desempenham seis diferentes papis: lder da sesso, representantes do usurio,
especialista, analista, representantes dos sistemas de informao e patrocinador
executivo.
Verso 28
116
Anexo
JAD (Join Application Development)
continuao
A tcnica pode ser usada tanto para elicitar como nas fases iniciais da especificao de
requisitos. Ela ajuda a identificar os assuntos que podem necessitar de rastreamento e
fornece uma perspectiva multifacetada dos requisitos. Sesses de JAD permitem aos
analistas coletar simultnea e eficientemente uma grande quantidade de requisitos do
sistema junto a uma gama de usurios-chave. So teis por considerar necessidades
especficas dos usurios. JAD tambm pode ser usada em conjunto com outra tcnica de
elicitao como, por exemplo, a prototipao. medida que os requisitos so obtidos nas
sesses, pode-se construir um prottipo que demonstre alguma funcionalidade destes
requisitos.
Verso 28
117
Anexo
Verso 28
118
Anexo
Documento de Requisitos:
Formato do documento de especificao de requisitos sugerido pela IEEE/ANSI 8301993:
Estrutura do Documento:
1.0 Introduo
1.1 propsito do documento de requisitos
1.2 escopo do produto
1.3 definies, acrnimos e abreviaes
1.4 referncias
1.5 viso geral do restante do documento
2.0 Descrio geral
2.1 perspectiva do produto
2.2 funes do produto
2.3 caractersticas do usurio
2.4 restries gerais
2.5 suposies e dependncias
3. Requisitos (Especficos)
os requisitos podem documentar interfaces externas, descrever funcionalidade e
desempenho do sistema, especificar requisitos lgicos de banco de dados,restries de
projeto, caractersticas de qualidade.
4. Apndices
5. ndice
Verso 28
119
Notas:
Marcas Registradas:
Todos os termos mencionados e reconhecidos como Marca Registrada e/ou comercial so de
responsabilidade de seus proprietrios. O autor informa no estar associada a nenhum produto e/ou
fornecedor apresentado neste material. No decorrer deste, imagens, nomes de produtos e fabricantes
podem ter sido utilizados, e desde j o autor informa que o uso apenas ilustrativo e/ou educativo, no
visando ao lucro, favorecimento ou desmerecimento do produto/fabricante.
Melhoria e Reviso:
Este material esta em processo constante de reviso e melhoria, se voc encontrou algum problema ou
erro envie um e-mail.
Criticas e Sugestes:
Ns estamos abertos para receber criticas e sugestes que possam melhorar o material, por favor envie
um e-mail.
120
Licena:
Verso 28
121
Rildo F Santos
Analise de Requisitos de Software
rildosan@uol.com.br
rildo.santos@companyweb.com.br
Twitter: http://twitter.com/rildosan
Blog: http://rildosan.blogspot.com/