uml

Download Uml

If you can't read please download the document

Upload: paulo-vieira-feitor

Post on 26-Jun-2015

7.405 views

Category:

Documents


3 download

TRANSCRIPT

2. Elementos grficos H trs tipos de relacionamentos topolgicos importantes: conexo normalmente de linhas para formas 2-d reteno de smbolos para formas 2-d com limites anexo visual: um smbolo que est prximo a outro em um diagrama H quatro tipos de elementos grficos de construo: cones smbolos 2-d caminhos texto2 3. Diagramas da UML Diagrama de classe Diagrama de caso de uso Diagramas de interao: Diagrama de seqncia Diagrama de colaborao Diagrama de estado Diagrama de atividade Diagramas de implementao: Diagrama de componente Diagrama de implantao3 4. Perspectiva Tipo de modelo Linguagem de modelagemModeloTexto emFora do Caso de Descrio delinguagemsistema usocaso de uso natural implementaDiagrama de seqnciatempoDentro do Colabora-Diagrama deDescrio deespao uma instncia desistema ocolaborao interaotrabalho Pode ser ilustrado porDiagrama uma instncia de de atividade um ou maisDiagrama de seqncia Caminhotempo deDiagrama deDescrio de execuoCenrioespao colaboraocenrio atravs dotrabalho sistemaDiagrama de atividade4 5. Notaes genricas da UML 5 6. Pacote Mecanismo de propsito geral para organizar elementos demodelo em grupo So pores principais resultantes da subdiviso em limites decoeso lgica funcional Se for possvel dar um nome a um grupo de classes, isso podeindicar a existncia de um bom agrupamento para pacote Um pacote pode estar aninhado em outro pacote Nome do pacote Contedo do pacote Se o contedoouSe o contedo nofor mostrado for mostrado 6 7. Pacote PessoaParteIndivduo Organizao7 8. Dependncia de pacotes DependnciaCliente FornecedorPacotepacoteClasse 1Classe 2Nome do pacoteClasse 3Se uma classe em um pacote precisa utilizar uma classe emoutro pacote pode-se desenhar uma dependncia (dependncias no so transitivas)8 9. Esteretipo Palavra sugerida por Rebecca Wirfs-Brock para criar umametaclassificao de elementos na UML Introduz novos elementos no metamodelo para permitir queusurios estendam a capacidade de modelagem da linguagem Todo elemento na UML pode ter no mximo um esteretipo Esteretipos com semntica predefinida na UML so: Classe e esteretipos de objeto; Evento Exceo Utilitrio Interface MetaclassegerarExtensoDeValor(valor) Utilitrio verificarFeriado(data) Esteretipos de tarefa ... Processo: tarefa de impacto Thread: tarefa mais simples 9 10. EsteretipoEsteretipo EsteretipoNome da Classe Nome da ClasseAtributoAtributoAtributo: tipo do dadoAtributo: tipo do dadoAtributo: tipo do dado = valor inicialAtributo: tipo do dado = valor inicial... ...OperaoOperaoOperao (lista de argumentos): tipo de resultado Operao (lista de argumentos): tipo de resultado... ...EsteretipoClasse AClasse B10 11. Nota Um comentrio colocado em um diagrama sem qualquercontedo semntico Aparece em diagramas particulares e pode ser anexada a zeroou mais elementos de modelagem atravs de linhas tracejadas mostrada como um retngulo com canto curvado no cantodireito superior contendo um texto arbitrrioEste diagrama foi elaborado para preparao do livroModelagem de Objetos11 12. Diagrama de Classe12 13. Diagrama de classes Essncia da UML resultado de uma combinao de diagramaspropostos por OMT, Booch e vrios outros mtodos Estrutura lgica esttica em uma superfcie de duas dimensesmostrando uma coleo de elementos declarativos de modelo,como classes, tipos e seus contedos e relaes Relacionamentos no diagrama de classes Generalizao/especificao Indica relacionamentos superclasse/subclasse, tambm conhecidos comoherana ou classificao (i.e. uma enfermeira uma pessoa) Agregao Usada para denotar relacionamentos todo/parte (i.e. um item de compra parte de um pedido) Associao Utilizada para denotar relacionamentos entre classes no correlatas (i.e. umcliente pode alugar vrias fitas de vdeos) 13 14. Diagrama de classe Associao IndivduoPedidoClientecdigoDoClientelimiteDeCredito{ou}incluirPedido( )atenderPedido( )1AgregaoOrganizaoAtributosMultiplicidade* ClassePedido, item quantidadeOperaesOrganizao incluirItemPedido( )cliente calcularTotalPedido( )Produto Generalizao Classe associativaSuperclasse{disjuno, incompleto}Subclasse Leite ChocolateBiscoito Restrio 14 15. Objeto Uma unidade real ou abstrata, individualizada e identificvelque modela um conceito presente na realidade humana,ocupando espao fsico (mundo fsico) ou lgico (na memria) A identidade de um objeto uma propriedade que o distinguede todos os demais, sendo preservada at mesmo quando seuestado muda por completoPessoa Equipamento Dinheiro15 16. Classe Classe a representao de um conjunto de coisas reais ouabstratas que so reconhecidas como sendo do mesmo tipo porcompartilhar as mesmas caractersticas de atributos, operaes,relaes e semntica Uma descrio que relaciona algum nmero de objetos Retrato para um grupo arbitrrio de objetos relacionados, masno necessariamente idnticosNome da classe atributo atributo: tipo do dado atributo: tipo do dado = valor inicial ... operao operao (lista de argumentos): tipo de resultado ... 16 17. Classe e objetosClasse Indivduo Indiv. A Indiv. BIndiv. D Indiv. N Indiv. CClasse = grupo deobjetos similaresque compartilhamatributos ecomportamentosemelhantesObjetos = ocorrncias de uma classe17 18. AbstraoOrganizao+cdigoDaOrganizao+nomeDaOrganizao+endereoDaOrganizaoClienteFornecedor18 19. Obtendo classes Representam normalmente os substantivos no domnio deaplicao Classes grandes so mais difceis de entender e reutilizar.Devemos criar classes de objetos que possuam propsitos bemdefinidos para ajudar na reutilizao por outras aplicaes Classes menos complicadas so mais fceis de entender emanter, e se uma classe no puder ser explicada em algumasoraes ou no mximo alguns pargrafos, ou ainda ter muitasoperaes ou se tornar confusa, so fortes candidatas asubdiviso em classes menores19 20. Uma classe pode ser... Algo tangvel e/ou visvel, tal como pessoas, equipamentos,minerais Coisas intangveis e/ou simblicas, tais como qualidade,planejamento, responsabilidades Alguma coisa que possa ser concebida intelectualmente oudireciona-se ao ou pensamento Dispositivos ou sistemas exteriores com os quais a aplicaointerage Eventos temporais ou externos 20 21. Viso corporativa versus departamentalizadaViso corporativaOrganizaoCliente Fornecedor Viso departamentalizada21 22. Natureza dos objetos para obteno de classes* *Indivduo OrganizaoRelao indivduoorganizao{sobreposio, incompleto} Prestador de Acionista Consumidor Funcionrio servio22 23. Padro para desenho de classes Uma classe desenhada como sendo uma caixa retangularcom trs compartimentos: nome de classe no compartimento superior uma lista de atributos no compartimento intermedirio (pode ser suprimida) uma lista de operaes no compartimento inferior (pode ser suprimida). As linhas de separao dos compartimentos no pode sersuprimida se um dos comportamentos de atributos e operaesestiver descrito Se um compartimento suprimido, nenhuma concluso podeser assumida sobre a presena ou ausncia desse elemento23 24. Detalhes no desenho de classes Apresentar reticncias (...) ao final de uma lista ou de umaseo delimitada de uma lista indica que existem elementosadicionais no modelo que satisfazem a condio de seleo masisso no mostrado naquela lista Dependendo da ferramenta de modelagem sendo empregada,podem ser fornecidos compartimentos adicionais como umaextenso teoria para mostrar propriedades definidas pelousurio, como por exemplo, regras empresariais,responsabilidades, variaes, eventos manipulados entre outros 24 25. Classe Indivduo 1) Nome da classeIndivduo 2) +cdigoDoIndivduo: long atributos da classe+sexo: M ou F+dataDoNascimento: data(opcional) operaes da classe (opcional)Indivduo 3)+incluirIndivduo(cdigoDoIndivduo)+destruirIndivduo(cdigoDoIndivduo)iaes Indivduo Var+cdigoDoIndivduo: long 4) +sexo: M ou F+dataDoNascimento: data+incluirIndivduo(cdigoDoIndivduo)+destruirIndivduo(cdigoDoIndivduo)25 26. Atributo Estrutura de dado componente de uma classe a menor unidade que em si possui significncia prpriaatravs de um princpio de atomicidade Armazena um valor simples em uma clula Sintaxe padro : Visibilidade NomeDoAtributo: TipoDeExpresso = ValorInicial {Propriedade} Indivduo+cdigoDoIindivduo: long+gnero: M ou F+dataDoNascimento: data 26 27. Visibilidade de atributo + visibilidade pblica (valor default) Significa que todos tem acesso. Qualquer atributo (ou operao) que siga esta palavra-chave pode ser acessado por operaes declaradas dentro de outras classes. parte da interface de uma classe e visvel por qualquer parte do ambiente de referncia da classe # visibilidade protegida Significa que qualquer atributo (ou operao) que siga a palavra-chave pode ser acessado atravs de mtodos dentro da mesma classe e por operaes de classes ao longo do pacote no qual a classe definida - visibilidade privada Declarao que parte da interface de uma classe mas no visvel a quaisquer outras classes, ou seja, qualquer atributo (ou operao) que siga esta palavra-chave pode apenas ser acessado por operaes declaradas dentro da mesma classe. Tudo, exceto declaraes locais, visvel fora da classe; identificadores de componente privado so desconhecidos e inacessveis27 28. Visibilidade de atributo Nome da classe Visibilidade pblicaCliente +cdigoDoCliente Visibilidade protegida#situao -limiteDeCrdito Visibilidade privadaNome do atributo28 29. Visibilidade de atributo O marcador de visibilidade pode ser suprimido, mas suaausncia apenas indica que sua visibilidade no mostrada eno que seja indefinida Alguns tipos adicionais de visibilidade podem ser definidos parasuportar determinadas linguagens de programao, como ocaso da visibilidade de implementao para C++ Quando o atributo for precedido por / indica que umatributo derivado (informao), ou seja, um atributo que podeser computado a partir de outro, mas mostrado para elucidarmelhor o modelo sem que agregue contedo semntico 29 30. Caractersticas do atributo NomeDoAtributo uma seqncia de caracteres de identificao. O nome do atributo tipicamentecomea com letra minscula TipoDeExpresso uma especificao que depende da linguagem de programao e do tipo deimplementao de um atributo. A UML evita especificar regras para construode tipos de expresso pois as linguagens de programao apresentam umavariedade de regras para declarao de variveis e parmetros. Com isso, a UMLdeixa indefinida a sintaxe real das expresses de tipo, passando a ser umaresponsabilidade da ferramenta em uso verificar e analisar gramaticalmente taisexpresses ValorInicial uma expresso que tambm dependente da linguagem de programaoutilizada para o valor inicial de um objeto criado recentemente. O valor inicial opcional (o sinal igual tambm omitido) Propriedade Possui caractersticas aplicveis ao elemento, mas opcional. Refere-se a umvalor nomeado que denota uma caracterstica de um elemento com impactosemntico. Certas propriedades so predefinidas na UML, outras podem serdefinidas pelo usurio. Algumas propriedades teis so: 30 31. Propriedades do atributo Propriedades do atributo Descrio do atributo Uma descrio sucinta e autocontida que representa claramente o seupropsito e alcance Tipo de dado e tamanho do atributo int, short, long, float, double, byte, boolean e char Tipo de atributo Esttico (nico valor compartilhado por todos os objetos da classe),constante (valor imutvel), atributo normal (contm um valor que varivel/modificvel), matriz (do tipo itemDeCompra[10], atributo final (atributo constante que no pode ser mudado -- usado em Java) Domnio de valores Valor mnimo e valor mximo (finito ou infinito) e restrio31 32. Identificador de classe Para individualizar e identificar cada objeto de uma classe, assinalado um identificador (identidade ao objeto) que ser oponto de referncia para sua distino de todos os demaisdentro da classe O identificador (ou OID Object Identifier) atribudoautomaticamente a objetos pelo gerenciador de banco deobjetos para identificar unicamente uma ocorrncia emparticular Os identificadores tambm atuam como atributos de refernciapara representar associaes entre objetos, da mesma formacomo fazem as chaves estrangeiras em modelos relacionais Uma diferena entre atributo de referncia e chave estrangeira o fato de que este est associado a valores visveis aousurio, enquanto aquele no est 32 33. Informao versus dado - Exemplos InformaoDadosIdade: 40 anosData do nascimento, Data do dia Valor total fatura: R$ 1.000,00 Preo unitrio, Quantidade13 km/lKm percorrido, Mtrica de distncia, Consumo , Mtrica de volumeQuenteMedio, Mtrica de temperatura, Faixa de temperatura Medio, Mtrica de distncia, Faixa Longede distncia33 34. Dado, operao e informao Dado Operao Informao34 35. Histrico de atributo* *Funcionrio Cargo Cargo defuncionrio35 36. Operao Um servio de classe ou comportamento resultante de umprocedimentos algortmico So executadas operaes sempre que um objeto recebe umamensagem de outro objeto As operaes esto relacionadas aos verbos associados aossubstantivos para fornecer as aes de tratamento de dadosem resposta a evento A sintaxe padro : Visibilidade NomeDaOperao (Parmetro) : ExpressoDeTipoDeRetorno {Propriedade} Indivduo+incluirIndivduo(cdigoDoIndivduo)+destruirIndivduo(cdigoDoIndivduo)36 37. Operaes O comportamento de uma classe representado por suasoperaes Operaes podem ser encontradas examinando-se diagramasde interao :Item de :Item deItem de estoquepedido estoqueverificarEstoque(item)Verificar estoque(item) 37 38. Visibilidade Definida da mesma forma que para atributos, ou seja: + visibilidade pblica (valor default) # visibilidade protegida - visibilidade privada Nome da classeVisibilidade pblicaCliente +obterLimiteDeCrditoVisibilidade protegida #bloquearCliente -cancelarClienteVisibilidade privadaNome do atributo 38 39. Caractersticas da operao NomeDaOperao uma seqncia de identificao da operao em si Parmetro uma lista de valores separada por vrgula de parmetros formais.Trata-se de um especificao de uma varivel que pode ser mudada,passada ou devolvida, podendo incluir um nome, tipo e direo.Parmetros so usados para operaes, mensagens e eventos ExpressoDeTipoDeRetorno uma especificao dependente de linguagem de programao sobre otipo de implementao do valor retornado pela operao. Se o tipo deretorno omitido a operao no devolve um valor 39 40. Caractersticas da operao Propriedade Indica valores de propriedade que se aplicam ao elemento, sendo opcional (as chaves so omitidas se nenhuma propriedade for especificada) Algumas propriedades podem ser: classificao precondio ps-condio tipo de exceo concorrncia transformao esteretipo 40 41. Caractersticas de propriedade de operao Classificao declara a categoria da operao, por exemplo,modificador, seletor, de interao, construtor, destrutor: um modificador uma operao que altera o valor ou estado de um objeto um seletor uma operao que tem acesso, mas no pode alterar, o valor ou estado de um objeto de interao uma operao que permite visitar as partes de um objeto um construtor uma operao que cria e/ou inicializa um objeto um destrutor uma operao que destri/desabilita um objeto41 42. Caractersticas de propriedade de operao Precondio declara uma condio que deve ser satisfeita parauma transformao correta; se a Precondio falha, umaexceo pode ser levantada para indicar que a operao nopoderia ser executada corretamente Ps-condio declara uma condio que assegura que atransformao aconteceu corretamente; se a ps-condiofalha, uma exceo pode ser levantada para indicar queaconteceu uma transformao com erro; Tipo de exceo um tipo ou classe da exceo que levantada pela operao Concorrncia declara se a operao uma operao seqencialou simultnea; uma operao seqencial um membro de umaclasse seqencial; uma operao simultnea um membro deuma classe simultnea Transformao declara a frmula ou expresso da operao; Esteretipo declara o tipo descritivo da operao, por exemplo,modificador, de acesso etc42 43. Caractersticas de propriedade de operao Propriedades dependentes de linguagem de programao: Uma operao virtual indica que a operao pode ser anulada em uma subclasse Uma operao virtual pura indica que a classe uma classe abstrata em C++ Uma operao esttica uma operao de classe que pode modificar um valor de atributo esttico; invocada atravs de chamada de classe e no objeto Uma operao de const indica que a operao no vai modificar algum valor de atributo Um procedimento uma operao que pode ou no devolver um valor (uma funo uma operao que devolve um valor) Uma operao amiga pode ser acessada por membros de outra classe, por exemplo uma classe amiga (C++) Uma operao inline tem cdigo ampliado ao ponto de uma chamada para melhoria de desempenho (C++) Uma operao de evento manipula evento especial em Delphi, por exemplo, um evento definido pelo usurio Uma operao de sobreposio fornece uma operao de substituio em uma subclasse que sobrepe uma operao em um superclasse (Delphi) Uma operao final no pode ser anulada em uma subclasse (Delphi) Uma operao nativa implementada fora de Java Uma operao sincronizada (synch) pode ser acessada simultaneamente, fornecendo um bloqueio para assegurar que apenas um de cada vez invoque a operao (Java)43 44. Ao definir uma operao pergunte para si mesmo: A operao est fazendo apenas uma coisa? Lembre-se que operaes menores so mais reutilizveis As responsabilidades esto com as classes corretas? Um bom ajuste aumenta a probabilidade para subclasses futuras utilizarem novamente os servio 44 45. Associao Associao uma relao que descreve um conjunto devnculos entre elementos de modelo Quando duas classes, ou mesmo uma classe consigo prpria,apresenta interdependncia onde determinada instncia deuma delas origina ou se associa a uma ou mais instncias daoutra, dizemos que elas apresentam uma associao So desenhadas como linhas slidas entre pares de classes O fim de uma associao onde se conecta uma classe chamado de papel da associao; a maioria da informaointeressantes sobre uma associao anexada a seus papis45 46. Tipos de associao Associao unria Quando h um relacionamento de uma classe para consigo prpria, tambm conhecido coma associao reflexiva Na associao unria so conectados ambos os fins mesma classe, mas os dois fins so distintos* Localizao 1geogrfica 46 47. Tipos de associao Associao binria Quando h duas classes envolvidas na associao de forma direta de uma para a outra Uma associao binria desenhada como um caminho slido que conecta dois smbolos de classe, sendo que tal caminho pode consistir em um ou mais segmentos conectados10..* Cliente Pedido 47 48. Tipos de associao Associao n-ria uma associao entre 3 ou mais classes, mas uma nica classe pode aparecer mais de uma vez Associaes ternrias ou superiores so mostradas como diamantes conectados ao smbolo de classe atravs de linhas com um caminho do diamante para cada classe participante Um smbolo de classe de associao pode ser anexado ao diamante por uma linha tracejada Normalmente as linhas so desenhadas dos pontos no diamante ou o ponto central de um lado o que indica uma associao n-ria que tem atributos, operaes e associaes de e/ou. Uma associao entre duas classes (associao binria) um caso particular de associao n- ria 48 49. Associao ternria FuncionrioQuesito Projeto* * *Avaliao49 50. Papis em associaes O fim de uma associao onde se conecta uma classe chamado de papel da associao A maioria dos detalhes interessantes sobre uma associao tida em seus papis que, alm de um nome, podem apresentarinformaes de: multiplicidade ordenao qualificador agregao/composio navegabilidade generalizaonome da associao Classe AClasse Bpapel-1papel-2associao derivada50 51. Papis em associaoRestrio ou propriedade Qualificador Agregao{ordenado} 1 0..*Classe AClasse B PossuiNome do papel NavegabilidadeComposio GeneralizaoMultiplicidadeClasse CClasse D51 52. Nome da associao A associao possui um nome prximo linha que representa aassociao, freqentemente atribudo como um verbo, muitoembora tambm possam ser utilizados substantivos Quando um diagrama de classe construdo, deve refletir osistema que est sendo modelado, o que significa que osnomes de associao necessitam pertencem ao domnio doproblema tal como ocorre com o nome das classes possvel utilizar uma associao navegvel ao adicionar umaseta ao final da associao A seta indica que a associao somente pode ser utilizada nadireo indicada, entretanto, associaes podem ter doisnomes, um para cada direo A direo do nome mostrada atravs de um tringulo slidopequeno precedendo ou sucedendo o nome da associao,dependendo da direo, de forma que possa ser lida aassociao de uma classe a outra Por exemplo, um cliente faz pedido (faz 4)52 53. Nome e direo da associao 1 0..*Cliente PedidoFaz 4 53 54. Multiplicidade Um dos aspectos chaves em associaes a cardinalidade deuma associao, chamada na UML de multiplicidade Especifica, por exemplo, em quantas companhias uma pessoapode trabalhar, quantos dependentes pode ter um indivduoetc, corresponde noo de obrigatrio, opcional, um-para-muitos,muitos-para-muitos similar ao enfoque deentidade/relacionamento A cardinalidade especificada para cada extremidade naassociao1 0..* Cliente PedidoFaz 454 55. Multiplicidade 1Classe exatamente um *Classe muitos (zero ou mais) 0..1 Classe opcional (zero ou um) m..n Classe seqncia especificada55 56. Multiplicidade mostrada como uma seqncia de intervalos inteirosseparada por vrgula onde um intervalo representa um alcancede inteiros ou mesmo um intervalo infinito no formato limiteinferior/limite superior Um asterisco (*) pode ser usado para o limite superiordenotando valor ilimitado Se a especificao de multiplicidade inclui somente asterisco,denota o alcance de inteiro ilimitado, o que equivalente a *..*ou 0..* Intervalos devem vir preferencialmente ordenados: 1..3,7,10 prefervel a 7,10,1.. 3 dois intervalos contguos devem ser combinados em um nicointervalo: 0..1 prefervel a 0,156 57. Multiplicidade - Exemplo MultiplicidadeSignificado 0.. 1zero ou um 1 somente 1 0..*maior ou igual a zero * maior ou igual a zero 1..*maior ou igual a 11..15 de 1 a 15, inclusive 1..2,7..15,19,23..* de 1 a 2, de 7 a 15, 19 ou acima de 23, inclusive 57 58. Ordenao Se a multiplicidade maior do que um, o conjunto deelementos relacionados pode ser ordenado ou no ordenado(este o padro e no necessita ser mostrado explicitamente) Os elementos so ordenados em uma lista, cuja especificaogenrica inclui todos os tipos de ordenao podendo serespecificado por uma restrio de palavra-chave: {ordenado}{ordenado}10..*ClientePedido Faz 458 59. Qualificador de associao Um qualificador um atributo de associao ou estrutura deatributos de atributos cujos valores particionam um conjunto deobjetos relacionados a um objeto por uma associao mostrado como um retngulo pequeno, menor do que oretngulo fixo de classe, anexado ao fim do caminho deassociao antes do smbolo da classe qual se conectanome da associao Classe A qualificador Classe B papel-1 papel-259 60. Exemplo de associao qualificada Pedido, PedidoProduto0..1 item 60 61. Agregao uma forma especial de associao utilizada para mostrar queum tipo de objeto composto, pelo menos em parte, de outronuma relao de todo/parte Por exemplo, um pedido composto por itens de pedido Indica que a vida das partes dependente da vida do todo Os objetos partes no podem ser criados a menos que o objetotodo ao qual esto agregados seja criado Objetos partes no podem ser destrudos por qualquer objetodiferente do objeto de agregao que o criou em primeirolugar, condio esta no verdadeira para objetos que emanamde um relacionamento de associao regular61 62. Agregao1 1..* PedidoPedido, itemTem 4TodoParte62 63. Agregao de composio Composio uma forma de agregao com uma fortepropriedade e vida coincidente da parte com o todo Um diamante vazio anexado ao fim do caminho e prximo classe que representa o todo no relacionamento para indicaragregao regular ou por-referncia Se o diamante est cheio, significa uma forma forte deagregao conhecida como composio ou relacionamento por-valor TodoParte63 64. Agregao de composio Na composio, ou agregao por-valor (diamante cheio), oobjeto todo declara uma instncia real do objeto parte dentrodo seu prprio corpo tornando o objeto parte fisicamente nelecontido semanticamente equivalente a um atributo, mas pode servisualmente mais atraente quando a parte tem sua prpriaestrutura interna O fim de um objeto todo na agregao acarreta o fim de seuspartes Indivduo, 1 0..1 Indivduo, complemento de endereo Tem 4endereo Todo Parte64 65. Navegabilidade Uma instncia de uma classe pode navegar a instncias deoutra classe e vice-versa Navegabilidade percebida freqentemente por objetos quemantm referncias de algum tipo entre objetos associados Uma seta pode ser anexada ao fim do caminho para indicarque aquela navegao suportada para a classe anexada seta, assim como podem ser anexadas setas para zero, um, oudois fins de caminho Em princpio, poderiam ser mostradas setas sempre que anavegao for suportada em uma determinada direo, mas naprtica s vezes conveniente suprimir algumas das setas e sexibir situaes excepcionais 65 66. Navegabilidade FonteAlvoPedidoCliente *1 {ordenado} sentido da navegao66 67. Navegabilidade na agregao Todo Navegabilidade11Navegabilidadeunidirecional em bidirecional em agregao regular0..*0..* agregao de composio Parte 1 Parte 2 67 68. Generalizao Uma superclasse criada para representar a essncia da idiasobre subclasses expressando os modos diferentes quedeterminadas essncias podem ser percebidas A generalizao um relacionamento de taxinomia entre umelemento mais geral e um elemento mais especfico que completamente consistente com o primeiro elemento somando-o informao adicional especializada usada para classes, pacotes, caso de usos e outros elementos Indica que uma classe mais geral, a superclasse, tem atributos,operaes e associaes comuns que so compartilhados porclasses mais especializadas, as subclasses Por sua vez, as subclasses agregam atributos e operaesparticulares ao elemento de especializao que se referem: umobjeto da subclasse um tipo-de objeto da superclasse Por exemplo, uma superclasse [Veculo Terrestre] defineatributos, operaes e associaes comuns s subclasses[Automvel] e [Caminho]68 69. GeneralizaoVeculo terrestretipo-de tipo-deAutomvel Caminho 69 70. Generalizao mostrada como uma linha slida do elemento mais especfico,uma subclasse, para o elemento mais geral, uma superclasse,com um tringulo vazio ao trmino do caminho que satisfaz oelemento mais geral Um grupo de caminhos de generalizao para umadeterminada superclasse pode ser mostrado como uma rvorecom um segmento compartilhado, inclusive tringulo, para asuperclasse, ramificando-se em caminhos mltiplos a cadasubclasse Se vrios arcos de generalizao compartilham a mesmaetiqueta, eles representam a mesma dimenso degeneralizao de superclasse; etiquetas diferentes definemdimenses independentes de generalizao70 71. GeneralizaoPessoa +cdigoDaPessoa: long +nomeDaPessoa: texto Superclasse +incluirPessoa(cdigoDaPessoa) +destruirPessoa(cdigoDaPessoa){disjuno}IndivduoOrganizao Subclasses71 72. Generalizao Podem ser usadas restries predefinidas para indicarcondies semnticas entre subclasses Uma lista de palavras-chaves separada por vrgula colocadaem chaves prxima ao tringulo compartilhado, no caso devrios caminhos compartilharem um nico tringulo, ou entoprxima a uma linha pontilhada que cruza as linhas degeneralizao envolvidas As palavras-chaves seguintes so predefinidas na UML e podemser usadas: 72 73. Restries para generalizao/especificao {completo}: N conhecido {incompleto}: N no conhecido A {disjuno}: B, C, ..., N so mutuamente exclusivos {Restrio} {sobreposio}: B, C, ..., N podem ocorrer simultaneamenteBB C... N 73 74. Restries para generalizao/especificao IncorretoAdequado AA {completo}{incompleto}BA1 B A174 75. Exemplo de generalizao/especificao com restrio Produto {disjuno, incompleto}LeiteChocolate Biscoito 75 76. Nova subclasse Produto Molho de pimenta {disjuno, incompleto}BLeite Chocolate Biscoito Produto{disjuno, incompleto}Leite Chocolate BiscoitoDesnatado CrocanteSalgado BLeiteChocolate BiscoitoMolho Leite Chocolate Biscoito Molho de Desnatado CrocanteSalgadopimenta 76 77. Herana Mecanismo de reutilizao de atributos e operaes pelo qualelementos mais especficos incorporam estrutura ecomportamento de elementos mais gerais relacionados porcomportamento Pode-se organizar tipos similares de classes de objetos emcategorias chamadas hierarquia de classes, onde a classe demenor nvel, que uma especializao ou extenso de outraclasse, pode utilizar servios das classes superiores nahierarquia Permite a uma subclasse compartilhar atributos e operaesdefinidas em sua superclasse 77 78. Redefinio de atributos e operaes na herana Operaes Superclasse Veculo terrestre redefinidas pela subclasse partida( ) parada( ){disjuno} Subclasses AutomvelCaminhopartida( )partida( )parada( ) parada( )78 79. Herana mltiplaVeculo {sobreposio, incompleto}VeculoVeculoterrestreaqutico Veculo anfbio79 80. Herana mltiplaSuperclasseVeculo abstrataSuperclasse compostaabstrata na viso da{sobreposio, incompleto}subclasse [Veculoanfbio] Ex.: Porsche Ex.: Jet skiVeculo Veculoterrestre aquticoEx.: Tanque urutuVeculoSubclasses concretasanfbio 80 81. Agregao versus generalizao VeculoPedido terrestreAgregao:Pedido, item Generalizao:parte-de (ou Automvel atributo-de) tipo de VeculoPedido Terrestre Pedido, Autom-item vel 81 82. Restrio Uma restrio um relacionamento semntico entre elementosde modelo que especifica condies e proposies que devemser mantidas como verdadeiras, caso contrrio o sistemadescrito pelo modelo nulo, com conseqncias que esto forado escopo da UML A restrio ou em associaes, j predefinida; outrasrestries podem ser definidas normalmente pelos usurios empalavras cuja sintaxe, consistncia e interpretao passam aser de responsabilidade da ferramenta de modelagem em usoGrupo de {pessoa.idade > 60}cidados Pessoa idosos0..10..*82 83. Restrio - Exemplos 0..1 Pertence 4Indivduo0..* Conta {Ou} Corrente0..* Pertence 4 0..1Organizao{Se nvel de crdito for insuficiente entocondio de pagamento deve ser vista}1 0..* Cliente PedidoFaz 483 84. Restrio - Exemplos Participante4 ** Funcionrio {subconjunto} Projeto 1 3Gerente* de projeto 84 85. Classe de associao Uma classe de associao um elemento de modelagem quetem associao e propriedades de classe Pode ser vista tanto como uma associao que tempropriedades de classe como uma classe que tem propriedadesde associao Embora seja desenhada como uma associao e uma classe, apenas um nico elemento do modelo e tem s um nome Classe A Classe BNome da classe de associaoatributoatributo: tipo do dadoatributo: tipo do dado = valor inicial...operaooperao (lista de argumentos): tipo de resultado... 85 86. Classe de associao Uma classe de associao mostrada como um smbolo declasse anexado por uma linha tracejada a um caminho deassociao Se uma classe de associao tem s atributos mas nenhumaoperao ou outras associaes, o nome pode ser exibido nocaminho de associao e pode ser omitido do smbolo de classede associao para enfatizar sua natureza de associao Se tem operaes e outras associaes, o nome pode seromitido do caminho e pode ser colocado no retngulo de classepara enfatizar sua natureza de classe86 87. Dependncia Indica a ocorrncia de um relacionamento semntico entre doisou mais elementos do modelo de forma que uma classe cliente dependente de alguns servios da classe fornecedora, masno tem uma dependncia estrutural interna com o fornecedor Uma mudana em um elemento (elemento independente) podeafetar outro elemento da dependncia (elemento dependente) mostrada como uma seta tracejada de um elemento demodelo para outro, do fornecedor para o cliente (classeapontada pela seta)Classe AClasse BFornecedor Cliente87 88. Interface Uma interface um esteretipo de classe que designa a faceexterna de uma classe ou um pacote e consiste de um conjuntode operaes e suas assinaturas juntamente com suarespectiva semntica dinmica descreve os padres legais de interao entre dois objetos A UML prov um cone de esteretipo para mostrar interfacesem forma compacta. O fornecedor de uma interface (i.e., classe, pacote ou sistemainteiro que conforma o papel de "fornecedor") mostra umsmbolo slido de pirulito etiquetado pelo nome da interface O cliente de uma interface mostra uma seta de dependnciatracejada ao crculo de interface 88 89. InterfaceClasse de Classe clienteimplementaodependncia 89 90. Interface Fornecedor armazenvel ClienteClasse AClasse Bexecutvel Fornecedor executvel Classe CinterfaceinterfaceClasse A implementa a interface executvele armazenvelExecutvelArmazenvel{abstrato} {abstrato} Classe C implementa a interface executvelexecutar( ) {abstrato} carregar( ) {abstrato} Classe B usa a interface executvel e salvar( ) {abstrato} armazenvel de A e executvel de C90 91. Interface - ExemplosCampo Password Combo box 91 92. Interface - Exemplos Real Audio Player 92 93. Normalizao Processo formal que examina os atributos de uma classe com ointuito de minimizar redundncias de dados em objetosespecficos Causa a simplificao dos atributos dentro da respectiva classecolaborando para a integridade e estabilidade do modelo93 94. Exemplo de criao de classes normalizadasPedido Nmero do pedido: ____________ Classe pedido preliminar Cdigo do cliente: _____________ Nome do cliente: ___________________ Pedido Data do pedido: ___/ ___/ ___nmeroDoPedidocdigoDoClientenomeDoClienteCdigo do produto Quantidade Descrio do produto dataDoPedidocdigoDoProduto[15]quantidadeDoProduto[15]descrioDoProduto[15] 94 95. 1a forma normal DEFINIO: a normalizao da classe de forma que de seus atributos com o identificador seja unvoca, isto , para cada identificador h a ocorrncia de um e somente um atributo de cada tipo Resultado da 1a forma normal:Pedido Pedido, itemnmeroDoPedido 1 1..* cdigoDoProdutocdigoDoCliente quantidadeDoProdutonomeDoCliente descrioDoProdutodataDoPedido 95 96. 1a forma normal como agregao de composio Pedido nmeroDoPedido PedidocdigoDoCliente nomeDoCliente nmeroDoPedido dataDoPedido cdigoDoCliente nomeDoCliente dataDoPedido1 cdigoDoProduto[15] quantidadeDoProduto[15] 1..15 descrioDoProduto[15]Pedido, item cdigoDoProduto quantidadeDoProduto descrioDoProduto 96 97. 3a forma normal DEFINIO: a normalizao da estrutura de atributos de forma que nocontenha atributos associados que apresentem DEPENDNCIATRANSITIVA com o identificador do objeto, ou seja, nopossuam elemento intermedirio de ligao entre os doisobjetos PedidoPedido, item 1 1..* nmeroDoPedidoquantidadeDoProduto dataDoPedido **1 1 ClienteProduto cdigoDoClientecdigoDoProduto nomeDoClientedescrioDoProduto97 98. Passos da normalizao A primeira forma normal obtida atravs dos seguintes passos: Verificar se h ocorrncias repetitivas de atributos dentro da classe [A] analisada Destacar os atributos repetitivos e suas respectivas operaes, criando uma nova classe [B] que absorver esses itens Estabelecer a associao de agregao regular e multiplicidade 1-* entre as classes [A] e [B] OBS: Caso o modelo de objetos esteja sendo implementado em um banco de objetos, no h, rigorosamente, a necessidade de se promover a primeira forma normal A terceira forma normal deve suceder a segunda forma normal sendoatingida atravs dos seguintes passos: Verificar se a classe [C] analisada possui atributos que so dependentes de outros atributos nela contidos. Essa relao de dependncia pode ser atravs de atributo prprio ou atributo de referncia que no estejam presentes no identificador da classe [C] Destacar os atributos com dependncia transitiva e suas respectivas operaes, incorporando-os na classe [D] Eliminar os atributos obtidos por clculo a partir de outros atributos da classe [C] 98 99. Ajustando a natureza das classes Pedido Pedido, itemnmeroDoPedido1..* quantidadeDoProduto Indivduo OrganizaodataDoPedido** {disjuno} 1 1Pessoa Cliente Produto nomeDaParte0..1cdigoDoCliente cdigoDoProduto 1 descrioDoProduto 99 100. 4a forma normal DEFINIO: a normalizao da estrutura de atributos de forma que nocontenha DEPENDNCIA MULTIVALORADA entre os atributoscomponentes do identificador DEPENDNCIA MULTIVALORADA:Dados trs atributos A, B e C define-se dependnciamultivalorada quando A apresenta vrios B e A apresentavrios C, entretanto, B e C so independentes entre si100 101. 4a forma normalSuponha a seguinte formao ternria de associaes(deve haver pelo menos 3 classes envolvidas para a 4a FN): AB C ** *Entretanto: A e B so relacionadasABCA e C so relacionadas B e C so independentes 101 102. Resultado da 4a forma normal Portanto: Aplica-se a 4a forma normal para transformar uma associao ternria em duas associaes binrias, eliminando-se dependncias multivaloradas, resultando em: **** BAC ABAC 102 103. ExemploCurso Professor Livrotexto* **CPL103 104. 4a forma normal - Exemplo CursoProfessorLivro textoFsicaHertz, Heinrich Rudolf Electromagnetic wavesFsica Maxwell, James ClerkElectromagnetic wavesFsica Fizeau, ArmandThe Speed of light Antes... FsicaFsicaFoucault, Jean Bernard Lon Doppler, Christian Johann The Speed of lightThe color effect of double starsMatemticaBabbage, Charles Economy of Machines and ManufacturesMatemticaBoole, George An Investigation of the Laws ofThought Curso, Professor Curso, Livro texto CursoProfessorCursoLivro textoFsicaHertz, Heinrich RudolfFsica Electromagnetic w avesFsicaMaxwell, James Clerk Depois...FsicaFsicaFizeau, ArmandFoucault, Jean Bernard LonFsicaFsica The Speed of lightThe color effect of double starsFsica Doppler, Christian Johann Matemtica Economy of Machines and ManufacturesMatemtica Babbage, CharlesMatemticaBoole, GeorgeMatemtica An Investigation of the Laws of Thought104 105. Diagrama deCaso de Uso105 106. Diagrama de caso de uso Fornecem um modo de descrever a viso externa do sistema esuas interaes com o mundo exterior Representa uma viso de alto nvel da funcionalidadeintencional de um sistema mediante o recebimento de um tipode requisio de usurio um grfico de atores, um conjunto de casos de uso includopor um limite de domnio, comunicao, participao eassociaes entre atores, assim como generalizaes entrecasos de uso. H quatro elementos bsicos em um diagrama decaso de uso: ator caso de uso interao sistema106 107. Diagrama de caso de usosistemainteraoCaso de uso Ator107 108. Caso de uso Caso de uso uma interao tpica entre um usurio e umsistema um modo especfico de usar um sistema a partir de um pontode vista segmentado de sua funcionalidade Representa uma seqncia completa de cenrios de interaomostrando como eventos externos iniciais so respondidos nocaso Um cenrio uma narrativa de uma parte do comportamento global do sistema, sendo que uma coleo completa de cenrios pode ser usada para especificar completamente um sistema108 109. Diagrama de caso de usoCaixa eletrnicoConsulta desaldo Solicitao de extratoCliente Saque 109 110. Ator O mundo externo representado por atoresque desempenham papis Um ator um agente que interage com osistema, um tipo de usurio ou categoria compapel definido, podendo incluir usurioshumanos, mquinas, dispositivos ou outrossistemas Atores tpicos so cliente, usurio, gerente,impressora, dispositivo de comunicao deAtorrede etc A nfase em papis importante: um atorpode representar muitos papis e um papel (forma de stick man)pode ser representado por muitos atores Atores levam a cabo casos de uso mas noprecisam ser seres humanos (ainda que sejamrepresentados como figuras de stick mandentro de um diagrama de caso de uso) 110 111. Interao em caso de uso As seguintes interaes so importantes dentro de umdiagrama de caso de uso: Comunicao Um ator comunica-se com o caso de uso, assim, cada participao sua mostrada conectando-se o smbolo de ator ao smbolo de caso de uso porum caminho slido Extenso Um relacionamento de um caso de uso para outro, especificando como ocomportamento definido para o primeiro caso pode ser inserido nocomportamento definido para o segundo Uso Um relacionamento de uso entre casos mostrado por uma seta degeneralizao do caso de uso que faz o uso ao caso de uso que usado 111 112. Relacionamentos em caso de uso estende RequisitarColocar pedido catlogo do pedidoCliente usa Pedir produto112 113. Desenvolvimento de casos de uso Sugere-se os seguintes passos para se descrever casos de usode sistemas: identifique o limite de sistema em termos de seus agentes externos (atores) identifique cada ator pelo papel que representa na interao com o sistema, por exemplo, cliente, gerente, caixa eletrnico para cada ator, identifique os modos diferentes e fundamentais nos quais utiliza o sistema para cada caso de uso, descreva a interao tpica (cenrio) do ator com o sistema 113 114. Exemplo de casos de uso Marcao de consulta ou exames Consulta mdica Encaminhamento de associado paraexamesColeta de material para exame DiagnoseAssociadoCredenciadoMarcao de cirurgia InternaoCirurgiaTratamento domiciliar(home care) 114 115. Exemplo de casos de uso (cont.) NrCaso de uso Quem inicia aDescrio do caso de uso. ao 1Marcao deAssociado O associado entra em contato com oconsulta ou exames credenciado para marcar consultas ou exames 2Consulta mdicaAssociado O associado encaminha-se ao local da consulta e atendido pelo credenciado 3Encaminhamento Credenciado O credenciado encaminha o associado parade associado paraa realizao de exames laboratoriaisexames 4Coleta de material Associado O associado encaminha-se ao credenciado parapara exame realizar coleta de material para exame laboratorial 5Diagnose Credenciado O credenciado entrega o resultado do exame laboratorial para o associado 6Marcao deCredenciado Aps a diagnose, sendo necessria uma intervenocirurgia cirrgica, o credenciado agenda cirurgia 7Internao Credenciado O credenciado faz internao do associado mediante a apresentao da ordem de internao ou com o pedido do mdido mediante cheque de cauo, devolvido aps a entrega da ordem de internao 8Cirurgia Credenciado Credenciado efetua cirurgia de associado, faz acompanhamento ps-operatrio de recuperao e emite alta 9Tratamento Credenciado O credenciado faz o atendimento e tratamento dodomiciliar (home care) associado em sua residncia, quando no h a necessidade de internao hospitalar 115 116. Gerenciamento de requisitos As exigncias de um sistema nem sempre so bvias e fceisde se encontrar Gerenciamento de requisitos uma forma sistemtica de: Encontrar Documentar Organizar Controlar as exigncias de mudana em um sistema Proposta do RUP: Analisar o problema Focar nas necessidades do cliente (stakeholders) Controlar o escopo do sistema Refinar as exigncias do sistema Gerenciar das exigncias de mudanas Preparar casos de uso 116 117. Gerenciamento de requisitos Antes de construir um sistema, importante capturar osrequisitos O RUP emprega casos de uso, como base para odesenvolvimento O caso de uso parte integrante dos ciclos no desenvolvimentoiterativoBusiness Use Caserepresenta o modelo Modelagem do negcio do negcio RequerimentosUse-case modelponto de vista do usurio Anlise e desenho Use-case realizations iterao Implementao Design modelespecificao das implementaes TesteTest casesidentifica casos para testes eos procedimentos de testes Gerenciamento do projetoUse Caseiteratividade117 118. Diagramas deinteraoDiagrama de seqnciaDiagrama de colocao118 119. Diagrama de interao Diagrama de interao um termo genrico que se aplica avrios tipos de diagramas que enfatizam interaes de objeto Uma interao uma especificao comportamental que incluiuma seqncia de trocas de mensagem entre um conjunto deobjetos dentro de um contexto para realizar um propsitoespecfico, tal como o implementao de uma operao Diagrama de interao tem aplicabilidade para cumprir comexigncias de seqncia onde cada linha especfica em um casode uso chamada cenrio Caso de usoevento deobjetoobjeto evento demensagementradasada AtorAtor(estmulo)(resposta)Tempo119 120. Diagrama de interao Diagrama de interao deve ser usado quando se desejavisualizar o comportamento de vrios objetos dentro de umnico caso de uso, a partir das mensagens que so passadasentre eles Diagrama de interao apresentado em duas formas na UML: Diagrama de seqncia Diagrama de colaborao 120 121. Diagrama de seqncia Dentro de um diagrama de seqncia, um objeto mostradocomo um retngulo ao topo de uma linha vertical tracejadaprojetada para baixo Essa linha vertical chamada de linha de vida do objeto erepresenta, tal como sugerido pelo prprio nome, o ciclo devida de um objeto durante uma interao Cada mensagem representada por uma linha com setadirigida horizontalmente entre as linhas de vida de dois objetos A ordem na qual essas mensagens acontecem (fluxo de tempo) mostrada de maneira top-down A menos que especificamente anotado, s a seqncia demensagens mostrada, no o tempo exato A UML permite somar anotaes textuais a diagramas deseqncia quando o tempo importante121 122. Diagrama de seqncia tempocondio de(top-down)guarda um objeto mensagemsncrona [se novo] criar um novoobjetoobjetoautodelegao mensagem retornarativao excluir smbolo de excluso linha de vida122 123. Diagrama de seqnciaobjeto 1: :nome danome daobjeto 2objeto 3 classenome do ator:classeclasse do ator1. evento 2. operao 3. operao texto (lista de deparmetros) script 4. operao 5. operao (lista de (lista de parmetros) parmetros)123 124. Diagrama de seqncia O diagrama de seqncia tem duas dimenses: a dimensovertical representa o tempo e a dimenso horizontal representaobjetos diferentes O tempo procede de cima para baixo na pgina, sendo que noh qualquer significado ao ordenamento horizontal dos objetos Anotaes textuais ao longo da extremidade esquerda dodiagrama so opcionais e so chamadas script Cada declarao nos textos de script explica uma ou maismensagens que so passadas no diagrama, podendocorresponder diretamente ao cenrio real que est sendomodelado pelo diagrama de seqncia124 125. Linha de vida do objeto Um objeto mostrado como uma linha pontilhada verticalchamada linha de vida do objeto, que representa sua existnciaem um momento particular Se o objeto criado ou eliminado durante o perodo de tempomostrado no diagrama, ento sua linha de vida comea outermina em um ponto designado; caso contrrio ocorre demaneira top-down Cada linha de vida representa um objeto distinto, podendohaver linhas de vida mltiplas para objetos diferentes dosmesmos tipos ou de tipos diferentes125 126. Diagrama de seqncia janela deum item deum item deentrada deum pedido pedidoestoquepedido preparar ( ) linha de vida preparar ( )verificar ( )objetocondio de guarda [verificao = verdadeiro]autodelegao mensagem remover ( ) [verificao = verdadeiro]uma criar ( ) entrega deitemcriao126 127. Mensagem Objetos necessitam comunicar-se entre si, e isto ocorre atravsda passagem de mensagens Objetos remetentes enviam mensagens para objetosdestinatrios, pedindo processamento, comunicando um eventoou qualquer outra comunicao que se tornar necessria nomodelo para cumprir determinadas responsabilidades Este o nico meio para se obter informao de um objeto,desde que seus dados no sejam diretamente acessveis: umacomunicao entre objetos carrega uma expectativa de ao aser executada Mensagem mostrada como uma seta slida horizontal dalinha da vida de um objeto para a linha da vida de outro objeto,etiquetada com o nome da mensagem (operao ou sinal) eseus valores de argumento. No caso de uma mensagem de umobjeto para si mesmo, a seta pode comear e terminar nomesmo smbolo de objeto (autodelegao)127 128. Mensagem um item de um item depedido estoqueverificar ( ) 128 129. Tipos de mensagem Ponta de flecha slida preenchida Chamada de procedimento ou outro fluxo aninhado de controle. A seqncia aninhada inteira completada antes das retomadas de seqncia exteriores. Pode ser usada com chamadas de procedimento comuns e tambm com objetos concorrentemente ativos quando um deles envia um sinal e espera pela concluso de uma seqncia aninhada de comportamento Ponta de flecha fina Fluxo de controle plano. Cada seta mostra a progresso em seqncia ao prximo passo. Normalmente todas as mensagens so assncronas Meia ponta de flecha fina Fluxo assncrono de controle. Usado em vez da ponta da flecha fina para mostrar explicitamente uma mensagem assncrona entre dois objetos em uma seqncia procedural Outras variaes Podem ser mostrados outros tipos de controle, como empacado ou pausa, mas estes so tratados como extenses UML 129 130. Mensagem assncronanovomensagemuma transaoassncronanovouma processamentoativao transaosuprimidonovo primeiratransao verificaosegundanovo transao ok verificaotudofeito? oktudofeito? objetodestrudo autodelegao 130 131. Tipos de mensagem Mensagem de intervalo Uma mensagem de intervalo indica que o remetente esperar pelo destinatrio estar pronto para a mensagem at um perodo fixo de tempo antes de abortar o processo de transmisso de mensagem e continuar com seu processo Mensagem emperrada Uma mensagem emperrada significa que se o destinatrio da mensagem no estiver imediatamente pronto para aceitar a mensagem, o remetente aborta a mensagem e continua131 132. Diagrama de seqncia com objetos concorrentes umum telefoneum cliente funcionrioretira fone do gancho {b - a < 1 segundo} a b tom de discagem {c - b < 10 segundos} c disca o nmero chamada sendo roteada d pela rede {d - d < 5 segundos} chamandochamando dvoz do clienteatende chamada132 133. Ativao a execuo de uma ao Uma ativao mostra o perodo de tempo no qual um objetoest executando diretamente uma ao ou atravs de umprocedimento subordinado exibida como um retngulo cujo topo alinhado com seutempo de iniciao e cuja parte inferior alinhada com seutempo de concluso Em chamadas reflexivas para um objeto com uma ativaoexistente, o segundo smbolo de ativao desenhadoligeiramente para a direita do primeiro, de forma que elespaream visualmente empilhados (podem ser aninhadaschamadas reflexivas a uma profundidade arbitrria133 134. Ativao objeto 1 objeto 2 objeto 3134 135. Condicionais em diagrama de seqnciaobjeto 1 objeto 2objeto 3 [X>0][X= 1000 161 162. SwinlanesFaixa 1Faixa i Faixa nAtividade 1Atividade 2Atividade 3Atividade iAtividade n 162 163. Diagramas de implementaoDiagrama de componenteDiagrama de implantao163 164. Diagramas de interao Mostram aspectos de implementao, inclusive da estrutura decdigo de fonte e de implementao de run-time. Eles se apresentam de duas formas na UML: Diagrama de componente mostra a estrutura do prprio cdigo fonte Diagrama de implantao mostra a estrutura do sistema de run-time 164 165. Diagrama de componente Um diagrama de componente mostra as organizaes edependncias entre componentes com o propsito de modelara viso de implementao dos mdulos de softwareexecutveis com identidade e interface bem-definida de umsistema e seus relacionamentos Mostra as dependncias entre componentes de software,inclusive componentes de cdigo fonte, componentes de cdigobinrio e componentes executveis componente 1 componente 2165 166. Componente Um tipo de componente representa um pedao de cdigo desoftware (fonte, binrio ou executvel) e pode ser usado paramostrar o compilador e dependncias de run-time Uma instncia de componente representa uma unidade decdigo de run-time e pode ser usada para mostrar unidades decdigo que tm identidade em momento de execuo incluindosua localizao nos n Um componente mostrado como um retngulo maior comdois retngulos pequenos que protraem de seu lado166 167. Exemplo de diagrama de componenteProgramas Registro.Cobrana exe.exe Sistema de cobranaBibliotecas Pessoa.dll UsurioCurso.dllCursoClassesProfessor.Aluno.cls cls CursoCurso.clsoferecido .cls 167 168. Diagrama de implantao A UML fornece diagrama de implantao para mostrar aorganizao do hardware e a ligao do software aosdispositivos fsicos Diagrama de implantao mostra vrios dispositivos dehardware e suas interfaces fsicas O tipo do dispositivo de hardware determinado por seuesteretipo, como processador, dispositivo, exibio, memria,disco e assim por diante nome do vnculoN 1 N 2 168 169. Diagrama de implantao Um diagrama de implantao um grfico de ns conectadopor associaes de comunicao Na UML, um n um objeto fsico de run-time que representaum recurso computacional com pelo menos memria oucapacidade de processamento Representa um recurso no real mundo que passvel dedistribuio e pode executar elementos dos modelos lgicos Objetos e componentes de instncias computacionais de run-time podem residir em instncias de n Um n mostrado como uma figura que apresenta visotridimensional como um cubo169 170. Diagrama de implantao * entrada de pedido 1 PCFaxrecebimento11 PCServer*1compraImpres- PCsora170 171. Nome do n ComputadorPentiumde Joe:300 Mhz Pentium 300 Mhz Pentium 300 Mhz um tipo de n enquanto computador de Joe uma instncia de tipo 171 172. Tipo de n suportando tipo de componente de run-timeUNIXsuportaTransactionRISCServer 172 173. Componentes e ns Computador de Joe: Pentium 300 MhzRegistro.Cobranaexe.exePessoa.dll Curso.dll Professor.Aluno.clsclsCursoCurso.cls oferecido.cls173