A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Unified Modeling Language (UML) - Introdução -"— Transcrição da apresentação:

1 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

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 O UML apresenta as particularidades principais:
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, frameworks e 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 Novos elementos introduzidos no UML...
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 Benefícios que se obtêm com o UML...
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 A EC do UML : Diagramas 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

16 (e.g., UAnónimo no contexto do WebGTTI)
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 (e.g., classes do WebGTTI)
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 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 Pessoa género:{m, f} 0..1 mulher restrição simples {self.mulher.genero=“f” and self.marido.genero=“m”}

31 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 Pessoa género:{m, f} 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 1..* 1 gestor 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


Carregar ppt "Unified Modeling Language (UML) - Introdução -"

Apresentações semelhantes


Anúncios Google