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

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

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

Apresentações semelhantes


Apresentação em tema: "Unified Modeling Language (UML) - Introdução - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação."— Transcrição da apresentação:

1 Unified Modeling Language (UML) - Introdução - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação

2 ACSI/UML-Intro, Copyright, Alberto Silva 2 Introdução ao UML Contexto Histórico Âmbito Visão Global Estrutura de Conceitos Mecanismos Comuns Tipos de Dados

3 ACSI/UML-Intro, Copyright, Alberto Silva 3 Introdução - Contexto Histórico

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

5 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 6 Introdução - Âmbito 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. O UML apresenta as particularidades principais:

7 ACSI/UML-Intro, Copyright, Alberto Silva 7 Introdução - Âmbito 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) Novos elementos introduzidos no UML...

8 ACSI/UML-Intro, Copyright, Alberto Silva 8 Introdução - Âmbito 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. Benefícios que se obtêm com o UML...

9 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 10 A Estrutura de Conceitos do UML Elementos Relações (relacionam elementos) Diagramas (agrupam elementos)

11 ACSI/UML-Intro, Copyright, Alberto Silva 11 A EC do UML: Elementos Elementos de Estrutura Elementos de Comportamento Elementos de Agrupamento Elementos de Anotação

12 ACSI/UML-Intro, Copyright, Alberto Silva 12 A EC do UML: Elementos Elementos de Estrutura

13 ACSI/UML-Intro, Copyright, Alberto Silva 13 A EC do UML: Elementos

14 ACSI/UML-Intro, Copyright, Alberto Silva 14 A EC do UML: Relações Tipos de Relações

15 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 19 A EC do UML: Exemplos Exemplo de um Diagrama de Actividades (processo de negócio Fazer Proposta)

20 ACSI/UML-Intro, Copyright, Alberto Silva 20 A EC do UML: Exemplos Diagrama de Distribuição (e.g., arquitectura hardware de um sistema distribuído)

21 ACSI/UML-Intro, Copyright, Alberto Silva 21 A EC do UML: Exemplos Diagrama de (Transição de) Estados (e.g., da classe Termo do WebGTTI)

22 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 23 Mecanismos Comuns - Notas O AgentManager tem de criar os restantes agentes da aplicação. Alb 2001/6/12 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. Ver htto://www.objectspace.com para mais informação sobre o ORB Voyager

24 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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: – >, >, >, >,... >

28 ACSI/UML-Intro, Copyright, Alberto Silva 28 Mecanismos Comuns - Marcas com Valor 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 Tagged value

29 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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. Portfolio ContaBancária Empresa Pessoa género:{m, f} 0..1 homem 0..1 mulher {or} {secure-access} {self.mulher.genero=f and self.marido.genero=m} restrição simples restrição entre vários elementos restrição formal usando OCL

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

32 ACSI/UML-Intro, Copyright, Alberto Silva 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 Pessoa 1..* 1 ** gestormembro {subset}

33 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 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 ACSI/UML-Intro, Copyright, Alberto Silva 35 Tipos de Dados


Carregar ppt "Unified Modeling Language (UML) - Introdução - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL Análise e Concepção de Sistemas de Informação."

Apresentações semelhantes


Anúncios Google