Logo Passei Direto
Buscar

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

5/24/13'
1'
Diagrama'de'Sequência0
Le#cia'Duboc'
IME/DICC'–'UERJ'5'1º'Semestre'2013'
!
Bibliografia'
FlickrCCByΒethan'
•  Aula!baseada!em!
o  Bezerra!E..!Princípios'de'Analise'e'Projeto'de'Sistemas'com'UML.!
Editora!Campos.!2007.!Capítulo!6.!!
o  h;p://www.uml?diagrams.org/sequence!
•  Leitura!complementar!
o  Booch!G.,!Rumbauch!J,!
Jacobson!I.,!!UML'Guia'do'
Usuário.'2ª!Edição.!Editora!
Campus.!2005.!Capítulos!19.!!
!
5/24/13'
2'
Agenda'
•  Fases!de!análise!e!de!
projeto!
•  Modelos!dinâmicos!
•  Modelos!de!interação!
•  Elementos!do!diagrama!de!
sequência!
o  ParWcipantes!
o  Mensagens!
•  Exemplo!
Fliker=CC:=By=Jodene'
Na=Fase=de=Análise'
Diagrama=de=Casos=de=Uso=(UML)' Diagrama=de=Classes=(UML)'
Esclarecem'o'problema'a'ser'resolvido0
5/24/13'
3'
Deixa=algumas=perguntas...'
•  Quais!operações!devem!ser!
executadas!internamente!
no!sistema?!
•  A!que!classes!essas!
operações!pertencem?!
•  Quais!objetos!parWcipam!da!
realização!deste!caso!de!
uso?!
Diagrama=de=Casos=de=Uso=(UML)'
Deixa=outras=perguntas...'
•  De!que!forma!os!objetos!
colaboram?!!
•  Em!que!ordem!as!
mensagens!são!enviadas?!
•  Que!informações!devem!
ser!enviadas?!
•  Responsabilidade!ou!
classes!não!idenWficadas?!
Diagrama=de=Classes=(UML)'
5/24/13'
4'
Na=Fase=de=Projeto'
Define9se'a'solução'do'problema0
define=aspectos=dinâmicos' refina=aspectos=estruturais' define=arquitetura'
persistência=dos=dados' projeto=da=interface=gráfica' define=algoritmos'
P: PatientInfo
ViewInfo (PID)
report (Info, PID,
UID)
authorize (Info,
UID)
Patient info
D: MHCPMS-DB AS: Authorization
authorization
Error (no access)
[authorization OK]
[authorization fail]
Medical Receptionist
alt
Aspectos=Dinâmicos'
Modelo=de=Interações'
Modelo==de=Estados'
Modelo=de=Atividades'
Confirm
detention
decision Find secure
place
Admit to
hospital
Transfer to
police station
Transfer to
secure hospital
Inform next
of kin
Inform
social care
Inform
patient of
rights
Update
register
«system»
Admissions
system
«system»
MHC-PMS
«system»
MHC-PMS
Record
detention
decision
[dangerous]
[not available]
[not
dangerous]
[available]
Full power
Enabled
do: operate
oven
Full
power
Half
power
Half
power
Full
power
Number
Door
open
Door
closed
Door
closed
Door
open
Start
do: set power
= 600
Half power
do: set power
= 300
Set time
do: get number
exit: set time
Disabled
Operation
Cancel
Waiting
do: display
time
Waiting
do: display
time
do: display
 'Ready'
do: display
'Waiting'
Timer
Timer
5/24/13'
5'
Modelagem=de=Interações'
•  Ajudam!a!entender!e!documentar!os!aspectos!dinâmicos!do!
sistema!
•  Realização!do!caso!de!uso!
o  mensagens!enviadas!e!recebidas!pelos!objetos!que!fazem!parte!do!
caso!de!uso!
o  descreve!o!comportamento!do!ponto!de!vista!interno!ao!sistema!
P: PatientInfo
ViewInfo (PID)
report (Info, PID,
UID)
authorize (Info,
UID)
Patient info
D: MHCPMS-DB AS: Authorization
authorization
Error (no access)
[authorization OK]
[authorization fail]
Medical Receptionist
alt
P: PatientInfo
ViewInfo (PID)
report (Info, PID,
UID)
authorize (Info,
UID)
Patient info
D: MHCPMS-DB AS: Authorization
authorization
Error (no access)
[authorization OK]
[authorization fail]
Medical Receptionist
alt
Quantos'modelos'de'
interação''
para'cada'caso'de'uso?0
Depende…!!
•  um!para!o!caso!de!uso!(se!for!simples)!
•  um!para!cada!cenário!
•  um!para!parte!de!um!cenário.!!!
5/24/13'
6'
Aspectos=Dinâmicos=(1)'
Diagrama=de=Sequência' Diagrama=de='
comunicação/colaboração'
ênfase=na=
ordem=
temporal=das=
mensagens'
ênfase=no=
relacionament
o=que=há=entre=
os=objetos'
é=possível=
fazer=uma=
equivalência'
Aspectos=Dinâmicos=(2)'
Diagrama=de=visão=geral=
da=interação'
modulariza=os=
outros=
diagramas'
5/24/13'
7'
Elementos=do=Diagrama=de=Sequência'
Participante'
Diagrama=de=sequência=
é=feito=de=uma=coleção=
de=“participantes”='
“Participantes”=
interagem=um=com=o=
outro='
Linha=de=vida=
representa=um=
participante=
individual=na=
interação='
5/24/13'
8'
Atores'
•  Atores!do!caso!de!uso!podem!ser!representados!no!
diagrama!de!sequência!
Ator=primário=
envia=a=
mensagem=
que=inicia=a=
interação=
entre=objetos'
'
Objetos'
normalmente=quando=
precisa=ser=referênciado=
em=mais=de=um=lugar'
'
objeto'
nomeado'
objeto'
anônimo' objeto=em=uma=
coleção'
'
nome=da=classe'
elemento=
seletor'
5/24/13'
9'
Coleções=de=Objetos'
•  É!uma!coleção!de!objetos!de!uma!mesma!classe!
•  Mensagem!pode!ser!enviada!a!coleção!como!um!todo!
o  mover!cursor!para!o!primeiro!elemento!
o  retornar!próximo/i?ésimo!objeto!
o  adicionar/remover/encontrar!um!objeto!
o  retornar!número!de!objetos!
o  retornar!se!há!outros!objetos!
representado=
por=dois=
retângulos=
superpostos'
'
exemplos=de=
mensagens'
'
Mensagem'
É!uma!solicitação!de!execução!de!uma!operação!!
ou!o!envio!e!o!recebimento!de!um!sinal!
Remetente' Receptor'
mensagem=deve=
conter=informações=
suficientes=para=que=
a=operação=seja=
executada'
começa=
execução'
termina=
execução'
periodo=em=que=
executa=uma=
unidade=de=
comportamento'
5/24/13'
10'
Natureza=da=Mensagem=(1)'
Síncrona' Assíncrona'
Remetente=fica=bloqueado=
ate=que=o=receptor=
processe=a=mensagem'
Remetente=não=espera=a=
resposta=para=prosseguir=
com=o=processamento'
Natureza=da=Mensagem=(2)'
de=Retorno' Reflexiva'
Especifica=o=retorno=de=
uma=mensagem=enviada=
anteriormente'
Envia=mensagem=
a=si=mesmo'
5/24/13'
11'
Natureza=da=Mensagem=(3)'
de=criação' de=destruição'
Como=não=tem=notação=
específica,=pode=usar=o=
estereotipo=<<destroy>>'
Linha=de=vida=inicia=
mais=abaixo,=na=
posição=em=que=é=
criado'
Natureza=da=Mensagem=(4)'
perdida' encontrada'
Origem=está=fora=do=
escopo=da=descrição'
Interpretada=como=
a=mensagem=não=
alcançou=seu=
destino'
5/24/13'
12'
Tipos=de=Mensagens=(Resumo)'
Síncrona'
Assíncrona'
de=Retorno'
de=Criação'
Reflexiva'
Perdida'
Encontrada'
Sintaxe=da=Mensagem'
nome'
operação'
argumentos'
5/24/13'
13'
Sintaxe=da=Mensagem'
expressão=
sequência'
enviada=por=causa=de=
uma=msg=anterior'
Sintaxe=da=Mensagem'
controle/guarda'
(cláusulamcondição)'
condicionado=a=uma=
expressão=lógica'
5/24/13'
14'
Sintaxe=da=Mensagem'
controle='
(cláusulamiteração)'
número=de=vezes=que=a=
mensagen=será=emitida'
Sintaxe=da=Mensagem'
controle='
(cláusulamiteração)'
limite=indefinido'
5/24/13'
15'
Sintaxe=da=Mensagem'
controle'
=(cláusulamcondição)'
pseudomcódigo'
Sintaxe=da=Mensagem'
variável=de=retorno'
valor=retornável=
pela=operação'
5/24/13'
16'
Quadros=de=Interação'
Encapsula!um!diagrama!
de!sequência!
Quadros=de=Interação'
Dá!nome!ao!diagrama!
dentro!do!quadro!
Referencia!um!diagrama!
definido!separadamente!
5/24/13'
17'
=
Quadros=de=Interação'
sd:!Diagrama!de!
Sequencia!
Referencia!um!diagrama!
definido!separadamente!
comm:!Diag.!de!comunicação!!
acWvity:!Diag.!de!aWvidade!
Quadro=de=Interação'
Fragmento!encapsulado!
Permite!a!definição!de!uma!
lógica!no!diagrama!Operandos!da!Interação!
alt:!modela!
“se?então?
senão”!
5/24/13'
18'
Quadro=de=Interação'
opt:!modela!
se…então!
vinculado!a!
um!operando!
se!a!condição!não!for!
verdadeira,!!não!
executa!o!operando!
Quadro=de=Interação'
loop:!operação!deve!ser!realizada!
um!número!de!vezes!
vinculado!a!
um!operando!
se!a!condição!não!for!
verdadeira,!!não!
executa!o!operando!
5/24/13'
19'
Exemplo:=Realizar=Inscrição'
Exemplo=completo:=Bezerra,=seção.=7.7'
2.=O=sistema=apresenta=as=disciplinas=para=as=quais=o=aluno=tem=prém
requisito=(conforme=RN3),=excetuandomse=as=que=já=tinha=cursado'
Obter=Disciplinas=Possíveis'
Exemplo=completo:=Bezerra,=seção.=7.7'
passagem=
do=tempo'
uma!das!disciplinas!ainda!
não!cursada!pelo!aluno!
representa!um!
grupo!de!objetos!
5/24/13'
20'
Considerações'
Coesão:=quão=
fortemente=
relacionadas=e=
focada=estão=as=
resposabilidades=
de=uma=classe'
Devemse=buscar=alta=coesão=e=baixo=acoplamento'
Coesão:=a=medida=
de=quão=fortemente=
uma=classe=está=
conectada=a=outras'
Uma!mensagem!é!uma!
dependência!entre!
classes!!
Construção=do=Modelo'
Voltaremos=a=este=tópico=depois=de=estudar=
o=diagrama=de=classes=de=projeto.'
5/24/13'
21'
Relembrando…'
Ummm….'
P: PatientInfo
ViewInfo (PID)
report (Info, PID,
UID)
authorize (Info,
UID)
Patient info
D: MHCPMS-DB AS: Authorization
authorization
Error (no access)
[authorization OK]
[authorization fail]
Medical Receptionist
alt
Entre=os=Modelos=da=Fase=de=Projeto…'
Modelo=de=Interações'
Modelo==de=
Estados'
Modelo=de=Atividades'
Confirm
detention
decision Find secure
place
Admit to
hospital
Transfer to
police station
Transfer to
secure hospital
Inform next
of kin
Inform
social care
Inform
patient of
rights
Update
register
«system»
Admissions
system
«system»
MHC-PMS
«system»
MHC-PMS
Record
detention
decision
[dangerous]
[not available]
[not
dangerous]
[available]
Full power
Enabled
do: operate
oven
Full
power
Half
power
Half
power
Full
power
Number
Door
open
Door
closed
Door
closed
Door
open
Start
do: set power
= 600
Half power
do: set power
= 300
Set time
do: get number
exit: set time
Disabled
Operation
Cancel
Waiting
do: display
time
Waiting
do: display
time
do: display
 'Ready'
do: display
'Waiting'
Timer
Timer
5/24/13'
22'
Linha=de=vida=
representa=um=
participante=
individual=na=
interação='
Remetente' Receptor'
mensagem'
periodo=em=que=
executa=uma=
unidade=de=
comportamento'
5/24/13'
23'
Síncrona'
Assíncrona'
de=Retorno'
de=Criação'
Reflexiva'
Perdida'
Encontrada'
Leitura=Recomendada'
Scos=W.=Ambler'
The'Elements'0
of'0
UML'2.0'Style0
(cap.=7)'

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?