Você está na página 1de 182

UML

Unified Modeling Language Linguagem de Modelagem Unificada

Livros

A linguagem UML

UML (Unified Modeling Language) Linguagem de Modelagem Unificada uma linguagem de modelagem (visual), no uma linguagem de programao uma linguagem de modelagem no proprietria Permite a utilizao de diagramas padronizados para especificao e visualizao de um sistema

De onde surgiu?

Da unio de trs metodologias de modelagem:


Mtodo

de Booch, de Grady Booch; Mtodo OMT (Object Modeling Technique) de Ivar Jacobson; Mtodo OOSE (Object Oriented Software Engineering) de James Rumbaugh.

Os trs amigos.

UML

Fundadores da UML

De onde surgiu?
A primeira verso foi lanada em 1996 Em 1997 a UML foi adotada pela a OMG (Object Management Group Grupo de gerenciamento de Objetos) como linguagem padro de modelagem.

O que modelagem?

Atividade de construir modelos que expliquem as caractersticas ou comportamentos de um sistema. A UML pode ser usada com todos os processos durante o ciclo de desenvolvimento do projeto
Anlise

de requisitos; Anlise de sistema; Design; Programao e Testes.

Por que usar UML?

Desenvolver o modelo de uma aplicao antes de constru-la, to essencial quanto ter uma planta para a construo de uma casa.
Analisar

o projeto sobre vrios aspectos; Diminui a possibilidade de erros.

Por que usar UML?

Bons modelos so essenciais para a comunicao entre os times de projetos e para assegurar a beleza arquitetural.
Facilita

a programao; Todo o time entende a modelagem, facilitando assim a manuteno.

Por que usar UML?

Ter um rigoroso padro de linguagem de modelagem um fator essencial para o sucesso de um projeto.
Sistemas

so dinmicos;

E onde fica a modelagem?


Anlise de requisitos Modelagem

Testes

Implementao

Manuteno

Modelo de desenvolvimento mais comum. Todos os modelos so derivados dessa idia

Fases do modelo
Anlise de requisitos
Modelagem

Testes

Implementao

Manuteno

Fases do modelo
Anlise de requisitos

Modelagem

Testes

Implementao

Manuteno

Fases do modelo
Anlise de requisitos Modelagem

Testes

Implementao

Manuteno

Fases do modelo
Anlise de requisitos Modelagem

Testes

Implementao

Manuteno

Fases do modelo
Anlise de requisitos Modelagem

Testes

Implementao

Manuteno

Recomeando o ciclo
Anlise de requisitos Modelagem

Testes

Implementao

Manuteno

Modelos

Tipos de Modelagens
Estrutural; Comportamental.

Modelos Proporcionam:
Visualizao

do sistema; Especificao da estrutura ou comportamento do sistema; Guia para a construo do sistema; Documentao das decises tomadas.

Diagramas UML

Representao Grfica de um Conjunto de Elementos. Estrutural (Esttica)

Diagrama de Classes Diagramas de Objetos Diagrama de Caso de Uso Diagrama de Componentes

Dinmica

Diagrama de Estados Diagrama de Atividades Diagrama de Colaborao Diagrama de Seqncia

Ferramentas CASE

Auxiliam na construo e gerenciamento de diagramas UML


Rational MS

Rose

Visio PowerDesign ArgoUML Jude Poseidon

Resumo dos diagramas

Diagrama de Caso de Uso


Diagrama mais geral da UML; Usado geralmente nas fases de Levantamento e Anlise de Requisito do Sistema; Mostra como o sistema ir se comportar.

Diagrama de Caso de Uso

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.

Diagrama de Classes

Diagrama de Objetos
Complemento do Diagrama de Classes Exibe os valores armazenados pelos objetos de um Diagrama de Classes.

Diagrama de Objetos

Diagrama de Seqncia
Preocupa-se com a ordem temporal em que as mensagens so trocadas Baseia-se em um Caso de Uso Costuma identificar o Evento gerador do processo modelado, bem como, o Ator responsvel por este evento.

Diagrama de Seqncia

Diagrama de Colaborao
Amplamente associado ao diagrama de seqncia, um complementa o outro. No se preocupa com a temporalidade, mas sim, em como os objetos esto vinculados e quais mensagens trocam entre si.

Diagrama de Colaborao

Diagrama de Estados
Procura acompanhar as mudanas sofridas por um Objeto dentro de um determinado processo. O Diagrama de Estados utilizado normalmente para acompanhar os estados por que passa uma instncia de uma classe.

Diagrama de Estados

Diagrama de Atividades
Preocupa-se em descrever os passos a serem percorridos para a concluso de uma atividade especfica. O Diagrama de Atividades concentra-se na representao do fluxo de controle de uma atividade

Diagrama de Atividades

Diagrama de Componentes
Amplamente associado a linguagem de programao que ser utilizada para desenvolver o sistema modelado. Este diagrama representa os componentes do sistema quando este for implementado em termos de mdulos de cdigo-fonte, bibliotecas, arquivos de ajuda, mdulos executveis, etc.

Diagrama de Componentes

Diagrama de Implantao

Determina as necessidades de hardware do sistema, as caractersticas fsicas como servidores, estaes, topologias e protocolos de comunicao, ou seja, todo o aparato fsico sobre o qual o sistema dever ser executado.

Diagrama de Implantao

Outros diagramas

Diagrama de Pacotes
Tem

por objetivo representar os sub-sistemas englobados por um sistema de forma a determinar as partes que o compes. uma viso geral dentro de um sistema ou processo de negcios

Diagrama de Interao Geral


Fornece

Diagrama de Tempo
Descreve

a mudana no estado ou na condio de uma instncia de uma classe ou seu papel durante o tempo.

Diagrama de Casos de Uso


Interagindo com o Usurio

Diagrama de Casos de Uso

Procura, por meio de uma linguagem simples, possibilitar a compreenso do comportamento externo do sistema por qualquer pessoa, tentando apresentar o sistema atravs de uma perspectiva do usurio.

Diagrama de Casos de Uso


Dentre todos os diagramas da UML, o mais abstrato e, portanto o mais flexvel e informal. Geralmente modelado no incio da modelagem do sistema, ainda nas etapas de levantamento e anlise de requisitos.

que modelado primeiro.

Diagrama de Casos de Uso

Tem por objetivo apresentar uma viso externa geral das funes e servios que o sistema dever oferecer ao usurio.
Sem

se preocupar como essas funes sero implementadas.

Um caso de uso descreve, as operaes que o sistema deve cumprir para cada usurio.
Ir

existir um caso de uso para casa tarefa que o sistema deve executar.

Diagrama de Casos de Uso

No entanto, Um caso de uso no diz como o sistema FAZ determinada tarefa, apenas o que o sistema FAZ, deixando para outros diagramas essa tarefa.

Componentes do Diagrama de Casos de Uso

O Diagrama de Casos de Uso concentrase em dois itens principais:


Atores

Casos

de Uso

Atores

Casos de Uso descrevem interaes entre o sistema e os atores. Os atores representam os papis desempenhados pelos diversos usurios que podero de alguma forma interagir com o sistema.
Pede

ser tambm um hardware especial ou mesmo outro sistema que interaja com o software.

Atores

Dessa forma, o Ator algo (usurio, outros sistema ou hardware), que no faz parte do sistema mas que interage em algum momento com ele.

Atores

Atores so representados por smbolos de bonecos magros, contendo uma breve descrio logo abaixo do seu smbolo que identifica qual o papel que o ator em questo assume dentro do diagrama.

Exemplos de Atores

Cliente

Atendente

Sistema de Cortes

Casos de Uso

Os Casos de Uso referem-se aos servios, tarefas ou funes que podem ser utilizadas de alguma maneira pelos usurios do sistema. Por exemplo:
Cadastrar

uma venda; Solicitar um saque de uma conta bancria; Consultar um filme em uma locadora; Etc.

Representao dos Casos de Uso

Os casos de uso so representados por elipses contendo dentro de si um texto descrevendo a que servio o Caso de Uso se refere.
No

existe limites para descrever um Caso de

uso; Mas geralmente essa descrio dentro da elipse costuma ser suncinta.

Exemplos de Casos de Uso

Locao de Filmes

Consultar Gneros

Cadastro de Clientes

Documentao de Casos de Uso

Costuma descrever por meio de uma linguagem bastante simples, a funo em linhas gerais do Caso 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 funo; Quais parmetros devem ser fornecidos e quais restries e validaes o Caso de Uso deve possuir.

Documentao de Casos de Uso

No existe um formato especfico.


Descrio

passo a passo; Atravs de tabelas; Pseudo-cdigo; At mesmo atravs de uma linguagem de programao, mesmo que fuja bastante do objetivo principal do Diagrama de Casos de Uso.

Nome do Caso de Uso


Ator Principal Atores Secundrios Resumo Pr-Condies Pr-Condies Aes do Ator 1. Solicitar a abertura da conta

Abertura de Conta
Cliente Funcionrio Este caso de Uso, descreve as etapas percorridas por um cliente para abrir uma conta corrente. O pedido do cliente precisa ser aprovado necessrio um depsito inicial Aes do Sistema 2. Consultar cliente por seu CPF 3. Se for necessrio Gravar ou atualizar o cadastro do Cliente 4. Avaliar o pedido 5. Aprovar ou Reprovar o pedido

6. Escolher uma Senha para a conta 7. Abrir a conta 8. Informar o valor do depsito 9.Registrar o depsito 10. Solicitar o carto da compra

Retirar dinheiro no Caixa Eletrnico


O Cliente introduz o carto no caixa eletrnico; O Sistema disponibiliza vrias opes; O Cliente aperta o boto saque; O Cliente escolhe o tipo de conta:

Poupana; 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 de dados; O Caixa eletrnico libera o dinheiro para o usurio.

Associaes

As associaes representam as interaes ou relacionamentos entre:


Os Atores

que fazem parte do Diagrama; Os Atores e os Casos de Uso e Os Casos de Uso com outros Casos de Uso.

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


Incluso;

Extenso

e Generalizao.

Associaes

Uma associao entre um Caso de Uso e um Ator demonstra que o Ator utiliza-se de alguma maneira, da funo do sistema representada pelo Caso de Uso,
Seja

requisitando a execuo daquela funo; Seja recebendo o resultado produzido por ela a pedido de outro Ator.

Associaes

A Associao entre um Ator e um Caso de Uso representada por uma reta ligando o Ator ao Caso de Uso, podendo ocorrer nas que as extremidades da reta contenha setas, indicando a navegabilidade da Associao, demonstrando assim o sentido em que as informaes trafegam.
Quando

a informao transmitida nos dois sentidos, a reta passa a no possuir setas.

Associaes
Vistoriador

Cliente

Verifica veculos

Locao de Filmes

Corretor

Especializao / Generalizao
Acontece quando dois ou mais Casos de uso possui caractersticas semelhantes, apresentando pequenas diferenas entre si. Dessa forma importante definir um Caso de Uso Geral que descreve as caractersticas compartilhadas por todos os Casos de Uso em questo e ento relacion-los.

Exemplos de Especializao / Generalizao

Incluso

Costuma ser utilizada quando existe um servio, situao ou rotina comum a mais de um Caso de Uso. Os relacionamentos de Incluso indicam uma obrigatoriedade, ou seja, quando um determinado Caso de Uso possui um relacionamento de Incluso com outro, a execuo do primeiro obriga tambm a execuo do segundo.

Incluso

Uma Associao de Incluso representada por uma reta tracejada com uma seta em uma das extremidades que aponta para o Caso de Uso includo.
Possuir

a expresso include, entre dois sinais de menor (<) e dois sinais de maior (>).

Incluso

Extenso

Descreve cenrios opcionais de um Caso de Uso.


Os

Casos de uso estendidos descrevem cenrios que somente acontecero em uma situao especfica, se uma determinada situao for satisfeita. Dessa forma as Associaes de Extenso necessita de um teste determinar se o Caso de Uso estendido ser executado ou no.

Extenso

Em sua representao grfica, muito semelhante s associaes de Incluso.


Possuir

a expresso extend, entre dois sinais de menor (<) e dois sinais de maior (>).

Extenso

Exerccio 1
Desenvolva um Diagrama de Casos de Uso para um sistema de Vdeo Locadora equivalente ao mdulo de locao de DVDs, de acordo com as afirmaes abaixo:

Ao realizar uma locao, o Cliente deve primeiro informar seu cdigo para que o Atendente verifique se o mesmo j est cadastrado, se o Cliente no estiver cadastrado, ento a locao dever ser recusada e o Cliente dever ser informado como proceder para se cadastrar.

Exerccio 1

Caso o Cliente j esteja cadastrado, o Atendente dever verificar se o Cliente j entregou todos os DVDs alugados anteriormente, se no a Locao ser recusada. de responsabilidade do Atendente o cadastro dos Filmes, registrando novos filmes adquiridos pela locadora.

Exerccio 2
Desenvolva o Diagrama de Caso de uso para um sistema de cursos de informtica equivalente ao mdulo de matrcula de acordo com os seguintes fatos:

O Aluno primeiramente solicita informaes ao Atendente sobre quais cursos a empresa oferece. Se o Aluno se interessar por algum curso, pedir informaes a respeito de quais turmas do curso em questo s encontram em aberto, qual o horrio em que as aulas sero ministradas, data de incio, nmero mnimos de alunos para que uma turma inicie.

Exerccio 2

Caso o horrio de alguma turma seja compatvel com os horrio do Aluno, este realizar a Matrcula em uma turma relativa ao curso em que se interessou. Caso o aluno nunca tenha feito nenhum curso na empresa e portanto no seja cadastrado, o Aluno dever ser cadastrado antes de realizar a matrcula.

Exerccio 3

Desenvolva o Diagrama de Caso de uso para um sistema de controle de aplice de seguros de acordo com os seguintes fatos:
Ir

existir um cadastro de clientes e um cadastro de veculo, onde o cliente fornece as informaes necessrias para que o corretor possa inserir no sistema. Com relao ao veculo, um vistoriador analisa o veculo e informa ao corretor a situao do mesmo. Em seguida o corretor consulta a Matriz, para saber valores e condies do seguro. Logo que receber os valores da aplice, o corretor os repassa para o cliente, para que este decida, a quantidade de parcelas que deseja pagar a aplice.

Exerccio 3
Assim

que a aplice for gerada, ser inserida automaticamente as parcelas a receber. Existir tambm um controle de Sinistros, onde o Ator fornece as informaes iniciais sobre o sinistro a secretria, que por sua vez insere os dados informador no sistema. Ento o Vistoriador ir analisar a situao do veculo, que poder acrescentar e/ou modificar as informaes do sinistro.

Obs.: O mesmo ator poder aparecer duas ou mais vezes no diagrama, para que o diagrama no fique poludo demais com os cruzamentos.

Diagrama de Classes
A estrutura do projeto

Diagrama de Classes
com certeza o mais importante e o mais utilizado diagrama da UML. Permite a visualizao das classes que comporo o sistema com seus respectivos atributos e mtodos, bem como os relacionamento entre as classes.

Diagrama de Classes
Apresenta uma viso esttica de como as Classes esto organizadas; Preocupao apenas com a estrutura lgica. Serve como base para outros diagramas da UML.

Persistncia

Em muitos casos necessrio preservar de forma permanente os objetos de uma Classe.


A Classe

precisa ser Persistente.

Uma Classe Persistente apresenta muitas semelhanas com uma entidade como as definidas no MER.
Modelo

utilizado para definir as tabelas em banco de dados Relacional.

Persistncia

Deve ficar claro que nem toda Classe persistente, no sendo muitas vezes necessrio preservar (armazenar) suas informaes.

Classes, Atributos e Mtodos


Classes costumam possuir atributos e atributos armazenam os dados dos Objetos da Classe. Mtodos que so as funes que uma instncia da Classe pode executar.

Atributos

Os valores dos Atributos podem variar de instncia para instncia.

exatamente essa caracterstica, que permite a identificao de cada Objeto.

Atributos

Cada atributo dever conter um tipo de dados, ou seja a forma como a informao dever ser armazenada.

Byte:

Tamanho em bits: 8 Faixa de valores: -128 a 127 Tamanho em bits: 8 Faixa de valores: true ou false Tamanho em bits: 32 Faixa de valores: -2.147.482.648 a 2.147.843.467

Boolean:

Int:

Long:

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


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

Double:

Atributos
Char:

Texto.
Data.

Date:

Mtodos

Embora os Mtodos sejam declarados no Diagrama de Classes, no uma preocupao desse Diagrama, definir as etapas que estes mtodos devero percorrer quando forem chamados.
Essa

funo atribuda a outros Diagramas como:


Diagrama de Seqncia e Diagrama de Atividades

Representao de uma Classe

Como j mostrado, anteriormente, uma Classe representado por um retngulo com trs divises:
primeira parte Nome da Classe; Na segunda parte Os Atributos da Classe; Na terceira parte Os Mtodos da Classe.
Na

Representao de uma Classe

Tipos de visibilidade

Visibilidade Pblica
O

atributo ou mtodo que possuir essa visibilidade pode ser utilizado por qualquer Classe.

Smbolo (+), sinal de mais.

Visibilidade Protegida
O

atributo ou mtodo que possuir essa visibilidade somente a classe possuidora ou as sub-classes tero acesso.

Smbolo (#), sustenido.

Visibilidade Privada
Somente

a Classe possuidora desse atributo ou mtodo poder utiliz-lo.


Smbolo (-), sinal de menos.

Relacionamento

As Classes costumam possuir relacionamento entre si, com o intuito de compartilhar informaes e colaborarem umas com as outras para permitir a execuo dos diversos processos executados pelo sistema.

Associaes
Descreve um vnculo que ocorre normalmente entre duas Classes, chamado neste caso de Associao Binria. Em uma Associao determina-se que as instncias de uma Classe esto de alguma forma ligadas s instncias das outras Classes.

Multiplicidade
0..1 1..1
0..*
No mnimo zero (nenhum) e no mximo um. Indica que os Objetos da classe associada no precisam obrigatoriamente estar relacionados. Um e somente um. Indica que apenas um objeto da classe se relaciona com os objetos da outra classe. No mnimo nenhum e no mximo muitos. Indica que pode no haver no instncias da classe participando do relacionamento. Muitos. Indica que muitos objetos da Classe esto envolvidos no Relacionamento. No mnimo um e no mximo muitos. Indica que h pelo menos um objeto envolvido no relacionamento, podendo haver muitos.

*
1..* 3..5

No mnimo 3 e no mximo 5. Indica que h pelo menos 3 instncias envolvidas no relacionamento e que pode ser 4 ou 5 as instncias envolvidas, mas no mais do que isso.

Associao Binria
Ocorre quando so identificados relacionamentos entre duas classes. Este tipo de Associao constitui-se na mais comum encontrada nos Diagramas de Classe.

Representao da Associao Binria

Agregao

um tipo especial de associao onde tenta-se demonstrar que as informaes e um objeto (chamado objeto-todo) precisam ser complementadas pelas as informaes contidas em um objeto de outra classe (chamado objeto-parte).

Representao de Agregao

O smbolo de agregao difere do de associao por conter um losango na extremidade da classe que contm os objetos-todo.

Representao de Agregao

Composio
Constitui-se em uma variao do tipo agregao. Uma associao do tipo Composio tenta representar um vnculo mais forte entre os objetos-todo e objetosparte. Tenta mostrar que os objetos-parte tm que pertencer exclusivamente a um nico objeto-todo.

Representao da Composio

O smbolo usado para a associao de Composio um losango preenchido, e da mesma forma que na Agregao, deve ficar ao lado do objeto-todo.

Representao da Composio

Especializao / Generalizao
Similar associao de mesmo nome utilizado no Diagrama de Casos de Uso. Seu objetivo identificar classes-me (gerais) e classes filhas (especializadas). Permite tambm demonstrar a ocorrncia de mtodos polimrficos nas classes especializadas.

Especializao / Generalizao

Dependncia
No um tipo comum de relacionamento, como o prprio nome diz, identifica um certo grau de dependncia de uma classe em relao a outra. Representado por uma reta tracejada entre duas classes, contendo uma seta na extremidade do relacionamento que dependente de alguma forma.

Dependncia

Classe Associativa
So classes produzidas quando da ocorrncia de associaes que possuem multiplicidade muitos (*) em todas as suas extremidades. As Classes Associativas so necessrias nesses casos porque no existe um repositrio que possa armazenar as informaes produzidas pelas as associaes.

Classe Associativa

Notas

So importantes para informar algum comentrio necessrio a classe, mtodo ou atributo, fazendo com que, todos tomem conhecimento de forma imediata a observao feita, seja essa observao feita para validar ou simplesmente informar como o objeto notificado se comporta.

Notas

Exerccio 1

Desenvolva um Diagrama de Classes para um sistema de vdeo locadora equivalente ao mdulo de locao de DVDs, de acordo com as informaes abaixo:

necessrio um controle dos filmes existentes na locadora; Um Scio pode realizar muitas ou nenhuma locaes enquanto permanecer scio da locadora, mas uma locao estar vinculada unicamente a um determinado scio. Cada locao deve obrigatoriamente conter ao menos um filme, podendo conter vrios filmes, no entanto uma mesma cpia pode ter sido locada diversas vezes, em pocas diferente obvimanete.

Exerccio 2

Desenvolva o Diagrama de Classes para um sistema de cursos de informtica equivalente ao mdulo de matrcula, de acordo com as informaes 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 matrcula refere-se exclusivamente a uma determinada turma.

Cada turma tem um nmero mnimo de alunos para poder ser iniciada.

Um

aluno poder realizar muitas matrculas, mas cada matrcula refere-se exclusivamente a uma aluno.

Exerccio 3

Desenvolva o Diagrama de Classes para um sistema de Controle de Aplice de seguros, de acordo com as informaes abaixo:
Um

cliente para ser cliente, necessita possuir no mnimo uma aplice em seu nome, podendo possuir diversas, no entanto, uma aplice ser atribuda a um nico cliente. Da mesma forma que uma aplice pode possuir de uma at quatro parcelas, mas uma parcela estar vinculada a uma nica aplice.

Exerccio 3
Um

veculo segurado poder ou no possuir sinistro. Cada sinistro possuir um tipo.


Acidente, roubo, incndio, etc.

Ser

notificado tambm os danos no veculo, sabendo-se que um sinistro poder causar danos ou no ao veculo. Cada veculo segurado possuir uma modelo, e cada modelo estar vinculado exclusivamente com uma marca.

Diagrama de Seqncia
Os eventos em ordem

Diagrama de Seqncia

Procura determinar a seqncia de eventos que ocorrem em um determinado processo, ou seja, quais condies devem ser satisfeitas e quais mtodos devem ser disparados entre os objetos envolvidos e em que ordem durante um processo especfico.

Diagrama de Seqncia

Assim, Determinar a ordem em que os eventos acontecem, as mensagens que so enviadas, os mtodos que so chamados e como os objetos interagem entre si dentro de um determinado processo o objetivo principal deste diagrama.

Diagrama de Seqncia

Geralmente baseia-se em um caso de uso:


Isso

acontece porque geralmente um Caso de Uso um processo disparado pelo o usurio Um diagrama de Casos de Uso pode gerar vrios Diagramas de Seqncia. Nem sempre um Caso de Uso gera um Diagrama de Seqncia, isso acontece por exemplo com Casos de Uso do tipo <<include>>.

Atores

So exatamente os mesmos descritos no Diagrama de Casos de Uso.


Entidade

externas que interagem com o sistema e que solicitam servios.

Objetos

Os Objetos representam as instncias das classes envolvidas no processo ilustrado pelo Diagrama de Seqncia.
Os

objetos so representados por um retngulo contendo um texto que identifica primeiramente o nome do Objeto, em minsculo, e depois o nome da classe, com letras iniciais maisculas.

Essas informaes so separadas por dois pontos (:).

Objetos

Logo abaixo do objeto surge uma linha vertical tracejada. O Diagrama de Seqncia no possui atributos

Linha de Vida
A Linha de Vida representa o tempo em que um Objeto existiu durante um processo. As Linhas de Vida so representadas por linhas finas verticais tracejadas partindo do retngulo que representa o Objeto.

Foco de Controle ou Ativao

Indica os perodos em que um determinado objeto est participando ativamente do processo. Os focos de controle so representados dentro da Linha de Vida de um Objeto, enquanto as Linhas de Vida so representas por tracejados finos, o Foco de Controle representado por uma linha mais grosa.

Foco de Controle ou Ativao

Mensagens ou Estmulos

As mensagens procura demonstrar a ocorrncia de eventos, que normalmente foram a chamada de um mtodo em algum dos Objetos envolvidos no processo.
Pode

ocorrer, no entanto, de uma mensagem representar simplesmente a comunicao entre dois atores, o que, neste caso, no dispara nenhum mtodo.

Mensagens ou Estmulos

As Mensagens podem ser disparada entre:


Um Ator

e outro Ator. (No muito comum, mas facilita a compreenso do processo). Um Ator e um Objeto. (O Ator produz um evento que fora o disparo de um mtodo). Um Objeto e outro Objeto. (O mais comum, o objeto transmite uma mensagem para outro objeto, solicitando a execuo de um mtodo). Um Objeto e um Ator. (Geralmente quando um objeto envia uma mensagem de retorno).

Mensagem entre Atores

Mensagem com disparo de Mtodos entre Objetos

Instanciando um novo objeto

Quando a mensagem dirigida a um objeto que j existia, a seta da mensagem atinge a Linha de Vida do objeto, engrossando-a, identificando que o Foco de Controle est sobre o objeto em questo. Quando a mensagem cria um novo objeto, no entanto, a seta atinge o retngulo que representa o objeto, indicando que a mensagem representa um mtodo construtor e que o objeto passa a existir a partir daquele momento.

Instanciando um novo objeto

Mensagem de Retorno
Este tipo de mensagem identifica a resposta a uma mensagem para o objeto ou ator que a chamou. Uma Mensagem de Retorno pode retornar informaes especficas do Mtodo chamado ou simplesmente um valor indicado se o mtodo for executado com sucesso ou no.

Mensagem de Retorno

Auto-chamadas

So mensagens que um objeto envia para si mesmo. No caso de auto-chamadas uma mensagem parte do objeto e atinge o prprio objeto.

Auto-chamadas

Exerccio 1

Diagrama de Seqncia para abertura de conta comum


Inicialmente

o Cliente solicita ao Funcionrio a abertura de uma conta, ento o Banco faz uma consulta do cliente pelo seu CPF (Mtodo), na classe Fsica, se o cliente se encontra cadastrado, a consulta retorna com os Dados do Cliente, se no o cadastro do cliente dever ser realizado. No cadastro do cliente (Fsica), dever conter um mtodo para validar o CPF, evitando assim, o cadastro de clientes com CPF inexistente. Aps o cadastro do cliente o funcionrio receber uma resposta do Sistema informando que o cliente est atualizado, da mesma forma que o funcionrio comunica ao cliente que seu cadastro foi aprovado.

Exerccio 1
Ao

receber a resposta do funcionrio, o cliente deve informar valor do depsito a ser feito e sua senha. Essa mensagem ir disparar um mtodo para abertura de uma nova conta comum, que por sua vez, ir registrar esse histrico. O Cliente dever ser informado sobre o status de sua conta, ou seja, que a abertura da conta foi concluda.

Exerccio 2

Diagrama de Seqncia para encerramento de uma conta comum.


Nesta

caso o Cliente solicita ao Funcionrio o encerramento de sua conta, o Funcionrio por sua vez deve verificar a conta, neste momento, necessrio a senha do cliente e em seguida se existe Saldo. Se o Funcionrio receber a resposta de que o saldo positivo, deve haver o saque do valor. Assim como qualquer movimentao, havendo o saque deve-se registrar o histrico referente ao Saque. Aps a confirmao do saque, deve ser disparado o mtodo de encerramento de Conta. Em seguida avisar ao cliente.

Exerccio 3

Diagrama referente a solicitao de Extrato de uma conta comum atravs de um caixa eletrnico.

Diagrama de Colaborao
A organizao estrutural do objetos

Diagrama de Colaborao

O Diagrama de Colaborao muito semelhante ao Diagrama de Seqncia. A diferena est principalmente porque o Diagrama de Seqncia concentra-se na seqncia temporal em que os eventos ocorrem e as mensagens que so trocadas, enquanto o Diagrama de Colaborao preocupa-se com a organizao estrutural dos objetos, em como os objetos esto vinculados e as mensagens que estes trocam entre si.

Diagrama de Colaborao
A semelhana entre os dois so tantas, que so conhecidos como Diagramas de Interao. Na verdade o Diagrama de Colaborao mostra praticamente as mesmas informaes que o Diagrama de Seqncia, apenas com uma outra viso, de maneiras diferentes.

Objetos

Os Objetos do Diagrama de Colaborao diferese dos objetos do Diagramas de Seqncias, penas pelo fato de no possuir Linha de Vida e Foco de Controle.

Vnculos
Est entre os principais objetivos do Diagrama de Colaborao, identificar os vnculos, ou seja, as ligaes existentes entre os objetos envolvidos em um processo. Assim, fica caracterizado como vnculo sempre que dois objetos colaboram entre si dentro de um determinado processo.

Seja

pelo envio ou pelo recebimento de mensagens ou ambos.

Vnculos

Um Vnculo representado por uma linha unindo dois objetos

Mensagens
As mensagens usadas no Diagrama de Colaborao so as mesmas definidas no Diagrama de Seqncia, e quase sempre representam chamadas de mtodos. No Diagrama de Colaborao no existe a preocupao com a ordem em que as coisas acontecem, o que de fato importa que elas so disparadas

Mensagens

No que diz respeito as Mensagens usadas no Diagrama de Colaborao, no existe Mensagem de retorno, como acontece no Diagrama de Seqncia.

Atores
Os Atores apresentados no Diagrama de Colaborao so os mesmo usados no Diagrama de Seqncia, conseqentemente os mesmos do Diagrama de Casos de Uso. Este Ator possui vnculos com outros objetos ou outros Atores e envia e recebe mensagens atravs deste vnculo da mesma forma que os outros objetos.

Atores

Condies

So usadas para mostrar que uma mensagem s ser enviada quando uma determinada condio for satisfeita.
As

condies vm entre colchetes antes da mensagem.

Condies

Auto-chamadas

Assim como usado no Diagrama de Seqncia, um objeto pode disparar uma mensagem para si mesmo, caracterizando assim uma Auto-chamada.
A mensagem

parte do objeto para si prprio.

Auto-chamadas

Exemplo 1

Abertura de uma conta comum


Primeiro

o funcionrio deve usar um mtodo para consultar se j existe um CPF na classe (fsica), se necessrio Atualizar / Gravar o cliente no objeto (fsica1) da classe (fsica), neste caso a classe ir dispara um mtodo validao de CPF. Assim o Funcionrio poder disparar o mtodo Abertura de Conta no objeto conta1 na classe Conta Comum que em seguida ir registrar o histrico dessa operao.

Exemplo 1

Exerccio 1

Crie um Diagrama de Colaborao para um sistema de Controle Bancrio, referente ao mdulo de Encerramento de Conta Comum.
Primeiro

necessrio disparar o mtodo consultar conta sobre o objeto conta1 da classe conta comum, para analisar se a conta existe. Em seguida necessrio validar a senha e verificar o saldo, se o saldo for positivo outro mtodo ser disparado (saque), e assim gerando outro mtodo no objeto historico1 da classe histrico. Em seguida disparar o mtodo Encerramento, se o cliente s possuir uma conta, ser atualizado como inativo.

Diagrama de Estados
Acompanhando as mudanas de um objeto

Diagrama de Estados

Procura acompanhar as mudanas de Estado sofridas por um objeto dentro de um determinado processo. O fato de o Diagrama de Estados estar geralmente associado a uma classe, ou mesmo aos objetos de uma classe envolvidos em um determinado processo, pode haver diversos Diagramas de Estados referentes ao mesmo processo.

recomendado que s se construa Diagramas de Estados quando existir um certo grau de complexidade referente Transio de Estados de um objeto envolvidos no processo.

Estado

Um estado representa a situao em que um objeto se encontra em um determinado momento durante o perodo em que este participa de um processo. Um objeto passa por diversos estados dentro de um mesmo processo. Um Estado pode representar:
A espera

pela ocorrncia de um evento; A reao a um estmulo; A execuo de alguma atividade; A satisfao de alguma condio.

Estado

Um estado representado por um retngulo com os cantos arredondados com duas ou trs divises:
A primeira

diviso armazena a descrio do

estado; A segunda, exibe as possveis aes ou atividades, executas por um objeto quando em um Estado. A Terceira, com as possveis transaes internas.

Algumas ferramentas armazenam essas informaes dentro da segunda parte.

Estado

Atividades / Aes

Atividades e Aes so muito semelhantes, mas, apresenta diferenas com relao ao seu tempo de execuo.
Atividades

(tempo maior):

Geralmente so os mtodos executados pelo o objeto.

Aes

(tempo menor):

Geralmente representam a simples atribuio de um valor a um atributo.

Atividades / Aes

Tipos de Atividades ou Aes que podem estar na segunda parte do retngulo:


Representa as aes realizadas no momento em que o objeto assume o Estado em questo; Exit Identifica as aes executadas antes do objetos mudar de estado; Do Mostra as atividades executadas enquanto o objeto encontras em determinado Estado.
Entry

Atividades / Aes

Ao lado um exemplo dos tipos de atividades e aes de um Estado.

Transio
Representa um evento que causa uma mudana no Estado de um objeto, gerando um novo Estado. Este tipo de evento conhecido como Evento de Ativao. Uma Transio representada por uma reta ligando dois Estados, contendo uma seta em uma das extremidades. A ponta da seta indica o novo estado gerado pelo o evento.

Transio

Estado Inicial
um Estado abstrato cuja funo determinar o incio de um Diagrama de Estados. O Estado Inicial representa por crculo preenchido, a partir do qual gerada uma transio que determina o incio do processo.

Estado Inicial

Estado Final
Assim como o Estado Inicial, tambm um estado abstrato cuja funo indicar o final do Diagrama de Estados. O Estado Final representado por um crculo no preenchido envolvendo um outro crculo preenchido.

Estado Final

Exemplo 1

Criar um Diagrama de Estados referente ao processo de encerramento de uma conta comum enfocando os estados assumidos pelo o objeto conta1.
Onde

necessrio consultar a conta; Validar senha; Verificar saldo; Realizar um saque [se saldo positivo]; Encerrar conta.

Exemplo 1

Exerccio 1

Desenvolva um Diagrama de Estados para um sistema de vdeo locadora equivalente ao mdulo de locao de DVDs.
Durante

o processo de locao de DVDs deve-se verificar se ele estar cadastrado; Em seguida, deve-se verificar se no h locaes pendentes (sem devoluo ou pagamento). Caso no haja pendncias deve-se iniciar o registro de nova locao, bem como de cada item locado. Aps a seleo de cpias para a locao, esta deve ser finalizada.

Exerccio 2

Desenvolva um Diagrama de Estados para um sistema de cursos de informtica equivalente ao mdulo de matrcula do aluno em uma turma de um determinado curso, enfocando os estados de um objeto da classe Matrcula, de acordo com os fatos j descritos anteriormente em outros diagramas desse mesmo sistema.

Exerccio 2
Primeiramente,

o usurio deve selecionar o qual a matrcula se refere; Em seguida, deve selecionar a turma da matrcula em questo; Finalmente o atendente ir selecionar o aluno que deseja realizar a matrcula e ento registrar a matrcula.

Diagrama de Atividades
Algoritmos em Diagramas

Diagrama de Atividades

o diagrama com maior nfase ao nvel de algoritmo da UML e provavelmente um dos mais detalhistas. Apresenta muitas semelhanas com os antigos fluxogramas utilizados para desenvolver a lgica de programao e determinar o fluxo de controle de um algoritmo.

Diagrama de Atividades
Preocupa-se em descrever os passos a serem percorridos para a concluso de um mtodo ou algoritmo especifico e no de um processo completo como acontece com o Diagrama de Seqncia e Colaborao. Concentra-se na representao do fluxo de controle de uma atividade.

Componentes

Os componentes no Diagrama de Atividades so semelhantes aos utilizados no Diagrama de Estados, tais como:
Estado

Inicial e Estado Final; Transies; Etc.

Estado de Ao

Representa a realizao de uma ao dentro de um fluxo de controle.


No

pode ser decomposto em sub-estados.

Uma atividade costuma possuir diversos estados de ao.


Um

estado de ao pode conter uma descrio da ao que est sendo realizada, como a ao propriamente dita.

Estado de Ao

representado por um retngulo arredondado sem divises.

Ponto de Deciso
Um Ponto de Deciso representa um ponto do fluxo de controle onde deve realizado um teste, e uma tomada de deciso. De acordo com essa deciso, o fluxo optar por executar um determinado fluxo ou conjunto de Estados de Ao.

Exemplo 1

Diagrama de Atividades para consulta de uma conta:


Primeiramente

o recebimento do nmero da

conta; Em seguida deve-se fazer uma pesquisa; Se no encontrar emitir uma mensagem informando que o nmero da conta invlido e sair do fluxo. Se encontrar emitir uma mensagem informando que a conta vlida e sair.

Exemplo 1