Beruflich Dokumente
Kultur Dokumente
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?
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
Desenvolver o modelo de uma aplicao antes de constru-la, to essencial quanto ter uma planta para a construo de uma casa.
Analisar
Bons modelos so essenciais para a comunicao entre os times de projetos e para assegurar a beleza arquitetural.
Facilita
Ter um rigoroso padro de linguagem de modelagem um fator essencial para o sucesso de um projeto.
Sistemas
so dinmicos;
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
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
Dinmica
Ferramentas CASE
Rose
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 Tempo
Descreve
a mudana no estado ou na condio de uma instncia de uma classe ou seu papel durante o tempo.
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.
Tem por objetivo apresentar uma viso externa geral das funes e servios que o sistema dever oferecer ao usurio.
Sem
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.
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.
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.
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
uso; Mas geralmente essa descrio dentro da elipse costuma ser suncinta.
Locao de Filmes
Consultar Gneros
Cadastro de Clientes
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.
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.
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
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:
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
que fazem parte do Diagrama; Os Atores e os Casos de Uso e Os Casos de Uso com outros Casos de Uso.
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
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.
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
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
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
Uma Classe Persistente apresenta muitas semelhanas com uma entidade como as definidas no MER.
Modelo
Persistncia
Deve ficar claro que nem toda Classe persistente, no sendo muitas vezes necessrio preservar (armazenar) suas informaes.
Atributos
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:
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
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
Tipos de visibilidade
Visibilidade Pblica
O
atributo ou mtodo que possuir essa visibilidade pode ser utilizado por qualquer Classe.
Visibilidade Protegida
O
atributo ou mtodo que possuir essa visibilidade somente a classe possuidora ou as sub-classes tero acesso.
Visibilidade Privada
Somente
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.
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
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
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
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.
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.
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.
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
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).
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.
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
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
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
Vnculos
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
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
Auto-chamadas
Exemplo 1
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
estado; A segunda, exibe as possveis aes ou atividades, executas por um objeto quando em um Estado. A Terceira, com as possveis transaes internas.
Estado
Atividades / Aes
Atividades e Aes so muito semelhantes, mas, apresenta diferenas com relao ao seu tempo de execuo.
Atividades
(tempo maior):
Aes
(tempo menor):
Atividades / Aes
Atividades / Aes
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
Estado de Ao
estado de ao pode conter uma descrio da ao que est sendo realizada, como a ao propriamente dita.
Estado de Ao
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
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