CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

31
CIn-UFPE CIn-UFPE 1 UML Uma linguagem unificada de modelagem Visão Geral

Transcript of CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

Page 1: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 11

UMLUma linguagem unificada de modelagem

Visão Geral

Page 2: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 22

Origens e CriadoresOrigens e Criadores

OMT-2 (James Rumbaugh) Booch-94 (Grady Booch) OOSE (Ivar Jacobson)

Page 3: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 33

História e padronizaçãoHistória e padronização

Page 4: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 44

Tradicional e ModernaTradicional e Moderna

Classes

Relacionamentos

Objetos Use Cases

Sistemas degrande porte

Componentes

ActiveX/COM+

ODBMS

CORBA

Java Beans

Interfaces

Sistemasde tempo real

Objetos de negócio

Design Patterns

RDBMS

Page 5: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 55

Usos de UMLUsos de UML

Visualização Especificação Documentação Comunicação Construção

Page 6: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 66

Elementos essenciaisElementos essenciais

ElementosEstruturais

ElementosComportamentais

Elementos deAgrupamento

Elementos deExtensão e Anotação

Page 7: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 77

Elementos estruturaisElementos estruturais

alterarNom e(nome : S tring)a lterarTe le fone(novoTel: S tring)ca lcularS alario(): C urrency

nome: S tringsobrenom e: S tringdataNascim ento : D ate

C liente um C lien te: C liente

Se rvido r W e b

OBJETOCLASSE NÓ

RELACIONAMENTOSNavegabilidade

Agregação

Dependência

Herança

Realização

Associação

Composição

Cadastro.e xe

COMPONENTE

INTERFACE

IPessoa

Page 8: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 88

Elementos comportamentaisElementos comportamentais

Cadastrar cliente

USE CASE ESTADOSConectando

H

MENSAGENS e TRANSIÇÕES

ATOR

Retorno/controle

Mensagem assíncrona

Auto-(mensagem/transição)

Mensagem/transição

Page 9: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 99

Elementos de AgrupamentoElementos de Agrupamento

PACOTES

In terfac egrá fica

Acesso aoB an co

Reg ras d en eg óc io

Page 10: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1010

Elementos de Extensão e AnotaçãoElementos de Extensão e Anotação

{autor=Janjão Lima data =12/10/2004}

TAGGED VALUES

{frozen}RESTRIÇÃO

Esta operação deve serchamada depois daconexão

«importa»ESTEREÓTIPO

ANOTAÇÃO Permitem adicionarnovas propriedadesaos elementosde UML.

Page 11: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1111

Conceitos (I)Conceitos (I)

UML pode ser usado para Mostrar os limites de um sistema e suas principais funções,

usando use cases e atores Ilustrar a realização dos use cases, usando os diagramas de

interação Representar a estrutura estática de um sistema, usando

diagramas de classe

Page 12: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1212

Conceitos (II)Conceitos (II)

UML pode ser usado, também, para Modelar o comportamento de objetos, com diagramas de estados Apresentar a implementação física e a arquitetura de um sistema, com

diagramas de componentes e diagramas de implantação Criar extensões, usando estereótipos

Page 13: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1313

AtoresAtores Atores são pessoas ou coisas que interagem

com o sistema em desenvolvimento

Professora

Sistema de controlede pre-requisitos

Estudante

Secretária

<<Ator>>

Coordenador

Page 14: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1414

Use casesUse cases Um use case é a especificação de seqüências de

ações que um sistema, subsistema, ou classe pode realizar, interagindo com um dos atores

Use cases podem incluir seqüências alternativas, ou seqüências excepcionais (de erro)

Matricular aluno Solicitarhistórico

Verificarpré-requisitos

Page 15: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1515

Diagramas de Use casesDiagramas de Use cases

Estudante

Secretária

<<estende>> Solicitar histórico docurso atual

Solicitar histórico detodos os cursos

Solicitarhistórico

<<estende>>

Verificardependências

Matricularaluno<<inclue>>

Sistema de controlede pre-requisitos

Page 16: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1616

Diagramas de classesDiagramas de classes

Os diagramas de classes são os principais diagramas estruturais de UML

Diagramas de classe mostram classes, interfaces e os relacionamentos entre esses elementos

As classes especificam a estrutura e o comportamento dos objetos

Objetos são instâncias de classes

Page 17: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1717

Diagrama de ClasseDiagrama de Classe

+confirmar()+cancelar()-calcularTotal():CurrencygerarNovoCodigo: String

-codigo: Integer-dataRecebido-total: Currency

Pedido

#creditoPermitido: Currency#nivelCredibilidade()

-nome: String-endereco: String-dataPrimeiraCompra: Date-dataUltimaCompra: Date-totalComprado: Currency

Cliente

-quantidade: Integer-preco: Currency-emEstoque: Boolean

Item de PedidonomeContato: Stringtelefones[1..10]: StringCGC: StringFAX[1..3]: String

Cliente pessoa-jurídica

colocarListaNegra()

nome: StringCPF: StringnumCartaoCredito

Cliente pessoa-física

EmpregadoProduto

* representantede vendas

*

*

IPessoa

itens

Page 18: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1818

Diagramas de objetosDiagramas de objetos

Os diagramas de objetos mostram uma “fotografia” de um sistema OO em execução

São mostrados os objetos, com os valores de seus atributos e as ligações entre eles

Os diagramas de objetos são úteis para a modelagem de estruturas de dados complexas

Page 19: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 1919

Diagrama de ObjetosDiagrama de Objetos

p2: Prof es s ormatr ic ula: "205-6712-09"nome: "Jaels on Cas tro"

p1: Prof es s or

c odCurs o: "IF291"des c rição: "MPS"c odTurma: I7

: Curs o

c odCurs o: "IF185"des c rição: "A ER"c odTurma: I6

: Curs o

matr ic ula: "219846534"nome: "Nels on Mandella"

:a luno

matr ic ula: "562746134"nome: "John Major"

:a luno

: A luno

: A luno

: A luno

: A luno

c 1: Curs o

c 2: Curs o

c 3: Curs o

Bill

: A luno : A luno

Lew insky

-matrícula: String-nome: String

Professor-codDisciplina: String-descrição: String-codTurma: String

Curso

-matrícula: String-nome: String-período: Integer

Aluno

[0..10]

ministra[1..5]

*[1..3]

Page 20: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2020

Diagramas de InteraçãoDiagramas de Interação

Um diagrama de interação mostra um conjunto de objetos, seus relacionamentos e as mensagens que podem ser enviadas entre eles

Podem ser de dois tipos (isomórficos): Diagramas de seqüência dão ênfase à ordenação das

mensagens Diagramas de colaboração enfatizam o relacionamento

entre os objetos que trocam mensagens

Page 21: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2121

Diagrama de SeqüênciaDiagrama de SeqüênciaJa nela de entrad a

d e pedid o p : Pedid o : Ite mPedid o :ItemEstoqu e

pr eparar ()

* [para cada item do pedid o]pr eparar ()

emEstoq ue := v erif ic ar ()

[emEstoqu e]re mov er () e s toque Baix o :=

v erif ic Es toqu eBaixo ()

:ItemRenov Estoqu e

:ItemEntreg a

[es toq ueBaix o]<<criar>>

[emEs toqu e]<<criar>>

Page 22: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2222

Diagrama de ColaboraçãoDiagrama de ColaboraçãoJanela de entrada

de pedido

p: Pedido

: ItemPedido :ItemEs toque

:ItemRenov Es toque:ItemEntrega

1: preparar( )

1.1: *[para c ada item do pedido] preparar( )

1.1.1 : emEs toque := v erif ic ar( )1.1.2 : [emEs toque] remov er( )

1.1.2.1: es toqueBaix o := v erif ic Es toqueBaixo( )

1.1.2.2 [es toqueBaix o] <<c riar>>

1.1.3 : [emEstoque] <<c riar>>

Page 23: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2323

Diagramas de EstadosDiagramas de Estados

Os diagramas de estados são usados para modelar o comportamento de objetos (com comportamento complexo)

Nos diagramas de estados são modelados os estados em que um objeto pode estar e os eventos que fazem o objeto passar de um estado para outro

Page 24: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2424

Ocioso

Manutenção

fazerManutenção

Validando

Selecionando Processando

Imprimindo

[continuar][não continuar]

H

entry / lerCartão exit / ejetarCartão

cartãoInserido

cancelar

Ativo

Diagramas de EstadosDiagramas de Estados

Page 25: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2525

Diagramas de AtividadesDiagramas de Atividades Os Diagramas de Atividades mostram o fluxo entre

atividades (ações não-atômicas). Ex: fluxos de processos, fluxos de eventos, detalhamento de operações.

São um caso especial dos Diagramas de Estados, com a maioria das transições resultantes do término das atividades

São semelhantes aos antigos fluxogramas São muito usados para modelar atividades

concorrentes

Page 26: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2626

Diagrama de AtividadesDiagrama de AtividadesProcurar bebida

[achou café]

H

PessoaH

[sem café] [sem Coca]

[achou Coca]

Pegar latade Coca

Beber

Adicionar água àmáquina

Colocar caféno filtro

Colocar filtrona máquina

Ligar máquina

Filtrar café

Pegarxícara

Colocar café naxícara

Page 27: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2727

Diagramas de ComponentesDiagramas de Componentes

Diagramas de componentes são usados para modelar o aspecto físico de um sistema

São mostrados componentes e os relacionamentos entre eles

Exemplos de componentes são documentos, executáveis, e tabelas de bancos de dados

Page 28: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2828

Diagrama de ComponentesDiagrama de Componentes

F ormC adastro.htm l

Cadastro.e xe

P rincipal.htm l

FormE ntrada.htm l

Autenticacao.exe

<<link>>

<<link>>B anco

Usuários

S enhas

Page 29: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 2929

Diagramas de ImplantaçãoDiagramas de Implantação

Os diagramas de implantação são usados para modelar o ambiente em que o sistema será executado

São compostos por nós e relacionamentos de comunicação Um nó pode ser, por exemplo, um computador, uma rede, um disco

rígido, um sensor, etc.

Page 30: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 3030

Diagrama de ImplantaçãoDiagrama de Implantação

servid o rW eb

A u ten ticação.exe

C ad astro.exe

servid orD eA rq uivo s

FormCadas tro.html

Pr inc ipal.html

FormEntrada.html

servid o rB an co D eD ad o s

SG BD

O SGBD a s erutiliz ado aindanão f oi esc olhido.

PC - G309

N estscap eC om m u nicato r

5.0

Page 31: CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.

CIn-UFPECIn-UFPE 3131

Bibliografia RecomendadaBibliografia Recomendada

The Unified Modelling Language User Guide (Grady Booch)

The Unified Modelling Language Reference Manual (James Rumbaugh)

The Unified Software Development Process (Ivar Jacobson)

UML Distilled (Martin Fowler)