Modulo_f_Diagramas
Transcript of Modulo_f_Diagramas
-
8/14/2019 Modulo_f_Diagramas
1/19
Diagrama
Diagramadede
Objetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira--
2006
2006
MMdulo VIdulo VIDiagramas de Objetos, deDiagramas de Objetos, deSeqSeqncia e de Grncia e de Grficos de Estadoficos de Estado
ObjetivoDescrever os conceitos e apresentar
possveis aplicaes
para destes diagramas
-
8/14/2019 Modulo_f_Diagramas
2/19
2
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de ObjetosDiagrama de Objetos
Faz a ilustraFaz a ilustrao de uma posso de uma possvel rede de objetosvel rede de objetosinterligados atravinterligados atravs dos relacionamentos de agregas dos relacionamentos de agregao eo eassociaassociao definidos em um diagrama de classe.o definidos em um diagrama de classe.
til para ilustrar e, principalmente, validar a modelagemtil para ilustrar e, principalmente, validar a modelagemdescrita por um diagrama de classesdescrita por um diagrama de classes
A estrutura interna dos objetos deve seguir a A estrutura interna dos objetos deve seguir aespecificaespecificao de atributos e relacionamentos definida noo de atributos e relacionamentos definida nodiagrama de classes.diagrama de classes.
As conexes estabelecidas entre os objetos deve respeitarAs conexes estabelecidas entre os objetos deve respeitaros relacionamentos definidos no diagrama de classesos relacionamentos definidos no diagrama de classes
UmaUma DiagramaDiagrama dede ObjetosObjetos umauma instnciainstncia de umde um DiagramaDiagrama dede
ClassesClasses..
-
8/14/2019 Modulo_f_Diagramas
3/19
3
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de ObjetosDiagrama de Objetos
NotaNotao:o: ::
umAlunoumAluno :: AlunoAluno
matrmatrcula =cula = 322003543322003543
cpfcpf== 1234567812345678--9090nome =nome = JosJos da Silvada Silva
: Turma: Turma
ccdigo =digo = EIN301EIN301--2121
EstEst matriculado emmatriculado em
-
8/14/2019 Modulo_f_Diagramas
4/19
4
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de ObjetosDiagrama de Objetos
Acrescentar o nome das associa Acrescentar o nome das associaes ao representar umaes ao representar umaagregaagregao ou associao ou associao entre objetos.o entre objetos.
Exemplo: Diagrama de Classes x Diagrama de ObjetosExemplo: Diagrama de Classes x Diagrama de Objetos
Departamento Empregado1..*1..*11 1..*1..*11
AlocaAloca
110..10..1
Gerenciado PorGerenciado Por
110..10..1
rh : Departamentorh : Departamento
josjos : Empregado: Empregado
mariamaria : Empregado: Empregado
llciacia : Empregado: Empregado
AlocaAloca
Gerenciado porGerenciado por
AlocaAlocaAlocaAloca
-
8/14/2019 Modulo_f_Diagramas
5/19
5
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de SeqDiagrama de Seqnciasncias
OO Diagrama de SeqDiagrama de Seqnciasncias uma importante ferramenta parauma importante ferramenta paravisualizavisualizao e especificao e especificao do comportamento do sistema poiso do comportamento do sistema poismostra a interamostra a interao entre os objetos.o entre os objetos.
Os casos de usos indicam funcionalidades do sistemaOs casos de usos indicam funcionalidades do sistema que soque sodisponibilizadas para os seus atores. Na documentadisponibilizadas para os seus atores. Na documentao desteso destescasos de uso deve constar uma descricasos de uso deve constar uma descrio em alto no em alto nvel dosvel dos
posspossveis eventos que o ator poderveis eventos que o ator poder gerar e quais sero asgerar e quais sero asaaes que o sistema ires que o sistema ir executar em resposta a estes eventos.executar em resposta a estes eventos.
Dentro de um sistema OO, existem objetos que reagem a estesDentro de um sistema OO, existem objetos que reagem a esteseventos, executando meventos, executando mtodos e enviando mensagens a outrostodos e enviando mensagens a outrosobjetos.objetos. O diagrama de seqO diagrama de seqncia nos ajuda a especificar oncia nos ajuda a especificar ofluxo de mensagens enviadas entre os objetosfluxo de mensagens enviadas entre os objetos..
AlAlm de especificar a execum de especificar a execuo de casos de uso,o de casos de uso, o diagrama deo diagrama de
seqseqncia pode ilustrar a execuncia pode ilustrar a execuo de uma operao de uma operaoo..
-
8/14/2019 Modulo_f_Diagramas
6/19
6
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de SeqDiagrama de Seqnciancia
Cada objetoCada objeto representado por uma caixa que identifica qualrepresentado por uma caixa que identifica qual ooobjeto e sua classe, e por uma linha vertical tracejada que reprobjeto e sua classe, e por uma linha vertical tracejada que representaesentao tempo em que esto tempo em que est vivo.vivo.
Enquanto o objeto tem o controle ou estEnquanto o objeto tem o controle ou est esperando o tesperando o trmino dermino deexecuexecuo de uma operao de uma operao, sua linha de vidao, sua linha de vida uma caixa verticaluma caixa vertical((caixa de ativacaixa de ativaoo). Caso contr). Caso contrrio,rio, representado por uma linharepresentado por uma linhatracejada.tracejada.
: Funcion: Funcionrio RHrio RH :: JanelaContratarEmpregadoJanelaContratarEmpregado:: CtrlContratarEmpregadoCtrlContratarEmpregado : Empregado: Empregado : Departamento: Departamento
abrir( )abrir( )
contratarEmpregadocontratarEmpregado( )( )
incluirEmpregadoincluirEmpregado(Empregado)(Empregado)
contratarEmpregadocontratarEmpregado( )( )
-
8/14/2019 Modulo_f_Diagramas
7/19
7
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006
Diagrama de SeqDiagrama de Seqnciancia A dimenso tempoA dimenso tempo expressa de cima para baixoexpressa de cima para baixo Mensagens so trocadas entre as linhas de vida do objetoMensagens so trocadas entre as linhas de vida do objeto
Tipos de Mensagem:Tipos de Mensagem: SimplesSimples
A mensagemA mensagem processada dentro do contexto de umaprocessada dentro do contexto de uma threadthread simples.simples.
SSncronancrona
A operaA operaoo executada somente quando o transmissor envia uma mensagemexecutada somente quando o transmissor envia uma mensagempara o receptor e este aceita a mensagem.para o receptor e este aceita a mensagem.
BalkingBalking O transmissor envia a mensagem somente se o receptor estiver totO transmissor envia a mensagem somente se o receptor estiver totalmentealmente
pronto para aceitar a mensagem; O transmissor abandona a mensagepronto para aceitar a mensagem; O transmissor abandona a mensagem se om se oreceptor no estiver pronto.receptor no estiver pronto.
TimeoutTimeout O transmissor abandona a mensagem se o receptor no puder manipuO transmissor abandona a mensagem se o receptor no puder manipular alar a
mensagem dentro de uma quantidade de tempo especificada.mensagem dentro de uma quantidade de tempo especificada.
AssAssncronancrona O transmissor envia a mensagem para o receptor para o processameO transmissor envia a mensagem para o receptor para o processamento ento e
continua a executar seu ccontinua a executar seu cdigo sem esperar pela resposta.digo sem esperar pela resposta.
-
8/14/2019 Modulo_f_Diagramas
8/19
8
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de SeqDiagrama de Seqnciancia
Retornos podem ser explicitamente denotados atravRetornos podem ser explicitamente denotados atravs linhas tracejadas.s linhas tracejadas.
Quando um mQuando um mtodo termina a sua caixa de ativatodo termina a sua caixa de ativaoo finalizada e a linha definalizada e a linha deativaativao volta a ser exibida como uma linha tracejadao volta a ser exibida como uma linha tracejada
A instanciaA instanciao de objetos pode ser expressa pelo estereo de objetos pode ser expressa pelo esteretipotipo eea destruia destruio pelo estereo pelo esteretipotipo
Objetos podem mandar mensagens para ele mesmo. AsObjetos podem mandar mensagens para ele mesmo. As autochamadasautochamadassoso
representadas por setas que tm como origem e destino a mesma carepresentadas por setas que tm como origem e destino a mesma caixa deixa deativaativao do objeto. Em algumas notao do objeto. Em algumas notaeses acrescentada uma outra caixa deacrescentada uma outra caixa deativaativao para denotar o tempo de execuo para denotar o tempo de execuo do mo do mtodo.todo.
Para explicitar uma condiPara explicitar uma condio para o envio de uma mensagem,o para o envio de uma mensagem, colocadocolocado
antes do nome da mensagem uma indicaantes do nome da mensagem uma indicao entreo entre [colchetes][colchetes] com o teste decom o teste decondicondio a ser efetuado.o a ser efetuado.
LoopsLoops so indicados adicionando um asteriscoso indicados adicionando um asterisco ** antes da condiantes da condio parao parapermanncia dopermanncia do looploop..
Ex:Ex: *[a < 30] mensagem( )*[a < 30] mensagem( ) ////whilewhile*[i = 1..30]mensagem(i)*[i = 1..30]mensagem(i) // for// for
-
8/14/2019 Modulo_f_Diagramas
9/19
9
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de SeqDiagrama de Seqnciancia
ExemploExemplo
: Ator: Ator : Janela: Janela : Controlador: Controlador : Classe Y: Classe Y : Classe Z: Classe Z
abrir( )abrir( )
executarFunexecutarFunoo( )( )
autochamadaautochamada( )( )
executarFunexecutarFunoo( )( )
[verificar condi[verificar condio]mo]mtodo B( )todo B( )
*[verificar condi*[verificar condio deo de looploop] m] mtodo C( )todo C( )
retornoretorno
retornoretorno
retornoretorno
Obs: Veja que naObs: Veja que na autochamadaautochamada hh uma nova caixa de ativauma nova caixa de ativaoo
-
8/14/2019 Modulo_f_Diagramas
10/19
10
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosdedeEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de SeqDiagrama de Seqnciancia
Extenses da UML 2.0Extenses da UML 2.0
AlternativaAlternativa ((altalt)) ImplementaImplementao do if como do if com elseelse sendo suportadosendo suportado
ParaleloParalelo (par)(par) Processamento paraleloProcessamento paralelo
LoopLoop ((looploop))
Teste opcional: [min,Teste opcional: [min, maxmax, teste], teste]
-
8/14/2019 Modulo_f_Diagramas
11/19
11
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosded
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006 Diagrama de SeqDiagrama de Seqnciancia
Teste
-
8/14/2019 Modulo_f_Diagramas
12/19
12
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosded
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2
006
Diagrama deDiagrama de GrGrficosficos dede EstadosEstados Representar transiRepresentar transies de estados do sistema.es de estados do sistema.
AplicaAplicaeses:: Sistemas de Tempo RealSistemas de Tempo Real
Caracterizados basicamente pela presenCaracterizados basicamente pela presena de sensores e, de acordo com asa de sensores e, de acordo com asinformainformaes obtidas destes artefatos, o sistema deveres obtidas destes artefatos, o sistema dever tomar decises que levemtomar decises que levemou noou no transitransio de estados.o de estados.
ProjetoProjetoAbstratoAbstratode Interfacede Interface ColaboraColaborao entre Classeso entre Classes
ElementosElementos EstadosEstados
AAeses
TransiTransieses de Estadode Estado EventoEventoA transiA transio sero ser realizada se a situarealizada se a situao indica ocorrer duranteo indica ocorrer durante
a presena presena em um estado. Na grande maioria das vezes um eventoa em um estado. Na grande maioria das vezes um eventoprovoca a transiprovoca a transio de um estado para a execuo de um estado para a execuo de uma ao de uma ao.o.
CondiCondiooA transiA transio sero ser realizada se determinada condirealizada se determinada condio foro forobtida. Este tipo de transiobtida. Este tipo de transio pode ligar uma ao pode ligar uma ao a um estado ou parao a um estado ou paraoutra aoutra ao.o.
-
8/14/2019 Modulo_f_Diagramas
13/19
13
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosded
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2006 Diagrama deDiagrama de GrGrficosficos dede EstadosEstados
NotaNotao Antigao Antiga Estados representados por retngulos. So ligados por transiEstados representados por retngulos. So ligados por transies quees que
apresentam a indicaapresentam a indicaoo eventoevento//aaoo
Exemplo: Exibir um menu quando o boto direito do mouseExemplo: Exibir um menu quando o boto direito do mouse pressionado.pressionado.
Inativo
boto direito pressionado/ exibir menu instantneo
Menuvisvel
boto direito liberado/ apagar menu instantneo
cursor movimentado/iluminar item do menu
14
-
8/14/2019 Modulo_f_Diagramas
14/19
14
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosded
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2006 Diagrama deDiagrama de GrGrficosficos dede EstadosEstados
NotaNotao UMLo UML EstadosEstados so representados porso representados por retngulosretngulos
TransiTransieses so representados porso representados por linhas com setaslinhas com setas
AAeses so representados porso representados por retngulos com cantosretngulos com cantos
arredondadosarredondados.. CondiCondieses so descritas porso descritas por [ ][ ]
A indicaA indicao doo do Estado InicialEstado Inicial feita porfeita por
A indicaA indicao doo do Estado FinalEstado Final feita porfeita por SuperSuper--EstadoEstado
um estado que contum estado que contm dentro dele outros estados.m dentro dele outros estados.
15
-
8/14/2019 Modulo_f_Diagramas
15/19
15
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosd
e
d
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2006 Diagrama deDiagrama de GrGrficos de Estadosficos de Estados
AtivaAtiva
InativaInativa
moedamoeda
introduzidaintroduzida
(quantia)(quantia)Recolhendo DinheiroRecolhendo Dinheiro
Entregar itemEntregar item Entregar TrocoEntregar Troco
Verificar item e Calcular trocoVerificar item e Calcular troco
[ troco = 0 ][ troco = 0 ] [ troco > 0 ][ troco > 0 ]
[ troco < 0 ][ troco < 0 ]item selecionadoitem selecionado
[ item vazio ][ item vazio ]
Adicionar SaldoAdicionar Saldo[moeda[moeda
vvlida]lida]
moeda introduzida (quantia)moeda introduzida (quantia)
[moeda inv[moeda invlida]lida]
Devolver MoedaDevolver Moeda[saldo zerado][saldo zerado]
Devolver SaldoDevolver Saldo
boto cancelarboto cancelar
16
-
8/14/2019 Modulo_f_Diagramas
16/19
16
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
nciaede
edeGrGrficos
ficosd
e
d
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2
006
2006 Diagrama deDiagrama de GrGrficos de Estadosficos de Estados
Projeto Abstrato de InterfaceProjeto Abstrato de Interface
ObjetivaObjetiva identificar os artefatos de interfaceidentificar os artefatos de interface quequedevero ser produzidos,devero ser produzidos, os eventosos eventos que precisamque precisamser monitorados pelo sistema, bem como quais soser monitorados pelo sistema, bem como quais so
as aas aeses que devero ser codificadas.que devero ser codificadas. Utilizamos o Diagrama de GrUtilizamos o Diagrama de Grficos de Estados paraficos de Estados para
documentar este projetodocumentar este projeto
Projeto Concreto de InterfaceProjeto Concreto de Interface ConstruConstruo dos artefatos identificados durante oo dos artefatos identificados durante o
projeto abstrato de interfaceprojeto abstrato de interface
17
-
8/14/2019 Modulo_f_Diagramas
17/19
17
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
n
ciaede
edeGrGrficos
ficosd
e
d
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2006
2006 Diagrama deDiagrama de GrGrficos de Estadosficos de Estados
Regra para o Projeto Abstrato de InterfaceRegra para o Projeto Abstrato de Interface
Para cada caso de usoPara cada caso de uso
um diagrama de grum diagrama de grficosficosde estadode estado
Cada estado representarCada estado representar um artefato de interfaceum artefato de interface
a ser produzido (tela,a ser produzido (tela, templatetemplate HTML, menuHTML, menusonoro, etc.)sonoro, etc.)
Cada evento associado a cada estado deverCada evento associado a cada estado dever serser
monitorado pelo artefato de interfacemonitorado pelo artefato de interface Cada aCada ao representaro representar um mum mtodo a sertodo a ser
adicionado na classe que efetuaradicionado na classe que efetuar o controle doo controle do
caso de uso (Controlador)caso de uso (Controlador)
18
-
8/14/2019 Modulo_f_Diagramas
18/19
18
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
n
ciaede
edeGrGrficos
ficosd
e
d
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2006
2006 Diagrama deDiagrama de GrGrficos de Estadosficos de Estados
Login
Verificar Conta e Senha
Menu
Principal
Erro
Verificar nmero de falhas
conta e senhaconta e senha
informadasinformadas
[conta e senha[conta e senhavvlidas]lidas]
[conta ou senha[conta ou senhainvinvlidas]lidas]
Mensagem LidaMensagem Lida
[[numErrosnumErros < 3]< 3]
[[numErrosnumErros = 3]= 3]
Caso de Uso: EfetuarCaso de Uso: Efetuar LoginLogin
19
-
8/14/2019 Modulo_f_Diagramas
19/19
19
Diagrama
DiagramadedeObjetos
Objetos,,
Seq
Seqncia
n
ciaede
edeGrGrficos
ficosd
e
d
eEstado
Estado--
Alessan
dro
Cerqueira
Alessan
dro
Cerqueira
--2006
2006
Exemplo: Manter TurmasExemplo: Manter Turmas
JanelaJanelaTurmasTurmas
ExibirTurmasExibirTurmas
ExibirJanelaIncluirTurmaExibirJanelaIncluirTurma
JanelaJanela
IncluirTurmaIncluirTurmaIncluirTurmaIncluirTurma
ErroErro
JanelaJanelaAlterarTurmaAlterarTurma JanelaJanelaExcluirTurmaExcluirTurma
ExibirJanelaAlterarTurmaExibirJanelaAlterarTurma
ExibirJanelaExcluirTurmaExibirJanelaExcluirTurma
AlterarTurmaAlterarTurma ExcluirTurmaExcluirTurma
Boto IncluirBoto Incluir
BotoBoto OkOk
[Incluso[Incluso OkOk]]
[Erro de Incluso][Erro de Incluso]
BotoBoto OkOkee[Voltar Incluso][Voltar Incluso]
BotoBotoCancelarCancelar
Boto AlterarBoto AlterarBoto ExcluirBoto Excluir
BotoBoto OkOk
[Altera[Alteraoo OkOk]]
BotoBotoCancelarCancelar
[Erro de Altera[Erro de Alterao]o]
BotoBoto OkOkee
[Voltar Altera[Voltar Alterao]o]
BotoBoto OkOkBotoBoto
CancelarCancelar
[Excluso[Excluso OkOk]]
[Erro de Excluso][Erro de Excluso]
BotoBoto OkOke [Voltar Excluso]e [Voltar Excluso]
BotoBotoSairSair