Você está na página 1de 46

UNIPAC Araguari

FACAE - Faculdade de Cincias Administrativas e Exatas

SISTEMAS DE INFORMAO

Anlise de Sistemas II
2010/01

UML (Linguagem de Modelagem Unificada)


Aula 08

Universidade Presidente Antnio Carlos UNIPAC FACAE (Faculdade de Cincias Exatas)

Princpios de Anlise e Projeto de Sistemas com UML


2 edio
Eduardo Bezerra Editora Campus/Elsevier

Revisando...
Anlise Metodologias Paradigmas Orientao a Objetos Princpios bsicos de OO Conceitos bsicos de OO Operaes UML...

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Revisando...
Projeto de Sistemas com UML
Introduo Diagrama de casos de uso Identificao dos elementos do MCU Construo do MCU Documentao suplementar ao MCU O MCU em um processo de desenvolvimento iterativo e incremental
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 5

Revisando...
Modelagem de Classes de Anlise
Introduo Diagrama de classes Diagrama de objetos Tcnicas para identificao de classes Construo do modelo de classes Modelo de classes no processo de desenvolvimento

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Continuando...
Modelagem de Interaes
Introduo Diagrama de seqncia Diagrama de comunicao Modularizao de interaes Construo do modelo de interaes Modelo de interaes em um processo iterativo

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Captulo 7 Modelagem de Interaes


Somente aps a construo de diagramas de interao para os cenrios de um caso de uso, pode-se ter certeza de que todas as responsabilidades que os objetos devem cumprir foram identificadas -Ivar Jacobson.

Tpicos
Introduo Diagrama de seqncia Diagrama de comunicao Modularizao de interaes Construo do modelo de interaes Modelo de interaes em um processo iterativo

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Introduo
O objetivo dos modelos vistos at agora fornecer um entendimento do problema correspondente ao SSOO a ser desenvolvido. Entretanto, esses modelos deixam algumas perguntas sem respostas. No modelo de casos de uso: Quais so as operaes que devem ser executadas internamente ao sistema? A que classes estas operaes pertencem? Quais objetos participam da realizao deste caso de uso?
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 10

Introduo
No modelo de classes de anlise: De que forma os objetos colaboram para que um determinado caso de uso seja realizado? Em que ordem as mensagens so enviadas durante esta realizao? Que informaes precisam ser enviadas em uma mensagem de um objeto a outro? Ser que h responsabilidades ou mesmo classes que ainda no foram identificadas? Sesses CRC podem ajudar a identificar quais so as responsabilidades de cada objeto e com que outros objetos ele precisa colaborar. Mas sesses CRC no fornecem um modo de documentar essas interaes.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 11

Introduo
Para responder s questes anteriores, o modelo de interaes deve ser criado. Esse modelo representa mensagens trocadas entre objetos para a execuo de cenrios dos casos de uso do sistema. A construo dos diagramas de interao uma consolidao do entendimento dos aspectos dinmicos do sistema, iniciado nas sesses CRC. A modelagem de interaes uma parte da modelagem dinmica de um SSOO.
Diagramas de interao representam como o sistema age internamente para que um ator atinja seu objetivo na realizao de um caso de uso. A modelagem de um SSOO normalmente contm diversos diagramas de interao. O conjunto de todos os diagramas de interao de um sistema constitui o seu modelo de interaes.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 12

Introduo
Os objetivos da construo do modelo de interao so: 1. Obter informaes adicionais para completar e aprimorar outros modelos (principalmente o modelo de classes) Quais as operaes de uma classe? Quais os objetos participantes da realizao de um caso de uso (ou cenrio deste)? Para cada operao, qual a sua assinatura? Uma classe precisa de mais atributos? 2. Fornecer aos programadores uma viso detalhada dos objetos e mensagens envolvidos na realizao dos casos de uso.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 13

Mensagem
O conceito bsico da interao entre objetos a mensagem. Um sistema OO uma rede de objetos que trocam mensagens. Funcionalidades so realizadas pelos objetos, que s podem interagir atravs de mensagens. Um objeto envia uma mensagem para outro objeto quando o primeiro deseja que o segundo realize alguma tarefa. O fato de um objeto precisar de ajuda indica a necessidade de este enviar mensagens. Na construo de diagramas de interao, mensagens de um objeto a outro implicam em operaes que classes devem ter.
Uma mensagem representa a requisio de um objeto remetente a um objeto receptor para que este ltimo execute alguma operao definida para sua classe. Essa mensagem deve conter informao suficiente Princpios de do Anlise e Projeto de Sistemas com UML - ser 2 edio 14 para que a operao objeto receptor possa executada.

Mensagens versus responsabilidades


Qual o objetivo da construo dos diagramas de interao? Identificar mensagens e, em ltima anlise, responsabilidades (operaes e atributos)

Uma mensagem implica na existncia de uma operao no objeto receptor. A resposta do objeto receptor ao recebimento Princpios de Anlise Projeto de Sistemas UML - 2 edio de uma mensagem aeexecuo da com operao correspondente.

15

Sintaxe da UML para mensagens


Na UML, o rtulo de uma mensagem deve seguir a seguinte sintaxe:
[[expresso-seqncia] controle:] [v :=] nome [(argumentos)]

Onde o termo controle pode ser uma condio ou uma iterao:


* [ clusula-iterao ] [ clusula-condio ]

O nico termo obrigatrio corresponde ao nome da mensagem.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

16

Exemplos (sintaxe UML para mensagens)


Mensagem simples, sem clusula alguma. 1: adicionarItem(item) Mensagem com clusula de condio. 3 [a > b]: trocar(a, b) Mensagem com clusula de iterao e com limites indefinidos. 2 *: desenhar( ) Mensagem com clusula de iterao e com limites definidos. 2 *[i := 1..10]: figuras[i].desenhar( ) Mensagem aninhada com retorno armazenado na varivel x. 1.2.1: x := selecionar(e)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

17

Exemplos (sintaxe UML para mensagens)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

18

Exemplos (sintaxe UML para mensagens)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

19

Notao para objetos


Objetos so representados em um diagrama de interao utilizando-se a mesma notao do diagrama de objetos. Pode-se representar objetos annimos ou objetos nomeados, dependendo da situao. Elementos de uma coleo tambm podem ser representados. Classes tambm podem ser representadas.
Para o caso de mensagens enviadas para a classe. Uma mensagem para uma classe dispara a execuo de uma operao esttica. A representao de uma classe em um diagrama de seqncia a mesma utilizada para objetos, porm o nome da classe no sublinhado

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

20

Multiobjetos
Um multiobjeto o nome que a UML d para uma coleo de objetos de uma mesma classe. Pode ser utilizado para:
representar o lado muitos de uma associao de conectividade um para muitos. representar uma lista (temporria ou no) de objetos sendo formada em uma colaborao.

Um multiobjeto representado na UML atravs de dois retngulos superpostos.


A superposio dos retngulos evita a confuso com a notao usada para objetos. O nome do multiobjeto apresentado no retngulo que fica por cima e segue a mesma nomenclatura utilizada para objetos. Conveno: usar o nome da classe de seus elementos para nomear o multiobjeto.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 21

Notao para multiobjetos


Uma multiobjeto representado graficamente na UML atravs de dois retngulos superpostos.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

22

Mensagens para Objetos/Coleo


Uma mensagem pode ser enviada para um multiobjeto, ou pode ser enviada para um nico objeto (elemento) do multiobjeto. Quando o smbolo de iterao no usado, convenciona-se que a mensagem est sendo enviada para o prprio multiobjeto. Exemplo:

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

23

Tipos de diagrama de interao


H trs tipos de diagrama de interao na UML 2.0:
diagrama de seqncia, diagrama de comunicao e diagrama de viso geral da interao.

O diagrama de seqncia e o diagrama de comunicao so equivalentes.


Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 24

Tipos de diagrama de interao


Diagrama de seqncia: foco nas mensagens enviadas no decorrer do tempo.

Diagrama de comunicao: foco nas mensagens enviadas entre objetos que esto relacionados. Diagrama de viso geral de interao. pode ser utilizado para apresentar uma viso geral de diversas interaes entre objetos, cada uma delas representada por um diagrama de interao. Diagrama til para modularizar a construo do diagramas de seqncia (ou de comunicao).
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 25

7.2 Diagrama de seqncia

Diagrama de seqncia
Os objetos participantes da interao so organizados na horizontal. Abaixo de cada objeto existe uma linha (linha de vida) Cada linha de vida possui o seu foco de controle.
Quando o objeto est fazendo algo.

As mensagens entre objetos so representadas com linhas horizontais rotuladas partindo da linha de vida do objeto remetente e chegando a linha de vida do objeto receptor. A posio vertical das mensagens permite deduzir a ordem na qual elas so enviadas. Ordem de envio de mensagens em um diagrama de seqncia pode ser deduzida a partir das expresses de seqncia. Criao e destruio de objetos podem ser representadas.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 27

Elementos grficos de um DS
Elementos bsicos em um diagrama de seqncia: Atores Objetos, multiobjetos e classes Mensagens Linhas de vida e focos de controle Criao e destruio de objetos Iteraes

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

28

Elementos grficos de um DS

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

29

Mensagens reflexivas em um DS
Em uma mensagem reflexiva (ou auto-mensagem) o remetente tambm o receptor.
Corresponde a uma mensagem para this (self). O que isso significa na prtica?

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

30

Criao/destruio de objetos em um DS

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

31

7.3 Diagrama de comunicao

Diagrama de comunicao
Chamado de diagrama de colaborao na UML 1.X. Estruturalmente, bastante semelhante a um diagrama de objetos.
A diferena que so adicionados setas e rtulos de mensagens nas ligaes entre esses objetos.

As ligaes (linhas) entre objetos correspondem a relacionamentos existentes entre os objetos.


Deve haver consistncia com o diagrama de classes...

Os objetos esto distribudos em duas dimenses


Vantagem: normalmente permite construir desenhos mais legveis comparativamente aos diagramas de seqncia. Desvantagem: no h como saber a ordem de envio das mensagens a no ser pelas expresses de seqncia.

Direo de envio de mensagem indicada por uma seta prxima ao rtulo da mensagem.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio 33

Elementos grficos de um DC
Elementos bsicos em um diagrama de comunicao: Atores Objetos, multiobjetos e classes Mensagens Ligaes entre objetos Criao e destruio de objetos Iteraes

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

34

Elementos grficos de um DC

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

35

Criao de objetos em um DC
Durante a execuo de um cenrio de caso de uso, objetos podem ser criados e outros objetos podem ser destrudos. Alguns objetos podem sobreviver execuo do caso de uso (se conectando a outro objetos); outros podem nascer e morrer durante essa execuo. A UML define etiquetas (tags) para criao e destruio de objetos (ou de ligaes entre objetos) no diagrama de comunicao.
{new}: objetos ou ligaes criados durante a interao. {destroyed}: objetos ou ligaes destrudos durante a interao. {transient}: objetos ou ligaes destrudos e criados durante a interao.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

36

Criao de objetos em um DC

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

37

Exemplos
Diagrama de Colaborao. um modo alternativo para representar a troca de mensagens entre um conjunto de Objetos. O Diagrama de Colaborao mostra a interao organizada entorno dos Objetos e suas ligaes uns com os outros. Diagrama de Seqncia mostra a interao entre os Objetos ao longo do tempo. Apresentando os objetos que participam da interao e a seqncia de mensagens trocadas.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

38

2: validar acesso

1:entrar com chave de acesso

3:entrar com o semestre

Rubens 4:criar nova matrcula

formulrios de registro

5:apresentar em tela

cursos disponveis 6:obter cursos

formulrio de matrcula

Diagrama de Colaborao

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

39

formulrios de registro

formulrio de matrcula

cursos disponveis

Rubens

entrar com chave de acesso validar acesso

entrar com o semestre

criar nova matrcula


apresentar em tela obter cursos

Diagrama de Seqncia

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

40

Diagrama de sequncia relativo ao caso de utilizao "Emprstimo"


: SIB

: Scio

: Funcionrio

Pede publicao emprestada Identifica publicao Mostra restantes dados da publicao Pede carto de scio Mostra carto de scio Identifica scio Mostra restantes dados do scio Confirma dados Imprime requisio Entrega requisio para assinar Devolve requisio assinada Empresta publicao Informa prazo para dev oluo

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

41

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

42

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

43

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

44

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

45

7.4 Modularizao de interaes


Prximo captulo...