Top Banner
UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: http://sites.google.com/site/ivanfont ainha/ http://ivan.fontainha.googlepages.com email: [email protected]
25

UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha

Apr 21, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML (Unified Modeling Language)Linguagem Unificada de Modelagem

Prof: Ivan Fontainha Aula 6

Site: http://sites.google.com/site/ivanfontainha/ http://ivan.fontainha.googlepages.com email: [email protected]

Page 2: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

Bibliografia

BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML: guia do usuário. 2.ed. rev. e atual. Rio de Janeiro: Elsevier, Campus, 2006.

MELO, Ana Cristina. Desenvolvendo aplicações com UML 2.2: do conceitual à implementação. 3.ed. Rio de Janeiro: Brasport, 2010.

LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao projeto orientados a objetos e ao desenvolvimento iterativo. Porto Alegre: Bookman, 2007.

Page 3: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Modelo de Elementos Classes:

É uma descrição de um tipo de objeto Usamos classes para classificar os objetos

que identificamos no mundo real Uma classe pode ser a descrição de um

objeto em qualquer tipo de sistema

Page 4: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Modelo de Elementos Existem algumas questões que podem nos

ajudar a identificar as classes: Existem informações que devem ser

armazenadas ou analisadas?

Se existir alguma informação que tenha de ser guardada, transformada ou analisada de alguma forma, então é uma possível candidata para ser uma classe

Page 5: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Modelo de Elementos Existem algumas questões que podem nos

ajudar a identificar as classes: Existem sistemas externos ao modelado?

Se existir, eles deverão ser vistos como classes pelo sistema para que possa interagir com outros atores externos

Page 6: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Modelo de Elementos Existem algumas questões que podem nos

ajudar a identificar as classes: Existem classes de bibliotecas,

componentes ou modelos externos a serem utilizados pelo sistema modelado?

Se existir, normalmente essas classes, componentes e modelos conterão classes candidatas ao nosso sistema

Page 7: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Modelo de Elementos Existem algumas questões que podem nos

ajudar a identificar as classes: Qual o papel dos atores dentro do sistema?

Talvez, o papel destes atores possa ser visto como classes, por exemplo, usuário, operador, cliente e daí por diante

Page 8: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Classes Em UML as classes são representadas por

um retângulo divididos em 3 compartimentos:

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

Nome

Atributos

Operações

Page 9: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Classes Compartimentos:

OBS: A sintaxe usada em cada um destes compartimentos é independente de qualquer linguagem de programação

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

Nome: conterá apenas o nome da classe modelada

Page 10: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Classes Compartimentos:

OBS: A sintaxe usada em cada um destes compartimentos é independente de qualquer linguagem de programação

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

Atributos: possuirá a relação de atributos que a classe possui em sua estrutura interna

Page 11: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Classes Compartimentos:

OBS: A sintaxe usada em cada um destes compartimentos é independente de qualquer linguagem de programação

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

Operações: serão os métodos de manipulação de dados e de comunicação de uma classe com outras do sistema

Page 12: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Classes As normas de estilo da UML determinam que:

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

• Nome da classe seja centralizado e negrito• Escrever as iniciais dos nomes das classes em maiúsculas, inclusive as primeiras letras de nomes compostosEx: AlunoUniversitario, PessoaFisica

Page 13: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Classes As normas de estilo da UML determinam que:

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

• Os atributos e as operações devem ser escritos com formatação normal e alinhados a esquerda• Os nomes de atributos e operações devem iniciar com letra minúscula, entretanto as iniciais das palavras compostas devem iniciar com letra maiúsculaEx: nomeCliente reajustarSalario ()

Page 14: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de Classes

O diagrama de classes demonstra a estrutura estática das classes de um sistema onde estas representam as “coisas” que são gerenciadas pela aplicação modelada

Page 15: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de Classes Classes podem se relacionar com outras

através de diversas maneiras: Associação : conectadas entre si Dependências: uma classe depende ou usa

outra classe Especialização: uma classe é uma

especialização de outra classe Pacotes: Classes agrupadas por

características similares

Page 16: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de Classes

Todos os relacionamentos são mostrados no diagramas de classe juntamente com suas estruturas internas, que são os atributos e operações

O diagrama de classes é considerado estático já que a estrutura descrita é sempre válida em qualquer ponto do ciclo de vida do sistema

Page 17: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de Classes

Um sistema normalmente possui alguns diagramas de classe, já que não são todas as classes que estão inseridas em um único diagrama e uma certa classes pode participar de vários diagramas de classes

Para se criar um diagrama de classes, as classes tem de estar identificadas, descritas e relacionadas entre si

Page 18: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de Classes - ParteContratoAluguel

codigo:integernomeCliente: string

cadastraContrato()alteraDadosCont()

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

0..*1

possui

Classe Cliente, com seus atributos e métodos

Page 19: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de Classes - ParteContratoAluguel

codigo:integernomeCliente: string

cadastraContrato()alteraDadosCont()

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

0..*1

possui

Classe ContratoAluguel, com seus atributos e métodos

Page 20: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de Classes - ParteContratoAluguel

codigo:integernomeCliente: string

cadastraContrato()alteraDadosCont()

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

0..*1

possui

Relacionamento entre as classes, com sua multiplicidade, isto é, o intervalo numérico permitido de valores que a classe Cliente “possui” com a classe ContratoAluguel

Page 21: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagrama de ClassesContratoAluguel

codigo:integernomeCliente: string

cadastraContrato()alteraDadosCont()

possui

0..*

1

0..*

Cliente

nome: stringendereco:string

cadastraCliente()alteraDados()

1..*

refere a

0..*1

possui

Caminhao

torque:string

Tipos de Veículos

CarroEsporte

potenciaMotor:integeraerofolio: string

VeiculoAlugado

codigoVeiculo:integermodelo: stringfabricante: String

cadastraVeiculo()alteraDadosVeiculo()

CarroPasseio

potenciaMotor: integerEmpresadeAluguel

codigo:integernomeEmpresa: string

cadastraEmpresa();alteraEmpresa();

Page 22: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagramas de Estrutura Composta

A UML 2.0 deu uma importância maior à composição, com a inclusão deste novo diagrama

O objetivo deste diagrama é permitir que se exiba um pequeno diagrama de classes dentro de uma classe. (agrupamento de estruturas)

Page 23: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

Esta notação leva uma apresentação menos confusa de um relacionamento de composição

Torna-se útil quando temos em um mesmo diagrama de classes relacionamentos entre classes, entre as classes-todo e suas partes e entre as próprias partes

UML – Diagramas de Estrutura Composta

Page 24: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

Exemplo:

Classe-Todo

Parte-1 [Multipl]

Parte-n [Multipl]

Classe-todo do relacionamento de

composição

Classe-parte com sua

multiplicidade

Conector Assembly

UML – Diagramas de Estrutura Composta

Page 25: UML (Unified Modeling Language) Linguagem Unificada de Modelagem Prof: Ivan Fontainha Aula 6 Site: //sites.google.com/site/ivanfontainha/

UML – Diagramas de Estrutura Composta

As classes-partes podem ser ligadas por conectores

Conectores Assembly permite que uma classe-parte supra serviços que outra classe-parte necessita. Ele conecta duas partes como associação

Multiplicidade: Mostra o intervalo numérico permitido de valores que determinados elementos da UML possuem com outro elemento