31
1 UML – Visão geral UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria– Univ. Do Porto.

UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

  • Upload
    danganh

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

1UML – Visão geral

UML – Visão Geral

Slides baseados em material disponibilizado pela Rational e adaptação datradução de João P. Faria– Univ. Do Porto.

Page 2: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

2UML – Visão geral

Índice

Introdução• O que é a UML?

• Valor da UML

• Origens da UML

• Parceiros da UML

Modelos e diagramas

Elementos de modelagem

Diagramas• Diagrama de casos de uso

• Diagrama de classes

• Diagrama de objetos

• Diagrama de componentes

• Diagrama de implantação

• Diagrama de sequência

• Diagrama de colaboração

• Diagrama de estados

• Diagrama de atividades

Referências

Page 3: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

3UML – Visão geral

O que é a UML?

UML = Unified Modeling Language

UML é uma linguagem para• Visualização

• Especificação

• Construção

• Documentação

os artefactos de um sistema com uma componente intensiva desoftware (software intensive system)

UML não é uma metodologia• não diz quem deve fazer o quê, quando e como

• UML pode ser usado segundo diferentes metodologias, tais como RUP (RationalUnified Process), FDD (Feature Driven Development), etc.

UML não é uma linguagem de programação

Page 4: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

4UML – Visão geral

Valor da UML

Suporta todo o ciclo de vida do software• modelação do negócio (processos e objetos do negócio)• modelação de requisitos alocados ao software• modelação da solução de software

Suporta diversas áreas de aplicação

É baseado na experiência e necessidades da comunidade deutilizadores

É suportado por muitas ferramentas

Page 5: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

5UML – Visão geral

Booch

Booch method

Meyer

Before and after conditions

Harel

StatechartsGamma, et al

Frameworks and patterns,

HP Fusion

Operation descriptions and message numbering

Embley

Singleton classes andhigh-level view

Wirfs-Brock

Responsibilities

Odell

Classification

Shlaer - Mellor

Object lifecycles

Rumbaugh

OMT

Jacobson

OOSE

Origens da UML

Page 6: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

6UML – Visão geral

Parceiros da UML

Rational Software Corporation

Hewlett-Packard

I-Logix

IBM

ICON Computing

Intellicorp

MCI Systemhouse

Microsoft

ObjecTime

Oracle

Platinum Technology

Taskon

Texas Instruments/SterlingSoftware

Unisys

Page 7: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

7UML – Visão geral

Modelos e Diagramas Um modelo é uma representação em pequena escala, numa perspectiva

particular, de um sistema existente ou a desenvolver• Atitude de abstração (omissão de detalhes) fundamental na construção de um modelo• Modelos são a linguagem por excelência do projetista (designer)• Modelos são veículos para comunicação com vários interessados (stakeholders)• Modelos permitem raciocinar acerca do sistema real, sem o chegar a construir

Ao longo do ciclo de vida de um sistema são construídos vários modelos,sucessivamente refinados e enriquecidos

Um modelo é constituído por um conjunto de diagramas (desenhos)consistentes entre si, acompanhados de descrições textuais doselementos que aparecem nos vários diagramas

• Um diagrama é uma visão sobre um modelo• O mesmo elemento (exemplo: classe) pode aparecer em vários diagramas de um modelo

No UML, há nove diagramas standard• Diagramas de visão estática: casos de uso(use case), classes, objetos, componentes,

implantação(deployment)• Diagramas de visão dinâmica: sequência, colaboração, estados (statechart), atividades

Page 8: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

8UML – Visão geral

Modelos e Diagramas

Use CaseDiagramsUse Case

DiagramsDiagramas de Casos de Uso

ScenarioDiagramsScenario

DiagramsDiagramas deColaboração

StateDiagramsState

DiagramsDiagramas de Componentes

ComponentDiagramsComponent

DiagramsDiagramas de Implantação

StateDiagramsState

DiagramsDiagramasde Objetos

ScenarioDiagramsScenario

DiagramsDiagramas deEstados

Use CaseDiagramsUse Case

DiagramsDiagramas deSequência

StateDiagramsState

DiagramsDiagramas deClasses

Diagramas deAtividades

Modelos

Page 9: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

9UML – Visão geral

Modelos e Diagramas

Page 10: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

10UML – Visão geral

Elementos de Modelagem(1)

Elementos estruturais• classe, interface,

colaboração, caso deuso, classe ativa,componente, nó

Fonte: Grady Booch Elementos de comportamento

• interação, máquina de estados

Elementos de agrupamento• pacote (package), subsistema

Outros elementos• nota

Page 11: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

11UML – Visão geral

Elementos de Modelagem (2)

Relações• Dependência

• Associação

• Generalização

• Realização

Mecanismos de extensibilidade• Estereótipos

• Propriedades (tagged values)

• Restrições (constraints)

Fonte: Grady Booch

Fonte: Grady Booch

Page 12: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

12UML – Visão geral

Diagrama de Casos de Uso (Use CaseDiagram) Captura a funcionalidade do sistema tal como é visto pelos

utilizadores

Construído nos primeiros estágios do desenvolvimento

Objetivo• Especificar o contexto de um sistema

• Capturar os requisitos funcionais de um sistema

• Validar a arquitetura de um sistema

• Dirigir a implementação e gerar casos de teste

Desenvolvido por analistas e especialistas de domínio

Page 13: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

13UML – Visão geral

Diagrama de Casos de Utilização(Use Case Diagram)

Fonte: Grady Booch

Page 14: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

14UML – Visão geral

Diagrama de Classes

Captura o vocabulário de um sistema

Construído e refinado ao longo do desenvolvimento

Objetivo• Nomear e modelar conceitos no sistema

• Especificar colaborações

• Especificar esquemas lógicos de bases de dados

Desenvolvido por analistas, designers e implementadores

Page 15: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

15UML – Visão geral

Diagrama de Classes

Fonte: Grady Booch

composition

Page 16: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

16UML – Visão geral

Diagrama de Objetos

Mostra objetos (instâncias de classes) e ligações (instânciasde associações)

Construído durante a análise e design

Objetivo• Ilustrar estruturas de dados/objectos

• Especificar instantâneos (snapshots)

Desenvolvido por analistas, designers e implementadores

Page 17: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

17UML – Visão geral

Diagrama de Objetos

Fonte: Grady Booch

Page 18: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

18UML – Visão geral

Diagrama de Componentes

Captura a estrutura física da implementação (tipicamentearquivos)

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

Objetivo• Organizar o código fonte

• Construir uma release executável

• Especificar uma base de dados física

Desenvolvido por arquitetos e programadores

Page 19: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

19UML – Visão geral

Diagrama de Componentes

Fonte: Grady Booch

Page 20: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

20UML – Visão geral

Diagrama de Implantação(Deployment Diagram) Captura a topologia do hardware de um sistema

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

Objetivo• Especificar a distribuição de componentes

• Identificar estrangulamentos de desempenho

Desenvolvido por arquitetos, engenheiros de redes, eengenheiros de sistemas

Page 21: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

21UML – Visão geral

Diagrama de Implantação(Deployment Diagram)

Fonte: Grady Booch

Page 22: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

22UML – Visão geral

Diagrama de Sequência

Captura comportamento dinâmico (orientado ao tempo)

Objetivo• Modelar fluxos de controlo

• Ilustrar cenários típicos

Page 23: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

23UML – Visão geral

Diagrama de Sequência

Fonte: Grady Booch

Page 24: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

24UML – Visão geral

Diagrama de Comunicação

Até a versão UML 1.5 era chamado de Diagrama deColaboração

Captura comportamento dinâmico (orientado a mensagens)

Objetivo• Modelar fluxo de controlo

• Ilustrar a coordenação entre estrutura de objetos e controle

Page 25: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

25UML – Visão geral

Diagrama de Comunicação

Fonte: Grady Booch

Page 26: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

26UML – Visão geral

Diagrama de Estados(Statechart Diagram) Captura comportamento dinâmico (orientado a eventos)

Objetivo• Modelar ciclo de vida de obectos

• Modelar objetos reativos (interfaces com o utilizador, dispositivos,etc.)

Page 27: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

27UML – Visão geral

Diagrama de Estados(Statechart Diagram)

Fonte: Grady Booch

Vez das

brancas

Vez das

pretas

Vitória das pretas

Vitória das brancas

Empatejogada das pretas

xeque-mate

paralisado

jogada das brancas

xeque-mate

paralisado

Page 28: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

28UML – Visão geral

Diagrama de Estados(Statechart Diagram)

Fonte: Grady Booch

Inactivo

Desligado

Sinal de ocupado

Sinal de interrompido

Tempo máximo

Mensagem gravada

no descanso

levantado

dígito(n) tempo máximo

número válidonúmeroinválidonúmero

ocupado

ramalocupado

resposta/ liga linha

chamado desliga/desliga linha

mensagem dadaLigado

Tocando

Ligando

Discando

Sinal de marcar

dígito(n)

tempo máximo

encaminhada

no descanso

do/toca sinal do/ toca apito

do/ passa mensagem

do/ busca ligação

do/ toca campaínha

do/sinal ocupado lento

do/ sinal ocupado rápido

no descanso/ desliga linha

Page 29: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

29UML – Visão geral

Diagrama de Atividades

Captura comportamento dinâmico (orientado a atividades)

Objetivo• Modelar processos de negócio e workflows

• Modelar operações (algoritmos)

Page 30: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

30UML – Visão geral

Diagrama de Atividades

Fonte: Grady Booch

Page 31: UML – Visão Geral - dimap.ufrn.brjair/ES/slides/visaogeral-fred.pdf · UML–Visãogeral 1 UML – Visão Geral Slides baseados em material disponibilizado pela Rational e adaptação

31UML – Visão geral

Referências

Ferramentas de modelação visual• Rational Rose (www.rational.com)• Together (www.togethersoft.com) – disponível nos computadores da FEUP• Platinum Paradigm Plus (www.platinum.com)• Microsoft Visio – disponível no DEEC ao abrigo de protocolo com Microsoft

Livros• The Unified Modeling Language User Guide, Grady Booch et al, Addison-

Wesley, October, 1998• UML, Metodologias e Ferramentas CASE, Alberto SIlva e Carlos Videira, Centro

Atlântico, 2001

Especificações• www.omg.org