• Nenhum resultado encontrado

_aula_UML_Diag casos de uso

N/A
N/A
Protected

Academic year: 2021

Share "_aula_UML_Diag casos de uso"

Copied!
79
0
0

Texto

(1)

Análise e Projeto de Sistemas

Prof. Ms. Ângelo Lemos Vidal de Negreiros

(2)

Boch, Jacobson, Rumbaugh; UML –

Guia do Usuário; Editora: Elsevier;

Ano: 2006

Martin Fowler; UML Essencial; Editora:

Bookman; Ano: 2004

2 Fernando Pedrosa Lopes

(3)

Linguagem de Modelagem Unificada

Linguagem

Usada para expressar e comunicar idéias

Não é uma metodologia!

Modelagem

Descrever um sistema em um alto nível de

abstração

Unificada

UML se tornou o padrão mundial para

modelagem de sistemas –

www.omg.org

3 Fernando Pedrosa Lopes

(4)

Linguagem gráfica para especificar,

visualizar, construir e documentar os

artefatos de software

Vantagens

Usa notação gráfica: mais clara que a

linguagem natural (imprecisa) e código

(muito detalhado)

Ajuda a obter uma visão geral do sistema

Não é dependente de tecnologia

Diminui a fragmentação, aumenta a

padronização

4 Fernando Pedrosa Lopes

(5)

5 Fernando Pedrosa Lopes

1997: UML 1.0, 1.1 1996: UML 0.9 & 0.91 1995: Unified Method 0.8

Outros

métodos Booch (OOAD) OMT (Rumbaugh)

Ano Versão

2011: UML 2.4 2010: UML 2.3 2009: UML 2.2 2003: UML 2.0 2001: UML 1.4 1999: UML 1.3 OOSE (Jacobson) Industrialização Padronização Unificação Fragmentação

(6)

São diagramas sem noção de tempo. São válidos independente do momento em que acontecem. Diagramas estruturais = diagramas estáticos * Diagramas comportamentais = Diagramas dinâmicos. * Considera a natureza

dinâmica. Coloca o software para rodar e verifica como os processos, objetos, estados trocam entre si.

* Considera o tempo.

Interação (subdivisão)

- Considera objetos e seus relacionamentos; e as

mensagens que são despachadas entre os objetos.

- Interação entre os objetos (é o que tem a mais com

relação aos comportamentais puro)

(7)

Diagramas estruturais

Mostram a estrutura estática do sistema e

suas partes em diferentes níveis de

abstração e como elas se relacionam

Não utilizam conceitos relacionados ao

tempo

Diagramas comportamentais

Mostram a natureza dinâmica dos objetos

do sistema, que pode ser descrita como

uma série de mudanças no sistema com o

passar do tempo

7 Fernando Pedrosa Lopes

(8)

(Governo do ES - CESPE 2009)

[78] UML é um método para desenvolvimento de software que foi proposto para ser aplicado à análise e projeto de software orientados a objetos.

(EMBASA – CESPE 2009)

[94] Os diagramas em UML podem ser estáticos ou dinâmicos. O diagrama de classes é um exemplo de um diagrama dinâmico. (SERPRO – CESPE 2008)

[101] UML (universal modelling language) é uma linguagem de

modelagem proprietária que pode ser utilizada no desenvolvimento de sistemas de maneira intuitiva para visualização de objetos.

8 Fernando Pedrosa Lopes

(9)

(CGU - ESAF 2008)

[31] - A linguagem de Modelagem Unificada (UML) emergiu como notação de diagramação de padrão, de fato e de direito, para a modelagem orientada a objetos. Desta forma, a sentença que conceitua apropriadamente a UML, segundo o OMG-Object Management Group, é

a) um método para especificar e modelar os artefatos dos sistemas. b) um processo de especificação e modelagem de sistemas

orientados a objeto.

c) uma linguagem para implementar os conceitos da orientação a objetos.

d) uma linguagem visual para especificar, construir e documentar os artefatos dos sistemas.

e) um método comum para a representação da orientação a objetos.

9 Fernando Pedrosa Lopes

(10)

Modelagem UML (Linguagem de Modelagem

Unificada)

◦ Usada para expressar e comunicar ideias.

◦ Alto nível de abstração

◦ Linguagem gráfica para especificar, visualizar, construir e documentar os artefatos de software

Vantagens

◦ Usa notação gráfica: mais clara que a linguagem natural (imprecisa) e código (muito detalhado)

◦ Ajuda a obter uma visão geral do sistema

◦ Não é dependente de tecnologia

(11)

Modelagem UML

◦ Represente uma casa com:

 4 quartos, sendo duas suites  1 banheiro

 Sala em L

 1 cozinha com área de serviço  Janela tamanho grande

 ...

◦ Como demonstrar isso para que cliente possa visualizar melhor?

(12)

Modelagem UML

◦ https://www.youtube.com/watch?v=GiIHUMkuG-Y

(maior)

(13)

Desenvolvidos por I. Jacobson, são parte

integrante da UML

São descrições textuais das funcionalidades

do sistema a partir da perspectiva do usuário

Usados para mostrar quais funcionalidades o

sistema oferece e que usuários se comunicam

com ele

(14)

É o conjunto de sequencias de ações do

usuário no sistema que irá gerar valor ao

cliente, observável por este.

Identifica normalmente uma funcionalidade

do sistema

Visa a perspectiva externa.

Não se preocupa com detalhes internos.

O "como" não é realizado pelos casos de uso

◦ Ex. como é calculado um valor, um algoritmo, etc.

(15)

Especifica um conjunto de cenários.

◦ Sucessão de passos que pode finalizar em sucesso ou falha.

Cada possível linha de execução é chamada

(16)

Quem usa os casos de uso

A

rquitetos

Clientes e Usuários

Analistas, Projetistas e Implementadores

Testadores

Gerentes

(17)

Diagramas de caso de uso

◦ Visão alto nível do sistema

◦ Visão resumida

◦ Servem para facilitar o entendimento de um sistema mostrando a sua “visão externa”

◦ São usados para modelar o contexto de um sistema ou um subsistema

◦ São uma das maneiras mais comuns de documentar requisitos do sistema

 Delimitam o seu escopo

(18)

Diagramas de caso de uso

◦ Contém um conjunto de casos de uso e modela interações entre

 Atores e o sistema  O próprio sistema

◦ Cada caso de uso descreve um conjunto de cenários

◦ Captura os requisitos do usuário

 Comportamento externo

 O que fazer e não como fazer ◦ Delimita o escopo do sistema

(19)
(20)
(21)

Especificação do caso de uso

◦ Descreve o passo a passo da execução do sistema

◦ Descreve os cenários

◦ A ideia é a partir de cada elipse (um caso de uso) se descrever (ou especificar) este caso de uso. Ou seja, detalhar o seu passo a passo.

 Pode conter diversos cenários de sucessos e erros.

◦ OBS. Não existe uma única forma de especificar os casos de uso.

 Guias, seções e boas práticas podem existir, mas não é obrigatório seguir.

(22)

Especificação do caso de uso

Nome: Fazer Pedido

Descrição: Caso de uso que especifica o

fluxo de ações para o cliente fazer um

pedido no Sistema

Atores: Cliente

Primário: Executa inicialmente o caso de uso

Secundário: Interage posteriormente.

Pré Condição: O cliente deve estar logado

(23)

Fluxo principal de eventos

P1. O caso de uso começa quando o cliente

seleciona a opção “Fazer Pedido”

P2. O cliente fornece seu nome e endereço e

fornece o código do produto [EXT1]

P3. O sistema fornece a descrição e o preço

do produto [INC1]

P4. O cliente fornece as informações de

pagamento e escolhe a opção “confirmar”

[A1]

P5. O sistema verifica as informações

fornecidas e envia os dados para o sistema de

pagamento [E1]

(24)

Observações

◦ Uso da palavra seleciona, e não da palavra clicar com mouse, ou escrever com o teclado, pois isso seria usar detalhes técnicos. E isso não é certo na descrição de caso de uso

◦ O ideal é a descrição da forma mais genérica possível, não “amarrando” detalhes de

(25)

Pontos de Extensão

◦ EXT1. O sistema estende o caso de uso “Pedido em oferta”

Pontos de Inclusão

◦ INC1. O sistema inclui o caso de uso “Dar informação do produto”

Fluxo alternativo

◦ Uso de opções para executar um passo. No caso, a opção confirmar ou poderia ser cancelar.

◦ Alternativo: pode ou não ocorrer

◦ Ex - A1. No passo P4 cliente seleciona a opção “cancelar”

 A1.1 O sistema não grava o pedido e o fluxo retorna

(26)

Pontos de Extensão X Fluxo Alternativo

◦ Alternativo: a opção ocorre dentro do próprio (mesmo) caso de uso. É um comportamento opcional.

◦ Extensão: são passos que ocorrerão a partir de

outros casos de uso. Chama o uso de outro caso de uso. Também é um comportamento opcional.

(27)

Fluxo excepcional de eventos

Ex. Informação errada do cartão de crédito.

É um comportamento anômalo, ou seja, algo

incomum no sistema.

E1. No passo P5 o sistema verifica que as

informações fornecidas estão incorretas

E1.1 O sistema pede ao cliente para corrigir as

informações e o fluxo retorna ao passo P4

Pós condições

O pedido deve ter sido gravado no sistema e

marcado como confirmado

(28)

Casos de uso são executados por atores

Eles constituem as entidades externas do

ambiente do sistema

São papéis que os usuários do sistema devem

desempenhar nas interações

Uma “instância de ator” pode ser

desempenhada tanto por um indivíduo

quanto por um sistema ou mesmo por um

dispositivo

(29)

OBS. Atores representam papéis/perfis e não

(30)

Comunicação

◦ Comunicação simples e normal entre ator e caso de uso

(31)

Especialização

◦ É possível definir tipos gerais de atores e

especializá-los usando o relacionamento de especialização.

◦ Usado quando um ator (filho) é um tipo de outro autor mais genérico (pai)

(32)

Inclusão

◦ Um Caso de Uso base incorpora o comportamento de outro Caso de Uso

◦ O relacionamento é utilizado para evitar a descrição do mesmo fluxo de eventos várias vezes

 Reaproveitamento (reutilização) de caso de uso  Obrigatoriedade

(33)

Inclusão (DIREÇÃO DA SETA)

◦ OBS. Pesquisar pedido É INCLUÍDO em Cancelar pedido CERTO Cancelar pedido INCLUI Pesquisar pedido Direção da leitura

(34)

Inclusão (DIREÇÃO DA SETA)

◦ OBS. Cancelar pedido É INCLUÍDO em Pesquisar pedido ERRADO Pesquisar pedido INCLUI cancelar pedido Direção da leitura

(35)

Extensão

◦ Modela partes opcionais da execução de um Caso de Uso

◦ Modela fluxos que são executados somente em determinados casos, sob determinadas

circunstâncias ou que dependem de escolha de um ator

◦ Não obrigatoriedade

 Ex. se o cliente estiver cadastrado, então o caso de uso “cadastrar cliente” não ocorrerá. (IF – ELSE)

(36)

Extensão

◦ OBS. Fazer pedido PODE SER ESTENDIDO

(COMPLETADO) pelo caso de uso Cadastrar cliente

CERTO Cadastrar cliente pode

estender (completar) o caso de uso Fazer

pedido

(37)

Extensão

◦ OBS. Cadastrar cliente PODE SER ESTENDIDO (COMPLETADO) pelo caso de uso Fazer pedido

ERRADO Fazer pedido pode

estender (completar) o caso de uso Cadastrar cliente Direção da leitura

(38)

Generalização de caso de uso

◦ Relaciona um Caso de Uso especializado a um mais geral

◦ O filho herda o comportamento do pai, podendo adicionar e redefinir passos em pontos arbitrários do comportamento original

◦ Tem tudo o que o pai tem e mais um pouco.

Em algum ponto pode-se redefinir um

(39)

Resumo

◦ Inclusão

 Use quando o mesmo comportamento se repete em mais de

um Caso de Uso e o processo de realizar X sempre envolve realizar Y pelo menos uma vez

◦ Extensão

 Use quando você quiser modelar um comportamento

opcional de um Caso de Uso

 Sair de um caso de uso base e executar passos de outro caso

de uso

◦ Generalização de caso de uso

 Use quando você identificar Casos de Uso semelhantes e um

deles for uma forma especial (uma especialização) do outro

◦ Generalização de atores

 Use quando um ator (filho) é um tipo de outro ator mais

(40)

Possibilidade de relacionamento entre os

elementos do modelo de casos de uso

OBS. Pode existir multiplicidade no

relacionamento de caso de uso

OBS. Casos de uso tem a propriedade de

(41)

Concreto

◦ É iniciado por um ator e constitui um fluxo completo de eventos

◦ Autocontido

Abstrato: nunca é instanciado diretamente

◦ Casos de Uso abstratos

geralmente

são:

 Incluídos em outros Casos de Uso  Estendidos de outros Casos de Uso

 Generalizações de outros Casos de Uso ◦ Escritos em

itálicos

◦ Não apresentam fluxo completo

Atores “enxergam” apenas casos de uso

(42)

Casos de uso de sistema

◦ É a interação com o software em si.

Casos de uso de negócio

◦ Descreve como o negócio responde a um consumidor ou a um evento.

Caso de uso sucinto

◦ Descreve as interações sem muitos detalhes no momento da especificação

Caso de uso expandido

◦ Descreve as interações com mais detalhes

Caso de uso real

◦ Menciona a tecnologia que pode ser utilizada

Caso de uso essencial

◦ É mais genérico e abstrato e não faz menção a tecnologia a ser utilizada

(43)
(44)

1º método

◦ Identificar os atores relacionados a um sistema ou organização.

◦ Para cada ator, identificar os processos que eles iniciam ou dos quais eles participam.

2º método

◦ Identificar os eventos externos aos quais um sistema deve responder

(45)

O SUAP tem um módulo chamado EDU que

pode, por exemplo, cadastrar novas

disciplinas. O coordenador do curso é quem

poderá cadastrar a disciplina. A disciplina

terá que conter pelo menos o nome, e a

quantidade de créditos. No final do cadastro,

o sistema deve enviar um email de

(46)
(47)

Nome: Validar Usuário

Cenário Principal

◦ O caso de uso inicia-se quando o sistema apresenta uma tela que pede o cliente o seu cartão eletrônico. O cliente introduz o seu cartão magnético e, através de um pequeno teclado, a sua senha. O cliente

pode limpar a introdução da sua senha inúmeras vezes e reintroduzir um novo número antes de

pressionar o botão “Entrar”. O cliente ativa o botão “Entrar” para confirmar. O sistema lê a senha e a respectiva identificação do cartão, e verifica se é válido. Se a senha for válida o sistema aceita a entrada e o caso de uso termina.

(48)

Nome: Validar Usuário

Cenário Alternativo 1 (Cliente cancela operação)

◦ O cliente pode cancelar a transação em qualquer

momento ativando o botão “Cancelar”, implicando a re-inicialização do caso d e uso. Não é realizada qualquer alteração à conta do cliente.

Cenário Alternativo 2 (senha inválida)

◦ Se o cliente introduz uma senha inválida o cartão MB é ejetado e o caso de uso reinicializado. Se tal ocorrer 3 vezes consecutivas, o sistema aciona medidas de

segurança e “recolhe” o cartão e cancela a transação; não permitindo qualquer interação nos 2 minutos seguintes

(49)

 1. Cliente chega a um Caixa com vários itens que

deseja comprar.

 2. O caixa pode ou não cadastrar um novo cliente

[EX]

 3. O Caixa começa a nova venda.

 4.O Caixa registra o identificador de cada item.  5.Sistema registra o item vendido. Preço do item

e sua descrição são exibidos. Os passos 4 e 5 são repetidos, até que o Caixa indique o seu fim.

 6.Sistema apresenta o total da venda.

 7.Caixa informa Cliente do total e solicita pagamento

[I]

 8.Cliente realiza o pagamento.

 9.Caixa registra o valor recebido no caixa.  10.Um recibo é gerado.

(50)
(51)

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.

(52)

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.

(53)

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.

(54)

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

.

(55)

Identificando os relacionamento 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

.

(56)

Identificando os relacionamento de

(57)

Identificando um caso de generalização entre

atores

◦ Nova regra de negócio

(58)

Identificando um caso de generalização entre

atores

◦ Nova regra de negócio

(59)

Identificando generalização de casos de uso

◦ Novos requisitos

 As vendas podem ser tanto à vista como à 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.

(60)
(61)

Identificando generalização de casos de uso

◦ OBS. Se for à prazo, pode-se pagar no cartão ou boleto.

(62)

Identificando generalização de casos de uso

◦ OBS. Se for à prazo, pode-se pagar no cartão ou boleto.

(63)

Identificando relação de dependência:

inclusão ou extensão

◦ 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

◦ (...)Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista

◦ Onde tem a mesma informação?

(64)

Identificando relação de dependência:

inclusão ou extensão

◦ 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

◦ (...)Para pagamento com cartão, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista

(65)

Identificando relação de dependência:

(66)

Identificando relação de dependência:

inclusão ou extensão

◦ Novos requisitos

 Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema

(67)

Identificando relação de dependência: inclusão

ou extensão

◦ Novos requisitos

 Para efetuar vendas ou administrar estoque, atendentes e gerentes terão que validar suas respectivas senhas de acesso ao sistema

(68)

É tão importante quanto o diagrama

A UML não padroniza

Pode ser:

◦ Informal

◦ Típica

(69)

Informal

◦ Contém o nome do caso de uso e uma descrição textual de sua funcionalidade

(70)

Típica

◦ Identificação do ator que iniciou o caso de uso

◦ Pré-requisitos (se houver) do caso de uso

◦ Descrição textual do:

 Fluxo normal

(71)
(72)

Detalhada

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

(73)
(74)
(75)
(76)

É um modelo completo das funções do sistema

em termos de Casos de Uso

Resultado de uma técnica de elicitação de

requisitos

A finalidade mais importante é comunicar, de

forma fácil de entender, o comportamento do

sistema ao usuário final

Agregação de artefatos de casos de uso. Contém:

◦ Casos de uso, Atores, Relacionamentos

◦ Pacotes de Caso de uso, Diagramas de Caso de Uso, Especificações, etc...

(77)

Casos de Uso são focados no usuário do

sistema, assim as reais necessidades são

tratadas logo cedo

São fáceis de entender

Facilitam o acordo entre todas as partes

interessadas

Pode ser usado no levantamento, elicitação e

validação dos requisitos, conectando todas as

etapas

◦ Elicitação: entendimento do problema.

(78)

Criar o diagrama de caso de uso e a descrição

de cada caso de uso para o sistema de blog

apresentado a seguir.

Um blog tem um título e uma data de criação

e além disso é um conjunto de conteúdos.

Estes conteúdos (mensagens) podem ser

notas ou comentários sobre as notas. Tanto

notas quanto comentários têm características

comuns como o texto e a data de sua criação.

Todo usuário possui:

◦ E-mail (deve ser único, ou seja, não há mais de um usuário com o mesmo e-mail)

(79)

Permitir a criação de blogs pelo seu dono

Permitir a utilização de blogs

◦ Qualquer usuário pode ler conteúdos

◦ Somente o dono do blog pode criar notas

◦ Qualquer usuário pode criar comentários. Para criar um comentário o usuários precisa ler as notas.

◦ Somente o dono do blog pode remover

comentários. Para remover um comentário ele precisará ler o comentário. Caso ele remova um comentário, o autor do comentário deve ser

notificado por e-mail.

◦ Somente o dono do blog pode remover qualquer conteúdo

Referências

Documentos relacionados

Figura A53 - Produção e consumo de resinas termoplásticas 2000 - 2009 Fonte: Perfil da Indústria de Transformação de Material Plástico - Edição de 2009.. A Figura A54 exibe

As histórias narradas nas telas do cinema, especificamente nas obras hollywoodianas (Fabris, 2005 e 2010) muitas vezes apresentam uma maneira de ser/fazer/estar

Mas ele é ( verbo ser, no Presente do Indicativo ) apenas um gato e não tinha tido ( verbo ter, no Pretérito Mais-Que-Perfeito Simples do Indicativo ) tempo de aprender (

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Essa tarefa não tem a necessidade de interface com o usuário, tornando-se uma boa candidata ao processamento em lotes, normalmente utilizados como a divisão

Seguindo tal raciocínio, procuramos promover uma reflexão crítica que ajude a entender e dimensionar o impacto positivo de ações de marketing social tanto para as empresas como para

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Depois de considerar a confidência, conteúdo, distribuição, e assuntos de oportunidade associadas com a distribuição de um relatório, um controlador pode, então,