levantamento, análise e gestão...

53
Levantamento, Análise e Gestão Requisitos Aula 08

Upload: voquynh

Post on 12-Dec-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Levantamento, Análise e GestãoRequisitos

Aula 08

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

Visão

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

Econômicas

Técnicas

De ambiente

Sistêmicas

Políticas

Viabilidade

Identificar as Restrições

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

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

Diagrama de Caso de Uso

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

Guias (do RUP)

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

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? 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 [email protected]@x25.com.br