levantamento, análise e gestão...
Post on 12-Dec-2018
224 Views
Preview:
TRANSCRIPT
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)
Agenda
1. Separar a funcionalidade de implementação2. Abranger o sistema do qual o software é um
componente3. Abranger o ambiente no qual o sistema opera4. Ser um modelo cognitivo5. Ser operacional6. Ser tolerante com não ser completa e ser
expansível7. Ser localizada e fracamente acoplada
Princípios de uma boa 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
Especificação
Introdução - declara as metas e os objetivos do software, descrevendo-os no contexto do sistema baseado em computadorVisão Geral do Produto - descrição detalhada do problema que o software deve resolverPremissas e RestriçõesRequisitos FuncionaisRequisitos Não funcionais
Formato da Especificação de Requisitos
01_ModeloDocumentoDeRequisitos.doc
Introdução – descrever a finalidade, escopo, referência e abreviaturasRegras de Negócio do Sistema – descrição detalhada de cada uma das regras que compõe o sistemaAprovação – acerto com o cliente
Regras de Negócio
02_RegrasDeNegocio.doc
● Registrar os vários tipos de informações dos requisitos visa facilitar a comunicação entre os stakeholders do Projeto:
Documentações em linguagem naturalModelos gráficos de análiseArmazenar as informações dos requisitosFerramentas de gerenciamento comercial Utilizando documentos padrões
Especificação
● 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
Documento de Visão e Escopo
03_ModeloDeVisaoEscopo.doc
● 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
Importância da Especificação Correta
Funcional Não-funcional
Requisitos de negócio
Requisitos de usuário
Regras de negócio
Atributos de qualidade
Interfaces externas
Restrições
Requisitos funcionais
Requisitos de sistema
Documento de visão e escopo
Documento de caso de uso
Especificação dos requisitos de software
Documento por tipo de requisito
Onde o problema é definido?Onde os stakeholders e usuários são listados?Onde os ambientes e plataformas são identificadas?
Onde os casos de uso são mantidos?
Onde o vocabulário comum está descrito?
Visão
Especificações de Caso de uso
Glossário
Especificação Suplementar
Onde os requisitos não funcionais estão localizados?
Necessidades e Requisições dos stakeholders são capturadas?
Requisições do Stakeholder
Artefatos Utilizados
Stakeholder: DigitadorRepresentante: João das CouvesDescrição: Usuário
Tipo:O digitador é tipicamente um técnico com conhecimentos em informática. O digitador é treinado e experiente no uso do atual sistema batch de registro
Responsabilidade: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
Critério de Sucesso:
Conseguir manter o banco de dados de estudantes e professores, e abrir/fechar cursos para matrícula
Envolvimento:A responsabilidade primária dos digitadores será manter o banco de dados de estudantes e professores, e abrir/fechar cursos para matrículaTambém será requerido da área de matrícula
Entregas: Gestor de Revisão – especialmente nas funcionalidades requisitadas pela área de Matrículas
Comentários / Preocupações:
Nenhum
Descrever Steakholders no Documento de Visão
Especificações de Manual do Usuário
Especificações de Design
Requisições do Stakeholder
Documento de Visão
Especificação SuplementarModelo de
Caso de Uso
Definição do Problema
Descrever o problema no 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
Documento de Visão
04_ModeloDeVisao.doc
Descrição do Problema
Visão
O problema de (descreva o problema)
afeta (os stakeholders afetados pelo problema)
O impacto disto é que
(qual o impacto do problema)
Uma solução de sucesso seria
(listar vários benefícios-chave de negócio para uma solução de sucesso)
Obtendo o Entendimento do Problema
• 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
Identificar as Melhores Soluções de Negócio
Descoberto
Rabiscado
Descrever brevemente
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
Totalmente Descrito
Ciclo de Vida do Caso de Uso
Manoel e Joaquim agem como estudantes
Manoel age também como Professor
Estudante
Professor
Matricular em Curso
Submeter grades
Manoel: Professor de Matemática e é aluno de Economia
Joaquim: É um aluno de Ciências
Atores e Papéis
• 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
Ator 1
Ator 2 Ator 3
Caso de Uso
Comunicação – Associação
SupervisorSensor ativo
Sensor passivo
Sensor híbrido
Supervisor
Monitorar Alarmes
Sensor passivo
Sensor híbrido
Sensor ativo
Monitorar Alarmes
Convenções das Setas e Linhas
Cada Associação de Comunicação é o Diálogo completo
Estudante Sistema de Cadastro de
Cursos
Matricular em Curso
Sistema apresenta a lista de cursosEstudante seleciona curso
Sistema apresenta a agenda do curso
O estudante acessa o sistemaO sistema autentica o usuárioEstudante requisita dados do curso
O sistema transmite a requisiçãoO sistema retorna os dados do curso
Um cenário de uma instância de Caso de Uso
Cenário 1Autenticar no sistemaAprova o loginDigitar o assuntoObter lista de cursosApresentar lista de cursosSelecionar CursosConfirmar DisponibilidadeMostrar grade final
Cenário 2Autenticar no sistemaAprova o loginDigitar o assuntoAssunto inválidoEntra novamente assuntoObter lista de cursosApresentar lista de cursosSelecionar CursosConfirmar DisponibilidadeMostrar grade final
Estudante Sistema de Cadastro de Cursos
Matricular em Curso
Que variações tem maior significado para o usuário? Quais não tem?
Que nome de caso de uso você escolhe? Por que?
• 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
Como deve ser o nome do 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
Passos para Criar o Diagrama de Caso de Uso
Ator
Objetivo 1
Objetivo 2
Quais objetivos desejo alcançar utilizando o sistema?
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?
Identificar o 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.
Relacionamentocom atores Matricular em curso
Estudante
Descrição do 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
Check-points para o Caso de Uso
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)
Relacionamento entre Caso de Uso e Ator
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
Generalização (Generalization)
Ocorre entre Casos de uso OU entre atoresDois elementos semelhantes, mas com um deles realizando
algo maisPor exemplo:podemos criar um ator genérico Aluno e especializá-lo nos atores Aluno Matriculado e
Aluno Ouvinte
Relacionamento entre Caso de Uso e Ator
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 opcionalSeparar um trecho do caso de uso que será executado apenas em
determinadas condiçõesSeparar 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
Relacionamento entre Casos de Uso
• 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
Modelando Caso de Uso com o Auxílio de Pacotes
Especificação de Caso de Usodo Matricular para Curso
+ Fluxo de Eventos detalhado• Passo a Passo
+ Requisitos Especiais+ Condições Pré/Pós
Matricular Online em Curso+ Fluxo de eventos rabiscado
• Passos de alto nível
Estudante Sistema de Matrícula em Curso
+ Descrição Breve
Matricular em Curso
Evoluir o Caso de Uso
● 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
Validação
● 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?
Verificações
● 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
Modelo de Caso de Uso
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
Disciplinas agrupam
atividades logicamente
Em uma iteração, você passa por todas as disciplinas
Abordagem Interativa
RUP tem disciplinas
Artefatos são desenvolvidos em cada disciplina através de um processo iterativo
Disciplinas
Várias disciplinas produzem modelos…
Análise & Design
RequisitosModelagemNegócio
Implementação
Implementadopor
Modelo deImplementação
Modelo de Design
Modelo deCaso de Uso
Modelo deNegócio
Business Analysis Model
RealizadoPor
Automatizadopor
Realizado por
Teste
Verificado por Validado por
BBB
B
…cada modelo é averiguado.
Entrega
Entrada para
Disciplinas produzem e compartilham modelos
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? AgradecimentosDúvidas? Agradecimentos
Home PageHome Pagehttp://fernandoans.site50.nethttp://fernandoans.site50.net
BlogBloghttp://fernandoanselmo.blogspot.comhttp://fernandoanselmo.blogspot.com
X25 Home PageX25 Home Pagehttp://www.x25.com.brhttp://www.x25.com.br
Fernando AnselmoFernando Anselmofernando.anselmo@x25.com.brfernando.anselmo@x25.com.br
top related