Modulo_f_Diagramas

download Modulo_f_Diagramas

of 19

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