Você está na página 1de 18

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Anlise e Conceo de Sistemas de Informao


Licenciatura em Informtica 2 Ano
1 Semestre - 2013/2014 Aula 07 17 de dezembro de 2013
1
12-12-2013 Joo Samartinho

Sumrio & Objetivos


O Diagrama de Sequncia
Identificar o objetivo do Diagrama de Sequncia Enumerar e utilizar os smbolos prprios do Diagrama de Sequncia Definir o conceito de Mensagem entre objetos

Aula 07

Joo Samartinho & Joo Nascimento

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Diagramas de Sequncia
Neles so representados, de uma forma sequencial:
Objetos (instncias das classes do Diagrama de Classes) e as prprias Classes, quando se justifique; Troca de mensagens (essencialmente chamadas a mtodos dos objetos); Estruturas simples de controlo (if e repeat).

Pressupe-se existncia de um Diagrama de Classes. usual associar um Diagrama de Sequncia a um Caso de Utilizao (ou a um cenrio, i.e., um caminho alternativo de um Caso de Utilizao).

Aula 07

Joo Samartinho & Joo Nascimento

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Objeto
Um Objeto representa uma instncia de uma Classe, logo na sua representao dever constar a indicao da Classe respetiva.

p: Publicao
O mesmo objecto

O objeto p uma instncia da Classe Publicao

p: Publicao

Se num diagrama pretendemos referir duas vezes o mesmo objeto, ter que ser utilizado o mesmo identificador.

q: Publicao : Publicao

Objetos distintos da mesma Classe

Um qualquer objeto da classe Publicao (apenas se utiliza o identificador nas situaes em que pretendemos referir dois ou mais objetos da mesma classe).

Aula 07

Joo Samartinho & Joo Nascimento

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Objeto
Cada objeto participante representado por uma caixa em cima
duma linha vertical a trao interrompido ( linha de vida ) Podem aparecer atores (objetos externos ao sistema), normalmente a iniciar interaes O tempo decorre de cima para baixo

objecto1:Classe1
Cliente mensagem()

objecto2: Classe2

:Classe3

Aula 07

Joo Samartinho & Joo Nascimento

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Tipos de Mensagem
Uma Mensagem representa um ato de comunicao entre dois objetos (emissor e recetor). Quando uma mensagem ativada ocorre uma interao. Existem vrios tipos de interao pr-definidas:
Call o objecto emissor invoca um mtodo sobre um objeto recetor e fica a aguardar resposta (sncrona) para poder prosseguir; Return o objeto recetor do estmulo (mensagem sncrona) retorna um valor a quem lhe enviou a mensagem (emissor); Send o objeto emissor invoca um mtodo sobre um objeto recetor e prossegue a sua actividade sem necessidade de obter uma resposta (mensagem assncrona) Create (esteretipo) cria um objeto; Destroy (esteretipo) destri um objeto (um objeto pode-se destruir a ele prprio).

Aula 07

Joo Samartinho & Joo Nascimento

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Mensagens, Representao Grfica


Call
Calculo Sano()

t: Tabela Sanes

Passagem de parmetros: Calculo Sano (num dias atraso, tipo cliente)

Return

Calculo Sano() Joo Samartinho & Joo Nascimento

t: Tabela Sanes
Sano

Create / Destroy
Send
On error

<< create>>

<< destroy>>

r: Requisio

fr: frmRequisio

Simples

Um ecr pode ser considerado uma instncia da classe Forms.

Aula 07

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Mensagens condicionais, iteradas e com retorno


Uma mensagem condicional representada por uma condio de guarda entre parntesis reto [ ]
Exemplo: [x<0] invert(x,color) A mensagem s enviada se a condio se verificar Condies permitem mostrar vrias sequncias alternativas num nico diagrama

Uma mensagem iterada indicada com asterisco *, seguido ou no de uma frmula de iterao
Exemplo: *[i:=1..n] update(i)

O valor de retorno de uma mensagem sncrona pode ser indicado na chamada, com atribuio :=, ou na mensagem de retorno
Exemplo: ret := msg(args) Nome ret ser usado em mensagens e condies a seguir Tambm se pode escrever ret na mensagem de retorno

Aula 07

Joo Samartinho & Joo Nascimento

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Barra de ativao
Uma barra de ativao mostra o perodo de tempo durante o qual um objeto est a executar uma ao, quer diretamente, quer indiretamente, atravs de um mtodo invocado
inclui situao em que est espera de retorno de uma chamada sncrona

Em termos de processos, significa que o objeto tem um processo ou thread ativo associado A sua indicao opcional Retorno de chamada implcito no fim da barra de ativao Chamadas recursivas provocam barras empilhadas

Aula 07

Joo Samartinho & Joo Nascimento

no inclui situao em que um processo est adormecido espera de receber uma mensagem assncrona que o acorde

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Diagrama, Representao Grfica


Objetos
r: Requisio t: Tabela Sanes

[Dt Devoluo > Prazo Entrega] Sano

Calculo Sano()

Objeto em Atividade

<< destroy>>

Tempo

Aula 07

Joo Samartinho & Joo Nascimento

Representa a ativao de uma funo

Condio (Guarda)

10

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Diagrama, Representao Grfica


r: RClasse : TClass

(executar enquanto condio lgica for verdadeira)


[condio lgica *] Mtodo m1()

Objetos criados no diagrama Objetos que so criados e extintos no diagrama


{transient} [x = 0 ] << create >>

[x <> 0 ]

n: NClass

Dois perodos de atividade para o mesmo objeto

Aula 07

Joo Samartinho & Joo Nascimento

11

12-12-2013

Iterao

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Exemplo de um Diagrama
r: Requisio
OK_Click Bibliotecrio

c: Cliente

t: Tabela Sanes

p:Publicao
12-12-2013

Valida Cliente() Prazo Entrega [Dt Devoluo > Prazo Entrega] Sano Actualiza Stock()

<< destroy>>

Use Cases: Devolver Publicao, Atualizar Stock, Aplicar Sano

Aula 07

Joo Samartinho & Joo Nascimento

Calculo Sano()

12

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Diagrama com trajetos alternativos


r: Requisio
OK_Click Bibliotecrio Schmuller, 99 Permite trajetos alternativos das reas de controlo. Reala o facto de a sano nem sempre ser enviada ao objeto Requisio. Existem situaes (de que esta no um exemplo) em que a sua utilizao facilita a leitura (Schmuller, 99). << destroy>>

c: Cliente

t: Tabela Sanes

p:Publicao
12-12-2013

Valida Cliente()
Prazo Entrega [Dt Devoluo > Prazo Entrega] Calculo Sano() Sano Actualiza Stock()

Aula 07

Joo Samartinho & Joo Nascimento

13

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Exemplo de um Diagrama com ecr


{transient}

Confirma Dados Bibliotecrio Recolhe Requisio()

Valida Cliente() Prazo Entrega [Dt Devoluo > Prazo Entrega] Sano Actualiza Stock()

Calculo Sano()

Sano

<< destroy>>

Aula 07

Joo Samartinho & Joo Nascimento

14

12-12-2013

fr: frmRequisio

r: Requisio

c: Cliente

t: Tabela Sanes

p:Publicao

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Exemplo (parcial) de um Diagrama com Acesso a BD


{transient} {transient}

Confirma Dados Bibliotecrio

create

connect

create

Recolhe Requisio()

Actualiza Stock()

Trocam informao enquanto conectados

destroy

Extingue-se a ligao

Aula 07

Joo Samartinho & Joo Nascimento

15

12-12-2013

fr: frmRequisio

r: Requisio

:DbConnection

:tabelaPublicao

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Exemplo (parcial) de um Diagrama com Acesso a BD


{transient}

fr: frmRequisio
connect

Confirma Dados

{transient}

r: Requisio
Bibliotecrio Actualiza Stock() Recolhe Requisio()

A ligao permanente

Aula 07

Joo Samartinho & Joo Nascimento

16

12-12-2013

:DbConnection

:tabelaPublicao

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Relao com diagramas


de Comunicao
Diagrama de Comunicao = Diagrama de Objetos + Diagrama de Sequncia

de Casos de Utilizao
A um Caso de Utilizao podem corresponder vrios Diagramas de Sequncia, para descrever sequncias normais e sequncias excecionais de funcionamento Inicialmente, o sistema pode ser representado por um nico objeto; depois de conhecida a sua estrutura interna, podem-se representar objetos internos ao sistema

de Estados
Enquanto que um Diagrama de Comunicao mostra um comportamento possvel de um conjunto de objetos, com passagem de controlo entre objetos, um Diagrama de Estados mostra todos os comportamentos possveis de um nico objeto, com passagem de controlo entre estados Envio e receo de mensagens so aes e eventos nos diagramas de estados Intervalo de tempo entre duas mensagens um estado no diagrama de estados

de Atividades
Adequados para mostrar aes realizadas por um objeto que no envolvem comunicao com outros objetos Com "swimlanes", permitem mostrar sequncias alternativas e ciclos envolvendo vrios objetos

Aula 07

Joo Samartinho & Joo Nascimento

17

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Exemplo a representar
Represente o Diagrama de Sequncia com base no que conhece do caso de utilizao validao
Descrio Caso: Login Pr-condio: Utilizador no tem sesso ativa Ator: Utilizador Annimo Cenrio Principal: 1. Utilizador acabou de aceder ao sistema; 2. Sistema mostrou o ecr de Log-in (EC_LG); 3. Utilizador insere credenciais e acciona ok; 4. Sistema valida a existncia de um utilizador com tais credenciais e: 4.1 caso no encontre, rejeita e mostra erro; 4.2 caso encontre, cria uma sesso, e mostra o ecr adequado ao tipo de utilizador: Administrador (EC_Adm), ou Normal (EC_Nrm). Observaes: o utilizador dispe de 3 tentativas at ser bloqueado.

Aula 07

Joo Samartinho & Joo Nascimento

18

12-12-2013

A.C.S.I. Inf. 2

Escola Superior de Gesto e Tecnologia - Instituto Politcnico de Santarm

Você também pode gostar