1 / 83

Unified Modeling Language UML

Unified Modeling Language UML. Notações Básicas Referência: UML Resource Center. 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.

Download Presentation

Unified Modeling Language UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unified Modeling LanguageUML Notações Básicas Referência: UML Resource Center Prof. Msc. Emerson Silas Dória

  2. 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

  3. 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

  4. 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

  5. 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

  6. orderform.java Servidor Itens • Itens Estruturais: partes mais estática do modelo (substantivos) Digitalizar Retina Window +origin #size open() close() move() display() Cadeia de Responsabilidade Window origin size ISpelling Prof. Msc. Emerson Silas Dória

  7. t:Thread :Tookit Off a1:run(3) <<create>> onHook Idle keepAlive/Check run() p:Peer Working handleExpose ready(3) [signalOK] Connecting Connected offHook / reclaimConnection() <<destroy>> Itens • Itens Comportamentais: partes dinâmica (verbos) Prof. Msc. Emerson Silas Dória

  8. Business rules Consider the use of the broker design pattern here Itens • 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

  9. Relacionamentos • Existem 4 tipos de relacionamentos na UML: • Dependência • Associação • Generalização • Realização Prof. Msc. Emerson Silas Dória

  10. AgendaDeCursos remover(c:Curso) adicionar(c:Curso) 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 Dependência (Agenda de Cursos depende de Curso) Curso Quando excluir um Curso, retirar da agenda. Prof. Msc. Emerson Silas Dória

  11. nome multiplicidade direção do nome fornece 1 1..* Produto Fornecedor associação 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). Prof. Msc. Emerson Silas Dória

  12. nome do papel funcionário empregador Pessoa Empresa associação Relacionamentos • Associação Prof. Msc. Emerson Silas Dória

  13. agregação (relacionamento tipo fraco) Empresa Departamento 1 * parte todo composição Empresa Departamento 1 * Relacionamentos 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. • Associação Prof. Msc. Emerson Silas Dória

  14. 1..* * Empresa Pessoa descrição dtadmissão salário Serviço Relacionamentos • Associação: Existem outros tipos de adornos a serem aplicados às associações (ex: classe de associação). Prof. Msc. Emerson Silas Dória

  15. faz 1..* 0..* Estudante Prova data nota Relacionamentos • Outro exemplo de classe de associação Prof. Msc. Emerson Silas Dória

  16. Ativos adicionar(...) remover(...) Conta Corrente Imóveis Seguridade 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). generalização Prof. Msc. Emerson Silas Dória

  17. Detectar Fraude Cartão <<interface>> IAgentedaRegra AdicionarRegra() AlterarRegra() ExplicarRegra() RegrasDeContabilidade Enviar Pedido Crédito Gerenciar Pedido Cliente Validar Transação Gerar Conta 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. Prof. Msc. Emerson Silas Dória

  18. 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

  19. <<container>> ActionQueue {version=3.2} add(a:Action) remove(n: Integer) <<query>> length():Integer <<helper functions>> reorder() Extensibilidade estereótipo valor atribuído {add runs in O(1) time} restrição Prof. Msc. Emerson Silas Dória

  20. ExtensibilidadeEstereótipos • Umestereó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.

  21. Clientes adicionar(...) remover(...) <<ator>> Clientes adicionar(...) remove(...) Cliente ExtensibilidadeEstereótipos - Exemplos

  22. {versão=3.2 autor= tec} Fila <<exceção>> Overflow adicionar( ) remover( ) {ordenado} <<abstrato>> Veículo ExtensibilidadeEstereótipos - Exemplos Prof. Msc. Emerson Silas Dória

  23. ExtensibilidadeValores 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

  24. {versão=3.2 autor= tec} Fila Servidor {processadores = 3} adicionar( ) remover( ) ExtensibilidadeValores atribuídos - Exemplos Prof. Msc. Emerson Silas Dória

  25. ExtensibilidadeRestriçõ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( )

  26. Contrato de Seguros Pessoa 0..* {or} 1..* 1..* Empresa ExtensibilidadeRestrições - Exemplos Prof. Msc. Emerson Silas Dória

  27. Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagramas • Diagrama de Classes • Diagrama de Objetos • Diagrama de Casos de Uso • Diagrama de Seqüência • Diagrama de Colaboração • Diagrama de Estados • Diagrama de Atividades • Diagrama de Componentes • Diagrama de Implantação Prof. Msc. Emerson Silas Dória

  28. Cliente +CódigoCliente -LimiteCredito Produto Pessoa Empresa Pedido IncluirPedido(...) AtenderPedido(...) Produto Automotivo Produto Agrícola Produto Híbrido Diagrama de Classes {ou} 1 * ItensPedido #quantidade IncluirItemPedido(...) CalcularTotal(...) EmpresaCliente Prof. Msc. Emerson Silas Dória

  29. + valor: Real + data: Date = data atual + cliente: String - num_faturas: Integer = 0 + status: String = nãopago {nãopago, pago} Fatura 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

  30. + desenhar ( ) + escala (percentual:integer=25) - pos_retorno( ):position Figura 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

  31. Exemplos Prof. Msc. Emerson Silas Dória

  32. Exemplos Prof. Msc. Emerson Silas Dória

  33. Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagramas • Diagrama de Classes • Diagrama de Objetos • Diagrama de Casos de Uso • Diagrama de Seqüência • Diagrama de Colaboração • Diagrama de Estados • Diagrama de Atividade • Diagrama de Componentes • Diagrama de Implantação Prof. Msc. Emerson Silas Dória

  34. Autor Computador  Usa Diagrama de nome: String nome: String Classes 0..1 1..* idade: Integer memória: Integer PC Profissional de Bob: Computador nome: “ Pent. III” Bob: Autor Diagrama de memória: 64 nome: “ Bob J.” Objetos idade: 32 PC Doméstico de Bob: Computador nome: “ Compaq Pentium MMX” memória: 32 Diagrama de Objetos Prof. Msc. Emerson Silas Dória

  35. c: Companhia objeto d1: Departamento d2: Departamento nome = "Vendas" nome = "RH" vinculo valor do atributo gerente objeto anônimo p:Pessoa : Informações Adicionais nome = "Eric" cod = "4362" endereço = "Rua St. Inacio, 1472" cargo = "Chefe de Diagrama de Objetos Prof. Msc. Emerson Silas Dória

  36. Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagramas • Diagrama de Classes • Diagrama de Objetos • Diagrama de Casos de Uso • Diagrama de Seqüência • Diagrama de Colaboração • Diagrama de Estados • Diagrama de Atividade • Diagrama de Componentes • Diagrama de Implantação Prof. Msc. Emerson Silas Dória

  37. Associação Nome do Sistema Ator 1 Ator 2 Caso de Uso B Caso de Uso A Caso de Uso C Fronteira do Sistema Diagrama de Casos de Uso Prof. Msc. Emerson Silas Dória

  38. 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

  39. Cliente Cliente Comercial Cliente Industrial Cliente Pessoa Física Diagrama de Casos de UsoGeneralização entre Atores • Grupos gerais de atores especializados, utilizando o relacionamento de generalização. Prof. Msc. Emerson Silas Dória

  40. Cliente Cliente Comercial Cliente Industrial Cliente Pessoa Física Diagrama de Casos de UsoGeneralização entre Atores • Outra forma de representar a generalização. Prof. Msc. Emerson Silas Dória

  41. Validar Usuário Checar Senha Digitalizar Retina Diagrama de Casos de UsoGeneralização entre Casos de Uso • O caso de uso filho herda o comportamento e o significado do caso de uso pai. Prof. Msc. Emerson Silas Dória

  42. Diagrama de Casos de UsoInclusão • Um relacionamento includede um caso de uso A para um caso de uso B indica que uma instância de Ainclui 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

  43. Diagrama de Casos de UsoExemplo de Inclusão Sacar Dinheiro <<include>> Validar Usuário Checar Senha Digitalizar Retina Prof. Msc. Emerson Silas Dória

  44. Diagrama de Casos de UsoExtensão • Um relacionamento extendsde um caso de uso A para um caso de uso B indica que uma instância de Bpode 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

  45. Informar Saldo Insuficiente Sacar Dinheiro ponto de extensão <<extend>> <<include>> Validar Usuário Checar Senha Digitalizar Digital Diagrama de Casos de UsoExemplos de Extensão Cliente Cadastrar Cliente Cadastrar Venda <<extend>> Prof. Msc. Emerson Silas Dória

  46. Sistema de Validação de Cartão de Crédito Exemplos Prof. Msc. Emerson Silas Dória

  47. Telefone Celular Exemplos Prof. Msc. Emerson Silas Dória

  48. 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 Exemplos Prof. Msc. Emerson Silas Dória

  49. Um diagrama é uma apresentação gráfica de um conjunto de elementos com objetivo de visualizar um sistema sob diferentes perspectivas. Diagramas • Diagrama de Classes • Diagrama de Objetos • Diagrama de Casos de Uso • Diagrama de Seqüência • Diagrama de Colaboração • Diagrama de Estados • Diagrama de Atividade • Diagrama de Componentes • Diagrama de Implantação Prof. Msc. Emerson Silas Dória

  50. 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; Diagramas de Interação Prof. Msc. Emerson Silas Dória

More Related