Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf ·...

38
Introdução à Modelagem Conceitual 4. UML Unified Modeling Language Luiz A M Palazzo Outubro, 2010 Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação

Transcript of Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf ·...

Page 1: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Introdução à Modelagem Conceitual4. UML – Unified Modeling Language

Luiz A M Palazzo

Outubro, 2010

Universidade Católica de Pelotas

Centro Politécnico

Bacharelado em Ciência da Computação

Page 2: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Roteiro

1. Introdução a UML

2. Diagramas de Casos de Uso

3. Diagramas de Classes e Objetos

4. Diagramas de Sequência

5. Diagramas de Colaboração

6. Diagramas de Estados e Atividades

7. Exemplos

8. Trabalho Prático

04 – UML Unified Modeling Language 2

Page 3: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Bibliografia

04 – UML Unified Modeling Language 3

Page 4: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

1. Introdução a UML

• O que é UML?

• História da UML

• Modelagem no Desenvolvimento de Software

• Modelagem Orientada a Objetos

• Visão Geral da UML

• Exemplos

• Exercícios

04 – UML Unified Modeling Language 4

Page 5: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

O que é UML?

• Unified Modeling Language

• Modelos de Processos do Mundo Real

• Modelos de Processos em Arquiteturas de Software

• Utilizada para:

• Análise dos elementos ontológicos participantes de um processo

• Análise do comportamento destes elementos no processo

• Modela todas as etapas de desenvolvimento de um software

• Linguagem Visual, baseada em diferentes tipos de diagramas

04 – UML Unified Modeling Language 5

Page 6: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

História da UML

04 – UML Unified Modeling Language 6

Nov ‘97 UML é aprovada pelo OMG

Page 7: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Os “Caras” da UML

04 – UML Unified Modeling Language 7

Booch,

Rumbaugh, e

Jacobson.

Page 8: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

A Modelagem no

Desenvolvimento de Software

• Cinco Princípios Básicos:

• É impossível fugir da modelagem

• As decisões de modelagem tem profunda influência sobre a qualidade das soluções encontradas

• Não há um único modelo suficiente

• Cada modelo deve ser expresso em diferentes níveis de precisão

• Os melhores modelos são os que estão conectados com a realidade

04 – UML Unified Modeling Language 8

Page 9: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Modelagem Orientada a Objetos

• A modelagem tradicional: algorítmica/procedimental

• Construções monolíticas

• Elevado custo de manutenção/alteração/evolução

• Vinculação do desenvolvedor ao sistema

• A abordagem contemporânea: orientação a objetos

• Modelos locais, semanticamente precisos

• Evolução consistente e facilitada

• Maior independência do desenvolvedor

04 – UML Unified Modeling Language 9

Page 10: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Visão Geral da UML

• Linguagem padrão para a especificação de software

• Usada para visualizar, projetar, construir e documentar

• Apropriada para diversos tipos de sistemas. Por exemplo:

• Sistemas de informações empresariais

• Aplicações distribuídas na Web

• Sistemas de controle em tempo real, etc.

• Parte de uma metodologia de desenvolvimento de software

• Independente de processo

• Centrada na arquitrtura orientada a objetos

• Interativa e incremental

04 – UML Unified Modeling Language 10

Page 11: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Blocos Construtores da UML

• O vocabulário da linguagem UML compreende três tipos de blocos construtores:

• Entidades

• Relacionamentos

• Diagramas

04 – UML Unified Modeling Language 11

Page 12: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Entidades UML

• As entidades são elementos primários para a UML.

• Há quatro tipos de Entidades UML:

• Entidades Estruturais

• Entidades Comportamentais

• Entidade de Agrupamento

• Entidade de Anotação

04 – UML Unified Modeling Language 12

Page 13: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Entidades Estruturais

• Correspondem à parte estática de um modelo UML

• Podem ser conceituais ou físicas

• São seis as entidades estruturais:

• Classes

• Interfaces

• Colaborações

• Casos de Uso

• Componentes

• Nodos

• Artefatos

• Estereótipos

04 – UML Unified Modeling Language 13

Page 14: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Classe

04 – UML Unified Modeling Language 14

Janela

OrigemTamanho

Mostrar()Mover()Redimensionar()Minimizar()

Nome da Classe

Atributos

Operações

Page 15: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Interface

04 – UML Unified Modeling Language 15

Interface Requerida

iDefiniçãoiPronúncia

iDicionárioiProcessador de Palavra

Componente

Interfaces Existentes

Page 16: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Colaboração

04 – UML Unified Modeling Language 16

Comunicação Interna

Colaboração

Nome da Colaboração

Page 17: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Caso de Uso

04 – UML Unified Modeling Language 17

Empréstimo

Gerente

Ator Caso de Uso

Nomes

Page 18: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Componentes: Nodos

04 – UML Unified Modeling Language 18

Estação de Trabalho

<< 100-T Ethernet >>

Servidor

Page 19: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Componentes: Artefatos

04 – UML Unified Modeling Language 19

<< artefato>>

janela.dll

Page 20: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Componentes: Estereótipos

04 – UML Unified Modeling Language 20

Page 21: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Entidades Comportamentais

• Correspondem à parte dinâmica de um modelo UML

• Denotam o comportamento no espaço e no tempo

• São três as entidades comportamentais:

• Interações

• Máquinas de Estados

• Atividades

04 – UML Unified Modeling Language 21

Page 22: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Interações

04 – UML Unified Modeling Language 22

displayMensagem

Page 23: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Máquinas de Estado

04 – UML Unified Modeling Language 23

TMario TSuperMario

TMarioInvencívelTMarioMorto

[New()][PegarCogumelo()]

[ReceberDano()]

[ReceberDano()] [PegarEstrela()][PegarEstrela()]

[Destroy()]

Início

Final

Page 24: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Atividades

04 – UML Unified Modeling Language 24

Processar Pedido

Page 25: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Entidade de Agrupamento

• Corresponde à parte organizacional de um modelo UML.

• Há uma única entidades de agrupamento:

• Package ou Pacote

• Um Pacote pode encapsular entidades estruturais, comportamentais, de agrupamento e de anotação.

• É uma entidade puramente conceitual, o que significa que só existe em tempo de desenvolvimento.

04 – UML Unified Modeling Language 25

Page 26: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Pacote

04 – UML Unified Modeling Language 26

+FormulárioPedido

+RastreamentoPedido

-Pedido

Cliente

Page 27: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Entidade de Anotação

• Corresponde à parte explicativa de um modelo UML.

• Há uma única entidades de anotação:

• A Nota

• As notas são empregadas nos diagramas UML para detalhar informações quando necessário.

04 – UML Unified Modeling Language 27

Page 28: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Nota

04 – UML Unified Modeling Language 28

Considerar o uso docomponente c64-311bneste contexto.

Page 29: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Relacionamentos

• Há quatro tipos de relacionamentos em UML:

• Dependência

• Generalização

• Associação

• Avançados

• Realização

• Refinamento

• Agregação

04 – UML Unified Modeling Language 29

Page 30: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Dependências

• São relacionamentos de utilização

• Por exemplo: Os canos dependem do aquecedor para transportar água quente

04 – UML Unified Modeling Language 30

Janela

OrigemTamanho

Mostrar()Mover()Redimensionar()Minimizar()

Evento

Dependência

Page 31: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Generalizações

• Conectam classes mais especializadas para outras mais gerais, caraterizando os relacionamentos subclasse/superclasse

04 – UML Unified Modeling Language 31

Janela

OrigemTamanho

Mostrar()Mover()Redimensionar()Minimizar()

MiniJanela

Generalização

DialogBox

Page 32: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Associações

• São relacionamentos estruturais entre instâncias.

• Por exemplo: Salas são delimitadas por paredes. Paredes podem apresentar portas, janelas, etc.

04 – UML Unified Modeling Language 32

DialogBox

Controle

Texto

Page 33: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Relacionamentos Avançados

• Serão estudados posteriormente:

• Realização

• Refinamento

• Agregação

04 – UML Unified Modeling Language 33

Page 34: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Diagramas

• São representações gráficas de conjuntos de elementos.

• Usualmente sob a forma de grafos, onde os vértices são entidades e os arcos correspondem aos relacionamentos.

• Em teoria, os diagramas podem apresentar qualquer conjunto de entidades e relacionamentos.

• Na prática, um pequeno número de combinações ocorrem.

• Isto se traduz em cinco diferentes visões, representadas por treze diagramas.

04 – UML Unified Modeling Language 34

Page 35: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Visões

• Diferentes pontos de vista devem ser usados para refletir os aspectos desejados.

• Cada visão mostra um conjunto de aspectos do sistema numa notação adequada à sua compreensão.

• UML apresenta cinco diferentes visões do sistema sendo modelado.

04 – UML Unified Modeling Language 35

Page 36: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

As Cinco Visões UML

04 – UML Unified Modeling Language 36

Projeto Implementação

Processo Distribuição

Casos de Uso

Page 37: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Os Treze Diagramas UML

• Diagrama de Classes

• Diagrama de Objetos

• Diagrama de Componentes

• Diagrama de Composição Estrutural

• Diagrama de Casos de Uso

• Diagrama de Sequência

• Diagrama de Comunicação

• Máquinas de Estados

• Diagrama de Atividades

• Diagrama de Implementação

• Diagrama de Pacotes

• Diagrama Temporal

• Diagrama de Interações

04 – UML Unified Modeling Language 37

Page 38: Introdução à Modelagem Conceitual - infocat.ucpel.tche.brinfocat.ucpel.tche.br/disc/mc/04.pdf · Trabalho Prático 04 –UML Unified Modeling Language 2. Bibliografia 04 –UML

Atividade Prática

• Pesquisar ferramentas livres para construção de diagramas UML.

• Localizar reviews, examinar as funcionalidadesdisponíveis e a qualidade dos produtos gerados.

• Selecionar uma ferramenta e instalar.

• Localizar diagramas prontos produzidos com a ferramenta escolhida.

• Selecionar dois diagramas para estudo e discussão em grupo.

04 – UML Unified Modeling Language 38