Unified Modeling Language UML Notações Básicas Referência: UML Resource Center Prof. Msc. Emerson Silas Dória 1 Introdução A UML é uma linguagem gráfica para visualização, especificação, construção e documentação de artefatos que façam uso de sistemas complexos de software. Adequada para modelar: sistemas de informação corporativos distribuídos; aplicações baseadas em WEB; e até sistemas complexos embutidos de tempo real. Prof. Msc. Emerson Silas Dória 2 Modelo Conceitual da UML Para compreender a UML é preciso formar um modelo conceitual da linguagem e isso pressupõe aprender três elementos principais: Blocos de construção básicos Regras que determinam como esses blocos poderão ser combinados Mecanismos comuns aplicados na UML Prof. Msc. Emerson Silas Dória 3 Blocos de Construção O vocabulário da UML abrange 3 tipos de blocos de construção: Itens; Relacionamentos; e Diagramas Os itens são abstrações, os relacionamentos reúnem esses itens; os diagramas agrupam coleções interessantes de itens. Prof. Msc. Emerson Silas Dória 4 Itens Existem 4 tipos de itens na UML: Itens Estruturais: partes mais estática do modelo (substantivos) Itens Comportamentais: partes dinâmica (verbos) Itens de Agrupamento: partes organizacionais dos modelos da UML (pacotes) Itens de Anotações: partes explicativas dos modelos da UML (notas) Prof. Msc. Emerson Silas Dória 5 Itens Itens Estruturais: partes mais estática do modelo (substantivos) Digitalizar Window +origin #size open() close() move() display() ISpelling orderform.java Retina Cadeia de Responsabilidade Servidor Prof. Msc. Emerson Silas Dória Window origin size 6 Itens Itens Comportamentais: partes dinâmica (verbos) t:Thread :Tookit a1:run(3) run() <<create>> p:Peer handleExpose Off Idle keepAlive/Check onHook Working <<destroy>> ready(3) [signalOK] Connecting offHook / reclaimConnection() Connected Prof. Msc. Emerson Silas Dória 7 Itens Itens de Agrupamento: partes organizacionais dos modelos da UML (pacotes) Business rules Itens de Anotações: partes explicativas dos modelos da UML (notas) Consider the use of the broker design pattern here Prof. Msc. Emerson Silas Dória 8 Relacionamentos Existem 4 tipos de relacionamentos na UML: Dependência Associação Generalização Realização Prof. Msc. Emerson Silas Dória 9 Relacionamentos Dependência: é um relacionamento semântico entre dois itens, em que uma modificação em um item poderá afetar a semântica de outro item AgendaDeCursos remover(c:Curso) adicionar(c:Curso) Dependência (Agenda de Cursos depende de Curso) Curso Quando excluir um Curso, retirar da agenda. Prof. Msc. Emerson Silas Dória 10 Relacionamentos Associação: é um relacionamento estrutural que especifica que os objetos de um item estão conectados a objetos de um outro item. Existem quatro tipos básicos de adornos a serem aplicados às associações (nome, papel, multiplicidade, agregação). nome multiplicidade Fornecedor direção do nome 1 fornece 1..* Produto associação Prof. Msc. Emerson Silas Dória 11 Relacionamentos Associação nome do papel Pessoa funcionário empregador Empresa associação Prof. Msc. Emerson Silas Dória 12 Composição: relacionamento forte do tipo “é parte de “. A composição entre um elemento (o “todo”) e outros elementos (“as partes”) indica que as partes só podem pertencer ao “todo” e são criadas e destruídas com ele. Relacionamentos Associação Empresa 1 * Departamento composição agregação (relacionamento tipo fraco) Empresa 1 * Departamento todo Prof. Msc. Emerson Silas Dória parte 13 Relacionamentos Associação: Existem outros tipos de adornos a serem aplicados às associações (ex: classe de associação). Empresa 1..* * Pessoa Serviço descrição dtadmissão salário Prof. Msc. Emerson Silas Dória 14 Relacionamentos Outro exemplo de classe de associação Estudante 1..* faz 0..* Prova data nota Prof. Msc. Emerson Silas Dória 15 Relacionamentos Generalização: é um relacionamento de especialização/generalização, nos quais os objetos dos elementos especializados (filhos) são substituíveis por objetos do elemento generalizado (pais). Ativos adicionar(...) remover(...) Conta Corrente Imóveis Prof. Msc. Emerson Silas Dória generalização Seguridade 16 Relacionamentos Realização: É um relacionamento semântico entre classificadores, em que um classificador especifica um contrato que outro classificador garante executar. É utilizado: no contexto de interfaces e no contexto de colaborações em casos de usos. Detectar Fraude Cartão <<interface>> IAgentedaRegra AdicionarRegra() AlterarRegra() Cliente Enviar Pedido Crédito Gerenciar Pedido RegrasDeContabilidade ExplicarRegra() Gerar Conta Prof. Msc. Emerson Silas Dória Validar Transação 17 Extensibilidade A UML oferece três mecanismos para a extensão da sintaxe e da semântica da linguagem, são eles: Estereótipos Valores atribuídos Restrições Prof. Msc. Emerson Silas Dória 18 Extensibilidade estereótipo <<container>> ActionQueue {version=3.2} add(a:Action) remove(n: Integer) <<query>> valor atribuído {add runs in O(1) time} restrição length():Integer <<helper functions>> reorder() Prof. Msc. Emerson Silas Dória 19 Extensibilidade Estereótipos Um estereótipo é um mecanismo de extensão introduzido pela UML, que permite que o usuário estenda o meta-modelo para suprir necessidades que não encontram-se definidas entre os elementos dos diagramas. A apresentação geral de um estereótipo é o nome do estereótipo colocado entre os símbolos << >>. Um estereótipo geralmente é aplicado a classes, relacionamentos de dependência, atributos e operações. Exemplo: <<abstract>> aplicado a uma classe indica que a classe não pode ter objetos, é uma classe que nunca deve ser instanciada. 20 Extensibilidade Estereótipos - Exemplos <<ator>> Clientes Clientes adicionar(...) remove(...) adicionar(...) remover(...) Cliente 21 Extensibilidade Estereótipos - Exemplos {versão=3.2 autor= tec} <<exceção>> Overflow Fila adicionar( ) remover( ) {ordenado} <<abstrato>> Veículo Prof. Msc. Emerson Silas Dória 22 Extensibilidade Valores atribuídos Valor atribuído: permite atribuir um tipo particular de propriedade a um ou vários blocos de construção. {valor atribuído = valor} Exemplo {valor > 100} = exemplo de uma pré-condição para a execução de um método 23 Extensibilidade Valores atribuídos - Exemplos {versão=3.2 autor= tec} Fila Servidor adicionar( ) remover( ) {processadores = 3} Prof. Msc. Emerson Silas Dória 24 Extensibilidade Restrições Restrição: é uma relação semântica entre elementos do modelo. Especifica condições ou proposições que devem ser mantidas verdadeiras Uma restrição é mostrada como uma cadeia entre chaves {} Fila {ordenado} adicionar( ) remover( ) 25 Extensibilidade Restrições - Exemplos Contrato de Seguros 0..* 1..* Pessoa {or} 1..* Empresa Prof. Msc. Emerson Silas Dória 26 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividades Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Colaboração Diagrama de Implantação Prof. Msc. Emerson Silas Dória 27 Diagrama de Classes Pedido IncluirPedido(...) AtenderPedido(...) Cliente +CódigoCliente -LimiteCredito Pessoa {ou} Empresa 1 * ItensPedido #quantidade Produto EmpresaCliente IncluirItemPedido(...) CalcularTotal(...) Produto Automotivo Produto Agrícola Prof. Msc. Emerson Silas Dória Produto Híbrido 28 Diagrama de Classes A sintaxe padrão de um atributo é: visibilidade nome : tipo = valor_inicial {string de propriedade} onde visibilidade é: + visibilidade pública # visibilidade protegida - visibilidade privada Fatura + valor: Real + data: Date = data atual + cliente: String - num_faturas: Integer = 0 + status: String = nãopago {nãopago, pago} 29 Diagrama de Classes A sintaxe da operação é: visibilidade nome (lista_parâmetros): tipo_do_retorno {string de propriedade} na qual lista_parâmetros é um lista de parâmetros formais separados por vírgula, cada um especificado segundo sintaxe: nome : tipo = valor_padrão Figura + desenhar ( ) + escala (percentual:integer=25) - pos_retorno( ):position 30 Exemplos Prof. Msc. Emerson Silas Dória 31 Exemplos Prof. Msc. Emerson Silas Dória 32 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Colaboração Diagrama de Implantação Prof. Msc. Emerson Silas Dória 33 Diagrama de Objetos Autor nome: String idade: Integer Computador Usa 0..1 1..* nome: String memória: Integer Diagrama de Classes PC Profissional de Bob: Computador Bob: Autor nome: “Bob J.” idade: 32 nome: “Pent. III” memória: 64 Diagrama de Objetos PC Doméstico de Bob: Computador nome: “Compaq Pentium MMX” memória: 32 Prof. Msc. Emerson Silas Dória 34 Diagrama de Objetos c: Companhia objeto d1: Departamento nome = "Vendas" d2: Departamento nome = "RH" vinculo valor do atributo gerente objeto anônimo p:Pessoa nome = "Eric" cod = "4362" cargo = "Chefe de : Informações Adicionais endereço = "Rua St. Inacio, 1472" Prof. Msc. Emerson Silas Dória 35 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Colaboração Diagrama de Implantação Prof. Msc. Emerson Silas Dória 36 Diagrama de Casos de Uso Associação Nome do Sistema Ator 1 Ator 2 Caso de Uso A Fronteira do Sistema Caso de Uso B Caso de Uso C Prof. Msc. Emerson Silas Dória 37 Diagrama de Casos de Uso Casos de Uso podem ser organizados pela especificação de relacionamentos de: Generalização Inclusão <<include>> Extensão <<extend>> Prof. Msc. Emerson Silas Dória 38 Diagrama de Casos de Uso Generalização entre Atores Grupos gerais de atores especializados, utilizando o relacionamento de generalização. Cliente Cliente Comercial Cliente Industrial Cliente Pessoa Física Prof. Msc. Emerson Silas Dória 39 Diagrama de Casos de Uso Generalização entre Atores Outra forma de representar a generalização. Cliente Cliente Comercial Cliente Industrial Cliente Pessoa Física Prof. Msc. Emerson Silas Dória 40 Diagrama de Casos de Uso Generalização entre Casos de Uso O caso de uso filho herda o comportamento e o significado do caso de uso pai. Validar Usuário Checar Senha Digitalizar Retina Prof. Msc. Emerson Silas Dória 41 Diagrama de Casos de Uso Inclusão Um relacionamento include de um caso de uso A para um caso de uso B indica que uma instância de A inclui o comportamento especificado por B. Esse tipo de associação é útil para evitar a repetição de um fluxo de eventos várias vezes. Essa associação é mostrada com um relacionamento de dependência e acrescentando o estereótipo << include>>. Prof. Msc. Emerson Silas Dória 42 Diagrama de Casos de Uso Exemplo de Inclusão Sacar Dinheiro <<include>> Validar Usuário Checar Senha Digitalizar Retina Prof. Msc. Emerson Silas Dória 43 Diagrama de Casos de Uso Extensão Um relacionamento extends de um caso de uso A para um caso de uso B indica que uma instância de B pode usar o comportamento especificado por A. É um tipo de associação usada para a modelagem da parte de um caso de uso que é opcional (não é obrigatório) para o sistema ou uma parte do caso de uso que só é executada sob determinadas condições. Essa associação é mostrada com um relacionamento de dependência e acrescentando o estereótipo << extend>>. Prof. Msc. Emerson Silas Dória 44 Diagrama de Casos de Uso Exemplos de Extensão Sacar Dinheiro ponto de extensão Informar <<extend>> Saldo Insuficiente <<include>> Validar Usuário Cliente Cadastrar Cliente <<extend>> Checar Senha Digitalizar Digital Prof. Msc. Emerson Silas Dória Cadastrar Venda 45 Sistema de Validação de Cartão de Crédito Exemplos Realizar transação com cartão Instituição de venda a varejo Processa a conta do cliente Cliente Reconciliar as transações Instituição financeira patrocinadora Cliente Individual Cliente Juridico Gerenciar a conta do cliente Prof. Msc. Emerson Silas Dória 46 Exemplos Telefone Celular <<extend>> Fazer ligação Fazer ligação de conferencia <<extend>> Rede Celular Receber ligação Usuário Receber ligação adicional Uso programado Prof. Msc. Emerson Silas Dória 47 Exemplos Estabelecer Limites Atualizar Contas Sistema de Contabilidade Gerente Comercial <<include>> Analisar Riscos <<include>> Avaliar Negócio Analista Comercial Fechar Preço Registrar Negócio Vendedor Negócio com Limites Excedidos Prof. Msc. Emerson Silas Dória 48 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Implantação Diagrama de Colaboração Prof. Msc. Emerson Silas Dória 49 Diagramas de Interação Um DI mostra uma interação formada por um conjunto de objetos e seus relacionamentos, incluindo mensagens que podem ser trocadas entre eles; Um Diagrama de Seqüência é um DI que dá ênfase à ordenação temporal das mensagens; Um Diagrama de Colaboração é um DI que dá ênfase à organização estrutural dos objetos que enviam e recebem mensagens; Prof. Msc. Emerson Silas Dória 50 Diagramas de Interação Os Diagramas de Seqüências têm duas características que os diferenciam dos diagramas de colaboração: Existe linha de vida do objeto Existe o foco de controle Os Diagramas de Colaboração têm duas características que os diferenciam dos diagramas de seqüência: Existe o caminho Existe o número de seqüência Prof. Msc. Emerson Silas Dória 51 Diagrama de Seqüência Ilustra a ordenação temporal das mensagens objetos c:Client p:ODBCProxy <<create>> tempo :Transaction setActions(a,b,o) linha de vida setValues(d,3.4) setValues(a, “CO”) committed <<destroy>> X Prof. Msc. Emerson Silas Dória foco de controle 52 Diagrama de Seqüência Tipos de Mensagens Simples = não descreve detalhes da mensagem por não ser importante neste momento ou por não se saber os pormenores da comunicação. Síncrona = mensagem para chamada de operação, a próxima mensagem só é executada quando esta for concluída. Assíncrona = serve para envio de mensagem sem nenhuma espera, ou seja, a próxima mensagem pode ser executada antes que esta termine. Simples Síncrona Assíncrona Prof. Msc. Emerson Silas Dória 53 Diagrama de Seqüência c:Cliente p: Assistente de Planejamento :Agente Viagem <<create>> definir_Itinerário(i) estabelecer_rota( ) rota <<destroy>> X notificar( ) Prof. Msc. Emerson Silas Dória 54 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Implantação Diagrama de Colaboração Prof. Msc. Emerson Silas Dória 55 Diagrama de Colaboração Ilustra organização estrutural dos objetos que enviam e recebem mensagens t:obter_total( ) :Venda 1*:[para cada]iv:next( ) 2:st:=obter_subtotal( ) ordem da mensagem iv:ItemVenda iv:ItemVenda 2.1:p:=obter_preço( ) :Especificação Produto Prof. Msc. Emerson Silas Dória 56 Diagrama de Colaboração Sintaxe da Mensagem número_seqüência{[pré-condição] * [iteração]:valor_retorno:=}assinatura número_seqüência: ordem na qual a mensagem será executada. pré-condição: pré-condição para a execução do método. iteração: execução iterativa da mensagem ex.: 1.1*[x=1..10]:façaAlgo() valor_retorno: variável que receberá o valor retornado pela mensagem assinatura: chamada do método com os seus devidos argumentos Prof. Msc. Emerson Silas Dória 57 Diagrama de Colaboração Objetos criados durante a execução podem ser designados pelo estereótipo << new >> Objetos destruídos durante a execução podem ser designados por << destroyed >> Objetos criados e destruídos durante a execução podem ser designados por << transient >> Prof. Msc. Emerson Silas Dória 58 Diagrama de Colaboração Existem algumas ações padrão em UML: Call = Invoca uma operação em um objetos, o objeto poderá enviar uma mensagem a si mesmo, resultando em uma chamada local de uma operação Return= Retorna um valor para quem o solicitou Send= Envia um sinal para um objeto Create= Cria um objeto Destroy= Destrói um objeto, o objetos poderá se destruir. Prof. Msc. Emerson Silas Dória 59 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Implantação Diagrama de Colaboração Prof. Msc. Emerson Silas Dória 60 Diagrama de Estados Um diagrama de estado representa o ciclo de vida de um objeto. Para isso ele mostra os estados que um objeto pode ter, como os eventos afetam estes estados e como o objeto reage a estes eventos. Um estado é uma condição ou situação na vida de um objeto durante a qual ele: satisfaz alguma condição, executa alguma atividade ou espera algum evento. Um evento é uma especificação de uma ocorrência significativa que tem uma localização no tempo e no espaço. No contexto de DE é uma ocorrência de um estímulo capaz de ativar uma transição de estados. Prof. Msc. Emerson Silas Dória 61 Diagrama de Estados Uma transição é um relacionamento entre dois estados, indicando que um objeto no primeiro estado realizará certas ações e entrará no segundo estado quando um evento especificado ocorrer e as condições especificadas estiverem satisfeitas. Uma atividade é uma execução não-atômica em andamento em uma máquina de estados. Uma ação é uma computação atômica executável que resulta e uma alteração do estado do modelo ou no retorno de um valor. Prof. Msc. Emerson Silas Dória 62 Diagrama de Estados A sintaxe do rótulo de uma transição é: EventoDeAtivação(Parâmetros)[CondiçãoDeProteção]/Ação EventoDeAtivação: O evento cuja recepção pelo objeto no estado de origem faz com que a transição possa ser escolhida para ser ativada, desde de que a CondiçãoDeProteção seja satisfeita; Ação: Uma computação atômica executável que poderá agir diretamente no objeto ao qual a máquina pertence e indiretamente em outros objetos que são visíveis ao objeto. Prof. Msc. Emerson Silas Dória 63 Diagrama de Estados Um estado pode ser refinado em subestados concorrentes (ortogonais) usando relacionamentos ou em subestados seqüenciais (disjuntos mutuamente exclusivos) usando relacionamentos. Um dado estado pode ser refinado em apenas uma das duas formas. Estes subestados podem ser novamente refinados, de uma forma ou de outra. 64 Diagrama de Estados Exemplo – Subestados seqüenciais subestado seqüencial transição para/de estado composto estado composto cardInserted Active Idle cancel maintain Validating [continue] Selecting Processing [not continue] Maintenance entry / readCard exit / ejectCard Printing transição de subestado 65 Diagrama de Estados Exemplo – Subestados concorrentes bifurcação Maintenance cardInserted Idle cancel Testing Self Diagnosis Testing Devices Commanding [continue] Command Waiting união subestados concorrentes keyPress [not continue] 66 Diagrama de Estados Modelando uma classe: item bibliográfico create Criado selecionar_IB procurar_item alterar_IB inserir_item_completo inserir_item_incompleto destruir Excluído Inserido excluir_IB Prof. Msc. Emerson Silas Dória 67 Diagrama de Estados Exemplos entrarItem Esperando por Venda entrarItem Entrando Itens registrarPagamentocom Dinheiro tratarResposta registrar Pagamentocom CartãodeCrédito Autorizando Pagamento terminarVenda Esperando por Pagamento registrarPagamentocomCheque Prof. Msc. Emerson Silas Dória 68 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Implantação Diagrama de Colaboração Prof. Msc. Emerson Silas Dória 69 Diagrama de Atividade Um DA é um caso especial de uma máquina de estados, em que todos ou a maioria dos estados são estados de atividades e em que todas ou a maioria das transições são ativadas pela conclusão de atividades no estado de origem: Estado de Atividade: Execução de atividade com evento implícito na sua terminação para ativar a transição de saída; Estado de Espera/Ação: Computações atômicas executáveis, pode ocorrer evento externo mas o trabalho não é interrompido. Enquanto um DI observa os objetos que trocam mensagens, um DA observa as operações passadas entre os objetos; Prof. Msc. Emerson Silas Dória 70 Diagrama de Atividade Um DA representa o estado de execução do método, ou seja, o estado do objeto que executa o método, em contrapartida aos DI. Prof. Msc. Emerson Silas Dória 71 Diagrama de Atividade selecionar local estado de ação contratar arquiteto estado inicial desenvolver plano orçar plano ramificação seqüencial bifurcação concorrente fazer trabalho local [rejeitado] [senão] fazer trabalho em outros setores união concorrente concluir construção Prof. Msc. Emerson Silas Dória estado final 72 Cliente Vendas Estoque solicitar produto processar pedido separar materiais enviar pedido receber pedido Raia de natação cobrar cliente pagar cobrança fechar pedido Prof. Msc. Emerson Silas Dória 73 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Implantação Diagrama de Colaboração Prof. Msc. Emerson Silas Dória 74 Diagrama de Componentes Os Diagramas de Componentes são um dos dois tipos de diagramas disponíveis para a modelagem de aspectos físicos de sistemas orientados a objetos (modelagem arquitetural), ele mostra a organização e as dependências existentes entre um conjunto de componentes. São empregados para a modelagem da visão estática de implementação do sistema, que envolve a modelagem de itens físicos que residem em um nó, como executáveis, bibliotecas, tabelas, arquivos e documentos. Prof. Msc. Emerson Silas Dória 75 Diagrama de Componentes Um componente é uma parte física do sistema. Muitas vezes um componente mostra um arquivo específico do sistema. Prof. Msc. Emerson Silas Dória 76 Diagrama de Componentes Usos Comuns - Código-fonte do Sistema Prof. Msc. Emerson Silas Dória 77 Diagrama de Componentes Usos Comuns – Versão Executável Prof. Msc. Emerson Silas Dória 78 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Colaboração Diagrama de Implantação Prof. Msc. Emerson Silas Dória 79 Diagrama de Implantação Os Diagramas de Implantação são um dos dois tipos de diagramas disponíveis para a modelagem de aspectos físicos de sistemas orientados a objetos (modelagem arquitetural), ele mostra a configuração dos nós de processamento em tempo de execução e os componentes que nele existem. Eles são empregados para a modelagem da visão estática da implantação do sistema. Na maior parte, isso envolve a modelagem da topologia do hardware em que o sistema é executado. Prof. Msc. Emerson Silas Dória 80 Diagrama de Implantação servers clients 2..* console kiosk <<processor>> caching server Deploys http.exe rting.exe Prof. Msc. Emerson Silas Dória 4..* <<processor>> server Deploys dbadimin.exe logexe.exe 81 Diagramas Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagrama de Classes Diagrama de Estados Diagrama de Objetos Diagrama de Atividade Diagrama de Casos de Uso Diagrama de Componentes Diagrama de Seqüência Diagrama de Colaboração Diagrama de Implantação Prof. Msc. Emerson Silas Dória 82 Bibliografia Booch, Grady; Rumbaugh, James. UML – Guia do Usuário; Rio de Janeiro, Campus, 2000. Furlan, José Davi. Modelagem de Objetos através da UML; São Paulo, Makron Books, 1998. Larman, Graig; Utilizando UML e Padrões; Porto Alegre, Bookman, 2000. Prof. Msc. Emerson Silas Dória 83