Levantamento, Análise e Gestão
Requisitos
Aula 08
Agenda

Elaboração dos Principais Artefatos:
●
Visão
●
Especificação de Requisitos
●
Glossário
●
Especificação suplementar
●
Diagrama de Casa de Uso
●
Verificação (Check Lists)
●
Guias (do RUP)
Visão
Princípios de uma boa especificação
1. Separar a funcionalidade de implementação
2. Abranger o sistema do qual o software é um
componente
3. Abranger o ambiente no qual o sistema opera
4. Ser um modelo cognitivo
5. Ser operacional
6. Ser tolerante com não ser completa e ser
expansível
7. Ser localizada e fracamente acoplada
Especificação
Documentar e formalizar os resultados da elicitação e
da análise
●
Usar templates específicos de documentos para cada
tipo de requisito
●
Formato da Especificação de Requisitos
Introdução - declara as metas e os
objetivos do software, descrevendo-os
no contexto do sistema baseado em
computador
Visão Geral do Produto - descrição
detalhada do problema que o software
deve resolver
Premissas e Restrições
Requisitos Funcionais
Requisitos Não funcionais
01_ModeloDocumentoDeRequisitos.doc
Regras de Negócio
Introdução – descrever a finalidade,
escopo, referência e abreviaturas
Regras de Negócio do Sistema –
descrição detalhada de cada uma das
regras que compõe o sistema
Aprovação – acerto com o cliente
02_RegrasDeNegocio.doc
Especificação
Registrar os vários tipos de informações dos requisitos
visa facilitar a comunicação entre os stakeholders do
Projeto:
Documentações em linguagem natural
Modelos gráficos de análise
Armazenar as informações dos requisitos
Ferramentas de gerenciamento comercial
 Utilizando documentos padrões
●
Documento de Visão e Escopo
Introdução
●
Finalidade
●
Escopo
●
Descrição Geral
●
Requisitos Específicos
●
Relatórios dos Casos de Uso
●
Papéis e Responsabilidade
●
Usuários
●
Modelos de Equipe
●
Cronograma Inicial
●
03_ModeloDeVisaoEscopo.doc
Importância da Especificação Correta
Completa Compreensão
●
Reduz o custo e o retrabalho
●
Referência para Validação Final
●
Base de Concordância Cliente e Fornecedor
●
Não importa quão bem projetado ou codificado está um
programa, se ele for mal analisado e especificado
desapontará o usuário e trará aborrecimentos ao
desenvolvedor
●
Documento por tipo de requisito
Não-funcional
Funcional
Requisitos de
negócio
Documento de visão e escopo
Regras de
negócio
Requisitos de
usuário
Atributos de
qualidade
Documento de caso de uso
Interfaces
externas
Requisitos
funcionais
Requisitos de
sistema
Especificação dos
requisitos de software
Restrições
Artefatos Utilizados
Onde o problema é definido?
Onde os stakeholders e usuários são listados?
Onde os ambientes e plataformas são identificadas?
Onde os requisitos não funcionais
estão localizados?
Onde os casos de uso são mantidos?
Onde o vocabulário comum está descrito?
Necessidades e Requisições
dos stakeholders são capturadas?
Visão
Especificação
Suplementar
Especificações de
Caso de uso
Glossário
Requisições do
Stakeholder
Descrever Steakholders no Documento de Visão
Stakeholder:
Representante:
Descrição:
Tipo:
Responsabilidade:
Critério de
Sucesso:
Envolvimento:
Entregas:
Comentários /
Preocupações:
Digitador
João das Couves
Usuário
O digitador é tipicamente um técnico com conhecimentos em
informática. O digitador é treinado e experiente no uso do atual
sistema batch de registro
O digitador é responsável por administrar o cadastro de cursos para
cada período letivo. Isto inclui a supervisão administrativa e de
permissão de acesso aos dados
Conseguir manter o banco de dados de estudantes e professores, e
abrir/fechar cursos para matrícula
A responsabilidade primária dos digitadores será manter o banco de
dados de estudantes e professores, e abrir/fechar cursos para
matrícula
Também será requerido da área de matrícula
Gestor de Revisão – especialmente nas funcionalidades requisitadas
pela área de Matrículas
Nenhum
Descrever o problema no Documento de Visão
Requisições do
Stakeholder
Definição do
Problema
Documento de
Visão
Modelo de
Caso de Uso
Especificações de
Design
Especificação
Suplementar
Especificações de
Manual do Usuário
Documento de Visão
• As mesmas informações devem conhecer a
gerência, o marketing e a equipe de projeto
• Fornecer um feedback inicial do cliente
• Promover uma única compreensão
• Definir o escopo e a prioridade em alto nível
das requisições do stakeholder e suas
características
• Um documento de sistema que descreve o
“que” e “porquê”
Visão
Documento de Visão
Introdução
●
Posicionamento
●
Descrição dos Envolvidos
●
Necessidade dos Envolvidos
●
Visão Geral do Produto
●
Características do Produto
●
Restrições
●
Outros Requisitos do Produto
●
Aprovação
●
04_ModeloDeVisao.doc
Obtendo o Entendimento do Problema
O problema de
(descreva o problema)
afeta
(os stakeholders afetados pelo
problema)
O impacto disto é (qual o impacto do problema)
que
Uma solução de
sucesso seria
(listar vários benefícios-chave de
negócio para uma solução de
sucesso)
Descrição do Problema
Visão
Identificar as Restrições
De ambiente
Políticas
Técnicas
Econômicas
Viabilidade
Sistêmicas
Identificar as Melhores Soluções de Negócio
Identificar as Melhores Soluções de Negócio
• Identificar as várias soluções para os problemas
principais
– Técnico, não-técnico, ou ambos
• Escolher a que:
– Melhor resolve as causas-raiz
– Suporta os objetivos de negócio
• Obter os requisitos que permitem implementar a
solução
Ciclo de Vida do Caso de Uso
Descoberto
Descrever
brevemente
Rabiscado
Totalmente
Descrito
Fechar Matrícula
Descrição Breve: Este caso de uso permite ao Digitador
fechar o processo de matrículas. Ofertas de curso que
não possuírem alunos serão canceladas. O sistema de
Cobrança é notificado com todos os dados de matrícula
para assim efetuar as devidas cobranças.
Resumo do Fechar Matrículas
-Fluxo de Eventos
-Passo-a-Passo
Fechar Matrículas Especificação de Caso de Uso
- Fluxo de Eventos detalhado
- Requisitos Especiais
- Condições Pré/Pós
Atores e Papéis
Manoel: Professor de Matemática e é
aluno de Economia
Joaquim: É um aluno de
Ciências
Matricular
em Curso
Manoel e Joaquim agem
como estudantes
Estudante
Manoel age também
como Professor
Submeter grades
Professor
Comunicação – Associação
Ator 1
Caso de Uso
Ator 2
Ator 3
• Um canal de comunicação entre um ator
e um Caso de Uso.
• Uma linha é usada para representar uma
associação de comunicação.
– Uma flecha indica quem inicia cada
interação
– Uma linha sem flecha indica que o caso de
uso ou o ator podem iniciar a interação
Convenções das Setas e Linhas
Sensor passivo
Monitorar
Alarmes
Sensor ativo
Supervisor
Sensor híbrido
Sensor passivo
Monitorar
Alarmes
Sensor ativo
Supervisor
Sensor híbrido
Cada Associação de Comunicação é o Diálogo completo
O estudante acessa o sistema
O sistema autentica o usuário
Estudante requisita dados do
curso
Estudante
Sistema apresenta a lista de cursos
Estudante seleciona curso
Sistema apresenta a agenda do curso
Matricular em
Curso
Sistema de
Cadastro de
Cursos
O sistema transmite a requisição
O sistema retorna os dados do curso
Um cenário de uma instância de Caso de Uso
Estudante
Matricular em
Curso
Cenário 1
Autenticar no sistema
Aprova o login
Digitar o assunto
Obter lista de cursos
Apresentar lista de cursos
Selecionar Cursos
Confirmar Disponibilidade
Mostrar grade final
Sistema de
Cadastro de Cursos
Cenário 2
Autenticar no sistema
Aprova o login
Digitar o assunto
Assunto inválido
Entra novamente assunto
Obter lista de cursos
Apresentar lista de cursos
Selecionar Cursos
Confirmar Disponibilidade
Mostrar grade final
Diagrama de Caso de Uso
Como deve ser o nome do Caso de Uso
•
•
•
•
Indicar o significado ou objetivo
Usar a forma ativa: começar com verbo
Imaginar uma lista de tarefas
Teste de Variação de Nomes:
– Matricular cursos
– Matriculado em curso
– Confirmar matrícula
– Matrícula em curso
– Usar sistema de matrícula
Que variações tem maior significado para o usuário?
Quais não tem?
Que nome de caso de uso você escolhe? Por que?
Passos para Criar o Diagrama de Caso de Uso
1. Procurar atores e suas ações
– Descrever brevemente os atores
– Descreva brevemente as ações realizadas
2. Escrever os casos de uso
– Desenhar todos os casos de uso
– Priorizar os fluxos de casos de uso
Identificar o Caso de Uso
Quais objetivos desejo alcançar
utilizando o sistema?
Objetivo 1
Ator
Objetivo 2
Identificar o Caso de Uso
• Quais são os objetivos de cada ator?
– Porque o ator quer utilizar o sistema?
– O ator irá criar, guardar, mudar, remover, ou ler
dados no sistema? Se sim, porque?
– O ator precisa informar ao sistema sobre mudanças
ou eventos externos?
– O ator precisará ser informado sobre certas
circunstâncias do sistema?
• O sistema atende ao negócio com o comportamento
correto?
Descrição do Caso de Uso
Nome
Matricular em curso
Descrição Breve
O estudante seleciona os
cursos que deseja para o
próximo semestre. Uma grade
dos cursos primários e
alternativos são gerados.
Relacionamento
com atores
Matricular em curso
Estudante
Check-points para o Caso de Uso
• Verificar o comportamento do sistema – com ele é
fácil de entender o que o sistema faz ao revisar o
modelo
• Todos foram identificados – o caso de uso conta com
todos os comportamentos esperados pelo ator com o
qual interage
• Todas as características estão mapeadas – para pelo
menos um caso de uso
• Não contêm comportamento supérfluo – todos os
casos de uso podem ser justificados ao rastreá-los de
volta para os requisitos funcionais
• Todos os casos de uso CRUD foram removidos:
– Create, Report, Update, Delete
Relacionamento entre Caso de Uso e Ator
Para relacionamentos de casos de uso,entre si, temos os
tipos: generalização,extensão e inclusão
Para relacionamentos de atores,entre si, temos um único tipo
que é o relacionamento de generalização
Para relacionamentos entre atores e casos de uso
temos apenas a associação
Relacionamento entre Caso de Uso e Ator
Associação (Association)
Interação do ator com o caso de
uso por meio do envio e
recebimento de mensagens
binárias -> envolvem apenas
dois elementos
Por exemplo: O ator Correntista
envia e recebe mensagens do
Caso de Uso Calcular
Empréstimo Pessoal, por um
relacionamento de associação
Relacionamento entre Caso de Uso e Ator
Generalização (Generalization)
Ocorre entre Casos de uso OU entre atores
Dois elementos semelhantes, mas com um deles realizando
algo mais
Por exemplo:podemos criar um ator genérico
Aluno e especializá-lo nos atores Aluno Matriculado e
Aluno Ouvinte
Relacionamento entre Casos de Uso
Extensão (Extend)
Indica que um deles terá seu procedimento acrescido, em um
ponto de extensão, de outro caso de uso, identificado como base
Podemos ter diversos pontos de extensão num mesmo caso de
uso, inclusive repetir um mesmo ponto de extensão
Utilização
• Expressar rotinas de exceção ou para expressar o
desmembramento de um caso de uso (quando o cenário
alternativo possui um fluxo grande demais)
• Separar um comportamento obrigatório de outro opcional
• Separar um trecho do caso de uso que será executado apenas em
determinadas condições
Relacionamento entre Casos de Uso
Extensão (Extend)
Separar um comportamento obrigatório de outro opcional
Separar um trecho do caso de uso que será executado apenas em
determinadas condições
Separar trechos que dependam da interação com um determinado
ator
Exemplo:
No cadastro de uma venda, a rotina de desconto só pode ser
executada pelo gerente. Essa rotina pode ser transferida para um
caso de uso de extensão
Relacionamento entre Casos de Uso
Inclusão (Include)
• Indica que um deles terá seu procedimento copiado num
local especificado no outro caso de uso identificado como
base
• Quando uso? Quando existem cenários cujas ações servem
a mais de um caso de uso
Exemplo validar matrícula é útil para casos de uso como
renovar matrícula de aluno, emitir histórico escolar, lançar
notas de provas, entre outros
Textualmente, um relacionamento de inclusão, dentro da
descrição de um caso de uso base, é representado com o
termo Include seguido do seu nome
Relacionamento entre Casos de Uso
Inclusão (Include)
Cenário Principal
1 . O aluno digita sua matrícula. O sistema verifica se a matrícula é
válida e ativa
Include (Validar Matrícula)
Evitar a cópia de trechos idênticos, ganhamos tempo na
modelagem e na implementação sem falar na manutenção
Modelando Caso de Uso com o Auxílio de Pacotes
• Representar vários casos de uso em um único
diagrama é uma tarefa impossível
• Podemos agrupar casos de uso considerando uma
mesma abordagem conceitual, podemos trabalhar com
pacotes
• Agrupamento de qualquer elemento de modelo, como
casos de uso, classe, estados, outros pacotes
Nomenclatura <nome do pacote>seguido de :: e <nome
do elemento>
pacote::elemento
Exemplo: Controle Acadêmico::Cadastrar Aluno
Evoluir o Caso de Uso
Matricular
em Curso
Estudante
Sistema de Matrícula
em Curso
+ Descrição Breve
Matricular Online em Curso
+ Fluxo de eventos rabiscado
• Passos de alto nível
Especificação de Caso de Uso
do Matricular para Curso
+ Fluxo de Eventos detalhado
• Passo a Passo
+ Requisitos Especiais
+ Condições Pré/Pós
Validação
Processo de verificar os requisitos quanto a sua
validade, consistência, completeza, realismo e sua
facilidade de verificação
●
Se os requisitos demonstram o que cliente realmente
quer
●
Verificações
O sistema fornece as melhores funções para atender as
necessidades de cliente?
●
Soluções conciliatórias com os usuários funções
adicionais ou diferentes que são exigidas
●
Existem requisitos em conflito?
●
Descrições diferentes para uma mesma função do
sistema ou restrições contraditórias
●
Todas as funções solicitadas e exigidas pelo cliente estão
incluídas?
●
Os requisitos implementados estão dentro do orçamento, prazo
e da tecnologia existente?
●
Os requisitos podem ser verificados?
●
Modelo de Caso de Uso
Nome do Caso de Uso
●
Atores
●
Pré-condições
●
Fluxo de Eventos
●
Pós-condições
●
Pontos de Extensão
●
Referências
●
Observações
●
Aprovação
●
05_ModeloDeCasoDeUso.doc
RUP
É extremamente importante para o sucesso de um projeto que o
processo seja adequado e que o nível de cerimônia seja ajustado,
pois documentação em excesso não trará produtividade e
documentação superficial trará problemas de comunicação
Guias (do RUP)
Abordagem Interativa
Em uma
iteração,
você passa
por todas as
disciplinas
Disciplinas
agrupam
atividades
logicamente
Disciplinas
RUP tem disciplinas
Artefatos são desenvolvidos em
cada disciplina através de um
processo iterativo
Disciplinas produzem e compartilham modelos
Várias disciplinas
produzem modelos…
Modelagem
Negócio
Requisitos
Implementação
Análise &
Design
Entrada para
Realizado por
B
B
B
B
Business
Analysis Model
Automatizado
por
Modelo de
Design
Verificado por
…cada modelo é
averiguado.
por
Modelo de
Caso de Uso
Modelo de
Negócio
Modelo de
Implementação
Validado por
Teste
Entrega
Realizado
Por
Implementado
Papéis e artefatos
Fonte: IBM Rational Unified Process
Quando usar o RUP?
O RUP pode ser usado desde o início até as fases de manutenção do
projeto. O RUP pode ser customizado para suas necessidades, mas
seguindo as considerações abaixo:
• Ciclo de Vida do
Software (nº de
iterações, tamanho das
fases e do projeto)
• Objetivos de negócio do
projeto, visão, escopo e
risco
• Tamanho e
complexidade do esforço
de desenvolvimento
Dúvidas? Agradecimentos
Home Page
http://fernandoans.site50.net
Blog
http://fernandoanselmo.blogspot.com
X25 Home Page
http://www.x25.com.br
Fernando Anselmo
[email protected]
Download

Slides da 8ª Aula – Elaboração dos Principais Artefatos