Aula 5 UML: Casos de Uso

Documentos relacionados
UML: Casos de Uso. Projeto de Sistemas de Software

CASO DE USO. Isac Aguiar isacaguiar.com.br

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

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

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

MODELAGEM DE SISTEMAS

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

Orientação a Objetos I

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

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Casos de Uso. Viviane Torres da Silva

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

Casos de Uso. Viviane Torres da Silva

Notas de Aula 04: Casos de uso de um sistema

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

2 Diagrama de Caso de Uso

Diagrama de Casos de Uso

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

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

DESENVOLVENDO O SISTEMA

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Modelos de Sistemas Casos de Uso

Engenharia de Software III

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

Uma visão mais clara da UML Sumário

Modelagem de Casos de Uso (Parte 1)

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Casos de Uso - definições

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

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

Diagrama de contexto

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

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Diagramas de Casos de Uso

Fundamentos de Banco de Dados e Modelagem de Dados

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

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

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

UML: Diagrama de Casos de Uso, Diagrama de Classes

Micro Mídia Informática Fevereiro/2009

Carlos Rafael Guerber. Modelagem UML de um Sistema para Estimativa Elétrica de uma Lavanderia

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

APLICAÇÃO DA MODELAGEM UML NA FASE DE ANÁLISE DE UM PROJETO DE SOFTWARE PARA AGENDAMENTO DE USO DE VEÍCULOS INTERNOS DE UMA EMPRESA


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

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br

REQUISITOS DE SISTEMAS

ATENAS: Um Sistema Gerenciador de Regras de Negócio

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Uma visão mais clara da UML Sumário

Guia de utilização da notação BPMN

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Introdução à UML. Prof. Erwin Alexander Uhlmann Guarulhos, de 29

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Análise e Projeto OO com UML. Lição 3 Especificação e Modelagem de Requisitos com UML

4.1. UML Diagramas de casos de uso

Modelagem de Sistemas Orientado a Objetos com UML.

Modelagem Dinâmica com UML

Modelagem de Sistemas Prof. Marcos Roberto e Silva

O sistema é dividido por quatro menus principais: Cadastro, Comercial, Estoque e Pesquisa como verá a seguir:

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Introdução ao Processo Unificado (PU)

Capítulo 8. Introdução UML

Análise e Projeto Orientados a Objeto

UML - Unified Modeling Language

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

RELACIONAMENTOS ENTRE CLASSES

Casos de uso Objetivo:

MANUAL PARA USO DO SISTEMA

Eduardo Bezerra. Editora Campus/Elsevier

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

Engenharia de Requisitos Estudo de Caso

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

ProcessoUnificado: Prof. Anderson Cavalcanti UFRN-CT-DCA

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

UML: Diagrama de Seqüência

Levantamento, Análise e Gestão Requisitos. Aula 04

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

COMO FAZER UMA VENDA?

Lógica e Programação Java

Diretrizes de Qualidade de Projetos

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

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

MANUAL DA SECRETARIA

Modelagem de Processos. Prof.: Fernando Ascani

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

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

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

Transcrição:

Aula 5 UML: Casos de Uso

UML Casos de Uso Introdução Casos de uso Elementos do diagrama de casos de uso Descrição de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia 2

Introdução Casos de Uso Os casos de uso: Descrevem como os usuários interagem com o sistema (as funcionalidades do sistema) Facilitam a organização dos requisitos de um sistema Dão uma visão externa do sistema O conjunto de casos de uso deve ser capaz de comunicar a funcionalidade e o comportamento do sistema para o cliente Descrevem o que o sistema faz, mas NÃO especificam como isso deve ser feito 3

Elementos do diagrama: Atores Casos de uso Relacionamentos Associação Generalização Dependência: Extensão e Inclusão Fronteira do sistema 4

Elementos do diagrama Atores Casos de uso Relacionamentos Associação Generalização Dependência: Extensão e Inclusão Fronteira do sistema 5

Atores Representam os papéis desempenhados por elementos externos ao sistema Ex: humano (usuário), dispositivo de hardware ou outro sistema (cliente) Elementos que interagem com o sistema Notação: Secretária (from Use Case View) Diretor (from Use Case View) Sistema de Relatórios (from Use Case View) 6

Exemplo: Loja de CDs Identificando os atores Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos. 7

Exemplo: Loja de CDs Identificando os atores Gerente (from Use Case View) Atendente (from Use Case View) E o cliente? Não é ator pois ele não interage com o sistema! 8

Elementos do diagrama Atores Casos de uso Relacionamentos Associação Generalização Dependência: Extensão e Inclusão Fronteira do sistema 9

Caso de Uso Representa uma funcionalidade do sistema (um requisito funcional) É iniciado por um ator ou por outro caso de uso Dicas: Nomeie os casos de uso iniciando por um verbo Notação: Nome do Caso de Uso 10

Exemplo: Loja de CDs Identificando os casos de uso Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos. 11

Exemplo: Loja de CDs Identificando os casos de uso Vender CDs Administrar estoque 12

Elementos do diagrama Atores Casos de uso Relacionamentos Associação Generalização Dependência: Extensão e Inclusão Fronteira do sistema 13

Relacionamento de associação Indica que há uma interação (comunicação) entre um caso de uso e um ator Um ator pode se comunicar com vários casos de uso Dicas: NÃO use setas nas associações Associações NÃO representam fluxo de informação Notação: interação Ator (from Use Case View) Caso de Uso (from Use Case View) 14

Exemplo: Loja de CDs Identificando os relacionamentos de associação Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir à loja. A loja possui um atendente cuja função é atender os clientes durante a venda dos discos. A loja também possui um gerente cuja função é administrar o estoque para que não faltem discos. Além disso é ele quem dá folga ao atendente, ou seja, ele também atende os clientes durante a venda dos discos. 15

Exemplo: Loja de CDs Identificando os relacionamentos de associação Vender CDs Atendente Administrar estoque Gerente 16

Elementos do diagrama Atores Casos de uso Relacionamentos Associação Generalização Dependência: Extensão e Inclusão Fronteira do sistema 17

Relacionamento de generalização Generalização de atores Quando dois ou mais atores podem se comunicar com o mesmo conjunto de casos de uso Um filho (herdeiro) pode se comunicar com todos os casos de uso que seu pai se comunica. Dica: coloque os herdeiros embaixo Notação: 18

Exemplo: Loja de CDs Identificando generalização de atores Vender CDs Atendente Administrar estoque Gerente 19

Relacionamento de generalização Generalização de casos de uso O caso de uso filho herda o comportamento e o significado do caso de uso pai O caso de uso filho pode incluir ou sobrescrever o comportamento do caso de uso pai O caso de uso filho pode substituir o caso de uso pai em qualquer lugar que ele apareça Dica: deve ser aplicada quando uma condição resulta na definição de diversos fluxos alternativos. Notação: Pai Filho 1 Filho 2 20

Exemplo: Loja de CDs Identificando generalização de casos de uso Novos requisitos: As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque é atualizado e uma nota fiscal, entregue ao consumidor. No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acréscimo de 20%. As vendas a prazo podem ser pagas no cartão ou no boleto. Para pagamento com boleto, são gerados boletos bancários que são entregues ao cliente e armazenados no sistema para lançamento posterior no caixa. Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista. 21

Exemplo: Loja de CDs Identificando generalização de casos de uso Vender CDs Atendente Vender CDs a prazo Vender CDs à vista Administrar estoque Gerente 22

Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando mais generalização de casos de uso Novos requisitos: As vendas podem ser à vista ou a prazo. Em ambos os casos o estoque é atualizado e uma nota fiscal, entregue ao consumidor. No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acréscimo de 20%. As vendas a prazo podem ser pagas no cartão ou no boleto. Para pagamento com boleto, são gerados boletos bancários que são entregues ao cliente e armazenados no sistema para lançamento posterior no caixa. Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista. 23

Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando generalização de casos de uso Vender CDs Atendente Vender CDs a prazo Vender CDs à vista Vender c/ boleto Vender c/ cartão Administrar estoque Gerente 24

Elementos do diagrama Atores Casos de uso Relacionamentos Associação Generalização Dependência: Extensão e Inclusão Fronteira do sistema 25

Relacionamento de dependência: Extensão: Representa uma variação/extensão do comportamento do caso de uso base O caso de uso estendido só é executado sob certas circunstâncias Separa partes obrigatórias de partes opcionais Partes obrigatórias: caso de uso base Partes opcionais: caso de uso estendido Fatorar comportamentos variantes do sistema (podendo reusar este comportamento em outros casos de uso) Notação: <<extends>> <<extends>> 26

Exemplo: Loja de CDs Identificando dependência: extensão Novos requisitos: No caso de uma venda à vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma só vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo......para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras à vista. 27

Diagrama de Casos de Uso Exemplo: Loja de CDs Identificando dependência: extensão Vender CDs Atendente Vender CDs a prazo Vender CDs à vista <<extend>> Vender c/ boleto Vender c/ cartão <<extend>> Calcular desconto Administrar estoque Gerente 28

Diagrama de Casos de Uso Relacionamento de dependência: Inclusão: Evita repetição ao fatorar uma atividade comum a dois ou mais casos de uso Um caso de uso pode incluir vários casos de uso Notação: <<includes>> <<includes>> 29

Exemplo: Loja de CDs Identificando dependência: inclusão Novos requisitos: Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema. 30

Exemplo: Loja de CDs Identificando dependência: inclusão Vender CDs Atendente Vender CDs a prazo Vender CDs à vista <<extend>> Vender c/ boleto Vender c/ cartão <<extend>> Calcular desconto <<include>> Fazer login <<include>> Administrar estoque Gerente 31

Elementos do diagrama Atores Casos de uso Relacionamentos Associação Generalização Dependência: Extensão e Inclusão Fronteira do sistema 32

Fronteira do Sistema Elemento opcional (mas essencial para um bom entendimento) Serve para definir a área de atuação do sistema Notação: 33

Exemplo: Loja de CDs Identificando a fronteira do sistema Vender CDs Atendente Vender CDs a prazo Vender CDs à vista <<extend>> Vender c/ boleto Vender c/ cartão <<extend>> Calcular desconto <<include>> Fazer login <<include>> Administrar estoque Gerente 34

Descrição de Casos de Uso A descrição é mais importante do que o diagrama UML não especifica padrão Pode ser: Informal Típica Detalhada 35

Descrição de Casos de Uso Descrição Informal Contém o nome do caso de uso e uma descrição textual de sua funcionalidade Exemplo: 36

Descrição de Casos de Uso Descrição Típica Contém: Identificação do ator que iniciou o caso de uso Pré-requisitos (se houver) do caso de uso Descrição textual do: Fluxo normal Fluxos alternativos (se houver) Exemplo: 37

Descrição de Casos de Uso Descrição Detalhada (Ex.1) Contém: Identificação do ator que iniciou o caso de uso Objetivo Nível Pré-requisitos (se houver) do caso de uso Condições de disparo (triggers) Descrição textual do: Fluxo normal Fluxos alternativos (se houver) 38

Exemplo 1: 39

Descrição de Casos de Uso Descrição Detalhada (Ex.2) Contém: Nome Descrição sucinta Atores Pré-condições Pós-condições Fluxo básico Fluxos alternativos Fluxos de exceção Estruturas de dados Regras de negócio Observações 40

Exemplo 2: (usar nos trabalhos!) 41

Exemplo 2 (cont.): (usar nos trabalhos!) 42

Exemplo 2 (cont.): (usar nos trabalhos!) 43

Exemplo: Blog Um blog é uma ferramenta de colaboração Um blog é formado por um conjunto de conteúdos: notas comentários sobre as notas Os conteúdos possuem as seguintes informações: texto, data de criação e autor Os usuários de um blog podem ser: Usuário: pode ler conteúdos de um blog, comentar uma nota, remover comentários, e pode criar um blog. Dono do blog: além de todas as funcionalidades de um usuário comum, o dono do blog pode criar notas e remover notas Para remover um conteúdo o usuário precisa ler o conteúdo antes 44

Exemplo: Blog Criar Blog blogsystem Criar Comentario <<include>> Ler Conteudo Ler Nota Usuario Ler Comentario <<include>> <<include>> Remover Comentario Remover Conteudo Remover Nota Dono do blog Criar Nota 45

Ferramentas de Modelagem Omondo Plugin para Eclipse - http://www.omondo.com/ Jude - https://jude.change-vision.com/jude-web/ Together - http://www.borland.com/products/downloads/download_together.html IBM Rational Rose - http://www.ibm.com/software/rational... 46

Ferramentas de Modelagem - Omondo 47

Ferramentas de Modelagem - JUDE 48

Bibliografia Cockburn, A., Writing Effective Use Cases, Addison-Wesley, 2001. Fowler, M e Scott, K., UML Distilled A Brief Guide to the standard Object Modeling Language, Addison Wesley Longman, 2002 Booch, G., Rumbaugh, J. and Jacobson, I., Unified Modeling Language User Guide, 2 nd Edition, Addison-Wesley Object Technology Series, 2005. 49