Buscar

2 UML DiagramasCasosUso

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UML – Unified Modeling Language
Diagramas de Casos de Uso
José Correia, Março 2006
(http://paginas.ispgaya.pt/~jcorreia/)
José Correia UML – Diagramas de Casos de Uso 2
Objectivos
? O objectivo de um diagrama de casos de uso de um sistema é mostrar 
para que serve o sistema (quais são os usos possíveis 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 não funcionais (os que têm a ver com 
casos de uso particulares)
José Correia UML – Diagramas de Casos de Uso 3
Elementos da UML
? O diagrama de casos de uso de um sistema contém:
• Linha que define a fronteira do sistema – entre o sistema físico e os 
actores que com ele interagem
• Actores (fora do sistema)
• Casos de uso (dentro do sistema)
• Associações de interacção entre actores e casos de uso
? Um diagrama de casos de uso também pode conter:
• Relações de dependência entre casos de uso
- de extensão (estereótipo «extend»)
- de inclusão (estereótipo «include»)
• Relações de generalização
- entre casos de uso ou entre actores
José Correia UML – Diagramas de Casos de Uso 4
Exemplo
José Correia UML – Diagramas de Casos de Uso 5
Actores
? Um actor...
... é um tipo de utilizador do sistema
... é alguém, 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 vários actores
• de acordo com Booch, “um actor representa um conjunto coerente de 
papéis que utilizadores de um sistema desempenham quando interagem 
com os casos de uso do sistema”
? Actores ≠ Recursos 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
ProfessorAluno
José Correia UML – Diagramas de Casos de Uso 6
Cliente
ou «actor»
Cliente
Actores: Exemplos e Notação
? Ex.1 – Actores em relação a um negócio de restauração:
• Fornecedor
• Cliente
? Ex.2 – Actores em relação a um software de gestão de restaurantes:
• Administrador do sistema
• Empregado da caixa
• Empregado de mesa
? Os actores são representados por ícones, ou por classes, com 
estereótipo «actor»
José Correia UML – Diagramas de Casos de Uso 7
Casos de Uso (Use Cases)
? Um caso de uso é um padrão de comportamento que
o sistema exibe e pode corresponder a:
• uma funcionalidade do sistema
• um tipo de interacção entre um ou mais actores e o sistema com um determinado 
objectivo
• um processo de negócio (no contexto de um sistema de negócio)
? Um caso de uso é uma sequência de acções relacionadas, incluindo 
variantes, que um sistema realiza para produzir um resultado observável com 
valor para um actor (que interage com esse caso de uso)
• a sequência concreta de acções pode variar de instância para instância do caso de 
uso (daí se falar em “incluindo variantes”)
• as instâncias de um caso de uso são as ocorrências concretas do caso de uso
? Os casos de uso descrevem o que um sistema faz e não o modo como faz
Solicitar Lista de Cursos
José Correia UML – Diagramas de Casos de Uso 8
Servir 
almoço
Servir almoço
ou
Casos de Uso: Exemplos e Notação
? Exemplo de casos de uso num negócio de restauração:
• Servir almoço
• 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
? Os nomes dos casos de uso podem ser dados na perspectiva do sistema ou 
do actor
José Correia UML – Diagramas de Casos de Uso 9
Exemplo
Cliente
Servir almoço
Fornecedor
Restaurante
Servir jantar
Comprar bens
? Associações entre actores e casos de uso mostram que actores interagem 
com que casos de uso
• são representadas, normalmente, por linhas sem qualquer adorno
José Correia UML – Diagramas de Casos de Uso 10
Documentar Casos de Uso
? O diagrama de casos de uso deve ser acompanhado de descrições 
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
• documentação escrita do ponto de vista do actor
- indicar o que o sistema deve fornecer ao actor, quando o caso de uso é
executado
? Convém indicar:
• como é que o caso de uso começa e acaba
• o fluxo básico (principal) de eventos
• fluxos alternativos de comportamento
• fluxos excepcionais de eventos (ex: respostas a erros)
José Correia UML – Diagramas de Casos de Uso 11
Descrição de Casos de Uso (cont.)
? Exemplo do restaurante (simplificado):
• Servir almoço: um cliente vem ao restaurante e é-lhe servido almoço. O 
cliente escolhe o que pretende de um menu de almoços, com dois pratos 
do dia e vários outros pratos de preparação rápida.
• 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 composição por ele indicada.
• Comprar bens: são adquiridos os ingredientes necessários para a 
confecção dos pratos que constam do menu. Inclui-se aqui tanto o 
planeamento das aquisições, como a realização das aquisições a 
fornecedores do restaurante.
? Um caso de uso pode também ser descrito através de diagramas de 
interacção ou outros diagramas dinâmicos
- conforme iremos ver quando falarmos desses tipos de diagramas UML
José Correia UML – Diagramas de Casos de Uso 12
Relação “extend” entre Casos de Uso
? Podem-se organizar os casos de uso em casos básicos e extensões 
aos casos básicos
• uma instância do caso de uso A 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 (A)
? as extensões traduzem partes, ou modalidades, acrescentadas 
condicionalmente (opções)
• notação: dependência com estereótipo «extend»
A B
«extend»
extensãocaso básico
José Correia UML – Diagramas de Casos de Uso 13
? Exemplo:
? Podem-se indicar explicitamente os pontos em que um caso de uso 
básico pode ser estendido (pontos de extensão)
? Na descrição textual do caso básico: ... (sobremesa) ...
Servir uma
sobremesa
Servir jantar
Extension points
sobremesa
«extend»
(sobremesa)
Relação “extend” entre Casos de Uso (cont.)
Servir uma entrada
Servir jantar
Servir uma sobremesa
Servir à luz de velas
«extend»
«extend»
«extend»
José Correia UML – Diagramas de Casos de Uso 14
Relação “include” entre Casos de Uso
? Quando vários casos de uso têm um fluxo de eventos comum, é
conveniente separar essa parte comum para um novo caso de uso 
que é incluído pelos primeiros
• uma instância do caso de uso A inclui obrigatoriamente o comportamento 
especificado por B
• os actores interagem com A
• ao fazer a descrição textual de A: include(B)
• notação: dependência com estereótipo «include»
A B
(parte comum a outros 
casos de uso além de A)
«include»
José Correia UML – Diagramas de Casos de Uso 15
Servir almoço
Servir jantar
Cobrar
refeição
«include»
«include»
Relação “include” entre Casos de Uso 
(cont.)
? Exemplo:
José Correia UML – Diagramas de Casos de Uso 16
Servir uma
refeição
Servir 
almoço
Servir
jantar
Relação de Generalização entre Casos de Uso
? Relação de generalização: relação entre uma coisa mais genérica e 
uma coisa mais especializada...
... que é totalmente consistente com o primeiro elemento
... e adiciona informação adicional
? Significa que o caso de uso "filho" (mais especializado) herda o
comportamento, significado e actores do caso de uso "pai" (mais 
genérico)
• o filho pode adicionar ou substituir comportamento do pai;
• o filho pode aparecer em qualquercontexto em que o pai pode aparecer.
? Exemplo:
José Correia UML – Diagramas de Casos de Uso 17
Relação de Generalização entre Actores
? Um Cliente Empresarial é um (is a) Cliente
• analogia com hierarquia ISA no modelo Entidade-Associação
? O Cliente Empresarial herda as associações (de interacção com casos de 
uso) do Cliente genérico
? A Generalização permite simplificar e estruturar os diagramas
Cliente Cliente 
Empresarial
José Correia UML – Diagramas de Casos de Uso 18
Exemplo 1: Restaurante
«extend»
«extend»
«extend»
Servir 
almoço
Cobrar
refeição
«include»
Cliente
Fornecedor
Negócio de
restauração
Servir uma 
refeição
Servir jantar
Servir à luz 
de velas
Servir uma 
sobremesa
Servir uma 
entrada
Comprar 
bens
José Correia UML – Diagramas de Casos de Uso 19
Exemplo 2: Vídeo-gravador
Utilizador
«actor»
Televisor
Vídeo-gravador
Gravação 
programada
Reprodução 
de vídeo-
cassete
Gravação não 
programada
Gravação de 
vídeo-cassete
«actor»
Antena
José Correia UML – Diagramas de Casos de Uso 20
Granularidade dos Casos de Uso
? Um caso de uso (pelo menos um caso de uso básico) deve representar uma 
unidade de funcionalidade o mais pequena possível que, uma vez 
implementada, acrescenta valor (do ponto de vista dos actores) ao sistema 
que está a ser desenvolvido
? Exemplo no multibanco:
• "introduzir cartão" não é um caso de uso porque não tem valor isoladamente;
• "levantar dinheiro" é um caso de uso porque tem valor para um actor individual (o 
detentor do cartão)
? Com este objectivo, pode ser necessário agrupar num único caso de uso 
várias interacções com o sistema (que ocorrem até em sessões diferentes)
• isso não impede que se divida um caso de uso básico em vários casos de uso de 
grão mais fino, incluídos pelo primeiro
• Exemplo numa biblioteca: o caso de uso “Empréstimo” (aquele que tem valor para 
os utilizadores) pode ser dividido em “Levantamento” e “Devolução”
José Correia UML – Diagramas de Casos de Uso 21
Repor Bebidas de
acordo com Vendas
Abrir a Máquina
Fechar a Máquina
Agente do 
Fornecedor
Repor Bebidas
<<extend>> <<include>>
<<include>>
Retirar Dinheiro
<<include>>
<<include>>
Dono
ClienteComprar Bebida
Extension Point
encher prateleiras
Exemplo: Máquina de bebidas
? Considere o seguinte diagrama de casos de uso, correspondente a uma 
máquina de bebidas:
? Explique o significado do diagrama anterior, descrevendo o fluxo de eventos 
de forma textual.
José Correia UML – Diagramas de Casos de Uso 22
Exemplo: Máquina de bebidas (cont.)
? Resposta possível à pergunta formulada:
• Comprar Bebida: Um cliente dirige-se à máquina de bebidas, introduz o dinheiro e 
selecciona a bebida pretendida entre as existentes na máquina. A máquina entrega 
a bebida seleccionada e, se for caso disso, devolve o troco.
• Repor Bebidas: O agente do fornecedor repõe as bebidas à medida que estas 
forem sendo consumidas. Para tal, abre a máquina, enche as prateleiras com as 
bebidas em falta e fecha a máquina.
• Retirar Dinheiro: O dono do estabelecimento onde a máquina está colocada, abre a 
máquina, retira o dinheiro existente, deixando o suficiente para trocos, e volta a 
fechar a máquina.
? Quais são as funcionalidades do sistema modelizado pelo diagrama anterior?
• As funcionalidades do sistema são os casos de uso, ou seja: “Comprar Bebida”, 
“Abrir a Máquina”, “Fechar a Máquina”, “Retirar Dinheiro”, “Repor Bebidas” e “Repor 
Bebidas de acordo com Vendas”.
José Correia UML – Diagramas de Casos de Uso 23
Pacotes de Casos de Uso
? Num sistema complexo, podem existir demasiados casos de uso para
visualizar com clareza num único diagrama!
? Uma solução: 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 número de casos de uso devemos procurar
agrupá-los em pacotes!
? Critérios de agrupamento de casos de uso: 
• por sub-sistemas
• por actores
José Correia UML – Diagramas de Casos de Uso 24
Definição de 
Plano de Curso
Elaboração 
de Calendário 
de Exames
Atribuição de 
Serviço Docente
Elaboração 
de Horários
Elaboração 
de Relatório 
de Curso
Exemplo: SI do ISPGaya
Definição de 
Ficha de 
Disciplina
Lançamento de 
Classificações
Publicação de 
Material de Apoio
Lançamento 
de Sumários
Elaboração de 
Relatório de 
Disciplina
Inscrições 
no Curso
Inscrições nas 
Disciplinas
Inscrições 
nas Turmas
Consulta e Descarregamento 
de Material de Apoio de 
Disciplinas
Consulta de 
Horários
Consulta de 
Classificações
Consulta de 
Sumários
Aluno de 
Curso
Docente de 
Disciplina
Funcionário de 
Secretaria
Director de Curso
José Correia UML – Diagramas de Casos de Uso 25
SIIPG - Gestão de Cursos
Director 
de Curso
Definição de 
Plano de Curso
Elaboração de 
Calendário de Exames
Atribuição de 
Serviço Docente
Elaboração de 
Horários
Elaboração de 
Relatório de Curso
Exemplo: SIIPG
José Correia UML – Diagramas de Casos de Uso 26
SIIPG - Gestão de Disciplinas
Docente de 
Disciplina
Definição de Ficha 
de Disciplina
Lançamento de 
Classificações
Publicação de 
Material de Apoio
Lançamento de 
Sumários
Elaboração de Relatório 
de Disciplina
Exemplo: SIIPG
José Correia UML – Diagramas de Casos de Uso 27
Exemplo: SIIPG
SIIPG - Inscrições
Funcionário de 
Secretaria
Inscrições no 
Curso
Inscrições nas 
Disciplinas
Inscrições nas 
Turmas
Aluno de 
Curso
submete candidatura 
pela Web
executa procedimento de 
colocação automática, ou 
trata manualmente 
José Correia UML – Diagramas de Casos de Uso 28
Exemplo: SIIPG
SIIPG - Apoio a Alunos
Aluno de Curso
Consulta e Descarregamento 
de Material de Apoio de 
Disciplinas
Consulta de 
Horários
Consulta de 
Classificações
Consulta de 
Sumários
José Correia UML – Diagramas de Casos de Uso 29
Exemplo: SIIPG
Sist. de Informação do ISPGaya (SIIPG)
Aluno de Curso
Apoio a 
Alunos
Docente de Disciplina Gestão de 
Disciplinas
Funcionário de Secretaria
Director de Curso
Inscrições
Gestão de 
Cursos
José Correia UML – Diagramas de Casos de Uso 30
Realizações de Casos de Uso
? Um Diagrama de Casos de Uso apresenta uma visão externa do 
sistema
? Os Diagramas de Interacção descrevem como os casos de uso são 
realizados como interacções entre associações de objectos
? Há dois tipos de Diagramas de Interacção (interaction diagrams):
• Diagramas de Sequência (Sequence diagrams)
• Diagramas de Colaboração (Collaboration diagrams)
José Correia UML – Diagramas de Casos de Uso 31
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 não como o faz
... divide as funcionalidades do sistema em transações (casos de uso) que 
têm significado para os utilizadores (actores)
... é uma descrição funcional de um sistema e dos seus principais processos
... fornece uma descrição gráfica de quem irá usar o sistema e do tipo de 
interacções a esperar dentro desse sistema
José Correia UML – Diagramas de Casos de Uso 32
Resumo (cont.)
? Um caso de uso contém múltiplos cenários, cada um dos quais 
descreve um fluxo específico de eventos
• devemos garantir que cada caso de uso descreve um pedaço significativo 
(com valor) da utilização do sistema
• ao definir casos de uso com texto, usar nomes e verbos de forma 
consistente e precisa
- irá facilitar a definição de objectos e mensagens nos diagramas de interacção
? 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 33
Resumo (cont.)
? Um diagrama de casos de uso deve...
... conter apenas casos de uso ao mesmo nível de abstracção
... incluir apenas os actores que são necessários
? Quando é que um diagrama de casos de uso deve ser usado?
• na especificação do contexto do sistema
• na descrição (captura) dos requisitos de um sistema, nas fases de design, 
implementação e documentação• na modelização de testes de cenários com casos de uso
? O diagrama de casos de uso é, geralmente, elaborado na fase de 
análise e especificação de requisitos, por analistas e especialistas do 
domínio
José Correia UML – Diagramas de Casos de Uso 34
Referências
Estes apontamentos foram baseados em:
• “UML – Unified Modeling Language”, Curso em Tecnologia de Objectos, 
FEUP, Novembro 2000
Ademar Aguiar, Gabriel David, João 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/

Outros materiais