42
Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior UML (Unified Modelling Language) Referências: Booch, G. et al. The Unified Modeling Language User Guide Medeiros, E. Desenvolvendo Software com UML 2.0: Definitivo, Makron Books, 2006. Sommerville, I. Engenharia de Software, 8ª edição, 2007.

UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Embed Size (px)

Citation preview

Page 1: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Curso de Especialização – DEINF - UFMA

Desenvolvimento Orientado a Objetos

Prof. Geraldo Braz Junior

UML (Unified Modelling Language)

Referências: Booch, G. et al. The Unified Modeling Language User GuideMedeiros, E. Desenvolvendo Software com UML 2.0: Definitivo, Makron Books, 2006.

Sommerville, I. Engenharia de Software, 8ª edição, 2007.

Page 2: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Introdução

É uma linguagem para especificação, construção, visualização e documentação de artefatos de um sistema de software

É mantida pelo Object Management Group (OMG), com contribuições e direitos de autoria das seguintes empresas: Hewlett-Packard, IBM, ICON Computing, i-Logix, IntelliCorp, Electronic Data Services, Microsoft, ObjecTime, Oracle, Platinum,Ptech, Rational, Reich, Softeam, Sterling, Taskon A/S e Unisys.

2

Page 3: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Introdução

A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte, a UML é independente das linguagens de programação, das ferramentas CASE, bem como dos processos de desenvolvimento.

O objetivo da UML é que, dependendo do tipo de projeto, da ferramenta de suporte, ou da organização envolvida, devem ser adotados diferentes processos/metodologias, mantendo-se contudo a utilização da mesma linguagem de modelagem.

3

Page 4: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Introdução A UML é usada no desenvolvimento dos mais diversos

tipos de sistemas.

Ela abrange sempre qualquer característica de um sistema em um de seus diagramas

Aplicada em diferentes fases do desenvolvimento de um sistema, desde a especificação da análise de requisitos até a finalização com a fase de testes.

O objetivo da UML é descrever qualquer tipo de sistema, em termos de diagramas orientado a objetos.

4

Page 5: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Introdução

Vantagem é a unificação de todas as notações anteriores

5

Page 6: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Introdução

UMLBOOCH OMT

OOSE

Diagrama de Estados Diagrama de Objetos

(Colaboração) Diagrama de Processo

(Desenvolvimento) Diagrama de Módulos

(Componentes) Use Case Subsistemas (Package) Diagrama de Interações MiniEspecificação

Diagrama de Estados Diagrama de Classes

6

Page 7: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

A UML não é

um processo

uma metodologia

Análise e Projeto OO

regras de projeto

Linguagem de Programação

7

Page 8: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Introdução UML é uma linguagem padrão da OMG para

Visualização,

Especificação,

Construção e

Documentação de software orientado a objetos.

8

Page 9: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Visualização A existência de um modelo visual facilita a

comunicação e faz com que os membros de um grupo tenham a mesma idéia do sistema.

Cada símbolo gráfico tem uma semântica bem definida.

O que modelamos?

Dimensões: dados, função, comportamento

9

Page 10: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Especificação É uma ferramenta poderosa para a especificação

de diferentes aspectos arquiteturais e de uso de um sistema.

10

Page 11: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Construção

Geração automática de código a partir do modelo visual

Geração do modelo visual a partir do código

Ambientes de desenvolvimento de software atuais permitem:

movimentações em ambos sentidos e

manutenção da consistência entre as duas visões.

11

Page 12: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Documentação Pode incluir artefatos como:

Deliverables (documentos como especificação de requisitos, especificações funcionais, planos de teste, etc.).

Materiais que são importantes para controlar, medir, e refletir sobre um sistema durante o seu desenvolvimento e implantação.

12

Page 13: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Descrição Arquitetônica UML oferece uma forma padrão de se desenhar as

“plantas” (como em arquitetura) de um sistema de forma a incluir

aspectos abstratos (processos de negócio, funcionalidades do sistema)

aspectos concretos (classes C++/Java esquemas de bancos de dados, componentes de software reutilizáveis)

13

Page 14: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Razões para Modelar Comunicar a estrutura e o comportamento desejado

de um sistema.

Visualizar e controlar a arquitetura de um sistema.

Para melhorar o nosso entendimento de um sistema e, assim, expor oportunidades para melhorias e reutilização.

Para administrar os riscos

A UML permite modelar:

Elementos;

Relacionamentos;

Mecanismos de extensibilidade;

Diagramas

14

Page 15: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Algumas aplicações

Sistemas de informações corporativos

Serviços bancários e financeiros

Telecomunicações

Transportes

Defesa/espaço aéreo

Vendas de varejo

Eletrônica médica

Científicos

Serviços distribuídos baseados na Web

15

Page 16: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Elementos da UMLPara formar um modelo conceitual da linguagem é

necessário aprender três elementos principais

Blocos de construção

Regras que determinam como esses blocos poderão ser combinados

Mecanismos comuns aplicados na UML

16

Page 17: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Blocos de Construção Três tipos:

Itens: são abstrações

Relacionamentos: os relacionamentos reunem

esses itens

Diagramas: agrupam coleções interessantes de

item

17

Page 18: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Itens da UML Estruturais

Comportamentais

De agrupamento

Anotacionais

18

Page 19: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Itens estruturais

São os substantivos dos modelos. São a parte estática, representando elementos conceituais ou físicos

Sete tipos: classes, interfaces, colaborações, casos de uso, classes ativas, componentes e nós

Classe

orderForm.java

Componente

Servidor

Nó19

Page 20: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Itens comportamentais Representam as partes dinâmicas dos modelos. São

os verbos, representando comportamentos no tempo e no espaço

Dois tipos: interação e máquina de estado

exibir

Mensagem

Aguardando

Estado

20

Page 21: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Itens de agrupamento São as partes organizacionais dos modelos de UML.

São os blocos em que os modelos podem ser decompostos – pacotes

Um pacote é um mecanismo de propósito geral para a organização de elementos em grupos

Regras de

negócios

Pacote

21

Page 22: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Itens anotacionais Partes explicativas dos modelos UML. São

comentários, incluídos para descrever, esclarecer e fazer alguma observação importante sobre qualquer elemento do modelo - notas

Nota

Retornar cópia

22

Page 23: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Relacionamentos Dependência

Associação

Generalização

Realização

23

Page 24: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Dependência

Relacionamento semântico entre dois itens, nos quais a alteração de um (o item independente) pode afetar a semântica do outro (o item dependente)

dependência24

Page 25: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Associação

É um relacionamento estrutural que descreve um conjunto de ligações, em que as ligações são conexões entre objetos

Pessoa Departamento

11..*

+funcionario+emprega

11..*

associação

25

Page 26: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

(Agregação)

A agregação é um tipo especial de associação representando um relacionamento estrutural entre o todo e sua parte

Departamento

1

*

Empresa

todo

parte

agregação

26

Page 27: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Generalização É um relacionamento de especialização/generalização,

nos quais os objetos dos elementos especializados (os filhos) são substituíveis por objetos do elemento generalizado (os pais)

Pessoa

Aluno Professor Funcionario

27

Page 28: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Realização É um relacionamento semântico entre classificadores,

em que um classificador especifica um contrato que outro classificador garante executar

Regras de

contabilidadeAgente da Regra

<< Interface >>

realização

28

Page 29: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Modelos

Um modelo é uma simplificação da realidade

Um modelo é representado por um ou mais diagramas. Desta forma, um diagrama pode ser visto como uma visão dentro de um modelo.

Um diagrama pode ser representado de várias formas, dependendo de quem irá interpretá-lo.

29

Page 30: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Visão Um diagrama é uma visão sobre um modelo

Organização Comportamento30

Page 31: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagrama Um diagrama provê uma parcial representação do

sistema.

Ele ajuda a compreender a arquitetura do sistema em desenvolvimento.

Os diagramas:

Caso de uso, classes, sequência, objeto, colaboração, atividade, estado, implantação, pacotes, componentes

31

Page 32: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de classes

Diagramas de classe são a

espinha dorsal da maioria dos

métodos orientados a objeto,

inclusive UML

Descrevem a estrutura estática

do sistema (entidades e

relacionamentos)

32

Page 33: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de pacotes

Organizam elementos do sistema

em grupos relacionados a fim de

minimizar a dependência entre

eles

33

Page 34: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de objetos

Descrevem a estrutura estática de um sistema em um determinado momento

Podem ser usados para testar a precisão dos diagramas de classe

34

Page 35: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de casos de uso

Modelam a funcionalidade do

sistema através de atores e

casos de uso

Casos de uso são serviços ou

funções fornecidas pelo

sistema aos seus usuários

35

Page 36: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de seqüências

Descreve as interações

entre as classes através das

trocas de mensagens ao

logo do tempo

36

Page 37: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de Comunicação

Representam as interações

entre objetos em termos de

mensagens em seqüência

Descrevem tanto a estrutura

estática como o

comportamento dinâmico do

sistema

37

Page 38: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de estados

Descrevem o comportamento dinâmico do sistema em resposta a estímulos externos

São especialmente úteis para modelar objetos reativos cujos estados são disparados por eventos específicos

38

Page 39: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de atividades

Ilustram a natureza dinâmica de um sistema modelando o fluxo de controle de uma atividade para outra

Uma atividade representa uma operação em uma classe do sistema que resulta na mudança do estado do sistema

Tipicamente, são usados para modelar fluxo de trabalho ou processos de negócio e funcionamento interno

39

Page 40: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de componente

Descreve a organização

dos componentes físicos

de software

Ex.: código-fonte, código

em tempo de execução

(binário) e executáveis

40

Page 41: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagramas de implantação

Descrevem os recursos

físicos em um sistema,

incluindo nós,

componentes e conexões

41

Page 42: UML (Unified Modelling Language) - DEINF/UFMAdeinf.ufma.br/~geraldo/dob/5.UML.pdf · Introdução A ênfase da UML é na definição de uma linguagem de modelagem padrão, e por conseguinte,

Diagrama

Os diagramas UML são abordados como Estáticos e Dinâmicos.

Estes diagramas tambémPodem ser classificados como:

ComportamentaisEstruturais

42