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: ialvaren@gmail.com
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.
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
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
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
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
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
UML – Classes Em UML as classes são representadas por um retângulo divididos em 3 compartimentos: Nome Atributos Operações
UML – Classes Compartimentos: OBS: A sintaxe usada em cada um destes compartimentos é independente de qualquer linguagem de programação Nome: conterá apenas o nome da classe modelada
UML – Classes Compartimentos: OBS: A sintaxe usada em cada um destes compartimentos é independente de qualquer linguagem de programação Atributos: possuirá a relação de atributos que a classe possui em sua estrutura interna
UML – Classes Compartimentos: OBS: A sintaxe usada em cada um destes compartimentos é independente de qualquer linguagem de programação Operações: serão os métodos de manipulação de dados e de comunicação de uma classe com outras do sistema
UML – Classes As normas de estilo da UML determinam que: Nome da classe seja centralizado e negrito Escrever as iniciais dos nomes das classes em maiúsculas, inclusive as primeiras letras de nomes compostos Ex: AlunoUniversitario, PessoaFisica
UML – Classes As normas de estilo da UML determinam que: 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úscula Ex: nomeCliente reajustarSalario ()
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
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
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
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
UML – Diagrama de Classes - Parte Classe Cliente, com seus atributos e métodos
UML – Diagrama de Classes - Parte Classe ContratoAluguel, com seus atributos e métodos
UML – Diagrama de Classes - Parte Relacionamento entre as classes, com sua multiplicidade, isto é, o intervalo numérico permitido de valores que a classe Cliente “possui” com a classe ContratoAluguel
UML – Diagrama de Classes
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)
UML – Diagramas de Estrutura Composta 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 Exemplo:
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