Vous êtes sur la page 1sur 55

UML: Casos de Uso

Projeto de Sistemas de Software

UML Casos de Uso


Introduo Casos de uso Elementos do diagrama de casos de uso Descrio de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia

LES/PUC-Rio

Engenharia de Requisitos
Sub-rea da engenharia de software que tem por objetivo tratar o processo de definio de requisitos.
Elicitao, modelagem e anlise

Requisitos so sentenas que expressam as necessidades dos clientes e que condicionam a qualidade do software.
Requisitos funcionais Requisitos no funcionais

Modelo de requisitos
Registro dos requisitos de forma amigvel Entendimento dos requisitos
Clientes e engenheiros de software
LES/PUC-Rio

Introduo Casos de Uso Diagrama e descrio de casos de uso


uma tcnica de modelagem de requisitos Descreve o que um sistema faz Segundo Ivan Jacobson , podemos dizer que um caso de uso um "documento narrativo que descreve a sequncia de eventos de um ator que usa um sistema para completar um processo".

LES/PUC-Rio

Introduo Casos de Uso Os casos de uso:


Descrevem como os usurios interagem com o sistema (as funcionalidades do sistema) Do uma viso externa do sistema O conjunto de casos de uso deve ser capaz de comunicar a funcionalidade e o comportamento do sistema para o cliente Descrevem o que o sistema faz, mas NO especificam como isso deve ser feito

LES/PUC-Rio

Introduo Casos de Uso


Diagrama de Casos de Uso

Vender CDs

Atendente

Administrar estoque

Gerente

LES/PUC-Rio

Introduo Casos de Uso


Descrio de Casos de Uso

LES/PUC-Rio

Elementos Diagrama de Casos de Uso Elementos do diagrama


Atores Casos de uso Relacionamentos
Associao Generalizao Dependncia: Extenso e Incluso

Fronteira do sistema

LES/PUC-Rio

Elementos Diagrama de Casos de Uso Elementos do diagrama


Atores Casos de uso Relacionamentos
Associao Generalizao Dependncia: Extenso e Incluso

Fronteira do sistema

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Atores
Representam os papis desempenhados por elementos externos ao sistema
Ex: humano (usurio), dispositivo de hardware ou outro sistema (cliente)

Elementos que interagem com o sistema

Notao:

Secretria
(from Use Case View)

Diretor

S istem a de Re la t rio s

(from Use Case View) (from Us e Cas e V iew)

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os atores
Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir loja. A loja possui um atendente cuja funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os atores
Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir loja. A loja possui um atendente cuja funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os atores

Gerente
(from Use Case View)

Atendente
(from Use Case View)

E o cliente?
No ator pois ele no interage com o sistema!

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores Casos de uso Relacionamentos
Associao Generalizao Dependncia: Extenso e Incluso

Fronteira do sistema

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Caso de Uso
Representa uma funcionalidade do sistema (um requisito funcional) iniciado por um ator ou por outro caso de uso Dicas:
Nomeie os casos de uso iniciando por um verbo

Notao:
Nome do Caso de Uso

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os casos de uso
Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir loja. A loja possui um atendente cuja funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os casos de uso
Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir loja. A loja possui um atendente cuja funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os casos de uso

Vender CDs

Administrar estoque

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores Casos de uso Relacionamentos
Associao Generalizao Dependncia: Extenso e Incluso

Fronteira do sistema

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Relacionamento de associao
Indica que h uma interao (comunicao) entre um caso de uso e um ator Um ator pode se comunicar com vrios casos de uso

Dica:
Associaes NO representam fluxo de informao

Notao:

interao Ator
(from Use Case View)

Caso de Uso
(from Use Case View)

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os relacionamentos de associao
Uma loja de CDs possui discos para venda. Um cliente pode comprar uma quantidade ilimitada de discos para isto ele deve se dirigir loja. A loja possui um atendente cuja funo atender os clientes durante a venda dos discos. A loja tambm possui um gerente cuja funo administrar o estoque para que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele tambm atende os clientes durante a venda dos discos.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando os relacionamentos de associao

Vender CDs

Atendente

Administrar estoque

Gerente

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores Casos de uso Relacionamentos
Associao Generalizao Dependncia: Extenso e Incluso

Fronteira do sistema

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Relacionamento de generalizao
Generalizao de atores Quando dois ou mais atores podem se comunicar com o mesmo conjunto de casos de uso Um filho (herdeiro) pode se comunicar com todos os casos de uso que seu pai se comunica.

Dica: coloque os herdeiros embaixo Notao:

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao de atores

Vender CDs

Atendente

Administrar estoque

Gerente

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Relacionamento de generalizao
Generalizao de casos de uso
O caso de uso filho herda o comportamento e o significado do caso de uso pai O caso de uso filho pode incluir ou sobrescrever o comportamento do caso de uso pai O caso de uso filho pode substituir o caso de uso pai em qualquer lugar que ele aparea

Dica: deve ser aplicada quando uma condio resulta na definio de


diversos fluxos alternativos.

Notao:

Pai

Filho 1 LES/PUC-Rio

Filho 2

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao de casos de uso
Novos requisitos: As vendas podem ser vista ou a prazo. Em ambos os casos o estoque atualizado e uma nota fiscal, entregue ao consumidor.
No caso de uma venda vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma s vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acrscimo de 20%. As vendas a prazo podem ser pagas no carto ou no boleto. Para pagamento com boleto, so gerados boletos bancrios que so entregues ao cliente e armazenados no sistema para lanamento posterior no caixa. Para pagamento com carto, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao de casos de uso
Vender CDs

Atendente
Vender CDs a prazo Vender CDs vista

Administrar estoque Gerente


LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando mais generalizao de casos de uso
Novos requisitos: As vendas podem ser vista ou a prazo. Em ambos os casos o estoque atualizado e uma nota fiscal, entregue ao consumidor.
No caso de uma venda vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma s vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos com um acrscimo de 20%. As vendas a prazo podem ser pagas no carto ou no boleto. Para pagamento com boleto, so gerados boletos bancrios que so entregues ao cliente e armazenados no sistema para lanamento posterior no caixa. Para pagamento com carto, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras a vista.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando generalizao de casos de uso
Vender CDs

Atendente
Vender CDs a prazo Vender CDs vista

Vender c/ boleto

Vender c/ carto

Administrar estoque Gerente


LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores Casos de uso Relacionamentos
Associao Generalizao Dependncia: Extenso e Incluso

Fronteira do sistema

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Relacionamento de dependncia: Extenso:
Representa uma variao/extenso do comportamento do caso de uso base O caso de uso estendido s executado sob certas circunstncias Separa partes obrigatrias de partes opcionais
Partes obrigatrias: caso de uso base Partes opcionais: caso de uso estendido

Notao: <<extends>>

<<extends>>

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: extenso Novos requisitos:
No caso de uma venda vista, clientes cadastrados na loja e que compram mais de 5 CDs de uma s vez ganham um desconto de 1% para cada ano de cadastro. No caso de uma venda a prazo... ...Para pagamento com carto, os clientes com mais de 10 anos de cadastro na loja ganham o mesmo desconto das compras vista.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: extenso
Vender CDs

Atendente
Vender CDs a prazo Vender CDs vista
<<extend>> <<extend>>

Vender c/ boleto

Vender c/ carto

Calcular desconto

Administrar estoque Gerente


LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Relacionamento de dependncia: Incluso:
Evita repetio ao fatorar uma atividade comum a dois ou mais casos de uso Um caso de uso pode incluir vrios casos de uso

Notao: <<includes>>
<<includes>>

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: incluso Novos requisitos:
Para efetuar vendas ou administrar estoque, atendentes e gerentes tero que validar suas respectivas senhas de acesso ao sistema.

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando dependncia: incluso
Vender CDs

Atendente
Vender CDs a prazo Vender CDs vista
<<extend>> <<extend>>

Vender c/ boleto
<<include>>

Vender c/ carto

Calcular desconto

Fazer login
<<include>>

Administrar estoque Gerente


LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores Casos de uso Relacionamentos
Associao Generalizao Dependncia: Extenso e Incluso

Fronteira do sistema

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Fronteira do Sistema
Elemento opcional Serve para definir a rea de atuao do sistema

Notao:

LES/PUC-Rio

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs
Identificando a fronteira do sistema
Vender CDs

Atendente
Vender CDs a prazo Vender CDs vista
<<extend>> <<extend>>

Vender c/ boleto
<<include>>

Vender c/ carto

Calcular desconto

Fazer login
<<include>>

Administrar estoque Gerente


LES/PUC-Rio

Descrio de Casos de Uso


A descrio mais importante do que o diagrama UML no especifica padro Pode ser:
Informal Tpica Detalhada

LES/PUC-Rio

Descrio de Casos de Uso


Descrio Informal
Contm o nome do caso de uso e uma descrio textual de sua funcionalidade

Exemplo:

LES/PUC-Rio

Descrio de Casos de Uso


Descrio Tpica
Contm:
Identificao do ator que iniciou o caso de uso Pr-requisitos (se houver) do caso de uso Descrio textual do:
Fluxo normal Fluxos alternativos (se houver)

Exemplo:

LES/PUC-Rio

Descrio de Casos de Uso


Descrio Detalhada
Contm:
Nome Descrio sucinta Atores Pr-condies Ps-condies Fluxo bsico Fluxos alternativos Fluxos de exceo Estruturas de dados Regras de negcio Observaes
de tipo e t r es de Usa o i r c o des e us d s o ! cas alho b a r no t

LES/PUC-Rio

(usar no trabalho!)

(usar no trabalho!)

(usar no trabalho!)

LES/PUC-Rio

Exemplo 2 (cont.): (usar nos trabalho!)

Exemplo: O Blog
Um blog tem um ttulo e uma data de criao e alm disso um conjunto de contedos. Estes contedos (mensagens) podem ser notas ou comentrios sobre as notas. Tanto notas quanto comentrios tm caractersticas comuns como o texto e a data de sua criao. Todo usurio possui:
E-mail (deve ser nico, ou seja, no h mais de um usurio com o mesmo e-mail)

LES/PUC-Rio

Blog: o sistema deve...


Permitir a criao de blogs Permitir a utilizao de blogs
Qualquer usurio pode ler contedos Somente o dono do blog pode criar notas Qualquer usurio pode criar comentrios. Para criar um comentrio o usurios precisa ler as notas. Somente o dono do blog pode remover contedos. Para remover um contedo ele precisar ler o contedo. Caso ele remova um comentrio, o autor do comentrio deve ser notificado por e-mail.

LES/PUC-Rio

Exemplo: Blog
blogSystem Criar Blog <<include>> Criar Comentario

Ler Conteudo

Ler Nota

Usuario

Ler Comentario <<include>> Remover Comentario <<include>>

Remover Conteudo

Remover Nota

Dono do blog

Criar Nota

LES/PUC-Rio

Ferramentas de Modelagem
Omondo Plugin para Eclipse Jude Together ...
http://www.omondo.com/

https://jude.change-vision.com/jude-web/ http://www.borland.com/products/downloads/download_together.html http://www.ibm.com/software/rational

IBM Rational Rose -

LES/PUC-Rio

Ferramentas de Modelagem - Omondo

LES/PUC-Rio

Ferramentas de Modelagem - JUDE

LES/PUC-Rio

Bibliografia
Cockburn, A., Writing Effective Use Cases, Addison-Wesley, 2001. Fowler, M e Scott, K., UML Distilled A Brief Guide to the standard Object Modeling Language, Addison Wesley Longman, 2002 Booch, G., Rumbaugh, J. and Jacobson, I., Unified Modeling Language User Guide, 2nd Edition, Addison-Wesley Object Technology Series, 2005.

LES/PUC-Rio