You are on page 1of 65

Modelo de Requisitos Usando UML

Diagramas de Casos de Uso Diagramas de Classes de Domnio

Modelo de Casos de Uso

Introduo
Modelo de casos de uso: representao das funcionalidades externamente observveis do sistema e dos elementos externos ao sistema que interagem com o mesmo Modela os requisitos funcionais do sistema.

Introduo
Diagrama da UML utilizado na modelagem de casos de uso diagrama de casos de uso.

Tcnica de modelagem idealizada por Ivar Jacobson, na dcada de 1970. Mais tarde, incorporada ao mtodo Objectory. Posteriormente, a notao de casos de uso foi adicionada UML.
4

Introduo
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.

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

Casos de uso
Caso de uso a especificao de uma seqncia 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. Modelo de casos de uso tpico formado por vrios casos de uso.

Casos de uso

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

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.
Grau de abstrao Formato Grau de detalhamento

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.

10

Exemplo de descrio numerada


1. 2. 3. 4. 5. 6. 7.

Cliente insere seu carto no caixa eletrnico. Sistema apresenta solicitao de senha. Cliente digita senha. Sistema exibe menu de operaes disponveis. Cliente indica que deseja realizar um saque. Sistema requisita quantia a ser sacada. Cliente retira a quantia e recibo.
11

Exemplo de descrio 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.

12

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.

13

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 .

14

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.

15

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.
16

Atores
Elemento externo que interage com o sistema.
externo: atores no fazem parte do sistema. interage: um ator troca informaes com o sistema.

Casos de uso representam uma seqncia de interaes entre o sistema e o ator.


no sentido de troca de informaes entre eles.

Normalmente um agente externo inicia a seqncia de interaes com o sistema, ou um evento acontece para que o sistema responda.

17

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.)

18

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.
19

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.
20

Relacionamentos
Casos de uso e atores no existem sozinhos. Pode haver relacionamentos entre. A UML define diversos de relacionamentos no modelo de casos de uso:
Comunicao Incluso Extenso Generalizao

21

Relacionamento de incluso
Existe somente entre casos de uso. Analogia til: rotina.
Em uma linguagem de programao, instrues podem ser agrupadas em uma unidade lgica chamada rotina. Sempre que essas instrues devem ser executada, a rotina correspondente chamada.

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.
22

Relacionamento de incluso
Este caso de uso comum:
evita a descrio de uma mesma seqncia de interaes mais de uma vez e torna a descrio dos casos de uso mais simples.

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

Relacionamento de extenso
Utilizado para modelar situaes onde diferentes seqncias de interaes podem ser inseridas em um caso de uso. Sejam A e B dois casos de uso.
Um relacionamento de extenso de A para B indica que um ou mais dos cenrios de B podem incluir o comportamento especificado por A. Neste caso, diz-se que B estende A. O caso de uso A chamado de estendido e o caso de uso B de extensor.

24

Relacionamento de extenso
Cada uma das diferentes seqncias representa um comportamento opcional, que s ocorre sob certas condies ou cuja realizao depende da escolha do ator. Quando um ator opta por executar a seqncia 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.


25

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.
26

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.
27

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.

28

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.

29

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.
30

Diagrama de casos de uso


31

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.

32

Notao
A notao para um ator em um DCU a figura de um boneco
com o nome do ator definido abaixo desta figura.

Cada caso de uso representado por uma elipse.


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.
33

Exemplo (Notao)
Ator Caso de uso

Reservar Livro

Usurio

Relacionamento de comunicao
34

Exemplo (Notao)

35

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 incluso recebe o esteretipo <<estende>>. A seta (slida) de um relacionamento de herana no recebe esteretipo.

36

Notao
Obter Extrato inclui

inclui Realizar Saque Cliente Realizar Transferncia inclui

Fornecer Identificao

37

Notao

38

Notao
Reservar Livro

Devolver Livro Usurio

Solicitar Compra de Ttulo Professor


39

Notao

40

Identificao dos elementos do modelo de casos de uso


41

Identificao dos elementos do modelo de casos de uso


Os atores e os casos de uso so identificados a partir de informaes coletadas na fase de levantamento de requisitos do sistema.
Durante esta fase, os analistas devem identificar as atividades do negcio relevantes ao sistema a ser construdo.

No h uma regra geral que indique quantos casos de uso so necessrios para descrever completamente um sistema. A quantidade de casos de uso a ser utilizada depende completamente da complexidade do sistema.
42

Identificao de atores
Fontes e os destinos das informaes a serem processadas so atores em potencial.
uma vez que um ator todo elemento externo que interage com o sistema.

O analista deve identificar:


as reas da empresa que sero afetadas ou utilizaro o sistema. fontes de informaes a serem processadas e os destinos das informaes geradas pelo sistema.

43

Identificao de atores
Perguntas teis:
Que rgos, empresas ou pessoas iro utilizar o sistema? Que outros sistemas iro se comunicar com o sistema a ser construdo? Algum deve ser informado de alguma ocorrncia no sistema? Quem est interessado em um certo requisito funcional do sistema?

O desenvolvedor deve ainda continuar a pensar sobre atores quando passar para a identificao dos casos de uso.
44

Identificao de casos de uso


A partir da lista (inicial) de atores, deve-se passar identificao dos casos de uso. Nessa identificao, pode-se distinguir entre dois tipos de casos de uso
Primrio: representa os objetivos dos atores. Secundrio: aquele que no traz benefcio direto para os atores, mas que necessrio para que sistema funcione adequadamente.

45

Casos de uso primrios


Perguntas teis:
Quais so as necessidades e objetivos de cada ator em relao ao sistema? Que informaes o sistema deve produzir? O sistema deve realizar alguma ao que ocorre regularmente no tempo? Para cada requisito funcional, existe um (ou mais) caso(s) de uso para atend-lo?

46

Casos de uso primrios


Outras tcnicas de identificao:
Caso de uso oposto. Caso de uso que precede a outro caso de uso. Caso de uso relacionado a uma condio interna. Caso de uso que sucede a outro caso de uso. Caso de uso temporal.

47

Casos de uso secundrios


Estes se encaixam nas seguintes categorias:
Manuteno de cadastros. Manuteno de usurios. Manuteno de informaes provenientes de outros sistemas.

Importante: Um sistema de software no existe para cadastrar informaes, nem tampouco para gerenciar os seus usurios.
O objetivo principal produzir algo de valor para o ambiente no qual ele est implantado.
48

Construo do modelo de casos de uso


49

Construo do diagrama de casos de uso


Os diagramas de casos de uso devem servir para dar suporte parte escrita do modelo, fornecendo uma viso de alto nvel. Quanto mais fcil for a leitura do diagrama representando casos de uso, melhor. Se o sistema sendo modelado no for to complexo, pode ser criado um nico DCU. Este diagrama permite dar uma viso global e de alto nvel do sistema.
50

Construo do diagrama de casos de uso


Em sistemas complexos, representar todos os casos de uso do sistema em um nico DCU talvez o torne um tanto ilegvel. Alternativa: criar vrios diagramas, de acordo com as necessidades de visualizao.
Diagrama exibindo um caso de uso e seus relacionamentos; Diagrama exibindo todos os casos de uso para um ator; Diagrama exibindo todos os casos de uso a serem implementados em um ciclo de desenvolvimento.
51

Documentao dos atores


Uma breve descrio para cada ator deve ser adicionada ao modelo de casos de uso. O nome de um ator deve lembrar o papel desempenhado pelo mesmo no sistema.

52

Documentao dos casos de uso


UML no define uma estruturao especfica a ser utilizada na descrio do formato expandido de um caso de uso. A seguir, apresentada uma sugesto de descrio.
A equipe de desenvolvimento deve utilizar o formato de descrio que lhe for realmente til.

53

Documentao dos casos de uso


Nome Descrio Identificador Importncia Sumrio Ator Primrio Atores Secundrios Pr-condies Fluxo Principal Fluxos Alternativos Fluxos de Exceo Ps-condies Regras do Negcio Histrico Notas de Implementao

54

Documentao dos casos de uso


A descrio do modelo deve ser mantida no nvel mais simples possvel...

55

Documentao associada ao modelo de casos de uso


56

Documentao dos casos de uso


O modelo de casos de uso fora o desenvolvedor a pensar em como os agentes externos interagem como o sistema. No entanto, este modelo corresponde somente aos requisitos funcionais. Outros tipos de requisitos (desempenho, interface, segurana, regras do negcio, etc.) tambm fazem parte do documento de requisitos.

57

Regras do negcio
So polticas, condies ou restries que devem ser consideradas na execuo dos processos existentes em uma organizao. Descrevem a maneira pela qual a organizao funciona. Estas regras so identificadas e documentadas no chamado modelo de regras do negcio. A descrio do modelo de regras do negcio pode ser feita utilizando-se texto informal, ou alguma forma de estruturao.
58

Regras do negcio
Alguns exemplos de regras do negcio:
O valor total de um pedido igual soma dos totais dos itens do pedido acrescido de 10% de taxa de entrega. Um professor s pode estar lecionando disciplinas para as quais esteja habilitado. Um cliente do banco no pode retirar mais de R$ 1.000 por dia de sua conta. Os pedidos para um cliente no especial devem ser pagos antecipadamente.

59

Regras do negcio
Regras do negcio normalmente tm influncia sobre um ou mais casos de uso. Os identificadores das regras do negcio devem ser adicionados descrio do caso de uso.
Utilizando a seo regras do negcio da descrio do caso de uso.

60

Regras do negcio
Possvel formato para documentao de uma regra de negcio.
Nome Descrio Quantidade de inscries possveis (RN01) Um aluno no pode ser inscrever em mais de seis disciplinas por semestre letivo.

Fonte Histrico

Coordenador da escola de informtica Data de identificao: 12/07/2002

61

Requisitos de desempenho
Conexo de casos de uso a requisitos de desempenho.
Identificador do caso de uso CSU01 CSU02 CSU03 CSU04 CSU05 CSU07 Freqncia da utilizao 5/ms 15/dia 60/dia 180/dia 600/ms Tempo mximo esperado Interativo 1 segundo Interativo 3 segundos 10 segundos ... ...

500/dia durante 10 segundos 10 dias seguidos.

62

Estudo de Caso
Estudo de Caso Supermercado: O Supermercado Preo Baixo quer agilizar e modernizar a forma com que seus clientes efetuam as compras. Para que isso ocorra pretende disponibilizar terminais de consultas aos preos, por todo o supermercado. Assim, o cliente poder, a qualquer momento, consultar o preo de um produto. O gerente do supermercado recebe novos produtos e os cadastra no sistema. Concludo o cadastro dos produtos, o gerente autoriza os funcionrios a colocarem estes produtos nas prateleiras.
63

Estudo de Caso
O gerente a qualquer momento pode disponibilizar produtos em promoo. O gerente cadastra os preos promocionais e solicita ao locutor que faa o anuncio dos produtos que esto em oferta. Outra tarefa do gerente realizar a troca dos produtos para os clientes. Ao realizar a troca, o gerente verifica se h ainda produtos disponvel para que a mesma possa ser efetuada. Caso no haja produtos disponveis o gerente efetua a devoluo do dinheiro do cliente. Todas as compras dos clientes so registradas pelo funcionrio caixa. Caso o caixa registre o produto duas vezes ou o cliente desista de lev-lo, ento feito o estorno deste produto. Concludo o registro de todos os produtos o caixa armazena o pagamento do cliente.

64

Gerente

Gerente Gerenciar a Troca Manter Produto

<<usa>>

Troca por Devoluo de Dinheiro <<usa>> <<usa>> Trocar por Produto

Gerenciar Promoes de Produtos

Gerenciar Estoque <<usa>> <<usa>> Gerente Gerenciar Registro de Vendas Consultar Preo <<usa>> <<usa>>

Estornar Produtos

Registrar Pagamentos Caixa Cliente

65

You might also like