Upload
joananeves
View
237
Download
0
Embed Size (px)
DESCRIPTION
Modelacao de Casos de Uso
Citation preview
UML Modelao de Casos de Uso
Instituto Superior de Contabilidade e Administrao de Coimbra
Licenciatura em Informtica de Gesto 2013-2014
Sistemas de Informao I Fernando Paulo Belfo
2
Introduo
Actores e casos de uso
Cenrios
Relaes
Exerccios prticos
Agenda
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
3
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)
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
4
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)
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
5
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
6
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
7
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
8
Introduo
Introduo
Os diagramas utilizam as seguintes abstraces de modelao:
Actores Casos de Uso Relaes (Uses, Extends e Generalizao)
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
9
Pacote::Actor
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
10
Atores e casos de uso
Actor
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
11
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:
"login para o sistema "registar no sistema "criar pedido"
Reservar Mesa
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
12
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.
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"
include
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
13
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.)
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
14
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.
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
15
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.
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
16
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
17
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]
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
(Belfo, 2011)
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
18
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"
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
19
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 ClienteCliente ClienteEmpregado
Balco
ClienteGestor
Pizzaria
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
20
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
21
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
22
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
23
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
24
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)
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
25
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
26
Atores e casos de uso
Exemplo prtico
Use cases para cada actor
Actor Use Cases
Cliente Efectuar Encomenda Internet
Controlo de Acesso
Empregado Balco Efectuar Encomenda
Controlo de Acesso
Gestor Reservar Mesa
Controlo de Acesso
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
27
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
28
Atores e casos de uso
Exemplo prtico
Comunicao entre actores e Use cases
ClienteEmpregado
Balco
Efectuar Encomenda
Linha recta simples
ClienteEmpregado
Balco
Efectuar Encomenda
Seta unidireccional
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
29
Atores e casos de uso
Exemplo prtico
Comunicao entre actores e Use cases
Existem UC que so desencadeados automaticamente (processo cclico ou despoletado por um evento especfico)
Poderia existir a necessidade de:
fazer cpia peridica dos dados das encomendas envio mensal das promoes aos clientes
ClienteUnidade de
Backup
Efectuar cpia de
segurana
ClienteCliente
Enviar promoes
mensais
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
30
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
31
Cenrios
Exemplo prtico
Cenrio principal e Cenrios Secundrios Efectuar Encomenda Internet (Cenrio Principal)
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
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
Ps-Condio A encomenda ser entregue na morada do cliente
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
32
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
33
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
34
Relaes entre casos de uso
Exemplo prtico
Relaes
Os use cases podem estar relacionados entre si As relaes mais frequentes so
uses
extends
generalizao
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
35
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
36
Relaes entre casos de uso
Exemplo prtico
Relaes
Efectuar Encomenda Internet
Desconto p.6
include
Controlo Acesso
extend
Desconto Internet
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.
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".
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.
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
37
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. Include: Controlo de Acesso
2. O UC comea quando o cliente selecciona a opo de encomendar.
3. Em simultneo com a encomenda mostrado o catlogo de produtos.
4. O cliente adiciona produtos encomenda atravs da introduo do cdigo
Ps-Condio A encomenda ser entregue na morada do cliente
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
38
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. De cada vez que adicionado um produto, o valor total calculado.
6. Se o produto est em promoo, existindo assim um desconto:
a. Extend: Calcular desconto
7. Em simultneo com a sua encomenda, mostrado o catlogo de
produtos.
8.
Ps-Condio A encomenda ser entregue na morada do cliente
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
39
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. O sistema retorna o valor do desconto.
2. Mostra o desconto na encomenda.
3. Calcula o desconto subtraindo-o ao preo do produto.
Ps-Condio
Efectuar Encomenda Internet
Desconto p.6extendDesconto Internet
Condio: {Produto em promoo}
Ponto de Extenso: Desconto p.6
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
40
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)
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
41
Relaes entre casos de uso
Exemplo prtico
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Cliente
Empregado
BalcoEfectuar Encomenda
Efectuar Encomenda Internet
Desconto p.6
include
Controlo Acesso
extendDesconto Internet
Sistema de Encomendas
Pacote::ClienteCliente
Pacote::ClienteGestor
Pizzaria
Reservar Mesa
include
Relao
Ponto de Extenso
42
Exerccios
Exerccios prticos
Usando o Visual Paradigma for UML, reproduza a modelao dos anteriores casos de uso para o exemplo da PhonePizza
Resolva alguns exerccios da respetiva folha prtica
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
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
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias
43
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
S.I.1 | Fernando Belfo 2013-2014 | UML: Modelao de Casos de Uso
Introduo Atores e casos de uso Cenrios Relaes Exerccios Referncias