Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema.

Slides:



Advertisements
Apresentações semelhantes
Modelo de Casos de Uso Diagrama de Casos de Uso
Advertisements

Análise e Projeto Orientado a Objetos
Requisitos de Software
UML Diagramas de Caso de Uso (USE-CASE)
Aula 8 Contratos.
APSOO Aula 03.
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
(Unified Modeling Language)
Casos de Uso.
Centrado na arquitetura
Projeto de Sistemas de Software
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
Especificação e Modelagem de Requisitos
Casos de Uso de Sistema.
Professor: Rogério Lopes Disciplina: Engenharia de Software II Fortium Sistemas da Informação Engenharia de Software II.
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
RUP: Fluxo de Análise e Projeto
Análise e Gerenciamento de Requisitos com Casos de Uso
Selma Shin Shimizu Melnikoff 2006
AP 1.
Especificação de Requisitos de Software com Casos de Uso
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Simone Sawasaki Tanaka
UML Unified Modeling Language
Expansão dos Casos de Uso
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
UML.
Análise Estruturada.
Expansão dos Casos de Uso
Análise e Projeto de Sistemas
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Diagrama de Casos de Uso
Use Cases (Casos de Uso)
Diagramas de Atividade
Fase de Concepção (Início, Planejamento)
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Interpretação de Projetos de Software Professor: Cheli dos S. Mendes.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
UML – Engenharia de Software 1
UML Diagrama de Caso de Uso Profª. Marcelo Siedler
Capturando Requisitos com Use Cases Disciplina: Estudo do RUP Autor: Tiago Lima Massoni Orientacao: Augusto Sampaio Paulo Borba.
Especificação de Caso de Uso
Laboratório de Programação
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Revisão 2º Bimestre Engenharia de Software I
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Análise e Projeto de Sistemas
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Casos de Uso Tarciane Andrade
Abr-17 Analisar Caso de Uso Analisar caso de uso.
Linguagem de Modelagem Unificada
Use Cases e Fluxo de Eventos
Modelo de Análise e Projeto
Diagramas de Caso de Uso
Requisitos Não funcionais
Expansão dos Casos de Uso
Um caso de uso conta uma história de como alcançar um objetivo ou um conjunto de histórias de tanto alcançando quanto falhando Caso de uso: “Fazer um pedido”
Diagrama Casos de Uso.
Casos de Usos.
Engenharia de Software Fluxo de Requisitos
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Engenharia de Software com o RUP - Workflow de Requisitos
Interações entre objetos
Aula 04 – Analise de Sistemas Profª Rita de Cassia Gaieski
Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

Caso de Uso - Definição Um caso de uso é uma descrição narrativa de uma seqüência de eventos que ocorre quando um ator (agente externo) usa um sistema para realizar uma tarefa[Jacobson 92] Uma unidade coerente de funcionalidade provida por um sistema, manifestada por uma seqüência de mensagens trocadas entre o sistema e um ou mais usuários externos (representados como atores), junto com as ações executadas pelo sistema. Jocobson foi o precursor do termo ‘use case’

Objetivos dos Casos de Uso Descrever a funcionalidade do sistema (Requisitos Funcionais) Mapear o escopo do sistema, onde explicita a fronteira do sistema. Facilitar a comunicação com usuário do sistema. Gerenciar o projeto. O RUP o utiliza para guiar todo processo de desenvolvimento Mostram apenas o que o sistema faz, e não como.

Caso de uso: representação gráfica - Uma elipse com o nome do caso de uso no centro Nome = Verbo + Substantivo (indicação de ação)

Ponte entre Requisitos e Análise

Ator Constituem as entidades que interagem com o ambiente do sistema Pessoas ou outros sistemas (de hardware ou software) que interagem com o sistema em desenvolvimento Definem um papel particular (uma mesma entidade pode desempenhar diferentes papéis) São sempre externos ao sistema O sistema será descrito através de vários casos de uso que são executados por um número de atores

Ator: representação gráfica

Diagramas de Caso de Uso Introduzida por Jacobson em 1994 para visualização dos casos de uso Esse diagrama é parte da UML Mostram um conjunto de casos de uso, atores e seus relacionamentos Indicam a forma como o sistema interage com as entidades externas

Diagrama de Caso de Uso : representação gráfica

Como encontrar atores e casos de uso?

Como encontrar atores? Quem usa o sistema? Quem instala/mantém o sistema? Quem inicia/desliga o sistema? Que outros sistemas usam o sistema? Quem recebe informação do sistema? Quem provê informação ao sistema?

Como encontrar casos de uso? Que funções o ator vai querer do sistema? O sistema armazena informações? Que informações atores irão criar, ler, atualizar ou apagar? O sistema precisa notificar o ator sobre mudanças no seu estado interno? Existe algum evento externo que o sistema precisa saber? Que ator informa o sistema desses eventos?

Fluxo de Eventos Especifica o comportamento de um caso de uso É uma seqüência de comandos declarativos que descreve as etapas de execução de um Caso de Uso Permanece focado no domínio do problema e não em sua solução Pode conter testes condicionais e iterações Contém informações relativas: Às condições de início e término do caso de uso Quais os atores interessados no sistema Como o caso de uso interage com esses atores

Fluxo de Eventos O fluxo de eventos de um caso de uso é composto por: Um Fluxo Básico - descreve a funcionalidade principal do caso de uso, quando nenhum desvio é tomado Zero ou Mais Fluxos Alternativos - descrevem desvios pré-definidos do fluxo básico Esses fluxos podem ser especificados através de: Descrição textual informal Texto semi-formal (através de pré-, pós-condições e invariantes) Pseudo-código Ou uma combinação destes

Exemplo (Fluxo Básico do caso de uso Comprar Produtos) Descrito em pseudo-código: O cliente chega ao ponto de vendas com os produtos da compra Para cada produto trazido pelo cliente: O atendente registra o código e a quantidade do produto O sistema determina o preço do produto e o adiciona à compra O atendente finaliza a compra O sistema calcula e apresenta o total ...

Exemplo (Fluxo Básico de Eventos – Cont...) O atendente informa ao cliente sobre o total da compra e pergunta qual a forma de pagamento Se (dinheiro) forma de pagamento = “dinheiro” O atendente registra a quantia recebida O sistema mostra o troco e gera o recibo O atendente deposita o dinheiro, devolve o troco e entrega o recibo de compra O sistema registra o final da transação

Exemplo (Fluxos Alternativos de Eventos) Descrições textuais: No passo 2 do fluxo básico, pode haver um produto com um código inválido. Nesse caso, o sistema avisará que o código fornecido é inválido e pede que o atendente registre o próximo produto. Vá para o passo 2 do fluxo básico. No passo 6, o cliente pode escolher pagar com cartão de crédito ou débito.Neste caso, o atendente passa o cartão e o cliente digita a senha.Se houver, vá para o passo 6 do fluxo básico. A qualquer momento, o atendente pode cancelar a transação. Nesse caso, as informações referentes à compra são descartadas.

Cenários Em UML significa um caminho através de um caso de uso. Uma instância de um caso de uso Seqüência de passos que descreve uma interação Exemplo (Sacar dinheiro): Saque com sucesso Tentativa de saque MAS senha incorreta Tentativa de saque MAS saldo insuficiente

Caso de Uso x Cenários Um caso de Uso não é um cenário, mas pode encapsular um conjunto de cenários Cada cenário é uma instância de um caso de uso Para cada caso de uso temos, no mínimo, um cenário para o fluxo normal (cenário principal) e outros para cada fluxo excepcional (cenários secundários).

Formato de Documentação de Casos de Uso Não existem padrões na indústria ou na literatura para sua formatação Deve-se incluir informações que facilitem a comunicação entre os clientes e a equipe de desenvolvimento do sistema

Formato de Documentação de Casos de Uso (Modelo mais usado) Nome do Caso de Uso Breve descrição Ator (principal) Prioridade (ex: Essencial, Importante, Desejável) Pré-Condições Pós-Condições Fluxo de eventos: Fluxo de evento principal Fluxos secundários: alternativos e de exceção Requisitos Não-Funcionais Específicos

Relacionamento entre casos de uso Os casos de uso podem ser organizados por meio de relacionamentos A UML disponibiliza três tipos: generalização inclusão extensão

Generalização É um relacionamento de generalização/especialização Os casos de uso especializados herdam a estrutura do caso de uso generalizado O supertipo contém cenários mais especializado, particular a cada um deles Os subtipos contém cenários mais especializados, particular a cada um deles Os cenários comuns a mais de um caso de uso é adaptado em um caso de uso generalizado

Generalização Quando usar? Quando você estiver descrevendo comportamentos semelhantes entrecasos de uso, mas algum deles faz um pouco mais que o outro. Exemplo:

Inclusão Um caso de uso incorpora explicitamente o comportamento de outro caso de uso, evitando assim repetições de descrição de fluxos. O cenário comum a mais de um caso de uso é captado em um outro concentra o serviço em um caso de uso base a ser utilizados por outros evita-se descrever a mesma seqüência de passos a vários casos de uso Utiliza o estereótipo <<include>> para expressar esse tipo de relacionamento

Inclusão Quando usar? Quando houver repetição entre casos de uso e você desejar evitar esta repetição Exemplo:

Extensão É usado para descrever cenários opcionais de um caso de uso os casos de uso descrevem cenários que sempre acontecerão no sistema os casos de uso estendidos ocorrerão em uma situação específica concentra-se essa seqüência em um caso de uso público Utiliza o estereótipo <<extend>>para expressar esse tipo de relacionamento

Extensão Quando usar? Quando quiser descrever uma variação do comportamento normal. partes opcionais de casos de uso cursos alternativos e complexos que raramente ocorrem Exemplo:

Fluxo de Requisitos no RUP

Atividades e Responsáveis

Localizar Atores e Casos de Uso Objetivos Delimitar o sistema Destacar os atores que irão interagir com o sistema Destacar os casos de uso do sistema Definir glossário com os principais termos Processo Identificar os Atores Identificar Casos de Uso Descrever Caso de Uso de forma resumida Criar Diagramas de Caso de Uso Descrever os diagramas (Descrição Analítica)

Priorizar os Casos de uso Objetivos Definir em quais iterações os Casos de Uso serão desenvolvidos Definir quais Casos de Uso participarão da visão arquitetural do Modelo de Caso de Uso Processo Identificar os Casos de Usos com mais riscos e os mais significantes Alimentar a Visão Arquitetural dos diagramas de Caso de Uso, com os casos de usos mais importantes Alocar os Casos de Uso as iterações definindo suas prioridades dentro de cada uma delas.

Detalhar Casos de Uso Objetivos Processo Descrever o fluxo de eventos de cada caso de uso Processo Entrevistar os usuários (atores) que estão relacionados com cada um dos casos de uso Descrever detalhadamente os passos que compõem o fluxo de evento do use case (Cada passo deve ter um objetivo claro) Revisar o detalhamento do caso de uso com os usuários Refinar a descrição dos casos de uso

Estruturar o Modelo de Caso de Uso Objetivos Otimizar o modelo de caso de uso Processo Identificar descrições de funcionalidades comuns. – Extrair tais funcionalidades e criar um use case mais específico que possa ser usado pelos demais <<include>>. Reuso de use cases – Herança(<<Generalization>>) ou Factoring(<<include>>) entre casos de uso. Identificar descrições de funcionalidades adicionais ou opcionais. Extrair as extensões adicionais ou opcionais para um use case mais específico <<extend>> Ex:Condições, Erros, Alternativas • Identificar descrições de funcionalidades comuns. – Extrair tais funcionalidades e criar um use case mais específico que possa ser usado pelos demais <<use>> ou <<include>>. » Reuso de use cases » Herança(<<Generalization>>) ou Factoring(<<include>>) entre use cases.