Modelagem de Casos de Uso (Parte 1)



Documentos relacionados
Modelagem de Casos de Uso (Parte 1)

Diagrama de Casos de Uso

2 Diagrama de Caso de Uso

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Engenharia de Software III

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

O Processo Unificado: Captura de requisitos

Modelagem de Sistemas Prof. Marcos Roberto e Silva

UML: Casos de Uso. Projeto de Sistemas de Software

CASO DE USO. Isac Aguiar isacaguiar.com.br

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

Modelagem de Casos de Uso (Parte 2)

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Modelagem de Casos de Uso (Parte 2)

Curso de Licenciatura em Informática

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

UML Aula I Diagramas de Caso de Uso, Sequência e Colaboração

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 20 PROFª BRUNO CALEGARO

Sumário. Uma visão mais clara da UML

Casos de Uso. Viviane Torres da Silva

UML - Unified Modeling Language

Uma visão mais clara da UML Sumário

Casos de Uso - definições

Notas de Aula 04: Casos de uso de um sistema

Engenharia de Requisitos Estudo de Caso

Modelos de Sistemas Casos de Uso

Introdução Diagramas de Casos de Uso Diagramas de Classes Estoque Fácil

Análise Orientada a Objetos Modelagem Requisitos usando Casos de Uso

APOO Análise e Projeto Orientado a Objetos. Requisitos

MODELAGEM DE SISTEMAS

Casos de Uso. Viviane Torres da Silva

Estudo de Caso Sistema de Caixa Automático

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Modelos de Sistemas Casos de Uso

Diagramas de Sequência e Contrato das Operações

Resolução da lista de exercícios de casos de uso

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Análise OO. Análise. Antónia Lopes Desenvolvimento C. Objectos 09/10. Antónia Lopes

A Linguagem de Modelagem Unificada (UML)

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Aula 5 UML: Casos de Uso

Especificação de Requisitos

DESENVOLVENDO O SISTEMA

Análise e Projeto Orientados por Objetos

Diagrama de Caso de Uso e Diagrama de Sequência

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6.

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Histórico da Revisão. Data Versão Descrição Autor

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

Modelagem de Casos de Uso! Um modelo funcional

UML Aspectos de projetos em Diagramas de classes

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Os casos de uso dão conta da maioria dos requisitos de um sistema computacional.

Concepção e Elaboração

Análise e Projeto Orientados a Objetos Aula IX Modelo Conceitual do Sistema (Modelo de Domínio) Prof.: Bruno E. G. Gomes IFRN

Engenharia de Software

Modelagem Estática. Modelagem Estática. INF318 - Análise Orientada a Objetos e Projeto Arquitetural

UML 2.0 Diagrama de casos de uso

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

Engenharia de Software I

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

4. Exemplo de Levantamento de Classes Levantamento das Classes Conceito de Classe e Objeto Modelo de Casos de Uso...

ViajarFácil Sistema de Reserva de Viagens

Casos de Uso. Prof. Clayton Vieira Fraga Filho site: ENG10015 Engenharia de Software

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

Modelode Casosde Usoe. Prof. Anderson Cavalcanti UFRN-CT-DCA

4.1. UML Diagramas de casos de uso

Engenharia de Software

Manual do Usuário Sistema ERP - Albatroz

Diagramas de Casos de Uso

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Modelagem ou Diagrama de Caso de Uso

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

Uma visão mais clara da UML Sumário

Engenharia de Requisitos

É uma forma do engenheiro de requisitos especificar os limites e as funcionalidades do sistema.

Rock In Rio - Lisboa

Feature-Driven Development

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Diagramas de Casos de Uso

Tópicos Especiais em Sistemas de Telecomunicações IV

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

1 UML (UNIFIED MODELING LANGUAGE)

Modelagem de Processos. Prof.: Fernando Ascani

Especificação de Requisitos

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Transcrição:

Modelagem de Casos de Uso (Parte 1)

Roteiro Introdução Descrição: Sistema de Ponto de Vendas Casos de Usos Atores Fluxo de Eventos Cenários Formato de Documentação de Casos de Uso Diagramas de Casos de Uso Relacionamentos Entre Casos de Uso

Introdução

Introdução (1) Objetivos Principais dos Casos de Uso: Delimitação do contexto de um sistema Documentação e o entendimento dos requisitos Descreve os requisitos funcionais Principal saída da etapa de especificação de requisitos Principal entrada da etapa de análise

Introdução (2) Objetivos Secundários dos Casos de Uso: Facilita a comunicação entre os stakeholders É base para a definição do cronograma Auxilia a elaboração dos casos de teste

Introdução - (3) Ponte entre Requisitos e Análise: Especificação de Requisitos Especificação dos Requisitos ou Modelo Contextual do Sistema Ponte (artefato comum) Modelo de Casos de Uso Análise Modelo de Classes de Análise ou Modelo Conceitual

Descrição: Sistema de Ponto de Vendas Principais Requisitos: Registrar os itens vendidos em cada venda. Calcular o total de uma venda. Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. Reportar ao estoque os dados dos produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. Calcular o total de uma venda. Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. - (F) Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. - (F) Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. - (F) Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. - (F) Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. - (NF) Receber pagamentos em dinheiro ou cartão. Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. - (F) Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. - (NF) Receber pagamentos em dinheiro ou cartão. - (F) Emitir mensalmente o balanço do estoque.

Exercício (PDV) Classificação dos Requisitos - (F/NF): Registrar os itens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informações sobre cada produto mediante a leitura de seu código de barras. - (F) Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. - (NF) Receber pagamentos em dinheiro ou cartão. - (F) Emitir mensalmente o balanço do estoque. - (F)

Casos de Usos

Casos de Usos É uma descrição de um processo de negócio relativamente longo com um começo, meio e fim Representa as principais funcionalidades do sistema observáveis por algum ator Representam funções no nível de sistema O QUE fazer, não COMO fazer Abstração dos detalhes desnecessários

Exemplo (Caso de Uso) Caso De Uso: Comprar Produtos Atores: Cliente, Atendente Descrição: Um cliente chega ao ponto de vendas para comprar produtos. O atendente registra a compra e coleta o pagamento. O cliente vai embora com a compra.

Representação UML (Casos de Uso) Uma elipse com o nome do caso de uso no centro: Comprar Produtos Nome = Verbo + Substantivo (indicação de ação)

Atores

Atores São entidades externas ao sistema computacional que participam de um ou mais casos de uso Normalmente ou fornecem eventos de entrada ou recebem alguma resposta do sistema Em geral, atores podem ser: Papéis que pessoas representam nos casos de uso Dispositivos de hardware mecânicos ou elétricos Outros sistemas computacionais Tempo (representar atividades periódicas) Interage com os casos de uso através de associações (linhas contínuas)

Representação UML (Atores) caso de uso Comprar Produtos associação ator Atendente Cliente << actor >> caso de uso << actor >> Atendente Comprar Produtos associação Cliente ator

Fluxo de Eventos

Fluxo de Eventos (1) 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 (2) 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) Pseudocódigo Ou uma combinação dessas maneiras

Exemplo (Fluxo Básico de Eventos) (1) Descrito em pseudocódigo: 1. O cliente chega ao ponto de vendas com os produtos da compra 2. para cada( produto trazido pelo cliente): (a) O atendente registra o código e a quantidade do produto (b) O sistema determina o preço do produto e o adiciona à compra 3. O atendente indica que a lista de produtos está completa 4. O sistema calcula e apresenta o total...

Exemplo (Fluxo Básico de Eventos) (2) Descrito em pseudocódigo:... 5. O atendente informa o cliente sobre o total da compra e pergunta qual é a forma de pagamento 6. se(dinheiro) forma de pagamento = dinheiro 7. O atendente registra a quantia recebida 8. O sistema mostra o troco e gera o recibo 9. O atendente deposita o dinheiro, devolve o troco e entrega o recibo da compra 10. O sistema registra o final da transação

Exemplo (Fluxos Alternativos de Eventos) Descrições textuais: 1. No passo 2 do fluxo básico, pode ter um produto com um código inválido. Nesse caso, o sistema avisa 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. 2. No passo 6, o cliente pode escolher pagar com cartão de crédito. Neste caso, o atendente passa o cartão e o cliente digita a senha. Se houver crédito disponível, vá para o passo 7 do fluxo básico. Se não houver, vá para o passo 6 do fluxo básico. 3. A qualquer momento, o atendente pode cancelar a transação. Nesse caso, as informações referentes à compra são descartadas.

Cenários

Cenários São seqüências de comandos/ações simples Representam um comportamento sem desvios de caminhos ou iterações O fluxo de eventos de um caso de uso produz: Um cenário primário, que representa uma situação típica de sucesso Zero ou mais cenários secundários, que descrevem situações previstas, porém incomuns Cenários têm respostas para as seguintes perguntas: Como o cenário começa? O que causa o término do cenário? Quais respostas são produzidas pelo cenário?

Exemplo (Cenário Primário) (1) Caso de Uso Comprar Produtos: 1. O cliente José chega ao ponto de vendas para comprar um saco de açúcar em dinheiro com uma nota de R$ 5,00; 2. O atendente registra o código do produto. 3. O sistema verifica o preço do produto, adicionando-o à compra. 4. O atendente indica que a lista de produtos está completa. 5. O sistema calcula e apresenta o total de R$ 2,00.

Exemplo (Cenário Primário) (2) Caso de Uso ComprarProduto: 6. O atendente conta para José o total da compra. 7. José entrega a sua nota de R$ 5,00 ao atendente. 8. O atendente registra a quantia de dinheiro recebida. 9. O sistema mostra o troco (R$ 3,00) e gera o recibo. 10. O atendente deposita o dinheiro e devolve o troco e o recibo. 11. O sistema registra o final da transação de compra. 12. José vai embora.

Exemplo (Cenário Alternativo) Caso de Uso ComprarProduto - Alternativo 1: 1. O cliente chega ao ponto de vendas com o produto da compra 2. O atendente tenta registrar o código do produto, que está inválido 3. O sistema avisa ao atendente que o código do produto fornecido é inválido e não adiciona o produto na compra

Formato de Documentação de Casos de Uso

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 (Formato Adotado) (1) 1. Nome do Caso de Uso. (a) Breve Descrição:.... texto.... (b) Atores:.... texto.... (c) Pré-condições:.... predicados satisfeitos antes da execução.... (d) Pós-condições:.... predicados satisfeitos após a execução.... (e) Requisitos Especiais (Não-Funcionais):.... atributos de qualidade do sistema...

Formato de Documentação de Casos de Uso (Formato Adotado) (2) 2. Fluxos de Eventos. (a) Fluxo Básico:.... passos do fluxo básico.... (b) Fluxo Alternativo 1:.... passos/descrição do fluxo alternativo.... (c) Fluxo Alternativo 2:.... passos/descrição do fluxo alternativo.... (d)...

Diagramas de Casos de Uso

Diagramas de Casos de Uso Mostram um conjunto de casos de uso, atores e seus relacionamentos Modelam aspectos dinâmicos do sistema Proporcionam uma representação contextual do sistema (fronteira expĺıcita) Indicam a forma como o sistema interage com as entidades externas (atores)

Diagrama de Casos de Uso: PDV Sistema de Ponto de Vendas caso de uso Limite do sistema Comprar Produtos associação Devolver Produtos ator Atendente Trocar Produtos Cliente Efetuar Login

Relacionamentos Entre Casos de Uso

Relacionamentos Entre Casos de Uso Objetivo: Aumentar a reutilização em diferentes contextos Evita a descrição de um mesmo conjunto de fluxos de eventos, através da extração/fatoração do comportamento comum dos casos de uso A linguagem UML define três tipos de relacionamentos: Generalização (herança) Inclusão (<< include >>) Extensão (<< extend >>)

Generalização (1) Similar à generalização entre classes O caso de uso filho herda tanto o significado do seu pai, quanto o seu comportamento O comportamento do caso de uso filho normalmente é redefinido

Generalização (2) Um caso de uso filho pode ser utilizado no lugar do seu pai Também pode ser utilizado entre atores Representado por uma seta contínua que aponta do filho para o pai

Exemplo de Generalização (1) caso de uso derivado caso de uso base Efetuar Pagamento Pagar em Dinheiro caso de uso derivado Pagar com Cartão de Crédito

Exemplo de Generalização (2) Funcionário Gerente Atendente

Inclusão Significa que o caso de uso base incorpora explicitamente o comportamento de outro caso de uso em um ponto específico Representado como uma dependência (seta tracejada) que aponta para o caso de uso incluído Se o caso de uso incluído muda, o caso de uso base precisa ser revisto A dependência possui o estereótipo << include >>

Exemplo de Inclusão (1) Fluxo Básico de Eventos (Comprar Produtos): 1. adicionar itens ao pedido; 2. include (Efetuar Pagamento); 3. se o pagamento for realizado com sucesso (a) Finalizar venda 4. senão (a) Cancelar compra

Exemplo de Inclusão (2) caso de uso base Comprar Produtos << include >> relacionamento de inclusão caso de uso incluído Efetuar Pagamento

Extensão (1) Significa que o caso de uso base incorpora implicitamente o comportamento de outro caso de uso Apenas em circunstâncias específicas, o caso de uso estendido tem seu comportamento incorporado pelo caso de uso base: pontos de extensão Utilizado para modelar o comportamento excepcional do sistema (exceções)

Extensão (2) Representado como uma dependência (seta tracejada) que aponta para o caso de uso base Se o caso de uso base muda, o caso de uso estendido precisa ser revisto A dependência possui o estereótipo << extend >>

Exemplo de Extensão (1) Fluxo Básico de Eventos (Devolver Produtos): 1. Coleta os itens do produto devolvido; 2. se (opção de troca); (a) extend Efetuar Troca 3. se(opção em dinheiro); (a) extend Ressarcir em Dinheiro 4. Reportar ao estoque; 5. Finalizar operação.

Exemplo de Extensão (2) caso de uso base relacionamento de extensão ponto de extensão Devolver Produtos Extension Points (opção de troca): (opção em dinheiro): << extend >> (opção de troca) caso de uso estendido Efetuar Troca << extend >> (opção em dinheiro) caso de uso estendido Ressarcir em Dinheiro

Exercícios

Exercícios 1. Construa um diagrama de casos de uso a partir da identificação dos relacionamentos entre os casos de uso do sistema de PDV, mostrado em aula. Utilize << include >> e << extend >>. Dicas: (i) alguns casos de uso foram mostrados em aula; (ii) sugestão para a construção do diagrama: (a) Identificação dos atores do casos de uso (b) A partir desses atores, identificar os casos de uso (consulte os requisitos desejados) (c) Refinar os casos de uso, identificando suas partes em comum e a relação entre eles 2. Especifique um desses casos utilizando o formato dado em aula.

Resolução do Exercício 1

Proposta de Resolução do Exercício 1 Diagrama Detalhado de Casos de Uso do Sistema de PDV Sistema de PDV Calcular Total Cliente << include >> << include >> Registrar Venda Registrar Item de Venda Reportar Venda ao Estoque Comprar Produtos << include >> << include >> Adicionar Item Obter Informação do Produto Funcionario << include >> << include >> Efetuar Login Efetuar Pagamento << include >> (opção de troca) << extend >> Efetuar Troca Devolver Produtos Pagar em Dinheiro Pagar com Cartão Atendente Gerente (opção em dinheiro) << extend >> Ressarcir em Dinheiro Emitir Balanço Mensal Tempo

Roteiro - Parte 2 (I) Método para Modelagem de Casos De Uso Estudo de Caso: Sistema de Controle para Videolocadora Levantamento Inicial dos Casos de Uso Identificação dos Casos de Uso Baseada em Atores Identificação de Casos de Uso Baseada em Atributos Identificação dos Casos de Uso Baseada em Análise de Domínio Construção de um Glossário dos Termos Utilizados

Roteiro -Parte 2 (II) Refinamento dos Casos de Uso Relacionados Descrição dos Casos de Usos Agrupamento dos Casos de Uso em Pacotes Descrições Formais dos Casos de Uso Diagrama de Casos de Uso do Sistema de Videolocadoras Exercícios