UML - Unified Modeling Language UML é uma linguagem para Visualização, Especificação,...

49

Transcript of UML - Unified Modeling Language UML é uma linguagem para Visualização, Especificação,...

Page 1: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.
Page 2: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

UML - Unified Modeling Language UML é uma linguagem para Visualização,

Especificação, Construção e Documentação

dos elementos de um sistema de software

2

Apresentação

Page 3: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

UML - Unified Modeling Language Autores: Booch, Rumbaugh e Jacobson

◦ Reconhecendo a dificuldade em padronizar o

processo de desenvolvimento, decidiram

orientar o esforço numa linguagem de

modelagem que pudesse suportar todo o ciclo

de vida do desenvolvimento de software

3

Apresentação

Page 4: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

UML - Unified Modeling Language É um Standard OMG desde 1997 Existem diversas ferramentas para esta

linguagem de modelagem

4

Apresentação

Page 5: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Objetivos da UML Modelar sistemas usando conceitos

orientados a objetos Estabelecer uma ligação explicita entre

artefatos conceituais (figuras) e

executáveis (programas)

5

Apresentação

Page 6: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Objetivos da UML Criar uma linguagem de modelagem adequada,

à manipulação humana e ao mesmo tempo à

manipulação por máquinas

◦ criação de ferramentas de desenho

◦ geração de código

◦ ....

6

Apresentação

Page 7: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Características gerais da UML É independente do domínio de aplicação É independente do processo ou metodologia de

desenvolvimento É independente das linguagens de programação

7

Apresentação

Page 8: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Características gerais da UML É independente das ferramentas de modelagem Apresenta mecanismos potentes de extensão

(estereótipos) Agrega um conjunto de diferentes diagramas (9

tipos diferentes)

8

Apresentação

Page 9: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Um diagrama é uma visão de um modelo◦ Fornece uma representação parcial do sistema

e é semanticamente consistente com outras visões complementares

◦ Em UML existem 9 diagramas padronizados Um modelo é uma descrição completa de um

sistema numa determinada perspectiva

9

Os diagramas da UML

Page 10: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Use CaseDiagramsUse Case

DiagramsDiagramas deCasos de Uso

ScenarioDiagramsScenario

DiagramsDiagramas deColaboração

StateDiagramsState

DiagramsDiagramas de Componentes

ComponentDiagramsComponent

DiagramsDiagramas deDistribuição

StateDiagramsState

DiagramsDiagramas deObjetos

ScenarioDiagramsScenario

DiagramsDiagramas deEstados

Use CaseDiagramsUse Case

DiagramsDiagramas deSequência

StateDiagramsState

DiagramsDiagramas deClasses

Diagramas deAtividades

Modelo

10

Os diagramas da UML

Page 11: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Visões representam as diferentes perspectivas

que descrevem um sistema:◦ funcional (estrutura estática e dinâmica)◦ não funcional (sincronismo, arquitetura

física, ...)◦ organizacional (organização do trabalho,

mapeamento com código)

11

As visões da UML

Page 12: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Em UML um sistema é representado por 5

“visões” diferentes as quais descrevem o

sistema de 5 perspectivas diferentes e

complementares

12

As visões da UML

Page 13: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Vista Lógica

Vista de

Processos

Vista de

implementação

Vista de

Distribuição

Vista do

utilizador

Vista Lógica

Vista de

Processos

Vista de

implementação

Vista de

Distribuição

Visão Lógica

Visão de

Processos

Visão de

Implementação

Visão de

Implantação

Visão do

Utilizador

13

As visões da UML

Page 14: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Visão do utilizador (Caso de Uso)

◦ representa o sistema na perspectiva dos

utilizadores (atores)

◦ casos de uso descrevem cenários de

utilização do sistema a partir da perspectiva

do utilizador final

14

As visões da UML

Page 15: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Visão Lógica (ou estrutural)

◦ Modelo da estrutura estática do sistema

(classes, objetos e relacionamentos)

◦ Os dados e a funcionalidade do sistema é

vista a partir de dentro do sistema

15

As visões da UML

Page 16: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Visão de processos (comportamento)◦ Representa os aspectos dinâmicos ou

comportamentais do sistema

◦ Descreve também as interações ou

colaborações entre vários elementos

estruturais descritos nas visão do utilizador e

na visão estrutural

16

As visões da UML

Page 17: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Visão de implementação

◦ Os aspectos estruturais e comportamentais do

sistema são representados como serão

construídosVisão de implantação (ambiental)

◦ Representa a arquitetura física com

computadores e outros dispositivos

17

As visões da UML

Page 18: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de casos de uso◦ representa a visão do sistema na

perspectiva dos seu utilizadores

◦ mostra um conjunto de atores externos e a

sua ligação aos casos de uso fornecidos pelo

sistema

◦ um caso de uso é uma funcionalidade

oferecida pelo sistema

18

Os diagramas da UML

Page 19: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Um diagrama de casos de uso (use-cases)

descreve cenários de utilização do sistema na

perspectiva dos seus utilizadores Diagrama que permite dar uma visão global e de

alto nível do sistema

19

Diagrama de casos de uso

Page 20: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Elementos do diagrama

◦ casos de uso - descrevem funcionalidades do

sistema

◦ atores - representam pessoas ou dispositivos

que desempenham um papel no

funcionamento do sistema

20

Diagrama de casos de uso

Page 21: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

21

Diagrama de casos de uso

Page 22: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de classes

◦ especifica a estrutura estática do sistema

segundo a abordagem orientada por

objetos

◦ mostra a estrutura de classes e como estas se

relacionam

22

Os diagramas da UML

Page 23: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Mostram a estrutura de classes e como estas se relacionam, isto é, descrevem a estrutura estática do sistema a ser modelado

Capturam o vocabulário do sistema Construídos e refinados ao longo do

desenvolvimento

23

Diagrama de classes

Page 24: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Objetivos◦ Identificar e modelar conceitos no sistema◦ Especificar colaborações◦ Especificar esquemas lógicos de bases de

dados

24

Diagrama de classes

Page 25: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

25

Diagrama de classes

Page 26: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de objetos

◦ variante do diagrama de classes

◦ representa um exemplo do diagrama de

classes num determinado instante da

execução do sistema

26

Os diagramas da UML

Page 27: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Descreve um conjunto de instâncias

compatíveis com um diagrama de classes Permite ilustrar os detalhes de um sistema em

determinado momento, descrevendo para tal

possíveis configurações Objetivos

◦ ilustrar estruturas de dados/objetos

◦ especificar snapshots

27

Diagrama de objetos

Page 28: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

28

Diagrama de objetos

Page 29: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de sequência

◦ mostra a colaboração dinâmica entre objetos,

através da representação da troca de

mensagens entre estes (interação) ao longo do

tempo

29

Os diagramas da UML

Page 30: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Ilustra interações entre objetos num determinado período de tempo

Captura comportamento dinâmico Objetivos◦ modelar fluxo de controle◦ ilustrar situações típicas

30

Diagrama de Seqüência

Page 31: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

31

Diagrama de Seqüência

Page 32: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de colaboração

◦ é uma alternativa ao anterior (sequência),

porém com outra perspectiva – ênfase aos

objetos e o seus relacionamentos

32

Os diagramas da UML

Page 33: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Ilustra interações entre objetos com ênfase para a representação das ligações entre os objetos

O tempo não é um elemento explícito Captura comportamento dinâmico Objetivos◦ modelar fluxo de controle◦ ilustrar a coordenação da estrutura de objetos

e do controle

33

Diagrama de Colaboração

Page 34: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

34

Diagrama de Colaboração

Page 35: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de estados

◦ complemento da descrição de uma classe -

mostra todos os estados possíveis que os

objetos dessa classe podem ter, assim como

os eventos que causam a transição entre

estados

35

Os diagramas da UML

Page 36: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Descreve a sequência de estados que um objeto ou uma interação pode passar ao longo da sua existência, em resposta a estímulos recebidos, conjuntamente com as suas respostas e ações

captura comportamento dinâmico (orientado por eventos)

36

Diagrama de Estados

Page 37: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Objetivos◦ modelar o ciclo de vida do objeto◦ modelar objetos reativos (user interfaces,

dispositivos, etc.)

37

Diagrama de Estados

Page 38: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

38

Diagrama de Estados

Page 39: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de atividades

◦ mostra um fluxo sequencial de atividades

executadas numa operação

◦ pode ser usado para mostrar a sequência de

atividades num caso de uso

39

Os diagramas da UML

Page 40: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Caso particular de diagrama de transição de

estados, no qual os estados são substituídos por

ações e/ou atividades e as transições são

desencadeadas devido à conclusão de ações nos

estados originais

Diagrama de Atividades –

representa os fluxos conduzidos por

processamento interno

40

Diagrama de Atividades

Page 41: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

captura comportamento dinâmico(orientado por atividades)

Objetivos: – modelar fluxos de trabalho de negócio (business workflows) – modelar operações

41

Diagrama de Atividades

Page 42: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

42

Diagrama de Atividades

Page 43: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de componentes

◦ mostra a estrutura física do código,

representada através de componentes, que

podem ser código fonte, binários ou

executáveis

◦ indica quais as classes que são

implementadas pelo componente e quais as

suas dependências

43

Os diagramas da UML

Page 44: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Captura a estrutura física da implementação, descrevendo as dependências entre componentes de software

Construído como parte da especificação da arquitetura

44

Diagrama de Componentes

Page 45: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Objetivos◦ organizar código fonte◦ construir uma versão executável◦ especificar uma base de dados física

45

Diagrama de Componentes

Page 46: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

46

Diagrama de Componentes

Page 47: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Diagrama de implantação

◦ mostra a estrutura da arquitetura física

(Hardware e Software)

◦ representa nós (computadores e outros

dispositivos) e as suas ligações

◦ dentro de cada nó existem componentes

executáveis e objetos, que constituem o

software executável

47

Os diagramas da UML

Page 48: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

Descreve a topologia do Hardware e do Software do sistema

Construído como parte da especificação da arquitetura

Objetivos◦ especificar a distribuição dos componentes◦ identificar entraves de performance

48

Diagrama de Implantação

Page 49: UML - Unified Modeling Language  UML é uma linguagem para Visualização, Especificação, Construção e Documentação dos elementos de um sistema de software.

49

Diagrama de Implantação