Você está na página 1de 64

Metodologia de Desenvolvimento de Sistemas

Disciplina: Analise Orientada a Objetos

Prof. Izaac Espndola


izaac@joaquimnabuco.edu.br 04/11/2011

Objetivos
Descrever os conceitos referente aos casos de uso. Introduzir tcnicas para a identificao dos casos de uso. Descrever validao dos casos de uso para requisitos elicitados. Discutir o gerenciamento dos casos de uso.

Introduo
O modelo de casos de uso uma representao das funcionalidades externamente observveis do sistema e dos elementos externos ao sistema que interagem com o mesmo. O modelo de casos de uso modela os requisitos funcionais do sistema.

Copyright 2002, 2003 Eduardo Bezerra

Introduo
O diagrama da UML utilizado na modelagem de casos de uso o diagrama de casos de uso. Este modelo direciona diversas das tarefas posteriores do ciclo de vida do sistema de software. Alm disso, o modelo de casos de uso fora os desenvolvedores a moldar o sistema de acordo com o usurio.
Copyright 2002, 2003 Eduardo Bezerra 4

Casos de uso
Um caso de uso a especificao de uma sequncia de interaes entre um sistema e os agentes externos. Define parte da funcionalidade de um sistema, sem revelar a estrutura e o comportamento internos deste sistema. Um modelo de casos de uso tpico formado de vrios casos de uso.

Copyright 2002, 2003 Eduardo Bezerra

Casos de uso

Um caso de uso representa quem faz o que (interage) com o sistema, sem considerar o comportamento interno do sistema.

Copyright 2002, 2003 Eduardo Bezerra

Componentes do modelo
O modelo de casos de uso de um sistema composto de:
Cenrios Atores Casos de uso Relacionamentos entre os elementos anteriores.

Copyright 2002, 2003 Eduardo Bezerra

Cenrios
Um caso de uso tem diversas maneiras de ser realizado. Um cenrio a descrio de uma das maneiras pelas quais um caso de um pode ser realizado. Um cenrio tambm chamado de instncia de um caso de uso. Normalmente h diversos cenrios para um mesmo um caso de uso. teis durante a modelagem de interaes.
Copyright 2002, 2003 Eduardo Bezerra 8

Cenrios
Um Cliente telefona para a empresa. Um Vendedor atende ao telefone. Cliente declara seu desejo de fazer um pedido de compra. Vendedor pergunta a forma de pagamento. Cliente indica que vai pagar com carto de crdito. Vendedor requisita o nmero do carto, a data de expirao e o endereo de entrega. Vendedor pede as informaes do primeiro item. Cliente fornece o primeiro item. Vendedor pede as informaes do segundo item. Cliente fornece o segundo item Vendedor pede as informaes do terceiro item Cliente e informa o terceiro item. Vendedor informa que o terceiro item est fora de estoque. Cliente pede para que O Vendedor feche o pedido somente com os dois primeiros itens. Vendedor fornece o valor total, a data de entrega e uma identificao do pedido. Cliente agradece e desliga o telefone. Vendedor contata a Transportadora para enviar o pedido de O Cliente.

Copyright 2002, 2003 Eduardo Bezerra

Atores
Os atores representam os papis desempenhados pelos diversos usurios que podero utilizar o sistema Um ator pode representar um hardware especial ou mesmo outro sistema Em suma: qualquer agente externo que interaja com o sistema

Atores
Categorias de atores:
pessoas (Empregado, Cliente, Gerente, Almoxarife, Vendedor, etc); organizaes (Empresa Fornecedora, Agncia de Impostos, Administradora de Cartes, etc); outros sistemas (Sistema de Cobrana, Sistema de Estoque de Produtos, etc). equipamentos (Leitora de Cdigo de Barras, Sensor, etc.)
Copyright 2002, 2003 Eduardo Bezerra 11

Representao de Atores

Atores
Um ator corresponde a um papel representado em relao ao sistema.
O mesmo indivduo pode ser o Cliente que compra mercadorias e o Vendedor que processa vendas. Uma pessoa pode representar o papel de Funcionrio de uma instituio bancria que realiza a manuteno de um caixa eletrnico, mas tambm pode ser o Cliente do banco que realiza o saque de uma quantia.

O nome dado a um ator deve lembrar o seu papel, ao invs de lembrar quem o representa.
Copyright 2002, 2003 Eduardo Bezerra 13

Atores primrios e secundrios


Um ator pode participar de muitos casos de uso. Um caso de uso pode envolver vrios atores, o que resulta na classificao dos atores em primrios ou secundrios.
Um ator primrio aquele que inicia uma seqncia de interaes de um caso de uso. Atores secundrios supervisionam, operam, mantm ou auxiliam na utilizao do sistema.

Exemplo: para que o Usurio (ator primrio) requisite uma pgina a um Browser (sistema), um outro ator (secundrio) est envolvido, o Servidor Web.
Copyright 2002, 2003 Eduardo Bezerra 14

Casos de Uso
Referem-se aos servios, tarefas ou funes que podem ser utilizadas de alguma maneira pelos usurios do sistema Representados na forma de elipses com texto interno descrevendo a que servio o caso de uso se refere

Descries narrativas
Cada caso de uso definido atravs da descrio narrativa das interaes que ocorrem entre o(s) elemento(s) externo(s) e o sistema. H vrias formas de se descrever casos de uso.
Descrio Contnua Descrio Numerada Descrio Particionada Descrio por Diagramas

Copyright 2002, 2003 Eduardo Bezerra

16

Exemplo de descrio contnua


O Cliente chega ao caixa eletrnico e insere seu carto. O Sistema requisita a senha do Cliente. Aps o Cliente fornecer sua senha e esta ser validada, o Sistema exibe as opes de operaes possveis. O Cliente opta por realizar um saque. Ento o Sistema requisita o total a ser sacado. O Sistema fornece a quantia desejada e imprime o recibo para o Cliente.

Copyright 2002, 2003 Eduardo Bezerra

17

Exemplo de descrio numerada


1. 2. 3. 4. Cliente insere seu carto no caixa eletrnico. Sistema apresenta solicitao de senha. Cliente digita senha. Sistema exibe menu de operaes disponveis. 5. Cliente indica que deseja realizar um saque. 6. Sistema requisita quantia a ser sacada. 7. Cliente retira a quantia e recibo.
Copyright 2002, 2003 Eduardo Bezerra 18

Exemplo de narrativa particionada


Cliente
Insere seu carto no caixa eletrnico. Digita senha. Solicita realizao de saque. Retira a quantia e o recibo.

Sistema
Apresenta solicitao de senha.

Exibe operaes disponveis.


Requisita quantia a ser sacada.

Copyright 2002, 2003 Eduardo Bezerra

19

Exemplo de narrativa por Diagrama


Ator Caso de uso

Reservar Livro

Usurio

Relacionamento de comunicao
Copyright 2002, 2003 Eduardo Bezerra 20

Detalhamento
O grau de detalhamento a ser utilizado na descrio de um caso de uso tambm pode variar. Um caso de uso sucinto descreve as interaes sem muitos detalhes. Um caso de uso expandido descreve as interaes em detalhes.

Copyright 2002, 2003 Eduardo Bezerra

21

Grau de abstrao
O grau de abstrao de um caso de uso diz respeito existncia ou no de meno tecnologia a ser utilizada na descrio deste caso de uso. Um caso de uso essencial no faz meno tecnologia a ser utilizada. Um caso de uso real apresenta detalhes da tecnologia a ser utilizada na implementao deste caso de uso .
Copyright 2002, 2003 Eduardo Bezerra 22

Grau de abstrao
Exemplo de descrio essencial (e numerada):
1) Cliente fornece sua identificao. 2) Sistema identifica o usurio. 3) Sistema fornece operaes disponveis. 4) Cliente solicita o saque de uma determinada quantia. 5) Sistema fornece a quantia desejada da conta do Cliente. 6) Cliente recebe dinheiro e recibo.

Copyright 2002, 2003 Eduardo Bezerra

23

Diagrama de casos de uso (DCU)


Representa graficamente os atores, casos de uso e relacionamentos entre os elementos. Tem o objetivo de ilustrar em um nvel alto de abstrao quais elementos externos interagem com que funcionalidades do sistema. Uma espcie de diagrama de contexto.
Apresenta os elementos externos de um sistema e as maneiras segundo as quais eles as utilizam.

Copyright 2002, 2003 Eduardo Bezerra

24

Notao
A notao para um ator em um DCU a figura de um boneco
Cada caso de uso representado por uma elipse.
com o nome do ator definido abaixo desta figura. O nome do caso de uso posicionado abaixo ou dentro da elipse.

Um relacionamento de comunicao representado por um segmento de reta ligando ator e caso de uso. Pode-se tambm representar a fronteira do sistema em um diagrama de casos de uso.
Copyright 2002, 2003 Eduardo Bezerra

25

Exemplo (Notao)
Ator Caso de uso

Reservar Livro

Usurio

Relacionamento de comunicao
Copyright 2002, 2003 Eduardo Bezerra 26

Exemplo (Notao)
Sistema de Vendas de Livros por Correio Vendedor Realizar Pedido

Cliente

Empresa Transportadora

Copyright 2002, 2003 Eduardo Bezerra

27

Notao
Os relacionamentos de incluso, extenso e herana so representados por uma seta direcionada de um caso de uso para outro. A seta (tracejada) de um relacionamento de incluso recebe o esteretipo <<inclui>>. A seta (tracejada) de um relacionamento de extenso recebe o esteretipo <<estende>>. A seta (slida) de um relacionamento de herana no recebe esteretipo.

Copyright 2002, 2003 Eduardo Bezerra

28

Notao
Obter Extrato inclui

inclui Realizar Saque Cliente Realizar Transferncia inclui

Fornecer Identificao

Copyright 2002, 2003 Eduardo Bezerra

29

Notao
Reservar Livro

Devolver Livro Usurio

Solicitar Compra de Ttulo Professor


Copyright 2002, 2003 Eduardo Bezerra 30

Notao

Realizar Pagamento Cliente

Realizar Pagamento com Carto de Crdito

Realizar Pagamento com Dinheiro

Copyright 2002, 2003 Eduardo Bezerra

31

Associaes
Representam as interaes ou relacionamentos entre:
Os casos de uso
Comunicao Incluso Extenso Generalizao/Especializao

Os atores e os casos de uso


Indica que este ator pode usar a funo do sistema representada pelo caso de uso

Os atores que fazem parte do diagrama


Generalizao/Especializao

Exemplo de Associaes

Associaes
As associaes entre atores e casos de uso podem conter setas indicando a navegabilidade desta
Sentido em que as informaes trafegam

Uma associao pode possuir uma descrio prpria:


Necessidade de esclarecer as informaes que esto sendo transmitidas Nomear a associao, caso necessrio

Relacionamento de comunicao
Representa a informao de quais atores esto associados a que casos de uso O fato de um ator estar associado a um caso de uso significa que esse ator interage (troca informaes) com o sistema. Um ator pode se relacionar com mais de um caso de uso. o mais comum dos relacionamentos.
Copyright 2002, 2003 Eduardo Bezerra 35

Relacionamento de Incluso
Utilizado quando existem servios utilizados por mais de um caso de uso. Evita-se, portanto descrever uma mesma seqncia de passos em mais de um caso de uso

Relacionamento de Incluso
Os relacionamentos de incluso indicam uma obrigatoriedade
Quando um caso de uso A possui relacionamento de incluso com outro caso de uso B, a execuo de A implica na execuo de B Pode ser comparado com a chamada de uma subrotina

Relacionamento de incluso
Existe somente entre casos de uso. Quando dois ou mais casos de uso incluem uma seqncia de interaes comum, esta seqncia comum pode ser descrita em um outro caso de uso.

Copyright 2002, 2003 Eduardo Bezerra

38

Relacionamento de incluso
Vantagem:
evita a descrio de uma mesma sequncia de interaes mais de uma vez. torna a descrio dos casos de uso mais simples.

Copyright 2002, 2003 Eduardo Bezerra

39

Relacionamento de incluso
Um exemplo: considere um sistema de controle de transaes bancrias. Alguns casos de uso deste sistema so Obter Extrato, Realizar Saque e Realizar Deposito.
H uma seqncia de interaes em comum: a seqncia de interaes para validar a senha do cliente.

Copyright 2002, 2003 Eduardo Bezerra

40

Relacionamento de Incluso

Relacionamento de Incluso

Relacionamento de Extenso
Utilizadas para descrever cenrios opcionais em um caso de uso Os casos de uso entendidos descrevem cenrios que somente ocorrero em um situao especfica, se uma condio for satisfeita

Relacionamento de extenso
Cada uma das diferentes sequncias representa um comportamento opcional, que s ocorre sob certas condies ou cuja realizao depende da escolha do ator.

Copyright 2002, 2003 Eduardo Bezerra

44

Relacionamento de Extenso

Relacionamento de extenso
Quando um ator opta por executar a sequncia de interaes definida no extensor, este executado.
Aps a sua execuo, o fluxo de interaes volta ao caso de uso estendido, recomeando logo aps o ponto em que o extensor foi inserido.

Importante: no necessariamente o comportamento definido pelo caso de uso extensor realizado.

Copyright 2002, 2003 Eduardo Bezerra

46

Relacionamento de extenso
Exemplo: considere um processador de textos. Considere que um dos casos de uso deste sistema seja Editar Documento. No cenrio tpico deste caso de uso, o ator abre o documento, modifica-o, salva as modificaes e fecha o documento. Mas, em outro cenrio, o ator pode desejar que o sistema faa uma verificao ortogrfica no documento. Em outro, o ele pode querer realizar a substituio de um fragmento de texto por outro.
Copyright 2002, 2003 Eduardo Bezerra 47

Relacionamento de extenso
estende Substituir Texto

Editar Documento estende Escritor Corrigir Ortografia

Copyright 2002, 2003 Eduardo Bezerra

48

Relacionamento de extenso
Interaes de Substituir Texto:
1. Em qualquer momento durante Editar Documento, o ator pode optar por substituir um fragmento de texto por outro. 2. O ator fornece o texto a ser substitudo e o texto substituto. 3. O ator define os parmetros de substituio (substituir somente palavras completas ou ocorrncias dentro de palavras; substituir no documento todo ou somente na parte selecionada; ignorar ou considerar letras maisculas e minsculas). 4. O sistema substitui todas as ocorrncias encontradas no texto.
Copyright 2002, 2003 Eduardo Bezerra 49

Restries a Associao de Extenso


Indicam atravs de uma nota explicativa a condio para que um caso de uso estendido seja executado

Pontos de Extenso
Identifica um ponto no comportamento de um CDU a partir do qual esse comportamento poder ser estendido pelo comportamento de um outro caso de uso, se a condio para que isto ocorra for satisfeita

Pontos de Extenso

Pontos de Extenso

Relacionamento de Generalizao/Especializao
Relaciona casos de uso com caractersticas semelhantes e pequenas diferenas entre si
Nesses casos definido um caso de uso geral e definir casos de uso que so especializaes deste Evita-se a redao das partes genricas em mais de um caso de uso, a redao dos casos de uso especializados se concentra nas diferenas

Relacionamento de generalizao
Relacionamento no qual o reuso mais evidente. Este relacionamento permite que um caso de uso (ou um ator) herde caractersticas de um caso de uso (ator) mais genrico. O caso de uso (ator) herdeiro pode especializar o comportamento do caso de uso (ator) base. Pode existir entre dois casos de uso ou entre dois atores.
Copyright 2002, 2003 Eduardo Bezerra 55

Relacionamento de generalizao
Na generalizao entre casos de uso, sejam A e B dois casos de uso.
Quando B herda de A, as seqncias de comportamento de A valem tambm para B. Quando for necessrio, B pode redefinir as seqncias de comportamento de A. Alm disso, B participa em qualquer relacionamento no qual A participa.

Vantagem: comportamento do caso de uso original reutilizado pelos casos de uso herdeiros.

Somente o comportamento que no faz sentido ou diferente para um herdeiro precisa ser redefinido.
Copyright 2002, 2003 Eduardo Bezerra 56

Relacionamento de generalizao
A generalizao entre atores significa que o herdeiro possui o mesmo comportamento que o ator do qual ele herda. Alm disso, o ator herdeiro pode participar em casos de uso em que o ator do qual ele herda no participa. Um exemplo: considere uma biblioteca na qual pode haver alunos e professores como usurios.
Ambos podem realizar emprstimos de ttulos de livros e reservas de exemplares. No entanto, somente o professor pode requisitar a compra de ttulos de livros biblioteca.
Copyright 2002, 2003 Eduardo Bezerra

57

Exemplo Relacionamento de generalizao


Reservar Livro

Devolver Livro Usurio

Solicitar Compra de Ttulo Professor


Copyright 2002, 2003 Eduardo Bezerra 58

Exemplo Relacionamento de Especializao

Relacionamento de Generalizao/Especializao
Pode tambm ocorrer entre atores do sistema, pois serve para facilitar a legibilidade do diagrama
Todas as associaes feitas pelo ator genrico, so herdadas pelos atores especializados

Relacionamento de Generalizao/Especializao

Multiplicidade
Determina o nmero de vezes que um ator pode utilizar um determinado Caso de Uso.

Fronteira do Sistema
Permite identificar um subsistema, ou mesmo o sistema completo, alm de destacar o que est contido no sistema e o que no est.

Fronteira do Sistema