Você está na página 1de 46

An�lise e Projeto de Sistemas

Aula expositiva 04
Professor Jos� Luiz Bastos

� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Defini��o (1/2)

� AUML(Unified Modeling Language) �:



Linguagem de modelagem utilizada para especificar,
visualizar, construir e documentar os artefatos de um
sistema de software;

Unifica��o das nota��es dos m�todos de Booch,
OMT e OOSE, assim como as melhores id�ias de um
grupo de metodologistas;

Padr�o industrial para a modelagem em todo o ciclo
de desenvolvimento de software.

Sistema de nota��o dirigido � modelagem de
sistemas orientados a objetos.

Captura a estrutura de sistemas orientados a objetos e
utiliza diversos diagramas para express�-la e
fornecer m�ltiplas vis�es daqueles.
� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Defini��o (2/2)


A UML tem se tornado um padr�o mundial utilizado
por desenvolvedores, autores e fornecedores de
ferramentas CASE, pois procura integrar as
melhores pr�ticas existentes no mercado para
especificar, visualizar e construir os artefatos de
sistemas de software.
� A UML � aplic�vel em:
� Modelagem de processos de neg�cio;
� Modelagem de casos de uso;
� Modelagem de classes e objetos;
� Modelagem de intera��o entre objetos;
� Modelagem de componentes;
� Modelagem de implanta��o de componentes.
� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Modelagem visual (1/3)

� Veja a seguinte descri��o:



A classe Aluno possui os seguintes atributos:
matr�cula (string), nome (string), data de nascimento
(date), data de matr�cula (date), valor da mensalidade
(real);


E as seguintes opera��es:
matricular aluno, reajustar mensalidade (que recebe
como par�metro o percentual de reajuste), trancar
matricula, emitir boleto de pagamento (que recebe
como par�metro o m�s/ano de refer�ncia).

� 2008 Jos� Luiz G. Bastos Jr.


� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML
Modelagem visual (2/3)
Introdu��o a UML
Modelagem visual (2/3)
Diagramas da UML 2.0

� Cada diagrama da UML tem como objetivo


analisar o sistema sob uma perspectiva.
� Alguns apresentam uma vis�o externa do
sistema, outros apresentam uma vis�o mais
interna do sistema com caracter�sticas mais
t�cnicas ou detalhadas de partes do mesmo.
� Os diferentes diagramas da UML permitem a
descoberta de erros e a avalia��o da
integra��o entre os modelos do sistema
ainda em projeto.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagramas da UML 2.0
Diagrama de Caso de uso


Esse diagrama � utilizado para representar a
especifica��o funcional do sistema e se popularizou
devido � sua nota��o gr�fica simples e � sua
descri��o em linguagem natural, j� que o seu
prop�sito prim�rio � descrever as fun��es essenciais
do sistema, o seu comportamento din�mico, bem
como os seus limites e abrang�ncia.

Ajuda a especificar, visualizar e documentar as
caracter�sticas, fun��es e servi�os do sistema
atrav�s da perspectiva do usu�rio e de uma
linguagem simples, possibilitando a compreens�o do
comportamento externo do sistema por qualquer
pessoa.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso

� As caracter�sticas anteriores permitem que o


diagrama de casos de uso seja utilizado nas
etapas de Levantamento e An�lise de
Requisitos e que seja apresentado durante
as reuni�es iniciais com os clientes, como
uma forma de ilustrar o comportamento do
sistema, facilitar a compreens�o dos usu�rios
e auxiliar na identifica��o de poss�veis falhas
de especifica��o.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagrama de Caso de uso
Diagramas da UML 2.0
Diagrama de Caso de uso

� Ementa desta aula:


� Sistema;
� Requisitos do Sistema;
� Caso de Uso;
� Fluxos do Caso de Uso;
� Fronteira do Sistema;
� Ator;
� Lista de Atores;
� Relacionamentos;
� Documenta��o de Casos de Uso;
� Requisitos N�o Funcionais;
� Engenharia de Requisitos.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagrama de Caso de uso
SISTEMA:
Diagramas da UML 2.0
Diagrama de Caso de uso


Requisitos do Sistema:

Um requisito descreve uma condi��o com a qual o sistema
deve estar conforme;

Esta condi��o pode ser uma necessidade dos usu�rios,
estabelecida em um contrato, uma norma ou padr�o, uma
especifica��o, formalizado em algum documento;

UML: Um requisito � uma funcionalidade desejada, uma
propriedade ou um comportamento do sistema;

Uma vez que o Analista levante os requisitos com o usu�rio,
� necess�rio document�-los para entendimento e valida��o;

Essa documenta��o deve servir de base n�o amb�gua para
toda a equipe de desenvolvimento;

A documenta��o de requisitos evita que informa��es
importantes se percam.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso


Desenvolvedor:
� O que o � esperado desse sistema?

Usu�rio:

Eu tenho uma loja de pe�as. Gostaria que o meu processo
de vendas fosse interligado com meu estoque e que eu
pudesse, a qualquer momento, alterar valores das formas
de pagamento. Posso oferecer descontos a alguns tipos de
clientes, mas preciso autorizar essa opera��o.

No fim do m�s quero um relat�rio dos produtos que mais
venderam. Preciso tamb�m saber a estat�stica de vendas
por forma de pagamento.

De tempos em tempos deve aparecer na tela do sistema
uma promo��o rel�mpago que d� um brinde ao cliente.
� Preciso que o sistema controle os pedidos tamb�m.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

� O que � amb�guo ou n�o compreens�vel


nessa descri��o?
� Que tipos de clientes podem receber descontos?

Como seria feita esta autoriza��o de desconto e por
quem?

Que quantidade de produtos deve aparecer no
relat�rio dos mais vendidos?

A estat�stica leva em conta qual per�odo (semanal,
quinzenal, mensal, etc.)?
� Quanto tempo significa �de tempos em tempos�?

Quais pedidos precisam ser controlados: os dos
clientes ou os feitos aos fornecedores?
Diagramas da UML 2.0
Diagrama de Caso de uso

� Utilizando a modelagem de casos de uso, o


desenvolvedor deve separar as
funcionalidades do sistema;
� Essas funcionalidades agrupam um conjunto
de a��es que tenham um objetivo bem
definido;
� Os casos de uso representam essas
funcionalidades.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
Algumas funcionalidades que caberiam
para o exemplo dado:

� Sistema de Vendas:
� Consultar informa��es sobre um produto;
� Efetuar reserva;
� Emitir comprovante de reserva;
� Efetuar venda;
� Emitir nota fiscal;
� Realizar fechamento do caixa.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagrama de Caso de uso
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
Diagramas da UML 2.0
Diagrama de Caso de uso

� Cada caso de uso possui um conjunto de


a��es que precisam ser executadas para que
o objetivo da funcionalidade seja alcan�ado;
� No caso de efetuar venda: identificar o
vendedor, identificar o produto, a quantidade
vendida, etc;
� Essas a��es constituem os fluxos que s�o
realizados pelos casos de uso para
disponibilizar o resultado desejado.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso

� Fluxo principal:

Descreve uma seq��ncia de a��es que ser�o
executadas, considerando que nada de errado
ocorrer� durante a execu��o da seq��ncia (o
chamado caminho �feliz� do caso de uso);
� Apenas 1 por caso de uso;

Fluxos alternativos:
� Representam sub-itens do fluxo principal;
� Representam os tratamentos de exce��o;
� Nenhum ou v�rios por caso de uso.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

Fluxo alternativo Problema na leitura do cart�o


magn�tico:

1.
Se o sistema n�o conseguir ler os dados do
cart�o magn�tico, tentar novamente por, no
m�ximo, mais duas vezes;
2. Caso persista o problema, encerrar o caso
de uso.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

Exemplo: Caso de Uso �Emitir Saldo�:


Fluxo principal:

1.
O sistema realiza a leitura do cart�o
magn�tico do correntista;
2. O sistema solicita a digita��o da senha;
3. O sistema valida a senha digitada;
4. O correntista seleciona a op��o de saldo;
5. O sistema questiona o tipo de saldo: conta
corrente, poupan�a, aplica��es;
6. O sistema processa e mostra o saldo
solicitado pelo cliente.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

Fluxo alternativo Senha inv�lida:


1. Se a senha digitada pelo correntista n�o for
igual � senha cadastrada no sistema,
informar ao mesmo e solicitar nova digita��o.
Esse processo pode ser repetido por no
m�ximo tr�s tentativas (incluindo a primeira).
Ap�s a terceira tentativa, a conta do usu�rio
deve ser bloqueada e o caso de uso
encerrado. Inclus�o: Bloquear Conta.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso

Fluxo alternativo Conta inexistente:

1. Se o correntista n�o possuir o tipo de conta


selecionada, informar ao mesmo e encerrar o
caso de uso.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

TENHA EM MENTE!!!!

� Ao modelarmos um sistema, precisamos


saber at� que ponto devemos nos preocupar;
� Esses pontos-limite s�o a fronteira do
sistema. Exemplo:

Imagine que estamos modelando um Sistema de
Controle de Vendas;

Em algum momento o Sistema de Controle de Vendas
emite o faturamento semanal ou mensal de cada
vendedor para o Departamento Pessoal;

N�o � responsabilidade do Sistema de Controle de
Vendas saber o que o Departamento Pessoal far�
com essa informa��o.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagrama de Caso de uso
FRONTEIRA
Diagramas da UML 2.0
Diagrama de Caso de uso

� Os sistemas recebem e enviam informa��es


para o mundo externo atrav�s de suas
fronteiras;
� Algu�m ou algo deve ser respons�vel por
enviar e/ou receber informa��es do sistema;
� Na modelagem de casos de uso, esse papel
externo � exercido por um ator. Esse ator
representa um papel que pode ser:
� Uma pessoa;
� Um grupo de pessoas;
� Um outro sistema;
� Sensores.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso


Ator:
� Representa qualquer coisa que interaja com o sistema,
ou seja, que troque dados ou eventos com o sistema;
� Atores n�o fazem parte do sistema;
� Atores podem ser usu�rios ou outros sistemas;
� Atores identificam elementos externos ao sistema;
� Atores delimitam as fronteiras do sistema;
� Atores podem ativar os casos de uso ou n�o.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

� Um ator representa um papel exercido por


um usu�rio ou outro sistema ao interagir com
o sistema em quest�o. Exemplo:

Uma pessoa (Jo�o) pode assumir o papel de cliente
ao realizar um saque em um caixa de autoatendimento;

A mesma pessoa (Jo�o) pode assumir o papel de
operador ao realizar a manuten��o de um caixa de
auto-atendimento.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagrama de Caso de uso
Diagramas da UML 2.0
Diagrama de Caso de uso


Outro exemplo:

Em um Sistema de Controle Acad�mico, a rotina de
atualizar a frequ�ncia dos alunos pode ser executada
pelos funcion�rios da secretaria, pelo pr�prio professor
ou pelo Sistema de Avalia��o On-line;
� Esses pap�is s�o representados por atores.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso


Casos de uso:
� Devem descrever uma rotina bem definida do sistema;

Devem ser totalmente compreens�veis pela equipe e
pelos usu�rios;

Devem ser utilizados durante todo o processo de
desenvolvimento:
� Cria��o dos modelos de an�lise e projeto;
� Cria��o dos modelos de implementa��o;
� Cria��o das especifica��es de testes do sistema.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso


Casos de uso:

Devem identificar com quais atores interagem, com
isso o projetista tem informa��o para criar os perfis de
acesso ao sistema;

Devem especificar como alcan�ar a realiza��o de um
procedimento, sem relacionar detalhes de
implementa��o;
� Exemplo:
� O cliente seleciona na lista o produto desejado.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso


Relacionamentos:

N�o devem representar valida��es que todo sistema j�
possuir por padr�o:
� Exemplo: checar se a data � uma data v�lida do
calend�rio;

Devem expressar valida��es que refiram �s regras de
neg�cio;
� Exemplo: a data de rescis�o do contrato deve estar
dentro do m�s corrente;

Pode-se iniciar a modelagem por uma lista de casos
de uso ou uma lista de atores.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso
Relacionamentos:
� Entre casos de uso:
� Generaliza��o;
� Extens�o;
� Inclus�o;
� Entre atores:
� Generaliza��o;
� Entre atores e casos de uso:
� Associa��o.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
� Associa��o:
� Ocorre entre um ator e um caso de uso;
� Representa a intera��o do ator com o caso de uso.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso Diagrama de Caso de uso
� Associa��o:
� Ocorre entre um ator e um caso de uso;
� Representa a intera��o do ator com o caso de uso.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
Diagramas da UML 2.0
Diagrama de Caso de uso


Extens�o:
� Ocorre entre casos de uso;

Indica que um deles (caso de uso base) ter� seu
procedimento acrescido no ponto de extens�o
especificado;

Os pontos de extens�o s�o r�tulos que aparecem nos
fluxos dos casos de uso;
� � permitido colocar diversos pontos de extens�o no
mesmo caso de uso.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

� Exemplo: Caso de Uso �Efetuar Venda�;


Fluxo Principal:
1. ...
2. Escolher a forma de pagamento;
3. Se cliente VIP, calcular desconto especial;
Extens�o: Efetuar desconto especial;
4. Apresentar o valor total;
5. ...
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso

� Quando usar pontos de extens�o:


� Para expressar rotinas de exce��o;
� Para expressar fluxos alternativos;

Para separar um comportamento obrigat�rio de outro
opcional;

Para separar um trecho do caso de uso que ser�
usado somente em determinadas condi��es;

Para separar trechos que dependam da intera��o com
um determinado ator.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagrama de Caso de uso
� Exemplo: no cadastro de uma venda, a rotina
de desconto s� pode ser executada pelo
gerente.
Diagramas da UML 2.0
Diagrama de Caso de uso


Inclus�o:
� Ocorre entre casos de uso;

Indica que um deles ter� o seu procedimento copiado
em um local especificado em outro caso de uso;

S�o usados quando existem a��es que servem a mais
de um caso de uso;

Evita a c�pia de trechos id�nticos nos fluxos de mais
de um caso de uso;

Ganha-se tempo em modelagem, implementa��o e
manuten��o.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas da UML 2.0


Diagrama de Caso de uso

� Exemplo: Caso de Uso �Matricular nos


cursos�;
Fluxo Principal:

1. ...
2. O aluno digita a sua matr�cula;
3. O sistema verifica se a matr�cula � v�lida e ativa;
Inclus�o: Validar matr�cula;
4. Se matr�cula � v�lida o sistema apresenta nos cursos;
5. �
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso


Generaliza��o:
� Ocorre entre casos de uso ou entre atores;

Representa dois elementos semelhantes com um
deles realizando um pouco mais;
� � o mesmo conceito de heran�a da orienta��o a
objetos:
� Um caso de uso no qual C2 herda de C1, significa que
C1 � mais gen�rico e C2 � mais espec�fico;
� Exemplo de generaliza��o entre atores:
� Aluno, Aluno Matriculado, Aluno Ouvinte.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas da UML 2.0
Diagrama de Caso de uso
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
Diagramas da UML 2.0
Diagrama de Caso de uso
IMPORTANTE:


Os atores representam os pap�is realizados pelos
usu�rios, e n�o a pessoa do usu�rio;
� Certo: Gerente, Funcion�rio, Estudante, Professor;
� Errado: Pedro, Jo�o, Maria, Jos�.

Uma vez identificado o caso de uso, descreva seu
fluxo principal;

A partir do fluxo principal identifique e descreva os
fluxos alternativos;

Caso descubra fluxos comuns utilize inclus�o;

Para casos de uso muito complexos utilize extens�o.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
� Organizando o modelo com pacotes:
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
� Organizando o modelo com pacotes:
Diagrama de Caso de uso
� Organizando o modelo com pacotes:
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
� Organizando o modelo com pacotes:
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas da UML 2.0
Diagrama de Caso de uso
� Organizando o modelo com pacotes:
An�lise e Projeto de Sistemas

Aula expositiva 05
Professor Jos� Luiz Bastos

� 2008 Jos� Luiz G. Bastos Jr.


Introdu��o

� O diagrama de classes � considerado o mais


importante diagrama da UML, pois serve de
base para a maioria dos outros diagramas
desta linguagem de modelagem. Ele oferece
uma vis�o est�tica do sistema que permite a
visualiza��o das classes que o comp�em,
seus atributos e as opera��es, bem como os
relacionamentos entre as mesmas.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Introdu��o a UML
Diagrama de classes (1/36)
� Uma classe � representada por um ret�ngulo
com tr�s se��es:
� Nome da classe;
� Atributos;
� Opera��es.
Introdu��o a UML
Diagrama de classes (2/36)

� Prote��o de dados visa garantir o acesso


apenas sobre opera��es e atributos
disponibilizados pela interface da classe;
� Modificadores de acesso: Public (+);
Introdu��o a UML
Diagrama de classes (3/36)

� Um atributo � uma propriedade de uma


classe que descreve um conjunto de valores
que as inst�ncias da classe, objetos, podem
atribuir a essa propriedade.
� Protected (#);
� Package (~);
� Private (-).
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Introdu��o a UM��o a UML
Diagrama de classes (4/36)

� Um atributo derivado � um atributo cujo


valor pode ser calculado baseado no valor de
outro(s) atributo(s):
� Atributo objA.m�dia.
Introdu��o a UML
Diagrama de classes (5/36)

� Um atributo est�tico � um atributo cujo valor


� compartilhado por todas as inst�ncias,
objetos, da classe:
� Atributo Funcion�rio.PISO_SALARIAL.
� 2008 Jos� Luiz G. Bastos Jr. � 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Diagrama de classes (6/36)

� Um atributo n�o est�tico possui um valor


�nico para cada objeto, inst�ncia da classe:
� Atributo objA.nome.
Introdu��o a UML
Diagrama de classes (7/36)

� Uma opera��o � um servi�o que pode ser


requisitado por qualquer objeto da classe
para obter um comportamento:
� Opera��o objA.obterNome().
Opera��es
� 2008 Jos� Luiz G. Bastos Jr. � 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UM��o a UML
Diagrama de classes (8/36)

� Uma opera��o abstrata � aquela que n�o


possui um m�todo que a implemente na
classe:
� Opera��o objA.obterIdade();
� Uma classe que possui uma ou mais
opera��es abtratas � dita classe abstrata:
� Classe Pessoa.
Introdu��o a UML
Diagrama de classes (9/36)

� Uma opera��o est�tica � independente de


objeto e acessa apenas atributos est�ticos;
� O acesso a opera��es est�ticas �
independente de objeto:
� Funcion�rio.obterPisoSalarial().
� 2008 Jos� Luiz G. Bastos Jr. � 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Diagrama de classes (10/36)

� Um estere�tipo define um novo elemento de


modelagem em termos de um elemento
inicial;
� Algumas vezes � necess�rio acrescentar
novos elementos ao modelo para torn�-lo
mais aderente ao dom�nio da aplica��o;
� Os novos elementos s�o definidos a partir
dos elementos primitivos j� existentes na
UML.
Introdu��o a UML
Diagrama de classes (11/36)

� A especializa��o de objetos segundo os 3


estere�tipos propostos por Jacobson auxilia
na constru��o de sistemas f�ceis de serem
estendidos e alterados;
� Estere�tipos propostos por Jacobson:
� Fronteira;
� Controle;
� Entidade.
� 2008 Jos� Luiz G. Bastos Jr. � 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML
Diagrama de classes (12/36)
Introdu��o a UML
Diagrama de classes (12/36)
Introdu��o a UML
Diagrama de classes (14/36)


Classes de entidade:
� Modelam itens importantes de informa��o:
� Geralmente s�o as primeiras levantadas na an�lise dos
fluxos dos casos de uso;
� Tipicamente independentes da aplica��o;
� Tipicamente essenciais:
� Necess�rias para cumprir alguma responsabilidade do
produto;
� Freq�entemente persistentes:
� Correspondem a entidades de bancos de dados.
� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Diagrama de classes (13/36)

� Uma classe de fronteira modela a


comunica��o entre a vizinhan�a de um
sistema e seus componentes internos;
� As classes de fronteira prov�em a interface
com o usu�rio ou outro sistema;
� Classes de fronteira t�picas:
� Janelas e relat�rios (interface com o usu�rio);
� Protocolos de comunica��o (interface com o sistema);
� Interface com dispositivos de hardware.
� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Diagrama de classes (15/36)


Classes de controle:

Modelam o comportamento de controle espec�fico a
um ou mais casos de uso.
� Criam, iniciam e excluem objetos controlados;
� Coordenam a a��o dos objetos controlados;
� Exemplos:
� Controlador de conex�o;
� Controlador de impress�o;
� Controlador de matr�cula;
� Controlador de pedido;
� Controlador de faturamento.
� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML ��o a UML
Diagrama de classes (16/36)


Classe abstrata:
� O nome da classe aparece em it�lico:
� Classe Pessoa.
Introdu��o a UML
Diagrama de classes (17/36)


Interfaces: O prop�sito de uma interface �
encapsular um conjunto de opera��es
oferecidas pela classe;
� � comum apresentarmos na interface apenas parte
das opera��es;
� A interface especifica a assinatura das opera��es;
� O relacionamento utilizado � o de realiza��o.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Introdu��o a UML
Diagrama de classes (18/36)
� Uma outra classe que use ou requeira
opera��es supridas pela interface � ligada a
esta por uma depend�ncia.
Introdu��o a UML
Diagrama de classes (19/36)


Nome de relacionamentos:
� � mostrado pr�ximo � linha do relacionamento, de
forma centralizada;

Deve ser um nome que exprima o significado do
relacionamento.

Pode tamb�m ser um verbo, desde que esteja claro
qual � o sujeito e qual � o objeto.
� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UM��o a UML
Diagrama de classes (20/36)


Pap�is em relacionamentos:

Um papel denota o prop�sito ou capacidade em que
uma classe se associa com outra;

O nome de um papel � colocado ao longo da linha de
associa��o, pr�ximo � classe referenciada;

Um ou ambos os lados da associa��o podem ter
nomes de pap�is.
� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Diagrama de classes (21/36)


Multiplicidade � o n�mero de inst�ncias
poss�veis em um relacionamento entre
classes (� o n�mero de inst�ncias de uma
classe relacionada a uma inst�ncia de outra
classe);
� Para cada relacionamento devem ser
tomadas duas decis�es de multiplicidade:
uma para cada lado da associa��o.
� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Diagrama de classes (22/36)

� Consiste de um conjunto de n�meros inteiros


n�o-negativos;
� Se contiver um asterisco *, ele significa uma
faixa infinita de n�meros inteiros n�o-
negativos;

1 ou 1..1 = exatamente 1

0..* = zero ou mais

1..* = um ou mais

0..1 = zero ou um

5..8 = intervalo espec�fico

4..7, 9 = combina��o (4,5,6,7,9)
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Introdu��o a UML
Diagrama de classes (23/36)
Introdu��o a UM��o a UML
Diagrama de classes (24/36)


Navegabilidade:

Os relacionamentos podem ser bidirecionais ou
unidirecionais;

Uma seta � adicionada ao relacionamento quando a
navega��o vem apenas em uma dire��o;

Quando a seta � omitida a navega��o � desconhecida
ou � bidirecional;
� Exemplo: Um eleitor deve saber em quem votou, mas
o candidato n�o deve saber quem votou nele.
� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML
Diagrama de classes (25/36)
� 2008 Jos� Luiz G. Bastos Jr.

Introdu��o a UML
Diagrama de classes (26/36)

� Associa��o bin�ria conecta duas classes;


Introdu��o a UML
Diagrama de classes (27/36)

� Associa��es reflexivas s�o associa��es de


uma classe com ela pr�pria.
� Associa��o n-�ria possui tr�s ou mais
classes ligadas pelo relacionamento.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML
Diagrama de classes (28/36)
� Uma restri��o XOR indica que apenas uma
dentre as v�rias associa��es representadas
pode ocorrer. Ambas n�o podem ocorrem ao
mesmo tempo.
OU
Introdu��o a UML
Diagrama de classes (28/36)
� Uma restri��o XOR indica que apenas uma
dentre as v�rias associa��es representadas
pode ocorrer. Ambas n�o podem ocorrem ao
mesmo tempo.
OU
Introdu��o a UML
Diagrama de classes (29/36)

� Uma classe de associa��o � respons�vel


por dados e comportamento de uma
associa��o;
� De um modo geral, surge como respons�vel
por atributos/servi�os, resultado de um
relacionamento n-n entre duas classes.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Introdu��o a UML
Diagrama de classes (30/36)
� Agrega��o � uma forma especial de
associa��o onde o todo est� relacionado �s
suas partes.
Introdu��o a UML
Diagrama de classes (31/36)

� Agrega��es reflexivas s�o agrega��es de


uma classe com ela mesma.
� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML ��o a UML Introdu��o a UML
Diagrama de classes (32/36) Diagrama de classes (33/36)
� Composi��o indica ciclos de vida � Composi��es reflexivas s�o composi��es de
dependentes. uma classe com ela mesma;

� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Introdu��o a UML
Diagrama de classes (34/36)
� Heran�a simples:
� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML
Diagrama de classes (35/36)
� Heran�a m�ltipla:
� 2008 Jos� Luiz G. Bastos Jr.
Introdu��o a UML
Diagrama de classes (36/36)
� Depend�ncias:
Introdu��o a UML
Diagrama de classes (36/36)
� Depend�ncias:
Diagrama de Objetos (1/5)

� Representa uma inst�ncia de um Diagrama


de Classes em um determinado contexto;
� Pada cada classe temos um objeto (sua
inst�ncia);
� � �til para:

Visualizar mais claramente a rela��o entre os objetos
das classes;
� Visualizar dados reais;
� Validar o modelo de classes;
An�lise e Projeto de Sistemas

Aula expositiva 06
Professor Jos� Luiz Bastos

� 2008 Jos� Luiz G. Bastos Jr.

Diagrama de Objetos (2/5)

� Deve mostrar apenas os objetos relevantes


em um determinado contexto;
� Nota��o UML para objetos:
� nomeDoObjeto : nomeDaClasse;
� Identificar problemas na execu��o de uma aplica��o.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Objetos (3/5)

� Nota��o UML para atributos dos objetos:


nomeDoAtributo: tipo = valor;
� Se o tipo for citado, deve ser o mesmo da
classe, mas pode ser omitido;
� Atributos cujos valores podem mudar durante
o processamento apresentam uma lista de
valores.
� 2008 Jos� Luiz G. Bastos Jr.

Diagrama de Objetos (4/5)

� Relacionamentos entre os objetos s�o feitos


atrav�s de links;
� Um link �uma inst�ncia de uma associa��o;
� O nome do papel pode ser mostrado ao final
do link;
� O nome da associa��o pode ser mostrado
pr�ximo ao link;
� Multiplicidades n�o s�o mostradas pois os
links j� s�o inst�ncias;
� Agrega��o, composi��o e navega��o podem
ser mostradas.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Objetos (5/5)
Diagrama de Atividades (1/12)

� Aplica��o:
� Modelagem de workflow;
� Modelagem de processamento paralelo;
� Modelagem de fluxos de casos de uso;
� Descri��o de algoritmos seq�enciais;
� N�o devem ser usados em:

Modelagem de comportamento de objetos (usar os
diagramas de intera��o neste caso) ;

Modelagem do ciclo de vida de objetos (usar o
diagrama de estados neste caso).
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Atividades (2/12)

� Uma atividade � um estado de realiza��o de


algo:
� Um processo do neg�cio;
� Uma rotina de software;
� Um Diagrama de Atividades:
� Descreve uma seq��ncia de atividades;
� Suporta comportamento condicional e paralelo.
� 2008 Jos� Luiz G. Bastos Jr.

Diagrama de Atividades (3/12)

� Comportamento condicional:
� � delineado por desvios e intercala��es;
� Desvio:
� Uma transi��o de entrada;
� V�rias transi��es de sa�da guardadas;
� Somente uma transi��o de sa�da pode ser tomada;
� Intercala��o:
� M�ltiplas transi��es de entrada;
� Uma transi��o de sa�da;
� Marca o final de um desvio.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Atividades (4/12)
Diagrama de Atividades (5/12)

� Comportamento paralelo:
� � indicado por separa��es e jun��es;
� Separa��o:
� Uma transi��o de entrada;
� V�rias transi��es de sa�da;
� Uma transi��o de entrada dispara todas as transi��es de
sa�da;
� Jun��o:
� M�ltiplas transi��es de entrada;
� Sincroniza as atividades que acontecem em paralelo;
� Separa��o e jun��o devem se completar.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Atividades (6/12)
Diagrama de Atividades (7/12)


Thread condicional:
� Atividade com uma condi��o de guarda antes;

Se a condi��o for falsa a atividade � considerada
completada;

Permite que jun��es sejam feitas sem que atividades
paralelas sejam executadas.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Atividades (8/12)
Diagrama de Atividades (9/12)


Subatividades:
� Uma atividade pode ser dividida em subatividades;
� Pode-se usar estados de in�cio e fim no subdiagrama;

Pode-se projetar transi��es diretamente para dentro
ou para fora do subdiagrama.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Atividades (10/12)
Diagrama de Atividades (11/12)


Raias:
� Dizem quem faz o qu�;

Deve-se organizar o diagrama em zonas verticais
separadas por linhas;

Cada raia representa a responsabilidade de uma
classe, ator, departamento, etc.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Atividades (12/12)
An�lise e Projeto de Sistemas

Aula expositiva 07
Professor Jos� Luiz Bastos

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Estados (1/19)

� O Diagrama de Estados descreve o


comportamento de objetos em rela��o a
eventos;
� Apresenta uma seq��ncia de estados e
a��es que ocorrem durante a vida do objeto,
em resposta a eventos;
� O Diagrama de Estados mostra o ciclo de
vida de um objeto, ou seja, seus estados, os
eventos que causam a transi��o de um
estado para outro e as a��es que resultam
de uma mudan�a de estado.
� 2008 Jos� Luiz G. Bastos Jr.

Diagrama de Estados (2/19)

� Estado:
� � uma condi��o detectada durante o ciclo de vida de
um objeto quando ele:
� Satisfaz alguma condi��o;
� Realiza alguma atividade;
� Aguarda por algum evento;

O Estado de um objeto � uma das poss�veis condi��es
nas quais ele pode existir durante a sua vida.
� 2008 Jos� Luiz G. Bastos Jr.

Diagrama de Estados (3/19)

� Um estado � representado graficamente


como um ret�ngulo com cantos
arredondados;
� O nome do estado � colocado no centro do
mesmo.
Diagrama de Estados (4/19)

Compartimentos:

� Um estado pode ser opcionalmente


subdividido em compartimentos:
� Compartimento de Nome:
� Armazena o nome do estado, como uma string;
� Compartimento de transi��es internas:
� Armazena uma lista de a��es ou atividades internas que
s�o executadas enquanto o objeto se apresenta no
estado em quest�o.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Estados (5/19)
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Estados (6/19)
� Estados x atributos:
� O estado de um objeto pode ser caracterizado pelo
valor de um ou mais de seus atributos.
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Estados (6/19)
� Estados x atributos:
� O estado de um objeto pode ser caracterizado pelo
valor de um ou mais de seus atributos.
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Estados (7/19)
� Estados podem ser caracterizados pela
exist�ncia de um relacionamento com outro
objeto;
� Diagrama de estados da classe Professor:
Diagrama de Estados (8/19)


Estado inicial:
� Indica o local de in�cio do diagrama de estados;

Cada diagrama deve possuir um e apenas um estado
inicial(exceto para diagramas aninhados);
� Representa��o: Um c�rculo preenchido.
� 2008 Jos� Luiz G. Bastos Jr.
Diagrama de Estados (9/19)


Estado final:

Indica o fim da exist�ncia de um objeto ou o final da
realiza��o de uma atividade (para diagramas
aninhados);
� Um diagrama pode ter m�ltiplos estados finais.
Diagrama de Estados (10/19)


Transi��o:
� Relacionamento entre dois estados;

Indica que haver� uma mudan�a de estado e que
determinadas a��es ser�o executadas;
� Pode ocorrer como resultado de algum evento.
� Pode ter que satisfazer a alguma condi��o;
� O estado sucessor pode ser o estado original;
� � representada com uma seta do estado de origem
para o estado de destino.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Estados (11/19)
Diagrama de Estados (12/19)

assinaturaDoEvento [condi��oDeGuarda] / express�oA��o

� [condi��oDeGuarda]
� Quando verdadeira, permite que a transi��o seja feita;
� S� � avaliada depois que o evento ocorre;

V�rias transi��es a partir do mesmo estado de origem,
identificadas com o mesmo evento, se diferenciam
pela condi��o de guarda;
� � colocada entre colchetes;
� Exemplo:
Checar Estoque [estoqueAtual <= EstoqueM�nimo]

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Estados (13/19)

assinaturaDoEvento [condi��oDeGuarda] / express�oA��o


express�oA��o:

Somente � executada no in�cio da transi��o, se esta
ocorrer;
� Pode ser descrita com opera��es;
� � precedida por uma barra /;
� Exemplo:
� Nota lan�ada [nota = 7.0] / FechaProvasRegulares()
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Estados (14/19)
Diagrama de Estados (15/19)


Transi��es internas:

Atividades associadas ao estado e que devem ocorrer
na entrada, na perman�ncia, ou na sa�da do mesmo;

S�o associadas com qualquer transi��o entrando ou
saindo do estado;

S�o mostradas dentro do �cone do estado precedidas
pela palavra �entry�, �exit�ou �do�.
Diagrama de Estados (16/19)


Atividade:
� � uma opera��o que leva tempo para terminar;
� S�o associadas a um estado;
� Come�a quando o objeto entra no estado;

Pode executar at� terminar ou pode ser interrompida
pelo disparo de uma transi��o.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Estados (17/19)


Estados compostos:

Estados compostos podem ser utilizados para
simplificar diagramas de estados;

Um estado composto � um estado que engloba
estados internos concorrentes ou seq�enciais;
� Estados internos s�o denominados subestados;

Cada regi�o de um estado composto pode possuir
estados inicial e final;

Uma transi��o para um estado composto representa
uma transi��o para o estado inicial do referido estado
composto.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagrama de Estados (18/19)
Diagrama de Estados (19/19)

� Crie diagrama de estados apenas para


classes com um comportamento din�mico
significativo;
� Classes de Fronteira e Controle normalmente
possuem um comportamento din�mico
interessante de ser capturado em um
diagrama de estados.
� 2008 Jos� Luiz G. Bastos Jr.

An�lise e Projeto de Sistemas

Aula expositiva 08
Professor Jos� Luiz Bastos

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas de Intera��o (1/27)

� Intera��o corresponde a um conjunto de


mensagens trocadas entre objetos, com o
objetivo de alcan�ar determinado prop�sito,
respeitando-se o contexto do sistema;
� N�o confundir com itera��o, que representa
repeti��o.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas de Intera��o (2/27)

� Mostram as intera��es entre os objetos;


� Representam cen�rios de casos de uso e
s�o formados por:
� objetos;

� mensagens;
� relacionamentos;
� Podem ser representados de quatro formas:
� Diagrama de Seq��ncia;
� Diagrama de Comunica��o;
� Diagrama de Intera��o;
� Diagrama de Temporiza��o.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas de Intera��o (3/27)


Diagrama de Seq��ncia:
� Focaliza a ordem temporal de um fluxo;

Enfatiza a seq��ncia de mensagens dentro de uma
linha de tempo;

Diagrama de Comunica��o:
� Focaliza a comunica��o entre os objetos;

Enfatiza os relacionamentos estruturais entre os
objetos, sem se preocupar com o tempo;
� � interessante ressaltar que esses diagramas
apresentam formas diferentes de modelar os
mesmos elementos.
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas de Intera��o (4/27)


Diagrama Sum�rio de Intera��o:
� � uma varia��o do Diagrama de Atividades;

V�rias atividades s�o combinadas em seq��ncia
criando intera��es sum�rio;

Timing Diagram:

Focaliza a intera��o entre objetos e mudan�as de
estados destes objetos ao longo do tempo;

Prov� uma vis�o sobre a intera��o entre objetos e
seus estados com outros objetos em um sistema.
� 2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Seq��ncia (5/27)
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Comunica��o (6/27)
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Comunica��o (6/27)
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (9/27)
Mensagem:
� Uma mensagem � representada por uma seta, com o
nome da mensagem;
� O sentido da seta indica a origem da mensagem a
partir do objeto considerado cliente nesta rela��o. O
destino da seta indica o objeto servidor.
Diagramas de Intera��o (10/27)


As mensagens podem ir da esquerda para a direita
ou da direita para a esquerda;

A ordem das mensagens indica a seq��ncia
temporal, sendo a primeira localizada mais acima;

Mensagem de retorno:
� O diagrama pode incluir o retorno de uma mensagem;

Caracterize o retorno apenas quando melhorar a
compreens�o do diagrama.
2008 Jos� Luiz G. Bastos Jr.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Seq��ncia (11/27)
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Comunica��o (12/27)
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Comunica��o (12/27)
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (13/27)
� Linha de vida:
� Representa a vida do objeto dentro de um
determinado per�odo de tempo.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (14/27)
� Foco de controle:
� Representa o tempo durante o qual um objeto fica com
o controle do fluxo de execu��o.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (15/27)
� Notas:
� Um diagrama pode incluir anota��es com o objetivo de
adicionar informa��o.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (16/27)
� Os diagramas podem ser melhorados atrav�s
de descri��es;
� Descri��es podem ser escritas em linguagem
natural ou pseudo-c�digo.
� Notas:
� Um diagrama pode incluir anota��es com o objetivo de
adicionar informa��o.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (16/27)
� Os diagramas podem ser melhorados atrav�s
de descri��es;
� Descri��es podem ser escritas em linguagem
natural ou pseudo-c�digo.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (17/27)
� Um objeto que j� existe quando a transa��o
tem in�cio � mostrado alinhado ao topo do
diagrama, de forma a ficar acima da primeira
seta de mensagem.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (18/27)
� O objeto pode ser criado no momento do
envio da mensagem;
� A seta da mensagem aponta diretamente
para o objeto em quest�o.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (19/27)
� O objeto pode ser destru�do logo ap�s o
tratamento da mensagem, ou em qualquer
momento antes do fim da intera��o;
� Um X � colocado na linha de vida para
indicar a destrui��o do objeto.
� O objeto pode ser destru�do logo ap�s o
tratamento da mensagem, ou em qualquer
momento antes do fim da intera��o;
� Um X � colocado na linha de vida para
indicar a destrui��o do objeto.
Diagramas de Intera��o (20/27)


Condi��es s�o colocadas dentro de
colchetes;
� A mensagem s� ser� disparada se a
condi��o for verdadeira;
� Exemplo 1:
� [Mensalidade.pago = true] EmitirAutorizacaoDeProva()
� 2008 Jos� Luiz G. Bastos Jr.

Diagramas de Intera��o (21/27)


Itera��o:
� Repeti��o (n�o confundir com intera��o);

Representa o envio da mesma mensagem diversas
vezes para o mesmo objeto;

A itera��o � representada entre colchetes, precedida
de um asterisco *;

Dentro do colchete est� a condi��o que determinar�
quantas vezes a mensagem ser� passada;
� Exemplo:
� Calcular a m�dia dos alunos da turma da seguinte
maneira: para cada aluno da turma chamar a opera��o
CalcularMedia();
* [para cada aluno da turma] CalcularMedia()
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas de Intera��o (22/27)
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Comunica��o (23/27)
� Outra maneira de visualizar a intera��o entre
objetos;
� A maioria das ferramentas CASE cria de
forma autom�tica um Diagrama de
Comunica��o a partir de um Diagrama de
Seq��ncia e vice-versa.
� Outra maneira de visualizar a intera��o entre
objetos;
� A maioria das ferramentas CASE cria de
forma autom�tica um Diagrama de
Comunica��o a partir de um Diagrama de
Seq��ncia e vice-versa.
Diagramas de Seq��ncia (24/27)

� Exemplo de fluxo: Exclus�o de mercadoria;



O Gerente de Compras seleciona excluir uma
mercadoria;

O sistema verifica se existe algum pedido pendente
que contenha esta mercadoria;

Se n�o houver pedido pendente contendo a
mercadoria a ser exclu�da:
� O sistema desvincula a mercadoria dos fornecedores (os
fornecedores n�o mais fornecer�o a mercadoria que
esta sendo exclu�da);
� O sistema faz a remo��o da mercadoria;

Se houver pedido pendente contendo a mercadoria a
ser exclu�da:
� O sistema emite uma mensagem de erro.
� 2008 Jos� Luiz G. Bastos Jr.

� 2008 Jos� Luiz G. Bastos Jr.


Diagramas de Seq��ncia (25/27)
Diagramas de Intera��o (26/27)

Opera��es:

� Mensagens nos diagramas de intera��o:


� S�o mapeadas em opera��es da classe receptora;

Os nomes das opera��es devem ser relativos � classe
receptora;

A cria��o das opera��es pode ser adiada enquanto se
discutem alternativas de realiza��o.
� 2008 Jos� Luiz G. Bastos Jr.
Diagramas de Intera��o (27/27)

Relacionamentos:

� Podem ser descobertos atrav�s das


opera��es:

Exist�ncia de mensagens entre objetos nos diagramas
de intera��o;

Exist�ncia de algum tipo de relacionamento entre as
classes correspondentes.
� 2008 Jos� Luiz G. Bastos Jr.