185
 UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Francisco de Assis e-mail: [email protected]. br

Uml

Embed Size (px)

Citation preview

Page 1: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 1/185

UML

Unified Modeling LanguageLinguagem de Modelagem Unificada

Prof. Francisco de Assise-mail: [email protected]

Page 2: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 2/185

Planejamento

Carga Horária: 30 horas Quantidade de Aulas: 6 Aula 1: Introdução a linguagem UML e

Diagrama de Caso de Uso Aula 2: Diagrama de Classes/Objetos Aula 3: Diagrama de Seqüência

Page 3: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 3/185

Planejamento

Aula 4: Diagrama de Colaboração / Estados / Atividades

Aula 5: Outros diagramas Aula 6: Desenvolvimento de atividade

avaliativa

Page 4: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 4/185

Metodologia

Aulas expositivas, com slides Abordagem da linguagem UML de forma

práticaUm exemplo será utilizado (caso de estudo)

Atividade final de modelagem

Page 5: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 5/185

Livros

Page 6: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 6/185

Page 7: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 7/185

A linguagem UML

UML (Unified Modeling Language) – Linguagemde Modelagem Unificada

É uma linguagem de modelagem (visual), nãouma linguagem de programação É uma linguagem de modelagem não

proprietária

Permite a utilização de diagramas padronizadospara especificação e visualização de umsistema

Page 8: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 8/185

De onde surgiu?

Da união de três metodologias demodelagem:

Método de Booch, de Grady Booch;Método OMT (Object Modeling Technique) de

Ivar Jacobson;Método OOSE (Object Oriented Software

Engineering) de James Rumbaugh. Os “três amigos”. 

Page 9: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 9/185

UML

“Fundadores” da UML 

Page 10: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 10/185

De onde surgiu?

A primeira versão foi lançada em 1996 Em 1997 a UML foi adotada pela a OMG

(Object Management Group – Grupo degerenciamento de Objetos) comolinguagem padrão de modelagem.

Page 11: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 11/185

O que é modelagem?

Atividade de construir modelos que expliquemas características ou comportamentos de umsistema.

A UML pode ser usada com todos os processosdurante o ciclo de desenvolvimento do projeto Análise de requisitos; Análise de sistema;

Design; Programação e Testes.

Page 12: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 12/185

Por que usar UML? 

Desenvolver o modelo de uma aplicaçãoantes de construí-la, é tão essencial

quanto ter uma planta para a construçãode uma casa.Analisar o projeto sobre vários aspectos;

Diminui a possibilidade de erros.

Page 13: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 13/185

Page 14: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 14/185

Por que usar UML?

Bons modelos são essenciais para acomunicação entre os times de projetos e

para assegurar a beleza arquitetural.Facilita a programação;Todo o time entende a modelagem,

facilitando assim a manutenção.

Page 15: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 15/185

Por que usar UML?

Ter um rigoroso padrão de linguagem demodelagem é um fator essencial para o

sucesso de um projeto.Sistemas são dinâmicos;

Page 16: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 16/185

E onde fica a modelagem?

Análise de requisitos Modelagem

ImplementaçãoTestes

Manutenção

Modelo de desenvolvimento mais comum.Todos os modelos são derivados dessa idéia

Page 17: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 17/185

Fases do modelo

Análise de requisitos Modelagem

ImplementaçãoTestes

Manutenção

Page 18: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 18/185

Fases do modelo

Análise de requisitos Modelagem

ImplementaçãoTestes

Manutenção

Page 19: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 19/185

Fases do modelo

Análise de requisitos Modelagem

ImplementaçãoTestes

Manutenção

Page 20: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 20/185

Fases do modelo

Análise de requisitos Modelagem

ImplementaçãoTestes 

Manutenção

Page 21: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 21/185

Fases do modelo

Análise de requisitos Modelagem

ImplementaçãoTestes

Manutenção

Page 22: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 22/185

Recomeçando o ciclo

Análise de requisitos Modelagem

ImplementaçãoTestes

Manutenção

Page 23: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 23/185

Modelos

Tipos de ModelagensEstrutural;Comportamental.

Modelos Proporcionam:Visualização do sistema;Especificação da estrutura ou comportamento

do sistema;Guia para a construção do sistema;Documentação das decisões tomadas.

Page 24: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 24/185

Diagramas UML

Estrutural (Estática) Diagrama de Classes Diagramas de Objetos Diagrama de Caso de Uso Diagrama de Componentes

Dinâmica Diagrama de Estados Diagrama de Atividades Diagrama de Colaboração Diagrama de Seqüência

Representação Gráfica de um Conjunto deElementos.

Page 25: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 25/185

Ferramentas CASE

Auxiliam na construção e gerenciamentode diagramas UMLRational RoseMS VisioPowerDesignArgoUMLJudePoseidon

Page 26: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 26/185

Resumo dos

diagramas

Page 27: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 27/185

Diagrama de Caso de Uso

Diagrama mais geral da UML; Usado geralmente nas fases de

Levantamento e Análise de Requisito doSistema;

Mostra como o sistema irá se comportar.

Page 28: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 28/185

Diagrama de Caso de Uso

Page 29: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 29/185

Diagrama de Classes

Diagrama mais utilizado da UML; Serve de apoio para a maioria dos outros

diagramas. Define a estrutura de classes do sistema; Estabelece como as classes se

relacionam.

Page 30: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 30/185

Diagrama de Classes

Page 31: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 31/185

Diagrama de Objetos

Complemento do Diagrama de Classes Exibe os valores armazenados pelos

objetos de um Diagrama de Classes.

Page 32: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 32/185

Diagrama de Objetos

Page 33: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 33/185

Diagrama de Seqüência

Preocupa-se com a ordem temporal emque as mensagens são trocadas

Baseia-se em um Caso de Uso Costuma identificar o Evento gerador do

processo modelado, bem como, o Ator

responsável por este evento.

Page 34: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 34/185

Diagrama de Seqüência

Page 35: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 35/185

Diagrama de Colaboração

Amplamente associado ao diagrama deseqüência, um complementa o outro.

Não se preocupa com a temporalidade,mas sim, em como os objetos estãovinculados e quais mensagens trocam

entre si.

Page 36: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 36/185

Diagrama de Colaboração

Page 37: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 37/185

Diagrama de Estados

Procura acompanhar as mudançassofridas por um Objeto dentro de um

determinado processo. O Diagrama de Estados é utilizado

normalmente para acompanhar os

estados por que passa uma instância deuma classe.

Page 38: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 38/185

Diagrama de Estados

Page 39: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 39/185

Diagrama de Atividades

Preocupa-se em descrever os passos aserem percorridos para a conclusão de

uma atividade específica. O Diagrama de Atividades concentra-se

na representação do fluxo de controle de

uma atividade

Page 40: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 40/185

Diagrama de Atividades

Page 41: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 41/185

Diagrama de Componentes

Amplamente associado a linguagem deprogramação que será utilizada para

desenvolver o sistema modelado. Este diagrama representa os

componentes do sistema quando este forimplementado em termos de módulos de

código-fonte, bibliotecas, arquivos deajuda, módulos executáveis, etc.

Page 42: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 42/185

Diagrama de Componentes

Page 43: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 43/185

Diagrama de Implantação

Determina as necessidades de hardwaredo sistema, as características físicas

como servidores, estações, topologias eprotocolos de comunicação, ou seja, todoo aparato físico sobre o qual o sistema

deverá ser executado.

Page 44: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 44/185

Diagrama de Implantação

Page 45: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 45/185

Outros diagramas

Diagrama de Pacotes Tem por objetivo representar os sub-sistemas

englobados por um sistema de forma a determinar as

partes que o compões. Diagrama de Interação Geral Fornece uma visão geral dentro de um sistema ou

processo de negócios Diagrama de Tempo

Descreve a mudança no estado ou na condição deuma instância de uma classe ou seu papel durante otempo.

Page 46: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 46/185

Diagrama de Casos

de UsoInteragindo com o Usuário

Page 47: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 47/185

Diagrama de Casos de Uso

Procura, por meio de uma linguagemsimples, possibilitar a compreensão do

comportamento externo do sistema porqualquer pessoa, tentando apresentar osistema através de uma perspectiva do

usuário.

Page 48: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 48/185

Diagrama de Casos de Uso

Dentre todos os diagramas da UML, é omais abstrato e, portanto o mais flexível e

informal. Geralmente é modelado no início da

modelagem do sistema, ainda nas etapas

de levantamento e análise de requisitos.O que é modelado primeiro.

Page 49: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 49/185

Diagrama de Casos de Uso

Tem por objetivo apresentar uma visão externageral das funções e serviços que o sistemadeverá oferecer ao usuário. Sem se preocupar como essas funções serão

implementadas.

Um caso de uso descreve, as operações que osistema deve cumprir para cada usuário. Irá existir um caso de uso para casa tarefa que o

sistema deve executar.

Page 50: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 50/185

Diagrama de Casos de Uso

No entanto, Um caso de uso não diz comoo sistema FAZ determinada tarefa, apenas

o que o sistema FAZ, deixando paraoutros diagramas essa tarefa.

Page 51: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 51/185

Componentes do Diagrama deCasos de Uso

O Diagrama de Casos de Uso concentra-se em dois itens principais:

AtoresCasos de Uso

Page 52: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 52/185

Atores

Casos de Uso descrevem interações entre osistema e os atores .

Os atores representam os papéisdesempenhados pelos diversos usuários quepoderão de alguma forma interagir com osistema. Pede ser também um hardware especial ou mesmo

outro sistema que interaja com o software.

Page 53: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 53/185

Atores

Dessa forma, o Ator é algo (usuário,outros sistema ou hardware), que não faz

parte do sistema mas que interage emalgum momento com ele.

Page 54: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 54/185

Atores

Atores são representados por símbolos de“bonecos magros”, contendo uma breve

descrição logo abaixo do seu símbolo queidentifica qual o papel que o ator emquestão assume dentro do diagrama.

Page 55: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 55/185

Exemplos de Atores

Atendente

Cliente

Sistema deCortes

Page 56: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 56/185

Casos de Uso

Os Casos de Uso referem-se aosserviços, tarefas ou funções que podem

ser utilizadas de alguma maneira pelosusuários do sistema. Por exemplo:Cadastrar uma venda;Solicitar um saque de uma conta bancária;Consultar um filme em uma locadora;Etc.

Page 57: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 57/185

Representação dos Casos de Uso

Os casos de uso são representados porelipses contendo dentro de si um texto

descrevendo a que serviço o Caso de Usose refere.Não existe limites para descrever um Caso de

uso;

Mas geralmente essa descrição dentro daelipse costuma ser suncinta.

Page 58: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 58/185

Exemplos de Casos de Uso

Locação de Filmes

Cadastro de Clientes

Consultar Gêneros

Page 59: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 59/185

Documentação de Casos de Uso

Costuma descrever por meio de uma linguagembastante simples, a função em linhas gerais doCaso de Uso.Quais atores interagem com o mesmo;Quais etapas devem ser executadas pelo Ator e pelo

sistema para que o Caso de Uso execute sua função;

Quais parâmetros devem ser fornecidos e quaisrestrições e validações o Caso de Uso deve possuir.

Page 60: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 60/185

Documentação de Casos de Uso

Não existe um formato específico.Descrição passo a passo;

Através de tabelas;Pseudo-código;Até mesmo através de uma linguagem de

programação, mesmo que fuja bastante do

objetivo principal do Diagrama de Casos deUso.

Page 61: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 61/185

Nome do Caso de Uso Abertura de Conta

Ator Principal Cliente

Atores Secundários Funcionário

Resumo Este caso de Uso, descreve as etapas percorridaspor um cliente para abrir uma conta corrente.

Pré-Condições O pedido do cliente precisa ser aprovado

Pré-Condições É necessário um depósito inicial

Ações do Ator Ações do Sistema

1. Solicitar a abertura da conta2. Consultar cliente por seu CPF

3. Se for necessário Gravar ou atualizar o cadastrodo Cliente

4. Avaliar o pedido

5. Aprovar ou Reprovar o pedido6. Escolher uma Senha para a conta

7. Abrir a conta

8. Informar o valor do depósito

9.Registrar o depósito

10. Solicitar o cartão da compra

Page 62: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 62/185

Retirar dinheiro no Caixa Eletrônico

O Cliente introduz o cartão no caixa eletrônico; O Sistema disponibiliza várias opções; O Cliente aperta o botão saque; O Cliente escolhe o tipo de conta:

Poupança; Conta Corrente.

O Cliente entra com o valor do saque; Em seguida o cliente informa a senha;

O sistema verifica a senha e saldo em seu Banco dedados; O Caixa eletrônico libera o dinheiro para o usuário.

Page 63: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 63/185

Associações

As associações representam as interações ourelacionamentos entre:Os Atores que fazem parte do Diagrama;

Os Atores e os Casos de Uso eOs Casos de Uso com outros Casos de Uso.

Os relacionamentos entre os Casos de Uso,recebem um nome especial.

Inclusão; Extensão eGeneralização.

Page 64: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 64/185

Associações

Uma associação entre um Caso de Uso eum Ator demonstra que o Ator utiliza-se

de alguma maneira, da função do sistemarepresentada pelo Caso de Uso,Seja requisitando a execução daquela

função;

Seja recebendo o resultado produzido por elaa pedido de outro Ator.

Page 65: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 65/185

Associações

A Associação entre um Ator e um Caso de Usoé representada por uma reta ligando o Ator aoCaso de Uso, podendo ocorrer nas que asextremidades da reta contenha setas, indicandoa navegabilidade da Associação, demonstrandoassim o sentido em que as informações

trafegam.Quando a informação é transmitida nos dois sentidos,

a reta passa a não possuir setas.

Page 66: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 66/185

Associações

Cliente

Locação de Filmes

Verifica veículos

Vistoriador

Corretor

Page 67: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 67/185

Especialização / Generalização

Acontece quando dois ou mais Casos deuso possui características semelhantes,apresentando pequenas diferenças entre

si. Dessa forma é importante definir um Casode Uso Geral que descreve ascaracterísticas compartilhadas por todos

os Casos de Uso em questão e entãorelacioná-los.

Exemplos de Especialização /

Page 68: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 68/185

Exemplos de Especialização / Generalização

Page 69: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 69/185

Inclusão

Costuma ser utilizada quando existe um serviço,situação ou rotina comum a mais de um Casode Uso.

Os relacionamentos de Inclusão indicam umaobrigatoriedade, ou seja, quando umdeterminado Caso de Uso possui umrelacionamento de Inclusão com outro, a

execução do primeiro obriga também aexecução do segundo.

Page 70: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 70/185

Inclusão

Uma Associação de Inclusão érepresentada por uma reta tracejada com

uma seta em uma das extremidades queaponta para o Caso de Uso incluído.Possuir a expressão “include”, entre dois

sinais de menor (<) e dois sinais de maior (>).

Page 71: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 71/185

Inclusão

Page 72: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 72/185

Extensão

Descreve cenários opcionais de um Casode Uso.

Os Casos de uso estendidos descrevemcenários que somente acontecerão em umasituação específica, se uma determinadasituação for satisfeita.

Dessa forma as Associações de Extensãonecessita de um teste determinar se o Casode Uso estendido será executado ou não.

Page 73: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 73/185

Extensão

Em sua representação gráfica, é muitosemelhante às associações de Inclusão.

Possuir a expressão “extend”, entre doissinais de menor (<) e dois sinais de maior (>).

Page 74: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 74/185

Extensão

Page 75: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 75/185

Exercício 1

Desenvolva um Diagrama de Casos de Uso para umsistema de Vídeo Locadora equivalente ao módulo delocação de DVD’s, de acordo com as afirmações abaixo:

Ao realizar uma locação, o Cliente deve primeiro

informar seu código para que o Atendente verifique se omesmo já está cadastrado, se o Cliente não estivercadastrado, então a locação deverá ser recusada e oCliente deverá ser informado como proceder para se

cadastrar.

Page 76: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 76/185

Exercício 1

Caso o Cliente já esteja cadastrado, o Atendente deveráverificar se o Cliente já entregou todos os DVD’s alugados anteriormente, se não a Locação será

recusada. É de responsabilidade do Atendente o cadastro dos

Filmes, registrando novos filmes adquiridos pelalocadora.

Page 77: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 77/185

Exercício 2

Desenvolva o Diagrama de Caso de uso para umsistema de cursos de informática equivalente ao módulode matrícula de acordo com os seguintes fatos:

O Aluno primeiramente solicita informações aoAtendente sobre quais cursos a empresa oferece. Se oAluno se interessar por algum curso, pedirá informaçõesa respeito de quais turmas do curso em questão sencontram em aberto, qual o horário em que as aulas

serão ministradas, data de início, número mínimos dealunos para que uma turma inicie.

Page 78: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 78/185

Exercício 2

Caso o horário de alguma turma seja compatível com oshorário do Aluno, este realizará a Matrícula em umaturma relativa ao curso em que se interessou. Caso oaluno nunca tenha feito nenhum curso na empresa eportanto não seja cadastrado, o Aluno deverá sercadastrado antes de realizar a matrícula.

Page 79: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 79/185

Exercício 3 Desenvolva o Diagrama de Caso de uso para

um sistema de controle de apólice de segurosde acordo com os seguintes fatos: Irá existir um cadastro de clientes e um cadastro de

veículo, onde o cliente fornece as informações

necessárias para que o corretor possa inserir nosistema. Com relação ao veículo, um vistoriador analisa o

veículo e informa ao corretor a situação do mesmo.

Em seguida o corretor consulta a Matriz, para sabervalores e condições do seguro. Logo que receber os valores da apólice, o corretor os

repassa para o cliente, para que este decida, aquantidade de parcelas que deseja pagar a apólice.

Page 80: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 80/185

Exercício 3

Assim que a apólice for gerada, será inseridaautomaticamente as parcelas a receber.Existirá também um controle de Sinistros,

onde o Ator fornece as informações iniciais

sobre o sinistro a secretária, que por sua vezinsere os dados informador no sistema.Então o Vistoriador irá analisar a situação do

veículo, que poderá acrescentar e/ou

modificar as informações do sinistro. Obs.: O mesmo ator poderá aparecer duas ou

mais vezes no diagrama, para que o diagrama nãofique poluído demais com os cruzamentos.

Page 81: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 81/185

Diagrama de

ClassesA estrutura do projeto

Page 82: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 82/185

Diagrama de Classes

É com certeza o mais importante e o maisutilizado diagrama da UML.

Permite a visualização das classes quecomporão o sistema com seus respectivosatributos e métodos, bem como os

relacionamento entre as classes.

C

Page 83: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 83/185

Diagrama de Classes

Apresenta uma visão estática de como asClasses estão organizadas;

Preocupação apenas com a estruturalógica. Serve como base para outros diagramas

da UML.

P i ê i

Page 84: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 84/185

Persistência

Em muitos casos é necessário preservarde forma permanente os objetos de umaClasse.

A Classe precisa ser Persistente. Uma Classe Persistente apresenta muitas

semelhanças com uma entidade como asdefinidas no MER.Modelo utilizado para definir as tabelas em

banco de dados Relacional.

P i ê i

Page 85: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 85/185

Persistência

Deve ficar claro que nem toda Classe épersistente, não sendo muitas vezes

necessário preservar (armazenar) suasinformações.

Cl A ib Mé d

Page 86: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 86/185

Classes, Atributos e Métodos

Classes costumam possuir atributos eatributos armazenam os dados dosObjetos da Classe.

Métodos que são as funções que umainstância da Classe pode executar.

A ib

Page 87: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 87/185

Atributos

Os valores dos Atributos podem variar deinstância para instância.É exatamente essa característica, que

permite a identificação de cada Objeto.

At ib t

Page 88: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 88/185

Atributos Cada atributo deverá conter um tipo de dados, ou seja a

forma como a informação deverá ser armazenada. Byte:

Tamanho em bits: 8 Faixa de valores: -128 a 127

Boolean:

Tamanho em bits: 8 Faixa de valores: true ou false Int:

Tamanho em bits: 32 Faixa de valores: -2.147.482.648 a 2.147.843.467

Long: Tamanho em bits: 64 Faixa: -9.223.372.036.854.775.802 a +9.223.372.036.854.775.802

Double: Tamanho em bits: 64 Faixa: -1.79769313486231570E+308 a

+1.79769313486231570E+308

At ib t

Page 89: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 89/185

Atributos

Char: Texto.

Date: Data.

Mét d

Page 90: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 90/185

Métodos

Embora os Métodos sejam declarados noDiagrama de Classes, não é umapreocupação desse Diagrama, definir asetapas que estes métodos deverãopercorrer quando forem chamados.Essa função é atribuída a outros Diagramas

como: Diagrama de Seqüência e Diagrama de Atividades

R t ã d Cl

Page 91: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 91/185

Representação de uma Classe

Como já mostrado, anteriormente, umaClasse é representado por um retângulo

com três divisões:Na primeira parte Nome da Classe;Na segunda parte Os Atributos da Classe;

Na terceira parte

Os Métodos da Classe.

R t ã d Cl

Page 92: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 92/185

Representação de uma Classe

Ti d i ibilid d

Page 93: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 93/185

Tipos de visibilidade

Visibilidade PúblicaO atributo ou método que possuir essa visibilidade

pode ser utilizado por qualquer Classe. Símbolo (+), sinal de mais.

Visibilidade ProtegidaO atributo ou método que possuir essa visibilidade

somente a classe possuidora ou as sub-classes terãoacesso. Símbolo (#), sustenido.

Visibilidade Privada Somente a Classe possuidora desse atributo oumétodo poderá utilizá-lo. Símbolo (-), sinal de menos.

R l i t

Page 94: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 94/185

Relacionamento

As Classes costumam possuirrelacionamento entre si, com o intuito decompartilhar informações e colaborarem

umas com as outras para permitir aexecução dos diversos processosexecutados pelo sistema.

A i õ

Page 95: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 95/185

Associações

Descreve um vínculo que ocorrenormalmente entre duas Classes,chamado neste caso de Associação

Binária. Em uma Associação determina-se que as

instâncias de uma Classe estão de

alguma forma ligadas às instâncias dasoutras Classes.

M lti li id d

Page 96: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 96/185

Multiplicidade

0..1 No mínimo zero (nenhum) e no máximo um. Indica que osObjetos da classe associada não precisam obrigatoriamenteestar relacionados.

1..1 Um e somente um. Indica que apenas um objeto da classe serelaciona com os objetos da outra classe.

0..* No mínimo nenhum e no máximo muitos. Indica que pode nãohaver não instâncias da classe participando do relacionamento.

* Muitos. Indica que muitos objetos da Classe estão envolvidos noRelacionamento.

1..*No mínimo um e no máximo muitos. Indica que há pelo menosum objeto envolvido no relacionamento, podendo haver muitos.

3..5 No mínimo 3 e no máximo 5. Indica que há pelo menos 3instâncias envolvidas no relacionamento e que pode ser 4 ou 5as instâncias envolvidas, mas não mais do que isso.

Associação Binária

Page 97: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 97/185

Associação Binária

Ocorre quando são identificadosrelacionamentos entre duas classes.

Este tipo de Associação constitui-se na

mais comum encontrada nos Diagramasde Classe.

Representação da Associação

Page 98: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 98/185

p ç çBinária

Agregação

Page 99: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 99/185

Agregação

É um tipo especial de associação ondetenta-se demonstrar que as informações eum objeto (chamado objeto-todo)

precisam ser complementadas pelas asinformações contidas em um objeto deoutra classe (chamado objeto-parte).

Representação de Agregação

Page 100: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 100/185

Representação de Agregação

O símbolo de agregação difere do deassociação por conter um losango na

extremidade da classe que contém osobjetos-todo .

Representação de Agregação

Page 101: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 101/185

Representação de Agregação

Composição

Page 102: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 102/185

Composição

Constitui-se em uma variação do tipoagregação. Uma associação do tipoComposição tenta representar um vínculo

mais forte entre os objetos-todo e objetos-parte.

Tenta mostrar que os objetos-parte têm

que pertencer exclusivamente a um únicoobjeto-todo.

Representação da Composição

Page 103: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 103/185

Representação da Composição

O símbolo usado para a associação deComposição é um losango preenchido, eda mesma forma que na Agregação, deve

ficar ao lado do objeto-todo.

Representação da Composição

Page 104: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 104/185

Representação da Composição

Especialização / Generalização

Page 105: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 105/185

Especialização / Generalização

Similar à associação de mesmo nomeutilizado no Diagrama de Casos de Uso.

Seu objetivo é identificar classes-mãe(gerais) e classes filhas (especializadas). Permite também demonstrar a ocorrência

de métodos polimórficos nas classesespecializadas.

Especialização / Generalização

Page 106: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 106/185

Especialização / Generalização

Dependência

Page 107: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 107/185

Dependência

Não é um tipo comum de relacionamento,como o próprio nome diz, identifica umcerto grau de dependência de uma classe

em relação a outra. Representado por uma reta tracejada

entre duas classes, contendo uma seta na

extremidade do relacionamento que édependente de alguma forma.

Dependência

Page 108: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 108/185

Dependência

Classe Associativa

Page 109: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 109/185

Classe Associativa

São classes produzidas quando daocorrência de associações que possuemmultiplicidade muitos (*) em todas as suasextremidades.

As Classes Associativas são necessáriasnesses casos porque não existe umrepositório que possa armazenar as

informações produzidas pelas asassociações.

Classe Associativa

Page 110: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 110/185

Classe Associativa

Notas

Page 111: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 111/185

Notas

São importantes para informar algumcomentário necessário a classe, métodoou atributo, fazendo com que, todostomem conhecimento de forma imediata aobservação feita, seja essa observaçãofeita para validar ou simplesmente

informar como o objeto notificado secomporta.

Notas

Page 112: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 112/185

Notas

Exercício 1

Page 113: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 113/185

Exercício 1 Desenvolva um Diagrama de Classes para um

sistema de vídeo locadora equivalente aomódulo de locação de DVD’s, de acordo com asinformações abaixo: É necessário um controle dos filmes existentes na

locadora; Um Sócio pode realizar muitas ou nenhuma locações

enquanto permanecer sócio da locadora, mas umalocação estará vinculada unicamente a um

determinado sócio. Cada locação deve obrigatoriamente conter aomenos um filme, podendo conter vários filmes, noentanto uma mesma cópia pode ter sido locadadiversas vezes, em épocas diferente obvimanete.

Exercício 2

Page 114: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 114/185

Exercício 2 Desenvolva o Diagrama de Classes para um

sistema de cursos de informática equivalente aomódulo de matrícula, de acordo com asinformações abaixo:Um curso pode ter muitas turmas, mas uma turma se

relaciona exclusivamente com um único curso. Uma turma pode possuir diversos alunos matriculado,

no entanto uma matrícula refere-se exclusivamente auma determinada turma. Cada turma tem um número mínimo de alunos para poder

ser iniciada. Um aluno poderá realizar muitas matrículas, mas

cada matrícula refere-se exclusivamente a umaaluno.

Exercício 3

Page 115: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 115/185

Exercício 3 Desenvolva o Diagrama de Classes para

um sistema de Controle de Apólice deseguros, de acordo com as informaçõesabaixo:Um cliente para ser cliente, necessita possuir

no mínimo uma apólice em seu nome,podendo possuir diversas, no entanto, uma

apólice será atribuída a um único cliente.Da mesma forma que uma apólice pode

possuir de uma até quatro parcelas, mas umaparcela estará vinculada a uma única apólice.

Exercício 3

Page 116: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 116/185

Exercício 3

Um veículo segurado poderá ou não possuirsinistro. Cada sinistro possuirá um tipo. Acidente, roubo, incêndio, etc.

Será notificado também os danos no veículo,

sabendo-se que um sinistro poderá causardanos ou não ao veículo.

Cada veículo segurado possuirá uma modelo,

e cada modelo estará vinculadoexclusivamente com uma marca.

Page 117: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 117/185

Diagrama de

SeqüênciaOs eventos em ordem

Diagrama de Seqüência

Page 118: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 118/185

Diagrama de Seqüência

Procura determinar a seqüência deeventos que ocorrem em um determinadoprocesso, ou seja, quais condições devem

ser satisfeitas e quais métodos devem serdisparados entre os objetos envolvidos eem que ordem durante um processo

específico.

Diagrama de Seqüência

Page 119: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 119/185

Diagrama de Seqüência

Assim, Determinar a ordem em que oseventos acontecem, as mensagens que

são enviadas, os métodos que sãochamados e como os objetos interagementre si dentro de um determinadoprocesso é o objetivo principal destediagrama.

Diagrama de Seqüência

Page 120: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 120/185

Diagrama de Seqüência

Geralmente baseia-se em um caso deuso: Isso acontece porque geralmente um Caso

de Uso é um processo disparado pelo o

usuárioUm diagrama de Casos de Uso pode gerar

vários Diagramas de Seqüência.Nem sempre um Caso de Uso gera um

Diagrama de Seqüência, isso acontece porexemplo com Casos de Uso do tipo<<include>>.

Atores

Page 121: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 121/185

Atores

São exatamente os mesmos descritos noDiagrama de Casos de Uso.Entidade externas que interagem com o

sistema e que solicitam serviços.

Objetos

Page 122: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 122/185

Objetos

Os Objetos representam as instâncias dasclasses envolvidas no processo ilustradopelo Diagrama de Seqüência.Os objetos são representados por um

retângulo contendo um texto que identificaprimeiramente o nome do Objeto, emminúsculo, e depois o nome da classe, comletras iniciais maiúsculas. Essas informações são separadas por dois pontos(:).

Objetos

Page 123: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 123/185

Objetos

Logo abaixo do objetosurge uma linhavertical tracejada.

O Diagrama deSeqüência não possuiatributos

Linha de Vida

Page 124: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 124/185

Linha de Vida

A Linha de Vida representa o tempo emque um Objeto existiu durante um

processo. As Linhas de Vida são representadas por

linhas finas verticais tracejadas partindodo retângulo que representa o Objeto.

Foco de Controle ou Ativação

Page 125: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 125/185

Foco de Controle ou Ativação

Indica os períodos em que um determinadoobjeto está participando ativamente doprocesso.

Os focos de controle são representados dentroda Linha de Vida de um Objeto, enquanto asLinhas de Vida são representas por tracejados

finos, o Foco de Controle é representado poruma linha mais grosa.

Foco de Controle ou Ativação

Page 126: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 126/185

Foco de Controle ou Ativação

Mensagens ou Estímulos

Page 127: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 127/185

Mensagens ou Estímulos

As mensagens procura demonstrar aocorrência de eventos, que normalmenteforçam a chamada de um método emalgum dos Objetos envolvidos noprocesso.Pode ocorrer, no entanto, de uma mensagem

representar simplesmente a comunicação

entre dois atores, o que, neste caso, nãodispara nenhum método.

Mensagens ou Estímulos

Page 128: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 128/185

Mensagens ou Estímulos

As Mensagens podem ser disparada entre: Um Ator e outro Ator. (Não é muito comum, mas

facilita a compreensão do processo).

Um Ator e um Objeto. (O Ator produz um evento queforça o disparo de um método). Um Objeto e outro Objeto. (O mais comum, o objeto

transmite uma mensagem para outro objeto,solicitando a execução de um método).

Um Objeto e um Ator. (Geralmente quando um objetoenvia uma mensagem de retorno).

Mensagem entre Atores

Page 129: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 129/185

Mensagem entre Atores

Mensagem com disparo deMét d t Obj t

Page 130: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 130/185

Métodos entre Objetos

Instanciando um novo objeto

Page 131: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 131/185

sta c a do u o o objeto

Quando a mensagem é dirigida a um objeto que já existia, a seta da mensagem atinge a Linhade Vida do objeto, engrossando-a, identificandoque o Foco de Controle está sobre o objeto emquestão.

Quando a mensagem cria um novo objeto, noentanto, a seta atinge o retângulo querepresenta o objeto, indicando que a mensagem

representa um método construtor e que o objetopassa a existir a partir daquele momento.

Instanciando um novo objeto

Page 132: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 132/185

s a a j

Mensagem de Retorno

Page 133: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 133/185

g

Este tipo de mensagem identifica aresposta a uma mensagem para o objetoou ator que a chamou.

Uma Mensagem de Retorno pode retornarinformações específicas do Métodochamado ou simplesmente um valorindicado se o método for executado comsucesso ou não.

Mensagem de Retorno

Page 134: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 134/185

g

Auto-chamadas

Page 135: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 135/185

São mensagens que um objeto envia parasi mesmo. No caso de auto-chamadas

uma mensagem parte do objeto e atinge opróprio objeto.

Auto-chamadas

Page 136: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 136/185Exercício 1

Page 137: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 137/185

Diagrama de Seqüência para abertura de conta

comum Inicialmente o Cliente solicita ao Funcionário a

abertura de uma conta, então o Banco faz umaconsulta do cliente pelo seu CPF (Método), na classeFísica, se o cliente se encontra cadastrado, aconsulta retorna com os Dados do Cliente, se não ocadastro do cliente deverá ser realizado.

No cadastro do cliente (Física), deverá conter ummétodo para validar o CPF, evitando assim, o

cadastro de clientes com CPF inexistente. Após o cadastro do cliente o funcionário receberáuma resposta do Sistema informando que o clienteestá atualizado, da mesma forma que o funcionáriocomunica ao cliente que seu cadastro foi aprovado.

Exercício 1

Page 138: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 138/185

Ao receber a resposta do funcionário, o

cliente deve informar valor do depósito a serfeito e sua senha. Essa mensagem irádisparar um método para abertura de umanova conta comum, que por sua vez, iráregistrar esse histórico.

O Cliente deverá ser informado sobre o statusde sua conta, ou seja, que a abertura da

conta foi concluída.

Exercício 2

Page 139: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 139/185

Diagrama de Seqüência para encerramento de

uma conta comum.Nesta caso o Cliente solicita ao Funcionário o

encerramento de sua conta, o Funcionário por suavez deve verificar a conta, neste momento, énecessário a senha do cliente e em seguida se existe

Saldo. Se o Funcionário receber a resposta de que o saldo é

positivo, deve haver o saque do valor. Assim como qualquer movimentação, havendo o

saque deve-se registrar o histórico referente ao

Saque. Após a confirmação do saque, deve ser disparado o

método de encerramento de Conta. Em seguidaavisar ao cliente.

Exercício 3

Page 140: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 140/185

Diagrama referente a solicitação deExtrato de uma conta comum através deum caixa eletrônico.

Page 141: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 141/185

Diagrama de

ColaboraçãoA organização estrutural do

objetos

Diagrama de Colaboração

Page 142: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 142/185

g ç

O Diagrama de Colaboração é muitosemelhante ao Diagrama de Seqüência. A diferença está principalmente porque o

Diagrama de Seqüência concentra-se na

seqüência temporal em que os eventos ocorreme as mensagens que são trocadas, enquanto oDiagrama de Colaboração preocupa-se com aorganização estrutural dos objetos, em como os

objetos estão vinculados e as mensagens queestes trocam entre si.

Diagrama de Colaboração

Page 143: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 143/185

g ç

A semelhança entre os dois são tantas,que são conhecidos como Diagramas deInteração.

Na verdade o Diagrama de Colaboraçãomostra praticamente as mesmasinformações que o Diagrama de

Seqüência, apenas com uma outra visão,de maneiras diferentes.

Objetos

Page 144: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 144/185

j

Os Objetos do Diagrama de Colaboração difere-se dos objetos do Diagramas de Seqüências,penas pelo fato de não possuir Linha de Vida e

Foco de Controle.

Vínculos

Page 145: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 145/185

Está entre os principais objetivos doDiagrama de Colaboração, identificar osvínculos, ou seja, as ligações existentesentre os objetos envolvidos em um

processo. Assim, fica caracterizado como vínculo

sempre que dois objetos colaboram entre

si dentro de um determinado processo.Seja pelo envio ou pelo recebimento de

mensagens ou ambos.

Vínculos

Page 146: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 146/185

Um Vínculo é representado por uma linhaunindo dois objetos

Mensagens

Page 147: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 147/185

As mensagens usadas no Diagrama deColaboração são as mesmas definidas noDiagrama de Seqüência, e quase sempre

representam chamadas de métodos. No Diagrama de Colaboração não existe a

preocupação com a ordem em que as

coisas acontecem, o que de fato importa éque elas são disparadas

Mensagens

Page 148: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 148/185

No que diz respeito as Mensagens usadas noDiagrama de Colaboração, não existeMensagem de retorno, como acontece no

Diagrama de Seqüência.

Atores

Page 149: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 149/185

Os Atores apresentados no Diagrama deColaboração são os mesmo usados noDiagrama de Seqüência,conseqüentemente os mesmos do

Diagrama de Casos de Uso. Este Ator possui vínculos com outros

objetos ou outros Atores e envia e recebe

mensagens através deste vínculo damesma forma que os outros objetos.

Atores

Page 150: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 150/185Condições

Page 151: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 151/185

São usadas para mostrar que umamensagem só será enviada quando umadeterminada condição for satisfeita.As condições vêm entre colchetes antes da

mensagem.

Condições

Page 152: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 152/185Auto-chamadas

Page 153: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 153/185

Assim como usado no Diagrama deSeqüência, um objeto pode disparar umamensagem para si mesmo, caracterizandoassim uma Auto-chamada.A mensagem parte do objeto para si próprio.

Auto-chamadas

Page 154: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 154/185Exemplo 1

Page 155: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 155/185

Abertura de uma conta comumPrimeiro o funcionário deve usar um método

para consultar se já existe um CPF na classe(física), se necessário Atualizar / Gravar ocliente no objeto (física1) da classe (física),neste caso a classe irá dispara um métodovalidação de CPF.

Assim o Funcionário poderá disparar o

método Abertura de Conta no objeto conta1 na classe Conta Comum que em seguida iráregistrar o histórico dessa operação.

Exemplo 1

Page 156: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 156/185Exercício 1

Page 157: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 157/185

Crie um Diagrama de Colaboração para um

sistema de Controle Bancário, referente aomódulo de Encerramento de Conta Comum. Primeiro é necessário disparar o método consultar 

conta sobre o objeto conta1 da classe contacomum, para analisar se a conta existe.

Em seguida é necessário validar a senha e verificaro saldo, se o saldo for positivo outro método serádisparado (saque), e assim gerando outro método no

objeto historico1 da classe histórico. Em seguida disparar o método Encerramento, se o

cliente só possuir uma conta, será atualizado comoinativo.

Page 158: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 158/185

Diagrama de

EstadosAcompanhando as mudanças

de um objeto

Diagrama de Estados

Page 159: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 159/185

Procura acompanhar as mudanças de Estadosofridas por um objeto dentro de umdeterminado processo.

O fato de o Diagrama de Estados estar

geralmente associado a uma classe, ou mesmoaos objetos de uma classe envolvidos em umdeterminado processo, pode haver diversosDiagramas de Estados referentes ao mesmoprocesso. É recomendado que só se construa Diagramas de

Estados quando existir um certo grau decomplexidade referente à Transição de Estados deum objeto envolvidos no processo.

Estado

Page 160: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 160/185

Um estado representa a situação em que um

objeto se encontra em um determinadomomento durante o período em que esteparticipa de um processo.

Um objeto passa por diversos estados dentro deum mesmo processo. Um Estado poderepresentar:

A espera pela ocorrência de um evento;

A reação a um estímulo; A execução de alguma atividade; A satisfação de alguma condição.

Estado

Page 161: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 161/185

Um estado é representado por umretângulo com os cantos arredondadoscom duas ou três divisões:A primeira divisão armazena a descrição do

estado;A segunda, exibe as possíveis ações ou

atividades, executas por um objeto quandoem um Estado.

A Terceira, com as possíveis transaçõesinternas. Algumas ferramentas armazenam essas

informações dentro da segunda parte.

Estado

Page 162: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 162/185Atividades / Ações

Page 163: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 163/185

Atividades e Ações são muitosemelhantes, mas, apresenta diferençascom relação ao seu tempo de execução.Atividades (tempo maior):

Geralmente são os métodos executados pelo oobjeto.

Ações (tempo menor): Geralmente representam a simples atribuição de

um valor a um atributo.

Atividades / Ações

Page 164: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 164/185

Tipos de Atividades ou Ações que podemestar na segunda parte do retângulo:Entry Representa as ações realizadas no

momento em que o objeto assume o Estado

em questão;Exit Identifica as ações executadas antes

do objetos mudar de estado;Do Mostra as atividades executadas

enquanto o objeto encontras em determinadoEstado.

Atividades / Ações

Page 165: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 165/185

Ao lado um exemplodos tipos deatividades e ações de

um Estado.

Transição

Page 166: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 166/185

Representa um evento que causa umamudança no Estado de um objeto,gerando um novo Estado. Este tipo deevento é conhecido como Evento de

Ativação. Uma Transição é representada por uma

reta ligando dois Estados, contendo umaseta em uma das extremidades. A pontada seta indica o novo estado gerado peloo evento.

Transição

Page 167: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 167/185

Estado Inicial

Page 168: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 168/185

É um Estado abstrato cuja função édeterminar o início de um Diagrama deEstados.

O Estado Inicial é representa por círculopreenchido, a partir do qual é gerada umatransição que determina o início doprocesso.

Estado Inicial

Page 169: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 169/185

Estado Final

Page 170: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 170/185

Assim como o Estado Inicial, também éum estado abstrato cuja função é indicar ofinal do Diagrama de Estados.

O Estado Final é representado por umcírculo não preenchido envolvendo umoutro círculo preenchido.

Estado Final

Page 171: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 171/185

Exemplo 1C i Di d E t d f t

Page 172: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 172/185

Criar um Diagrama de Estados referente

ao processo de encerramento de umaconta comum enfocando os estadosassumidos pelo o objeto conta1.

Onde é necessário consultar a conta;Validar senha;Verificar saldo;Realizar um saque [se saldo positivo];Encerrar conta.

Exemplo 1

Page 173: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 173/185

Exercício 1

Page 174: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 174/185

Desenvolva um Diagrama de Estados para um

sistema de vídeo locadora equivalente aomódulo de locação de DVD’s.  Durante o processo de locação de DVD’s deve-se

verificar se ele estar cadastrado;

Em seguida, deve-se verificar se não há locaçõespendentes (sem devolução ou pagamento). Caso não haja pendências deve-se iniciar o registro

de nova locação, bem como de cada item locado.

Após a seleção de cópias para a locação, esta deveser finalizada.

Exercício 2

Page 175: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 175/185

Desenvolva um Diagrama de Estadospara um sistema de cursos de informáticaequivalente ao módulo de matrícula doaluno em uma turma de um determinadocurso, enfocando os estados de um objetoda classe Matrícula, de acordo com osfatos já descritos anteriormente em outros

diagramas desse mesmo sistema.

Exercício 2P i i t á i d l i

Page 176: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 176/185

Primeiramente, o usuário deve selecionar o

qual a matrícula se refere;Em seguida, deve selecionar a turma da

matrícula em questão;

Finalmente o atendente irá selecionar o alunoque deseja realizar a matrícula e entãoregistrar a matrícula.

Page 177: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 177/185

Diagrama de

AtividadesAlgoritmos em Diagramas

Diagrama de Atividades

Page 178: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 178/185

É o diagrama com maior ênfase ao nívelde algoritmo da UML e provavelmente umdos mais detalhistas. Apresenta muitassemelhanças com os antigos fluxogramasutilizados para desenvolver a lógica deprogramação e determinar o fluxo de

controle de um algoritmo.

Diagrama de Atividades

Page 179: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 179/185

Preocupa-se em descrever os passos aserem percorridos para a conclusão deum método ou algoritmo especifico e não

de um processo completo como acontececom o Diagrama de Seqüência eColaboração.

Concentra-se na representação do fluxode controle de uma atividade.

Componentes

Page 180: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 180/185

Os componentes no Diagrama deAtividades são semelhantes aos utilizadosno Diagrama de Estados, tais como:Estado Inicial e Estado Final;Transições;Etc.

Estado de Ação

Page 181: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 181/185

Representa a realização de uma açãodentro de um fluxo de controle.Não pode ser decomposto em sub-estados.

Uma atividade costuma possuir diversosestados de ação.Um estado de ação pode conter uma

descrição da ação que está sendo realizada,como a ação propriamente dita.

Estado de Ação

Page 182: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 182/185

É representado porum retânguloarredondado sem

divisões.

Ponto de Decisão

Page 183: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 183/185

Um Ponto de Decisão representa umponto do fluxo de controle onde deverealizado um teste, e uma tomada dedecisão.

De acordo com essa decisão, o fluxooptará por executar um determinado fluxoou conjunto de Estados de Ação.

Exemplo 1

Page 184: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 184/185

Diagrama de Atividades para consulta deuma conta:Primeiramente o recebimento do número da

conta;Em seguida deve-se fazer uma pesquisa;Se não encontrar emitir uma mensagem

informando que o número da conta é inválido

e sair do fluxo.Se encontrar emitir uma mensagem

informando que a conta é válida e sair.

Exemplo 1

Page 185: Uml

5/16/2018 Uml - slidepdf.com

http://slidepdf.com/reader/full/uml5572003349795991699efdd4 185/185