Você está na página 1de 43

Instituto Superior de Contabilidade e Administrao de Coimbra

Licenciatura em Informtica de Gesto

2013-2014

UML
Modelao de Casos de Uso
Sistemas de Informao I
Fernando Paulo Belfo

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Agenda
Introduo
Actores e casos de uso
Cenrios
Relaes
Exerccios prticos

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Introduo

Introduo
Os

casos de utilizao (ou use cases),


constituem a tcnica em UML, que representa
o levantamento de requisitos de um sistema
O que um requisito?

O requisito num sistema uma funcionalidade ou


caracterstica considerada relevante na ptica do
utilizador
Normalmente, representa o comportamento
esperado do sistema, que na prtica consiste
num servio que deve ser disponibilizado a um
utilizador (Booch, Rumbaugh e Jacobson, 1999)

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Introduo

Introduo
Segundo

Bennet. McRobb e Farner, 1999 os


requisitos podem ser classificados em 3
categorias

Requisitos funcionais
Requisitos no funcionais
Requisitos de utilizao (usability)

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Introduo

Introduo
Requisitos

funcionais

descrevem o que um sistema faz ou esperado


que faa
so os requisitos que inicialmente so
levantados, abrangendo a descrio de
processamentos a efectuar pelo sistema,
entradas (inputs) e sadas (outputs) de
informao em papel ou no ecr que derivam da
interaco com pessoas e outros sistemas

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Introduo

Introduo
Requisitos

no funcionais

relacionados com as caractersticas qualitativas


do sistema, descrevendo a qualidade com que o
sistema dever fornecer os requisitos funcionais.
abrangem medidas de desempenho como, por
exemplo, tempos de resposta, volume de dados
ou consideraes de segurana

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Introduo

Introduo
Requisitos

de utilizao (usability)
Garantem que existir uma boa ligao entre:

o sistema desenvolvido,
utilizadores do sistema e tambm
as tarefas que desempenham utilizando o
sistema

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Introduo

Introduo
Os

diagramas utilizam as seguintes


abstraces de modelao:

Actores
Casos de Uso
Relaes (Uses, Extends e Generalizao)

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Actor
Representa

um conjunto coerente
de papis que os utilizadores de
casos de uso desempenham quando
interagem com esses casos de uso
Tipicamente, um actor representa
um papel que um ser humano, um
dispositivo de hardware ou at outro
sistema desempenha no sistema

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

Pacote::Actor

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Actor

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

10

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Diagrama de Caso de Uso


Descreve

a funcionalidade proposta
para o sistema
Um Caso de Uso representa uma
unidade discreta da interaco
entre um utilizador e o sistema
Um Caso de Uso uma unidade de
um trabalho significante. Exemplos:

Reservar Mesa

"login para o sistema


"registar no sistema
"criar pedido"

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

11

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Diagrama de Caso de Uso


Cada

Caso de Uso tem uma descrio o


qual descreve a funcionalidade que ir
ser construda no sistema proposto.
include
Um Caso de Uso pode "incluir" outra
funcionalidade de Caso de Uso ou
"estender" outro Caso de Uso com seu
prprio comportamento.
Casos de Uso so tipicamente
relacionados a "actores"
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

12

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Imagine

que atravs da tcnica de recolha


entrevista conseguiu escrever um texto que
descreve sumariamente um conjunto de
requisitos para um novo sistema
Pretende-se representar estes requisitos
atravs dum adequado diagrama de Use
Cases (U.C.)

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

13

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Descrio

sumria do conjunto de requisitos:

Pretende-se desenvolver um sistema de


informao de gesto para um grupo de pizzarias
PhonePizza, que permita aos clientes efectuar
encomendas na loja e atravs da Internet
Na loja, o cliente dirige-se ao empregado de
balco que introduzir no sistema a encomenda
do cliente.

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

14

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Descrio

sumria do conjunto de requisitos:

Caso a encomenda seja feita atravs da Internet,


o cliente ter que se identificar, atravs do seu
nome de utilizador e palavra-chave (controlo de
acesso), e poder usufruir de um desconto no
item, caso este esteja em promoo.
O sistema deve ainda permitir que o Gestor da
Pizzaria efectue as reservas de mesa,
verificando se este tem autorizao para o
efectuar.
O mesmo dever acontecer para os restantes
funcionrios.

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

15

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Viso

do sistema

Deve ser definida partida


Assegurar a adequada compreenso do
sistema a desenvolver pelas partes
Dever ser curta e concisa sobre o sistema de
informao em geral
Deve evitar detalhes sobre os requisitos do
sistema de informao
No deve ultrapassar um pargrafo para
sistemas pequenos, nem algumas pginas em
sistemas maiores

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

16

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
O

produto a desenvolver deve apresentar


uma proposta de valor atrativa composta por:

PARA ... [clientes-alvo do segmento a alcanar]


O ... [nome do produto]
... [categoria de produto com a sua
diferenciao principal e respetivas vantagens]
QUE... [todas as principais caractersticas do
produto na aplicao especfica, benefcios
principais, razo convincente p/ usar ou comprar]
AO CONTRRIO ... [do produto alternativo, do
sistema ou processo de negcio atual] (Belfo, 2011)

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

17

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Viso

do sistema

PARA os clientes e colaboradores do grupo de


pizzarias PhonePizza, O PizzaSys um sistema
de informao verstil e amigvel QUE permite
aos clientes destas pizarias efectuar
encomendas na loja ou atravs da Internet e
ainda permite aos seus colaboradores gerirem
esses mesmo pedidos"

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

18

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Actores

No desenvolvimento dum diagrama de use cases


o primeiro passo a identificao dos actores do
sistema
Um actor representa um utilizador que interage
com o sistema
Neste caso identificam-se os seguintes:
Cliente
Empregado de Balco
Gestor Pizzaria
Gestor
Empregado
Cliente
Cliente

Cliente

Cliente

Balco

Pizzaria

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

19

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Actores

Apesar da representao humanizada, os


actores podem no ser s figuras humanas, mas
tambm outros sistemas fsicos ou lgicos como,
por exemplo, um mdulo de Contabilidade
Um actor pode invocar vrios U.C e um U.C.
pode ser invocado por vrios actores
Um actor pode assumir vrios papis ao mesmo
tempo

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

20

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Actores

Por exemplo, um actor Funcionrio pode tambm


ser um actor Chefe de Loja
Os actores devem ser detalhados atravs duma
descrio, de forma a assegurar uma correcta
compreenso do significado do actor por todos
os elementos da equipa

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

21

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Actores

Descrio dos actores


Cliente - Uma pessoa que encomenda
produtos da PhonePizza pela Internet e nas
pizzarias
Empregado de Balco - Empregado que
recebe as encomendas ao balco da pizzaria
Gestor Pizzaria - Empregado que est
encarregue de efectuar as reservas de mesa
numa pizzaria

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

22

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Actores

Generalizao de actores
Considere que um Funcionrio tambm pode
ser um Chefe de Loja e assim, ter, para alm
das suas tarefas especficas, a possibilidade de
usar qualquer caso de uso de um Funcionrio
A, pode haver generalizao entre atores
que se representa como a figura mostra

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

23

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Use

cases de Negcio e de Sistema

Os use cases podem ser definidos numa


perspectiva de Negcio ou de Sistema
Perspectiva negcio
tenta-se identificar a forma como em termos de
processo de negcio se responde a um cliente
ou evento
Perspectiva do Sistema
procura-se identificar as interaces com a
aplicao a desenvolver (software)

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

24

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Use

cases de Negcio e de Sistema

Esta diferena pretende distinguir os use cases


que correspondem a processos de negcio que
no so suportados pelo sistema informtico dos
que so
Se olhar apenas para o Sistema, pode-se
esquecer a restante parte do negcio
Por vezes solues mais eficientes ou eficazes
resultam duma alterao no processo de negcio

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

25

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Use

cases para cada actor


Actor

Cliente
Empregado Balco
Gestor

Use Cases
Efectuar Encomenda Internet
Controlo de Acesso
Efectuar Encomenda
Controlo de Acesso
Reservar Mesa
Controlo de Acesso

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

26

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Comunicao

entre actores e Use cases

Linha recta simples


Os actores podem estar colocados em
qualquer ponto do diagrama, com o
pressuposto de que existe alguma
comunicao de emisso ou recepo
Seta unidireccional
O sentido da seta o sentido da comunicao,
sendo este caso auxiliado pela colocao dos
actores emissores esquerda da fronteira do
sistema, e dos actores receptores direita

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

27

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Comunicao

entre actores e Use cases

Linha recta simples

Seta unidireccional

Efectuar Encomenda

Cliente
Empregado
Balco

Efectuar Encomenda

Cliente
Empregado
Balco

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

28

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Atores e casos de uso

Exemplo prtico
Comunicao

Existem UC que so desencadeados


automaticamente (processo cclico ou
despoletado por um evento especfico)

Poderia

entre actores e Use cases

existir a necessidade de:

fazer cpia peridica dos dados das encomendas


envio mensal das promoes aos clientes

Efectuar cpia de
segurana

Enviar promoes
mensais

Cliente

Cliente de
Unidade
Cliente
Backup
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

29

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Cenrios

Exemplo prtico
Cenrio

principal e Cenrios Secundrios

Cada UC deve ser detalhado ou descrito em


termos de cenrios de utilizao
Estes cenrios so os caminhos possveis
seguidos dentro do UC, de forma a fornecer ao
actor uma resposta
A descrio de cada cenrio dever assumir uma
abordagem estruturada
A UML disponibiliza um conjunto de tcnicas,
designadas por diagramas de interaco, que
permitem descrever de forma grfica os diversos
cenrios

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

30

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Cenrios

Exemplo prtico
Cenrio

principal e Cenrios Secundrios

Efectuar Encomenda Internet (Cenrio Principal)


Pr-condio

O cliente um utilizador vlido no sistema

Descrio

1.
2.
3.
4.
5.
6.
7.
8.

Ps-Condio

A encomenda ser entregue na morada do cliente

O UC comea quando o cliente selecciona a opo de encomendar.


Em simultneo com a encomenda mostrado o catlogo de produtos.
O cliente adiciona produtos encomenda atravs da introduo do cdigo
O sistema mostra o nome, descrio e preo do produto.
De cada vez que adicionado um produto, o valor total calculado.
O cliente confirma a sua encomenda atravs da opo Confirmar.
O sistema pede ento os detalhes do carto de crdito.
O sistema confirma os dados do pagamento e atribui um nmero de
identificao encomenda

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

31

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Cenrios

Exemplo prtico
Cenrio

principal e Cenrios Secundrios

Efectuar Encomenda Internet (Cenrios Secundrios)


Pr-condio

O cliente um utilizador vlido no sistema

Descrio

1 . O UC comea quando o cliente selecciona a opo de encomendar.


2. Em simultneo com a encomenda mostrado o catlogo de produtos.
3. O cliente adiciona produtos encomenda atravs da introduo do cdigo
a) Se um cdigo invlido o sistema avisa o cliente com uma
mensagem
4. O sistema mostra o nome, descrio e preo do produto.
5. De cada vez que adicionado um produto, o valor total calculado.
6. O cliente confirma a sua encomenda atravs da opo Confirmar.
7. O sistema pede ento os detalhes do carto de crdito.
8. O sistema confirma os dados do pagamento e atribui um nmero de
identificao encomenda
a) Se o carto for invlido, o sistema avisa o cliente atravs duma
mensagem, voltando para o passo 7

Ps-Condio

A encomenda ser entregue na morada do cliente

32

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Cenrios

Exemplo prtico
Cenrio

principal e Cenrios Secundrios

A representao grfica do cenrio principal e


dos cenrios secundrios pode ser efectuada em
conjunto quando a sua complexidade reduzida
Ao serem definidos os actores e use cases,
tambm definida a fronteira do sistema, que
separa os requisitos que esto fora ou dentro do
sistema a desenvolver

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

33

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Relaes

Os use cases podem estar relacionados entre si


As relaes mais frequentes so
uses
extends
generalizao

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

34

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Relaes

uses, ou o que o mesmo dizer includes,


significa que um determinado UC utiliza sempre a
funcionalidade disponibilizada num outro UC
A relao extends ocorre quando existe um
comportamento opcional que pode ser includo
num UC. Este comportamento definido num
segundo use case e invocado pelo UC base,
atravs de um mecanismo de pontos de extenso
A relao de generalizao utilizada quando
existe um use case que um caso particular de
um outro use case

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

35

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Relaes
O comportamento do UC "Efectuar Encomenda Internet"
semelhante ao UC Efectuar Encomenda". A generalizao
usufrui das mesmas propriedades que uma relao pai/filho,
onde o UC "filho" herda ou substitui por completo o
comportamento do "pai".

Desconto Internet

extend
Efectuar Encomenda Internet
Desconto p.6

Efectuar
Encomenda
A relao include ocorre quando existe um
comportamento que deve ser includo num UC.
Este comportamento definido num
segundo UC normalmente quando este pode
ser usado por outros use cases.

include
Controlo Acesso

A relao Extends ocorre quando existe um


comportamento opcional que deve ser includo
num UC. O UC "Efectuar Encomenda Internet"
possui um ponto de extenso "Desconto p. 6" que
indica onde, na sua descrio, ser utilizado
o comportamento do UC "Desconto Internet".
Desta forma, ao adicionar um novo produto
sua encomenda obter um desconto se o produto
estiver em promoo.

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

36

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Relaes

(include ou use na descrio)

Efectuar Encomenda Internet (Cenrio Principal)


Pr-condio

(retirou-se a pr-condio que passa para o include)

Descrio

1.
2.
3.
4.

Ps-Condio

A encomenda ser entregue na morada do cliente

Include: Controlo de Acesso


O UC comea quando o cliente selecciona a opo de encomendar.
Em simultneo com a encomenda mostrado o catlogo de produtos.
O cliente adiciona produtos encomenda atravs da introduo do cdigo

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

37

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Relaes

(extend na descrio)

Efectuar Encomenda Internet (Cenrio Principal)


Pr-condio

O cliente um utilizador vlido no sistema

Descrio

5.
6.
7.
8.

Ps-Condio

De cada vez que adicionado um produto, o valor total calculado.


Se o produto est em promoo, existindo assim um desconto:
a. Extend: Calcular desconto
Em simultneo com a sua encomenda, mostrado o catlogo de
produtos.

A encomenda ser entregue na morada do cliente

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

38

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Relaes

(Descrio do UC de extenso)

Desconto Internet (Extenso)


Pr-condio

O produto est em promoo na Internet

Descrio

1.
2.
3.

O sistema retorna o valor do desconto.


Mostra o desconto na encomenda.
Calcula o desconto subtraindo-o ao preo do produto.

Ps-Condio

Condio: {Produto em promoo}


Ponto de Extenso: Desconto p.6

Efectuar Encomenda Internet


Desconto Internet

extend

Desconto p.6

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

39

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Utilizao

adequada das 3 relaes

Usar includes significa que o mesmo UC pode


ser usado noutro UC
Usar extends para descrever variaes do
comportamento normal, usando pontos de
extenso no caso de uso base
Usar a relao de generalizao para descrever
variaes do comportamento normal,
pretendendo-se somente efectuar uma descrio
casual
Fowler (2000)

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

40

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Relaes entre casos de uso

Exemplo prtico
Sistema de Encomendas

Efectuar Encomenda Internet

Cliente
Pacote::Cliente

Empregado
Balco

extend

Desconto Internet

Desconto p.6

include

Ponto de Extenso

Efectuar Encomenda

Cliente

Controlo Acesso

include

Reservar Mesa

Relao

Gestor
Pacote::Cliente
Pizzaria

41

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Exerccios

Exerccios prticos
Usando

o Visual Paradigma for UML,


reproduza a modelao dos anteriores casos
de uso para o exemplo da PhonePizza
Suporta equipes de desenvolvimento de software no
levantamento de requisitos, modelao do software com UML,
design de bases de dados e gerao de cdigo / reverso.

Requisitos Design Cdigo

Resolva

alguns exerccios da respetiva folha

prtica
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

42

S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso

Referncias
Booch, Grady, Rumbaugh, James, & Jacobson, Ivar. (1999). The
unified modeling language user guide: Addison-Welsley Longman
Inc.
ONeil, H., Mauro, N. e Ramos, P. (2010). Exerccios de UML:
Editora FCA
Mauro, N. e ONeil, H. (2004). Fundamental de UML: Editora FCA

Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias

43