1 / 35

Unified Modeling Language (UML) - Introdução -

Análise e Concepção de Sistemas de Informação. Unified Modeling Language (UML) - Introdução -. Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL. Introdução ao UML. Contexto Histórico Âmbito Visão Global Estrutura de Conceitos Mecanismos Comuns Tipos de Dados.

parry
Download Presentation

Unified Modeling Language (UML) - Introdução -

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. Análise e Concepção de Sistemas de Informação Unified Modeling Language (UML)- Introdução - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL

  2. Introdução ao UML • Contexto Histórico • Âmbito • Visão Global • Estrutura de Conceitos • Mecanismos Comuns • Tipos de Dados

  3. Introdução - Contexto Histórico

  4. Introdução - Contribuições para o UML Booch Rumbaugh Jacobson Meyer Pré e Pós Condições Fusion Descrição operações Numeração mensagens Harel Diagramas de Estado Wirfs-Brock Responsabilidades Gamma, et al. Frameworks, patterns, nodes Shlaer-Mellor Ciclos de vida dos objectos Odell Classificação

  5. Introdução - Âmbito UML não é: • Uma metodologia • Um processo de desenvolvimento de software • Dependente de ferramentas CASE • Dependente do domínio de aplicação O UML é uma linguagem para: • visualização • especificação • construção • documentação dos artefactos de um sistema

  6. Introdução - Âmbito O UML apresenta as particularidades principais: • Semântica e notação para tratar um grande número de tópicos actuais de modelação. • Semântica para tratar tópicos de modelação futura, relacionados em particular com a tecnologia de componentes, computação distribuída, frameworkse Internet. • Mecanismos de extensão de modo que futuras aproximações e notações de modelação possam continuar a ser desenvolvidas sobre o UML. • Semântica e sintaxe para facilitar a troca de modelos entre distintas ferramentas.

  7. Introdução - Âmbito Novos elementos introduzidos no UML... • Mecanismos de extensão • Elementos para modelar processos e threads • Elementos para modelar distribuição e concorrência • Padrões de desenho e colaborações • Diagramas de actividade (para modelação de processos de negócio) • Refinamento (para tratar relações entre diferentes níveis de abstracção) • Interfaces e componentes • Linguagem de restrições (Object Contraint Language) • Semântica de acções (Action Semantics) associada à visão do UML executável(xUML)

  8. Introdução - Âmbito Benefícios que se obtêm com o UML... • Terminam as diferenças, geralmente inconsequentes, entre as linguagens de modelação dos anteriores métodos • Unifica as distintas perspectivas entre diferentes tipos de sistemas (e.g., negócio vs. software), fases de um processo e conceitos internos.

  9. Introdução - Visão Global Um sistema é melhor representado segundo diferentes modelos, visões, facetas ou projecções, complementares. Qual é, dos 4 Princípios de Modelação do Booch?

  10. A Estrutura de Conceitos do UML “Elementos” Relações (relacionam “elementos”) Diagramas (agrupam “elementos”)

  11. A EC do UML : Elementos • Elementos de Estrutura • Elementos de Comportamento • Elementos de Agrupamento • Elementos de Anotação

  12. A EC do UML : Elementos Elementos de Estrutura

  13. A EC do UML : Elementos

  14. A EC do UML : Relações Tipos de Relações

  15. Visão Funcional Diagrama de casos de utilização Diagrama de actividade Visão Dinâmica Diagrama de máquina de estados (state machine diagram) Diagrama de interacção Diagrama de sequência Diagrama de comunicação Diagrama de visão geral da interacção (interaction overview diagram) Diagrama temporal (timing diagram) Visão Estática ou Estrutural Diagrama de pacotes Diagrama de classes Diagrama de objectos Diagrama de estrutura composta (composite structure diagram) Diagrama de componentes Diagrama de instalação A EC do UML : Diagramas

  16. A EC do UML : Exemplos Diagrama de Casos de Utilização: representa a visão do sistema na perspectiva dos seus utilizadores (e.g., UAnónimo no contexto do WebGTTI)

  17. A EC do UML : Exemplos Diagrama de Classes: especifica a estrutura estática de um sistema segundo a abordagem baseada em objectos (e.g., classes do WebGTTI)

  18. A EC do UML : Exemplos Diagrama de Sequências: especifica a dinâmica ou o comportamento de um sistema (e.g., registo de membro no WebGTTI)

  19. A EC do UML : Exemplos Exemplo de um Diagrama de Actividades (processo de negócio “Fazer Proposta”)

  20. A EC do UML : Exemplos Diagrama de Distribuição (e.g., arquitectura hardware de um sistema distribuído)

  21. A EC do UML : Exemplos Diagrama de (Transição de) Estados (e.g., da classe “Termo” do WebGTTI)

  22. UML – Mecanismos Comuns • Notas ou Anotações • Mecanismos de extensão O UML contém um conjunto de mecanismos comuns que são aplicados de modo consistente ao longo dos seus diferentes diagramas

  23. Mecanismos Comuns - Notas Uma “nota” ilustra um comentário e não tem qualquer impacto semântico, no sentido que o seu conteúdo não altera o significado do modelo no qual ela se encontra. Por isso é normal usarem-se “notas” para se especificar: requisitos, restrições, observações, revisões, explicações. O AgentManager tem de criar os restantes agentes da aplicação. Alb 2001/6/12 Ver htto://www.objectspace.com para mais informação sobre o ORB Voyager

  24. Mecanismos Comuns - Notas • Observações: • Localização: Notas são colocadas graficamente perto dos elementos que descrevem • Visibilidade: Podem-se esconder ou tornar visíveis • Extensão: Usar referências (e.g., nomes de docs, ou URL) caso se pretenda um comentário mais extenso. • Evolução: Há medida que o modelo evoluí as notas antigas (que deixem de ter sentido) devem ser eliminadas

  25. Mecanismos Comuns - Estereótipos • Um estereótipo é um metatipo • permite definir novos tipos de “coisas” sem se alterar o metamodelo do UML • i.e., permite estender o UML • Exemplos • Na modelação de processos de negócio: • «trabalhador», «documento», «política» • Na modelação de aplicações específicas: • «interface», «controlo», e «entidade»

  26. Mecanismos Comuns - Estereótipos • Um estereótipo define um novo elemento através de: • propriedades (pode providenciar o seu próprio conjunto de marcas) • semântica (pode providenciar a sua próprias restrições) • notação (pode providenciar o seu próprio icon)

  27. Mecanismos Comuns - Estereótipos • Cada elemento do modelo pode ter no máximo um estereótipo. • Podem ser utilizados para: • alterar o comportamento da geração de código • facilitar a compreensão de um modelo • Estereótipos pré-definidos: • <<actor>>, <<entity>>, <<boundary>>, <<extends>>, ... <<Interface>> <<Control>> <<communicates>> <<Entity>>

  28. Mecanismos Comuns - Marcas com Valor Tagged value Cada “elemento” em UML tem um conjunto de propriedades. Ex.: • classes têm: i) nome, ii) atributos, e iii) operações • associações têm: i) nome, e ii) 2 ou mais participantes Com estereotipos introduz-se novas “coisas” ao UML Com marcas introduz-se novas propriedades

  29. Mecanismos Comuns - Marcas com Valor • Uma marca com valor não é um atributo de classe! • Deve ser entendido como metadata, pois o seu valor aplica-se ao próprio elemento e não às suas instâncias. • Aplicações Usuais: • geração de código: Ex: {language=Java}, {linker=Blinker} • produção automática de documentação • gestão de configurações: Ex: {autor=AMRS}, {data=...}

  30. Pessoa género:{m, f} Mecanismos Comuns - Restrições (Constraints) Qualquer “coisa” em UML tem uma semântica… • As Restrições permitem adicionar ou alterar a semântica • Uma restrição específica condições que têm de ser validadas para que o modelo seja “bem definido”. restrição entre vários elementos Portfolio Empresa {secure-access} 0..1 homem restrição formal usando OCL {or} ContaBancária 0..1 mulher restrição simples {self.mulher.genero=“f” and self.marido.genero=“m”}

  31. Pessoa género:{m, f} Mecanismos Comuns - Restrições (Constraints) Como especificar que uma pessoa pode estar casada apenas com outra pessoa do sexo oposto? {self.mulher.genero=“f” and self.marido.genero=“m”} 0..1 homem 0..1 mulher restrição formal usando OCL OCL (Object Constraint Language) é uma linguagem para especificação formal de restrições; é uma parte definida no UML

  32. Mecanismos Comuns - Restrições (Constraints) Como especificar que uma pessoa, para ser gestor de um departamento tem também de ser, necessariamente, membro desse departamento? Departamento * * {subset} membro gestor 1..* 1 Pessoa

  33. Mecanismos Comuns - Sugestões Ao estender um modelo com estereótipos, valores com marcas, ou restrições, deve ter em conta as seguintes sugestões: • Definir um número reduzido desses elementos. • Escolher nomes curtos e com significado evidente para estereótipos e marcas. • Sempre que a precisão puder ser relaxada usar texto livre para especificação das restrições. Caso contrário, usar OCL.

  34. Tipos de Dados • Um tipo de dadoé uma abstracção utilizada de forma implícita no UML. • Os tipos de dados não são elementos do modelo e por conseguinte não lhe são associados estereótipos, marcas com valor ou restrições. • Um tipo primitivo é um tipo de dados que não tem uma subestrutura. • Exemplos de tipos de dados: • Primitivos: Integer, String, Time • Enumerados: Boolean, AggregationKind, VisibilityKind • Outros: Expression, Mapping, Name, Multiplicity

  35. Tipos de Dados

More Related