Unified Modeling Language (UML) - Introdução - Alberto Manuel Rodrigues da Silva / José Borbinha Análise e Concepção de Sistemas de Informação.

Slides:



Advertisements
Apresentações semelhantes
UML 2.0 Unified Modeling Language version 2.0 Workshop Sala ITA
Advertisements

Análise e Projeto Orientado a Objetos
Trabalho de APSI II Diagrama de Instalação Victor Campolino Moussallem
Engenharia de Software
UML no CICLO de DESENVOLVIMENTO
(Unified Modeling Language)
Diagrama de Classes.
Unified Modeling Language (UML) - Modelação da Dinâmica -
Unified Modeling Language (UML) - Modelação da Arquitectura -
LINGUAGEM DE MODELAGEM UNIFICADA
UML Material retirado da apostila do Professor Cesar Augusto Tacla
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Projeto de Sistemas de Software
Linguagens de Modelagem (cont.) (IV)
Linguagens de Modelagem para SMA
Introdução a UML.
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Componentes: A Abordagem Catalysis
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Introdução a diagrama de classes e UML
Análise e Projeto de Sistemas
Classes e objetos Modelagem
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
Orientação a Objetos.
Engenharia de Software e Sistemas de Informação e Gestão
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
Unified Modeling Language (UML) - Introdução -
Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz.
Projeto de Sistemas de Software
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Arquiteturas de Referência
Detalhes sobre o curso
Referências: Booch, G. et al. The Unified Modeling Language User Guide
1 Professor Claudio Benossi Aula 03 Engenharia de Software II.
© Ricardo Pereira e Silva
POO Aula 03 Projeto OO com UML Eduardo Figueiredo 11 de Março de 2010.
Laboratório de Programação
Revisão 2º Bimestre Engenharia de Software I
1.
Generalização e herança Agregação e composição
Modelando aspectos de Implementação
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Desenvolvimento de Jogos e Entretenimento Digital
Desenvolvimento de Software Dirigido a Modelos
A Linguagem Formal de Especificação VDM-SL
UML INTRODUÇÃO CEÇA MORAES 14/04/2017.
Orientação a Objetos com UML
UML e a Ferramenta Astah
Linguagem de Modelagem Unificada
ATSI 2006/2007 Aulas práticas. Plano da Aulas Práticas de ACSI 7 Março- Apresentação. Exemplos de projectos de anos anteriores Março- Introdução.
OMG SysML IST – 2006 M Nuno Rosa.
Alberto Silva / José Borbinha
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)
Unified Modeling Language
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Análise e Projeto de Software
Análise e Projeto de Sistemas
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
Introdução a UML.
A linguagem unificada de modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.
UML (Unified Modeling Language) A linguagem unificada de modelagem
Projeto de Arquitetura de Software
Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos Marco Aurélio Wehrmeister
Análise do Sistema Alexandre Mota
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Transcrição da apresentação:

Unified Modeling Language (UML) - Introdução - Alberto Manuel Rodrigues da Silva / José Borbinha Análise e Concepção de Sistemas de Informação

ACSI/UML-Intro, Copyright, Alberto Silva 2 UML – Unified Modeling Language: Introdução Contexto Histórico Âmbito Visão Global Estrutura de Conceitos Mecanismos de Extensão Tipos de Dados

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

ACSI/UML-Intro, Copyright, Alberto Silva 4 Introdução - Contribuições para a 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

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 UML é uma linguagem (Unified Modeling Language) para: –visualização –especificação –construção –documentação... dos artefactos de um sistema computacional.

ACSI/UML-Intro, Copyright, Alberto Silva 6 Introdução - Âmbito A UML apresenta como particularidades principais: –Semântica e notação para tratar um grande número de tópicos actuais de modelação. –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.

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

ACSI/UML-Intro, Copyright, Alberto Silva 8 Introdução - Visão Global Um sistema é melhor representado segundo diferentes modelos, visões, facetas ou projecções, complementares.

ACSI/UML-Intro, Copyright, Alberto Silva 9 A Estrutura de Conceitos da UML “Elementos” –Estrutura –Comportamento –Agrupamento –Anotação Relações (relacionam “elementos”) –Estruturais ou de Associação –Especialização / Generalização –Realização –Dependência Diagramas (agrupam “elementos”) –Visão Funcional –Visão Dinâmica –Visão Estática / Estrutural

ACSI/UML-Intro, Copyright, Alberto Silva 10 A Estrutura de Conceitos da UML: Elementos Estrutura

ACSI/UML-Intro, Copyright, Alberto Silva 11 A Estrutura de Conceitos da UML: Relações Estruturais ou de Associação –Relações de ligação entre classes/objectos (Curso tem 20 Alunos; Carro tem 1 Dono, Aluno frequenta 5 Cursos,...) Especialização / Generalização –Relações de herança entre classes (Cliente é uma generalização de Cliente VIP; Aluno Finalista é uma especialização de Aluno;...) Realização ou de Interface –Relação em que se define uma interface assegurada por uma entidade (método de uma classe, serviço de um componente ou subsistema,...) Dependência –Relações gerais, entre quaisquer elementos do modelo, destinadas apenas a registar o facto de a modelação ou concretização de um elemento depende do outro...

ACSI/UML-Intro, Copyright, Alberto Silva 12 A Estrutura de Conceitos da 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 Referência extra recomendada:

ACSI/UML-Intro, Copyright, Alberto Silva 13 A Estrutura de Conceitos da UML: Exemplos Diagrama de Casos de Utilização: representa a visão funcional do sistema na perspectiva dos seus utilizadores

ACSI/UML-Intro, Copyright, Alberto Silva 14 A Estrutura de Conceitos da UML: Exemplos Diagrama de Classes: especifica a estrutura estática (domínio) de um sistema segundo a abordagem baseada em objectos

ACSI/UML-Intro, Copyright, Alberto Silva 15 A Estrutura de Conceitos da UML: Exemplos Diagrama de Sequências: especifica a dinâmica ou o comportamento de um sistema (interacção entre os objectos)

ACSI/UML-Intro, Copyright, Alberto Silva 16 A Estrutura de Conceitos da UML: Exemplos Diagrama de Actividades: Especifica os processos de negócio ou as actividades de um sistema (exemplo de um processo “Fazer Proposta”)

ACSI/UML-Intro, Copyright, Alberto Silva 17 A Estrutura de Conceitos da UML: Exemplos Diagrama de Componentes: Mostra os componentes de um sistema, com as suas relações, interacções e interfaces públicas (exemplo: arquitectura hardware de um sistema distribuído)

ACSI/UML-Intro, Copyright, Alberto Silva 18 A Estrutura de Conceitos da UML: Exemplos Diagrama de (Transição de) Estados: Descreve os estados e transições entre estados de um objecto

ACSI/UML-Intro, Copyright, Alberto Silva 19 Mecanismos de extensão da UML Estereótipos (Stereotypes) Marcas com Valor (Tagged Values) Constrangimentos (Constraints)

ACSI/UML-Intro, Copyright, Alberto Silva 20 Mecanismos de extensão da UML: Estereótipos The OMG UML specification states: "A stereotype is, in effect, a new class of metamodel element that is introduced at modeling time. It represents a subclass of an existing metamodel element with the same form (attributes and relationships) but with a different intent. Generally a stereotype represents a usage distinction. A stereotyped element may have additional constraints on it from the base metamodel class. It may also have required tagged values that add information needed by elements with the stereotype. It is expected that code generators and other tools will treat stereotyped elements specially. Stereotypes represent one of the built-in extensibility mechanisms of UML.“ Um estereótipo é um metatipo –permite definir novos tipos de “coisas” sem se alterar o metamodelo do UML –i.e., permite estender o UML de uma forma consistente. Exemplos –Na modelação de processos de negócio: «trabalhador», «documento», «política» –Na modelação de aplicações específicas: classes de «interface», «controlo», e «entidade»

ACSI/UML-Intro, Copyright, Alberto Silva 21 Mecanismos de extensão da UML: 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)

ACSI/UML-Intro, Copyright, Alberto Silva 22 Mecanismos de extensão da UML: Estereótipos Podem ser utilizados para: –alterar o comportamento da geração de código –facilitar a compreensão de um modelo Estereótipos pré-definidos: – >, >, >, >,... >

ACSI/UML-Intro, Copyright, Alberto Silva 23 Mecanismos de extensão da UML: Marcas com Valor (Tagged value) Declaração explícita de uma propriedade, num par “nome-valor”. Cada “elemento” em UML tem um conjunto de propriedades. Por exemplo, classes têm nome, atributos e operações; associações têm nome e 2 ou mais participantes, etc. “Tagged Values” podem atribuir valoes a essas propriedades, ou definir outras... Com estereótipos introduzem-se novas “coisas” ao UML Com marcas introduzem-se novas propriedades

ACSI/UML-Intro, Copyright, Alberto Silva 24 Mecanismos de extensão da UML: 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=...}

ACSI/UML-Intro, Copyright, Alberto Silva 25 Mecanismos de extensão da UML : 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”. OCL: Object Constraint Language (linguagem para definição de restrições) Portfolio ContaBancária Empresa Pessoa género:{m, f} 0..1 marido 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

ACSI/UML-Intro, Copyright, Alberto Silva 26 Mecanismos de extensão da UML : 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 marido 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

ACSI/UML-Intro, Copyright, Alberto Silva 27 Mecanismos de extensão da UML : 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}

ACSI/UML-Intro, Copyright, Alberto Silva 28 Mecanismos de extensão da UML: 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 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.

ACSI/UML-Intro, Copyright, Alberto Silva 29 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