Modelagem Visual de Objetos Com UML Professora Lucélia Profª Lucélia Oliveira Diagrama de Classes • Classe – é um grupo de objetos, sendo que cada objeto é um exemplo de um determinado grupo. • Diagrama de Classes - É uma representação da estrutura e relações das classes que servem de modelo para os objetos. Profª Lucélia Oliveira Associação • Para representar o fato de que objetos podem se relacionar uns com os outros, utiliza-se a associação. • Representa que duas classes possuem uma ligação (link), significando por exemplo que elas "conhecem uma a outra”. • Possui um nome (junto à linha que representa a associação), normalmente um verbo (não é obrigatório). Profª Lucélia Oliveira Associação • Representada através de um segmento de reta ligando as classes cujos objetos se relacionam. • Exemplos: Profª Lucélia Oliveira Diagrama de Classes - Multiplicidade • Cada associação em um diagrama de classes possui duas multiplicidades, uma em cada extremo da linha de associação. Nome Simbologia Apenas Um 1..1 (ou 1) Zero ou Muitos 0..* (ou *) Um ou Muitos 1..* Zero ou Um 0..1 Intervalo Específico li..ls Profª Lucélia Oliveira Nome da associação, direção de leitura e papéis Para melhor esclarecer o significado de uma associação, no diagrama de classes, a UML define três recursos de notação: • Nome da associação: fornece algum significado semântico • Direção de leitura: indica como a associação deve ser lida • Papel: representa um papel específico em uma associação, dentro do contexto analisado. Profª Lucélia Oliveira Exemplos - Nome de associação, multiplicidade, direção de leitura e papéis Profª Lucélia Oliveira Classe Associativa • É uma classe que está ligada a uma associação, ao invés de estar ligada a outras classes. • É normalmente necessária quando duas ou mais classes estão associadas, e é necessário manter informações sobre esta associação (histórico). Emprego salário dataContratação Pessoa nome telefone endereço * * empregado Profª Lucélia Oliveira empregador Empresa razãoSocial endereço Agregação • É um caso especial da associação e, conseqüentemente, multiplicidades, nome da associação e papéis, podem ser usados normalmente. • Utilizada para representar conexões que guardam uma relação todo-parte entre si. • Em uma agregação, um objeto está contido no outro, ao contrário de uma associação. • Onde se puder utilizar uma agregação, uma associação também poderá ser utilizada. Profª Lucélia Oliveira Agregação • Características particulares: – Agregações são assimétricas: se um objeto A é parte de um objeto B, B não pode ser parte de A. – Agregações propagam comportamento, no sentido de que um comportamento que se aplica a um todo automaticamente se aplica as suas partes. Profª Lucélia Oliveira Empresa Todo 1 1..* Departamento Parte Notação para uma agregação • Representada através de uma linha conectando as classes relacionadas, com um losango branco perto da classe que representa o todo. • Exemplo: Profª Lucélia Oliveira Especialização/Generalização • É um tipo de relacionamento similar à associação de mesmo nome em um Diagrama de Casos de Uso. • Seu objetivo é identificar classes-mãe, chamadas gerais e classes-filhas, chamadas especializadas. Profª Lucélia Oliveira Diagrama de Classes • Demonstra a estrutura estática das classes de um sistema. • Na fase de análise, tendo em mãos o diagrama de use-case, podemos definir o diagrama de classes do sistema. • O modelo de classes evolui durante o desenvolvimento do sistema. • À medida que o sistema é desenvolvido, o modelo de classes é incrementado com novos detalhes. Profª Lucélia Oliveira Exemplo de Diagrama de Classes Profª Lucélia Oliveira Visibilidade • Visibilidade pública: é representada por um símbolo de mais (+), apresentado na frente da descrição do atributo ou método e significa que o atributo ou método pode ser utilizado por qualquer classe. Profª Lucélia Oliveira Visibilidade • Visibilidade protegida: é representada por um símbolo sustenido (#) e determina que somente a classe possuidora do atributo ou método ou as suas sub-classes podem ter acesso ao mesmo. Profª Lucélia Oliveira Visibilidade • Atributo privado: é representado por um símbolo de menos (-) e significa que somente a classe possuidora ou método poderá utilizá-lo. Profª Lucélia Oliveira