Anda di halaman 1dari 17

UML Unified Modeling Language

Diagramas de Casos de Uso

Jos Correia, Maro 2006


(http://paginas.ispgaya.pt/~jcorreia/)

Objectivos

O objectivo de um diagrama de casos de uso de um sistema mostrar


para que serve o sistema (quais so os usos possveis do sistema),
ignorando a forma como o sistema est organizado internamente.
Mais precisamente, permite capturar o comportamento
(funcionalidades) do sistema do modo como visto pelos utilizadores,
sem ter de especificar como que esse comportamento
implementado.
Os diagramas de casos de uso descrevem:
o contexto do sistema
as funcionalidades do sistema (os casos de uso)
e, possivelmente, alguns requisitos no funcionais (os que tm a ver com
casos de uso particulares)

Jos Correia

UML Diagramas de Casos de Uso

Elementos da UML

O diagrama de casos de uso de um sistema contm:


Linha que define a fronteira do sistema entre o sistema fsico e os
actores que com ele interagem

Actores (fora do sistema)


Casos de uso (dentro do sistema)
Associaes de interaco entre actores e casos de uso

Um diagrama de casos de uso tambm pode conter:


Relaes de dependncia entre casos de uso
- de extenso (esteretipo extend)
- de incluso (esteretipo include)

Relaes de generalizao
- entre casos de uso ou entre actores

Jos Correia

UML Diagramas de Casos de Uso

UML Diagramas de Casos de Uso

Exemplo

Jos Correia

Actores

Um actor...

Aluno

Professor

... um tipo de utilizador do sistema


... algum, ou alguma coisa, que interage com o sistema
pode ser qualquer coisa humano, dispositivo de hardware, outro sistema, etc.

... , como iremos ver, uma classe (de objectos externos ao sistema).

A mesma pessoa, ou coisa, pode corresponder a vrios actores


de acordo com Booch, um actor representa um conjunto coerente de
papis que utilizadores de um sistema desempenham quando interagem
com os casos de uso do sistema

Actores Recursos do sistema


Recursos so pessoas, mquinas, etc., que pertencem ao sistema e que
so usados para levar a cabo tarefas dentro do sistema

Jos Correia

Actores:

UML Diagramas de Casos de Uso

Exemplos e Notao

Ex.1 Actores em relao a um negcio de restaurao:


Fornecedor
Cliente

Ex.2 Actores em relao a um software de gesto de restaurantes:


Administrador do sistema
Empregado da caixa
Empregado de mesa

Os actores so representados por cones, ou por classes, com


esteretipo actor
ou

actor
Cliente

Cliente
Jos Correia

UML Diagramas de Casos de Uso

Casos de Uso (Use Cases)


Solicitar Lista de Cursos

Um caso de uso um padro de comportamento que


o sistema exibe e pode corresponder a:
uma funcionalidade do sistema
um tipo de interaco entre um ou mais actores e o sistema com um determinado
objectivo
um processo de negcio (no contexto de um sistema de negcio)

Um caso de uso uma sequncia de aces relacionadas, incluindo


variantes, que um sistema realiza para produzir um resultado observvel com
valor para um actor (que interage com esse caso de uso)
a sequncia concreta de aces pode variar de instncia para instncia do caso de
uso (da se falar em incluindo variantes)
as instncias de um caso de uso so as ocorrncias concretas do caso de uso

Os casos de uso descrevem o que um sistema faz e no o modo como faz

Jos Correia

UML Diagramas de Casos de Uso

Casos de Uso:

Exemplos e Notao

Exemplo de casos de uso num negcio de restaurao:


Servir almoo
Servir jantar
Comprar bens

Um caso de uso representado por uma elipse, com o nome do caso


de uso dentro ou por baixo da elipse
Servir
almoo

ou
Servir almoo

Os nomes dos casos de uso podem ser dados na perspectiva do sistema ou


do actor

Jos Correia

UML Diagramas de Casos de Uso

Exemplo
Restaurante
Servir almoo

Cliente

Servir jantar

Comprar bens
Fornecedor

Associaes entre actores e casos de uso mostram que actores interagem


com que casos de uso
so representadas, normalmente, por linhas sem qualquer adorno

Jos Correia

UML Diagramas de Casos de Uso

Documentar Casos de Uso

O diagrama de casos de uso deve ser acompanhado de descries


dos actores e casos de uso
Pode-se (deve-se!) especificar o comportamento de cada caso de uso
descrevendo o fluxo de eventos de forma textual
documentao escrita do ponto de vista do actor
- indicar o que o sistema deve fornecer ao actor, quando o caso de uso
executado

Convm indicar:
como que o caso de uso comea e acaba
o fluxo bsico (principal) de eventos
fluxos alternativos de comportamento
fluxos excepcionais de eventos (ex: respostas a erros)

Jos Correia

UML Diagramas de Casos de Uso

10

Descrio de Casos de Uso (cont.)

Exemplo do restaurante (simplificado):


Servir almoo: um cliente vem ao restaurante e -lhe servido almoo. O
cliente escolhe o que pretende de um menu de almoos, com dois pratos
do dia e vrios outros pratos de preparao rpida.
Servir jantar: um cliente vem ao restaurante e -lhe servido o jantar. O
cliente pode escolher um prato de um menu bastante variado ou pode at
pedir um prato com uma composio por ele indicada.
Comprar bens: so adquiridos os ingredientes necessrios para a
confeco dos pratos que constam do menu. Inclui-se aqui tanto o
planeamento das aquisies, como a realizao das aquisies a
fornecedores do restaurante.

Um caso de uso pode tambm ser descrito atravs de diagramas de


interaco ou outros diagramas dinmicos
- conforme iremos ver quando falarmos desses tipos de diagramas UML

Jos Correia

UML Diagramas de Casos de Uso

11

Relao extend entre Casos de Uso

Podem-se organizar os casos de uso em casos bsicos e extenses


aos casos bsicos
A

extend

B
extenso

caso bsico

uma instncia do caso de uso A pode incluir (sujeito a condies


especificadas na extenso) o comportamento especificado por B
o caso bsico deve fazer sentido sozinho
os actores interagem com o caso bsico (A)

as extenses traduzem partes, ou modalidades, acrescentadas


condicionalmente (opes)
notao: dependncia com esteretipo extend

Jos Correia

UML Diagramas de Casos de Uso

12

Relao extend entre Casos de Uso (cont.)

Exemplo:
Servir jantar

extend

extend

extend
Servir uma entrada

Servir luz de velas

Servir uma sobremesa

Podem-se indicar explicitamente os pontos em que um caso de uso


bsico pode ser estendido (pontos de extenso)

Servir jantar
Extension points
sobremesa

extend
(sobremesa)

Servir uma
sobremesa

Na descrio textual do caso bsico: ... (sobremesa) ...

Jos Correia

UML Diagramas de Casos de Uso

13

Relao include entre Casos de Uso

Quando vrios casos de uso tm um fluxo de eventos comum,


conveniente separar essa parte comum para um novo caso de uso
que includo pelos primeiros
include

B
(parte comum a outros
casos de uso alm de A)

uma instncia do caso de uso A inclui obrigatoriamente o comportamento


especificado por B
os actores interagem com A
ao fazer a descrio textual de A: include(B)
notao: dependncia com esteretipo include

Jos Correia

UML Diagramas de Casos de Uso

14

Relao include entre Casos de Uso


(cont.)

Exemplo:

Servir almoo

include
Cobrar
refeio

include
Servir jantar

Jos Correia

UML Diagramas de Casos de Uso

15

Relao de Generalizao entre Casos de Uso

Relao de generalizao: relao entre uma coisa mais genrica e


uma coisa mais especializada...
... que totalmente consistente com o primeiro elemento
... e adiciona informao adicional

Significa que o caso de uso "filho" (mais especializado) herda o


comportamento, significado e actores do caso de uso "pai" (mais
genrico)
o filho pode adicionar ou substituir comportamento do pai;
o filho pode aparecer em qualquer contexto em que o pai pode aparecer.

Exemplo:
Servir uma
refeio

Servir
almoo
Servir
jantar

Jos Correia

UML Diagramas de Casos de Uso

16

Relao de Generalizao entre Actores

Cliente
Empresarial

Cliente

Um Cliente Empresarial um (is a) Cliente


analogia com hierarquia ISA no modelo Entidade-Associao

O Cliente Empresarial herda as associaes (de interaco com casos de


uso) do Cliente genrico

A Generalizao permite simplificar e estruturar os diagramas

Jos Correia

UML Diagramas de Casos de Uso

17

Exemplo 1: Restaurante
Negcio de
restaurao

Servir uma
refeio
Cliente

Servir
almoo
include

Cobrar
refeio

Servir jantar
extend

extend
extend
Servir uma
entrada

Servir luz
de velas
Servir uma
sobremesa

Comprar
bens
Fornecedor
Jos Correia

UML Diagramas de Casos de Uso

18

Exemplo 2: Vdeo-gravador
Vdeo-gravador
Reproduo
de vdeocassete

Gravao no
programada

actor
Televisor

Utilizador
Gravao de
vdeo-cassete

actor
Antena

Gravao
programada

Jos Correia

UML Diagramas de Casos de Uso

19

Granularidade dos Casos de Uso

Um caso de uso (pelo menos um caso de uso bsico) deve representar uma
unidade de funcionalidade o mais pequena possvel que, uma vez
implementada, acrescenta valor (do ponto de vista dos actores) ao sistema
que est a ser desenvolvido
Exemplo no multibanco:
"introduzir carto" no um caso de uso porque no tem valor isoladamente;
"levantar dinheiro" um caso de uso porque tem valor para um actor individual (o
detentor do carto)

Com este objectivo, pode ser necessrio agrupar num nico caso de uso
vrias interaces com o sistema (que ocorrem at em sesses diferentes)
isso no impede que se divida um caso de uso bsico em vrios casos de uso de
gro mais fino, includos pelo primeiro
Exemplo numa biblioteca: o caso de uso Emprstimo (aquele que tem valor para
os utilizadores) pode ser dividido em Levantamento e Devoluo

Jos Correia

UML Diagramas de Casos de Uso

20

Exemplo: Mquina de bebidas

Considere o seguinte diagrama de casos de uso, correspondente a uma


mquina de bebidas:

Comprar Bebida

Repor Bebidas de
acordo com Vendas
<<extend>>

<<include>>

Cliente

<<include>>
Abrir a Mquina

<<include>>
Agente do
Fornecedor

<<include>>

Repor Bebidas
Extension Point
encher prateleiras

Retirar Dinheiro

Dono

Fechar a Mquina

 Explique o significado do diagrama anterior, descrevendo o fluxo de eventos


de forma textual.
Jos Correia

UML Diagramas de Casos de Uso

21

Exemplo: Mquina de bebidas (cont.)

Resposta possvel pergunta formulada:


Comprar Bebida: Um cliente dirige-se mquina de bebidas, introduz o dinheiro e
selecciona a bebida pretendida entre as existentes na mquina. A mquina entrega
a bebida seleccionada e, se for caso disso, devolve o troco.
Repor Bebidas: O agente do fornecedor repe as bebidas medida que estas
forem sendo consumidas. Para tal, abre a mquina, enche as prateleiras com as
bebidas em falta e fecha a mquina.
Retirar Dinheiro: O dono do estabelecimento onde a mquina est colocada, abre a
mquina, retira o dinheiro existente, deixando o suficiente para trocos, e volta a
fechar a mquina.

 Quais so as funcionalidades do sistema modelizado pelo diagrama anterior?


As funcionalidades do sistema so os casos de uso, ou seja: Comprar Bebida,
Abrir a Mquina, Fechar a Mquina, Retirar Dinheiro, Repor Bebidas e Repor
Bebidas de acordo com Vendas.

Jos Correia

UML Diagramas de Casos de Uso

22

Pacotes de Casos de Uso

Num sistema complexo, podem existir demasiados casos de uso para


visualizar com clareza num nico diagrama!

Uma soluo: um diagrama de casos de uso inicial, com pacotes de


casos de uso, e um diagrama de casos de uso relativo a cada pacote

Se tivermos um grande nmero de casos de uso devemos procurar


agrup-los em pacotes!

Critrios de agrupamento de casos de uso:


por sub-sistemas
por actores

Jos Correia

UML Diagramas de Casos de Uso

23

Exemplo: SI do ISPGaya
Director de Curso

Definio de
Plano de Curso

Atribuio de
Servio Docente

Docente de
Disciplina

Funcionrio de
Secretaria

Aluno de
Curso
Jos Correia

Elaborao
de Horrios

Elaborao
de Calendrio
de Exames

Elaborao
de Relatrio
de Curso

Definio de
Ficha de
Disciplina

Inscries
no Curso

Publicao de
Material de Apoio

Lanamento
de Sumrios

Inscries nas
Disciplinas

Inscries
nas Turmas

Consulta e Descarregamento
de Material de Apoio de
Disciplinas

Lanamento de
Classificaes

Elaborao de
Relatrio de
Disciplina

UML Diagramas de Casos de Uso

Consulta de
Horrios
Consulta de
Sumrios
Consulta de
Classificaes

24

Exemplo: SIIPG
SIIPG - Gesto de Cursos
Definio de
Plano de Curso
Atribuio de
Servio Docente

Director
de Curso

Elaborao de
Horrios

Elaborao de
Calendrio de Exames
Elaborao de
Relatrio de Curso

Jos Correia

UML Diagramas de Casos de Uso

25

Exemplo: SIIPG
SIIPG - Gesto de Disciplinas

Definio de Ficha
de Disciplina
Publicao de
Material de Apoio

Docente de
Disciplina

Lanamento de
Sumrios

Lanamento de
Classificaes
Elaborao de Relatrio
de Disciplina

Jos Correia

UML Diagramas de Casos de Uso

26

Exemplo: SIIPG
SIIPG - Inscries
Inscries no
Curso
Inscries nas
Disciplinas

Inscries nas
Turmas

Funcionrio de
Secretaria

Aluno de
Curso

executa procedimento de
colocao automtica, ou
trata manualmente

Jos Correia

submete candidatura
pela Web

UML Diagramas de Casos de Uso

27

Exemplo: SIIPG
SIIPG - Apoio a Alunos
Consulta e Descarregamento
de Material de Apoio de
Disciplinas
Consulta de
Horrios

Aluno de Curso

Consulta de
Sumrios

Consulta de
Classificaes

Jos Correia

UML Diagramas de Casos de Uso

28

Exemplo: SIIPG
Sist. de Informao do ISPGaya (SIIPG)
Director de Curso

Gesto de
Cursos

Docente de Disciplina

Gesto de
Disciplinas

Funcionrio de Secretaria

Aluno de Curso

Jos Correia

Inscries

Apoio a
Alunos

UML Diagramas de Casos de Uso

29

Realizaes de Casos de Uso

Um Diagrama de Casos de Uso apresenta uma viso externa do


sistema

Os Diagramas de Interaco descrevem como os casos de uso so


realizados como interaces entre associaes de objectos

H dois tipos de Diagramas de Interaco (interaction diagrams):


Diagramas de Sequncia (Sequence diagrams)
Diagramas de Colaborao (Collaboration diagrams)

Jos Correia

UML Diagramas de Casos de Uso

30

Resumo

Um Diagrama de Casos de Uso...


... descreve o comportamento de um sistema do ponto de vista do utilizador
... descreve o que um sistema faz e no como o faz
... divide as funcionalidades do sistema em transaes (casos de uso) que
tm significado para os utilizadores (actores)
... uma descrio funcional de um sistema e dos seus principais processos
... fornece uma descrio grfica de quem ir usar o sistema e do tipo de
interaces a esperar dentro desse sistema

Jos Correia

UML Diagramas de Casos de Uso

31

Resumo (cont.)

Um caso de uso contm mltiplos cenrios, cada um dos quais


descreve um fluxo especfico de eventos
devemos garantir que cada caso de uso descreve um pedao significativo
(com valor) da utilizao do sistema
ao definir casos de uso com texto, usar nomes e verbos de forma
consistente e precisa
- ir facilitar a definio de objectos e mensagens nos diagramas de interaco

Ao construir os casos de uso, pensar...


nas tarefas que devem ser desempenhadas pelo(s) actor(es)
em manter os casos de uso simples

Jos Correia

UML Diagramas de Casos de Uso

32

Resumo (cont.)

Um diagrama de casos de uso deve...


... conter apenas casos de uso ao mesmo nvel de abstraco
... incluir apenas os actores que so necessrios

Quando que um diagrama de casos de uso deve ser usado?


na especificao do contexto do sistema
na descrio (captura) dos requisitos de um sistema, nas fases de design,
implementao e documentao
na modelizao de testes de cenrios com casos de uso

O diagrama de casos de uso , geralmente, elaborado na fase de


anlise e especificao de requisitos, por analistas e especialistas do
domnio

Jos Correia

UML Diagramas de Casos de Uso

33

Referncias
Estes apontamentos foram baseados em:
UML Unified Modeling Language, Curso em Tecnologia de Objectos,
FEUP, Novembro 2000
Ademar Aguiar, Gabriel David, Joo Pascoal Faria
Introduction to UML: Structural Modeling and Use Cases, Cris Kobryn,
Novembro 2000
UML, Metodologias e Ferramentas CASE, Alberto Rodrigues da Silva,
Carlos Videira, Maio 2001
Analysis and Design with UML
Rational Software Corporation, 1997
Web:
- OMG UML Resources: www.omg.org/uml/

Jos Correia

UML Diagramas de Casos de Uso

34

Anda mungkin juga menyukai