Vous êtes sur la page 1sur 38

!


"  
  #?   $

 
         | 
%&'
_ Um diagrama de casos de utilização de um sistema mostra  
(tipos de utilizadores),      e relações entre eles
‡ Fundamental acompanhar de descrições textuais de casos de utilização
_ ermite:
‡   ( )      (a   do sistema), ignorando
a forma como está organizado internamente
‡ especificar o *+ do sistema
- com quem interage (   ) e com que finalidade (    )
‡ capturar os )  ,**  do sistema
- casos de utilização são funcionalidades do sistema vistas pelos utilizadores

_ ode referir-se a um sistema de software, um sistema de negócio


ou organização, um equipamento, uma classe, etc.
_ É elaborado por analistas e especialista de domínio nos primeiros
estágios do desenvolvimento

 
         | 
-  . ( (    
_ asos de utilização
‡ ( )     # $
‡ num vídeo-gravador: reproduzir cassete, gravar cassete
‡ nem sempre evidente a partir da observação do interface!
‡ um caso de utilização engloba uma sequência de interacções com elementos
da interface, para atingir resultado útil (produto ou serviço) para o utilizador!

_ nterface
‡ sistema como  + ( 
‡ o que é visível na fronteira do sistema (estrutura e funcionamento)
‡ num vídeo-gravador: teclas, visor, abertura para cassete, tomadas

_ mplementação
‡ sistema como  + & *
‡ acrescenta o que está escondido (estrutura e funcionamento)
‡ num vídeo-gravador: motor, cabeças de gravação, sintonizador, ...

 
         | 
/+ (01 2#)( *$
*   
1 2
, * 
 

    




 
  
?  

 
 * *    
  
  ?   

 
         | 
/+ ( 03   *#*
2$
† 

Servir almoço

   (  4 
Cliente - servem directamente clientes
Servir jantar

   *4 


Comprar bens - não serve directamente clientes
- envolve interacção com o
Fornecedor exterior
- serve casos de utilização
- utilizador ou utilizado? primários
- o que importa é que interage com o sistema! - tem valor para o fornecedor

 
         | 
/+ (50-( 6 
3   * # ,7 $
· 



†  

Registar pedido

Cozinheiro

Ampregado
de mesa Amitir factura

-   (    *,     *#8 7 9 ,7 $:

 
         | 
-  ou «actor»
 
 
_ ·ctor = papel (Ô )
‡            ; ( () 
;  
 
  &***  (*8 ) **
 
 
_ ·ctor = classe
‡ classes são frequentemente usadas para modelar papéis que objectos individuais
podem desempenhar

_ ·ctor = tipo de utilizador (em sentido lato)


‡ pode ser uma pessoa ou outro sistema
‡ pode utilizar ou ser utilizado, o que interessa é que interage com o sistema

_ ·ctor M recurso do sistema


‡ recursos são pessoas, máquinas, etc. que pertencem ao sistema e que são
usados para levar a cabo tarefas dentro do sistema

_ ·ctor M indivíduo
‡ o mesmo indivíduo pode interagir com o sistema em vários papéis (como
cliente, como fornecedor, etc.)

 
         | 
"    Servir
almoço
ou
Servir almoço

_ àefinição: Um      é uma descrição de um conjunto


de sequências de acções(1), incluindo variantes(2), que um sistema
realiza(3) para produzir um resultado observável com valor para
um actor(4,5)
(1) a definição dá ênfase à sequência (modo) de funcionamento, mas este
detalhe só surge numa 2ª iteração, depois de se ter alguma ideia do interface
do sistema
(2) a sequência concreta de acções pode variar de instância para instância do
caso de utilização
(3) interessam-nos mais as acções do sistema, pois são essas que temos de
implementar, mas também interessa descrever as acções do actor
(5) é esta utilidade ou objectivo que importa descrever numa 1ª iteração
(6) o resultado pode ser um produto, um serviço, etc.

_ Vais simplesmente, um caso de utilização é :


‡ uma funcionalidade do sistema vista pelos utilizadores
‡ um tipo de interacção (de alto nível) entre actores e o sistema

 
         | 
 &      
_ ensar em cada actor e nas interacções que tem com o sistema
_ Um caso de utilização agrupa interacções elementares de actores com
elementos da interface do sistema, mas qual deve ser o nível de
agrupamento?
_ "    ( : utilização de funcionalidade de grão mais fino
possível que, uma vez implementada, acrescenta valor (do ponto de vista dos
utilizadores) ao sistema que está a ser desenvolvido
‡ Exemplo no multibanco:
- "introduzir cartão" não é um caso de utilização porque não tem valor isoladamente
- "levantar dinheiro" é um caso de utilização porque tem valor para o detentor do cartão
‡ O caso de utilização inclui todas as acções a montante (de preparação) e a jusante (de
finalização) necessárias (numa relação de um para um) à produção do resultado
- Levantamento no multibanco, vai desde a introdução do cartão até à recolha do cartão, do talão
e do dinheiro

_ "   ( : combinação de casos de utilização mais simples


‡ modelar apenas quando importa automatizar

 
         | 
      
_ 3 níveis de detalhe, de acordo com as 3 perspectivas de um sistema
_ 1º) essência / utilidade
‡ descrição breve independente da interface que o sistema apresenta
‡ descrever o &'    (  
‡ opcionalmente, indicar lista de -
 e   < (nível de )  )

_ 2º) interface
‡ descrição de ).* ,** **  +(*  , em termos de
interacções dos actores com elementos da interface
‡ opcionalmente, acompanhar de  *8  * , (   e de 

*= 
‡ indicar quando é que o caso de utilização começa e acaba, quando ocorrem interacções com
os actores, que objectos são trocados, quem faz o quê (o sistema ou um actor)
‡ (   (  ( * *  

_ 3º) implementação
‡     (   & &' * *    
‡ sequências de funcionamento detalhadas com (inter)acções internas ao sistema
‡ já não compete ao analista, mais sim ao projectista/implementador
‡ já não faz parte do modelo de casos de utilização, mas sim do modelo de O

 
         | 
/+ (0   
 >     >
_ Objectivo:
‡ servir uma refeição rápido a um cliente que se dirige ao restaurante ao almoço

_ = Ô e limitações:


‡ há dois pratos do dia pré-confeccionados, um de carne e outro de peixe, e uma lista fixa de pratos de
preparação rápida
‡ não se fazem reservas

_ ´equência normal de funcionamento:


‡ o cliente chega ao restaurante e senta-se numa mesa vaga
‡ o empregado entrega ao cliente uma folha com o menu do dia
‡ o cliente indica ao empregado o prato e bebida pretendidos
‡ o empregado transmite o pedido do prato à cozinha
‡ o empregado entrega a bebida ao cliente
‡ assim que está pronto, o empregado entrega o prato pedido ao cliente
‡ o cliente pede a conta
‡ o empregado faz a conta e entrega-a ao cliente
‡ o cliente paga a conta à saída

_ ´equência de funcionamento excepcional:


‡ Quando o restaurante está cheio, os clientes que chegam ao restaurante formam fila à entrada e o
empregado vai chamando os clientes para as mesas há medida que vão vagando

 
         | 
"   (  
 * *
_ asos de utilização guiam o planeamento
‡ ada iteração do processo de desenvolvimento deve analisar detalhadamente e
implementar um conjunto de casos de utilização ou variantes de casos de utilização
‡ ada iteração resultará num incremento ao produto com utilidade para o cliente
‡ omeçar pelos casos de utilização ou variantes mais prioritários ou com mais risco

_ asos de utilização guiam a captura e especificação de requisitos


‡ asos de utilização definem implicitamente requisitos funcionais
‡ ·lguns requisitos não funcionais podem também ser alocados a casos de utilização
‡ Em sistemas simples, dispensam definição prévia de uma lista de requisitos

_ asos de utilização guiam o desenho do sistema


‡ ·rquitectura (- Ô
) do sistema (divisão em módulos e definição dos seus interfaces e
dependências) é condicionada pelos casos de utilização (-  ) e requisitos adicionais
‡ · implementação de cada caso de utilização sobre essa arquitectura é modelada por uma
 Ô de objectos, combinando estrutura e comportamento

_ asos de utilização guiam o teste do sistema


‡ asos de teste de "caixa preta" desenhados a partir dos casos de utilização

 
         | 
-(     *
2
_ ·ctores modelam clientes, fornecedores, parceiros, etc.
_ asos de utilização modelam (   *
2
‡ (   *
2(  4  : servem directamente clientes
‡ (   *
2 *4  : não servem directamente clientes, mas
envolvem interacção com o exterior e servem processos de negócio primários

_ ƒem todas as actividades de um sistema de negócio se podem


englobar em processos de negócio, numa definição estrita
‡ caso das actividades que não estão relacionadas, mesmo que indirectamente,
com um actor individual
‡ essas actividades são englobadas em (    ( * *
‡ processos de gestão de recursos, planeamento, controlo, etc.

_ rocessos de negócio e de suporte são relacionados e detalhados


através de 
   , até chegar a actividades
que podem ser atribuídas a trabalhadores ou equipas individuais

 
         | 
/    

   

 
         | 
   
_ †elação ´extendµ entre casos de utilização
_ †elação ´includeµ entre casos de utilização
_ †elação de generalização entre casos de
utilização
_ †elação de generalização entre actores
_ ·grupamento de casos de utilização em pacotes
de casos de utilização

 
         | 
3 ?+*@*   
 #$
_ ara simplificar a descrição dos casos de utilização, podem-se
organizar os casos de utilização em   Ä  (casos de utilização
de acordo com a definição) e 
     &4  , que
traduzem partes ou modalidades acrescentadas condicionalmente
(  )
   
· 

  2 2
_ ´ignificado:
‡ uma instância do caso de utilização · pode incluir (sujeito a condições especificadas
na extensão) o comportamento especificado por B
‡ o caso básico deve fazer sentido sozinho
‡ os actores interagem com o caso básico (·)

_ Em software, corresponde normalmente a seguir um botão ou um 


num formulário que desencadeia uma acção ou dá acesso a outro
formulário ou relatório

 
         | 
3 ?+*@*   
 # $
_ Exemplo:
Servir jantar
«e tend» «e tend»
«e tend»
Servir uma entrada Servir à luz de velas

Servir uma sobremesa

_ odem-se indicar explicitamente os pontos em que um caso


de utilização básico pode ser estendido (pontos de extensão)

Servir jantar
A tension points «e tend» Servir uma sobremesa
sobremesa (sobremesa)

_ ƒa descrição textual do caso básico: .... ð   ...

 
         | 
3 ?+*@*   
 #5$
 **    (* 0

Visualizar Lista de
Disciplinas
«e tend» «e tend»

Visualizar Ficha de Adicionar Disciplina


Disciplina «e tend»

«e tend»
«e tend»

Vodificar Disciplina Aliminar Disciplina

 
         | 
3 ?*@*    
#$
_ Quando vários casos de utilização têm uma sub-sequência de
funcionamento comum, é conveniente separar essa parte
comum para um novo caso de utilização que é incluído pelos
primeiros
_ ƒotação:  
· 
ð  2   2
   2

_ ´ignificado
‡ uma instância do caso de utilização · inclui obrigatoriamente o
comportamento especificado por B
‡ os actores interagem com ·
‡ na descrição textual de ·: ÷ ð 

 
         | 
3 ?*@*   
 # $
_ Exemplo:

Servir almoço
«include»

Pagar
refeição

«include»
Servir jantar

 
         | 
3 
*  *   
 
_ †elação de generalização: entre uma coisa mais genérica e uma
coisa mais especializada
_ ´ignifica que o caso de utilização "filho" (mais especializado)
herda o comportamento, significado e actores do caso de
utilização "pai" (mais genérico)
‡ O filho pode adicionar ou substituir comportamento do pai
‡ O filho pode aparecer em qualquer contexto em que o pai pode aparecer

_ ƒotação: mesmo que generalização entre classes


_ Exemplo:
Servir
almoço
Servir uma
refeição
Servir
jantar

 
         | 
3 
*  *   
_ Exemplo:

Cliente

Cliente
Ampresarial

‡ Um cliente empresarial é um () cliente


‡ O cliente empresarial herda as associações (de comunicação
com casos de utilização) do cliente genérico
‡ ermite simplificar e estruturar os diagramas

 
         | 
     
_ ƒum sistema complexo, podem existir demasiados casos de
utilização para visualizar com clareza num único diagrama!
_ Uma solução: um diagrama de casos de utilização inicial,
com pacotes de casos de utilização, e um diagrama de
casos de utilização relativo a cada pacote
_ ritérios de agrupamento de casos de utilização em
pacotes:
- por actores
- por sub-sistemas

_ acotes de casos de utilização correspondem normalmente


a menus em sistemas de software

 
         | 
/+ (03   *
† 

Servir almoço

Servir uma «include» Pagar


refeição refeição

Cliente
Servir jantar
«e tend» «e tend»
«e tend»
Servir uma Servir à luz de
entrada velas
Servir uma
sobremesa

Comprar bens
Fornecedor

 
         | 
/+ (0A  6 
3   *
´  
 ´



   
  
  


   
     

    

 
         | 
/+ (0A63# $
´

    

   
 
  


   

   
   


   
   
  

 
         | 
/+ (0A63#5$
´

     

 
 

  
   

 
         | 
" / 0A  
B*,  C&

 
         | 
%&'
_ retende-se projectar o ´istema de nformação de
uma Biblioteca (´B), para apoiar as seguintes
actividades:
‡ gestão de aquisições de publicações
- registar a aquisição
‡ gestão de consultas e fotocópias de publicações dentro da biblioteca
- interessa contar o nº de vezes que cada publicação foi consultada
‡ consulta da base de dados de publicações (público e empregados)
‡ gestão de sócios
- inscrição, renovação, cancelamento
‡ gestão de requisições
- só os sócios podem requisitar publicações
- requisição com levantamento, devolução

 
         | 


_ aptura e especificação de requisitos:
‡ listar requisitos candidatos
‡ construir um     &&
‡ detalhar casos de utilização da biblioteca através de 

  , identificando as actividades automatizadas com recurso
ao ´B e os trabalhadores envolvidos
‡ construir um  D*
‡ construir um glossário de conceitos de domínio
‡ construir um    ABC(sistema de
software)
‡ detalhar alguns casos de utilização da ´B através de 

).*
- sistema representado por um único objecto

 
         | 

   
 && 
C&
Íc one ara actor em
reao ao negóco
Consutar base de dados de
ubcaes
Letor 
Ícone ara caso de ut ao
do negóco

Consu  ub o

Obter fotocó  de ubcao


<<ncude>>

Levantar ub ca o

Requstar ubcao <<ncude>>


Sóco

Devover ub cao

Em UML 1.3, deva ser


uma seta de deendênca
Fornece dor Adqurr ubcao

 
         | 
-     E&&
_ Leitor
‡ essoa que se dirige à biblioteca para consultar publicações,
sendo ou não sócio da biblioteca.

_ ´ócio
‡ Leitor que está inscrito como sócio da biblioteca.

_ Fornecedor
‡ Empresa a quem a biblioteca adquire publicações.

 
         | 
"    &&
_ onsultar base de dados de publicações
‡ onsultar a base de dados com a lista de publicações existentes na biblioteca, incluindo
informação sobre o estado das publicações.

_ onsultar publicação
‡ O leitor consulta a publicação dentro das instalações da biblioteca.
‡ ara fins de gestão, é mantido um contador do número de vezes que cada publicação é
consultada dentro da biblioteca.

_ Obter cópia de publicação


‡ O leitor pode tirar fotocópias de partes de publicações numa fotocopiadora da biblioteca.

_ †equisitar publicação
‡ · biblioteca empresta uma publicação a um sócio para consulta no exterior da biblioteca
mediante uma requisição.
‡ Envolve dois contactos com a biblioteca, para o levantamento e a devolução da
publicação.

_ ·dquirir publicação
‡ · biblioteca adquire livros a fornecedores.

 
         | 

   
ABC
A  B*,  C& #ABC$

Letor Consutar base de dados de



ub cae s
(f rom Modeo de C asos de U t ao da Bboteca) 
(f ro m Mo deo d e C aso s de U t a o d a Bboteca )

Regstar sóco

Regstar ubcao
Gestor

Regs tar  eva ntam ento d e


Funconáro
 ubca o


Obter estatístcas d e ut  ao
Ícone ara

traba ador
do negóco Regstar devouo de ubcao

Regstar consuta de ubcao

 
         | 
-      ABC
_ Leitor
‡ essoa que se dirige à biblioteca para consultar publicações, sendo
ou não sócio da biblioteca.

_ Funcionário
‡ Empregado da biblioteca que atende os leitores e sócios.

_ Gestor
‡ Empregado da biblioteca que trata das aquisições de publicações e
consulta estatísticas de utilização.

 
         | 
"   ABC#$
_ onsultar base de dados de publicações
‡ onsultar a base de dados com a lista de publicações existentes na
biblioteca, incluindo informação sobre o estado das publicações.

_ †egistar sócio
‡ nscrever leitor como sócio da biblioteca.

_ †egistar levantamento de publicação


‡ †egistar o levantamento de uma publicação por um sócio
(empréstimo da publicação ao sócio).

_ †egistar devolução de publicação


‡ †egistar a devolução à biblioteca de uma publicação que estava
emprestada por um sócio.

 
         | 
"   ABC# $
_ †egistar consulta de publicação
‡ †egistar que uma publicação foi consultada por um leitor dentro da
biblioteca. ƒão é necessário identificar o leitor.

_ †egistar publicação
‡ †egistar publicação já existente (na instalação do sistema) ou
adquirida.

_ Obter estatísticas de utilização


‡ Obter estatísticas sobre a taxa de utilização das várias publicações,
úteis para a aquisição de novas publicações.

 
         | 
/+ D
_ Estender o caso de estudo (biblioteca)
_ Elaborar diagramas de casos de utilização
relativamente aos seguintes sistemas:
‡ Terminal Vultibanco

 
         | 

Vous aimerez peut-être aussi