Curso de UML - Diagrama de Classes - Relacionamentos

160k Aufrufe3043 WörterText kopierenTeilen
Bóson Treinamentos
Curso de #UML - Diagrama de Classes - Relacionamentos Seja membro deste canal e ganhe benefícios: h...
Video-Transkript:
olá pessoal aqui é o fábio barbosa treinamentos neste vídeo vamos prosseguir o nosso estudo sobre diagramas de classe 100 ml no ano passado nós apresentamos os diagramas de classe falamos sobre o que são as classes e como criar é um diagrama representando uma classe no sistema e também falei que as classes elas se relacionam entre si e em seguida a gente vai falar sobre os relacionamentos entre as classes e como representar esses relacionamentos em um diagrama ml então que o relacionamento é uma conexão entre itens possíveis são as classes há vários tipos de relacionamentos possíveis entre classes que podem ser representados em mr são eles a dependência a associação agregação composição em a generalização barra especialização e para cada um deles a gente vai ter uma representação gráfica distinta vejamos primeiro relacionamento de dependência o que o relacionamento de dependência ou dependência fraca é o relacionamento no qual uma classe usa ou precisa de informações e serviços de uma outra classe em algum momento para que ela possa operar corretamente ou seja uma classe depende da outra classe é do tipo classe a depende da classe b aqui a gente tem um exemplo bem clássico suponha uma classe carro e uma classe roda o carro depende da roda para funcionar corretamente e isso a gente vai notar utilizando esta seta tracejada a esse aqui é essa aqui é a representação ml do relacionamento de dependência então sempre que você detectar duas classes no qual uma classe depende da outra você vai utilizar essa setinha tracejada ele aqui é bem simples meu carro ele existe sem a roda mas ele precisa da roda para funcionar corretamente também já que tem uma ideia bem sutil por trás da dependência essa classe ela pode existir sem a existência da outra classe e vice versa porém essa classe precisa da outra parte da classe b para que ela funcione corretamente para que ela possa efetivamente ser utilizada a gente chama de relacionamento independência sempre acerta tracejada um conceito interessante que a gente vai ver aí nos próximos relacionamentos é o racionamento é o conceito de multiplicidade que a multiplicidade é um numérico que a gente utiliza para determinar o número mínimo eo número máximo dos objetos podem estar envolvidos na associação então como a classe a ela se relaciona com uma classe b quantos objetos da classe a podem se relacionar com quantos da classe b ao mesmo tempo ea gente também utiliza a multiplicidade para especificar um nível da dependência entre os objetos e no no diagrama a gente vai representar a multiplicidade utilizando esses números que aparecem aqui nessa coluna por exemplo 0. 1 que significa isso significa no mínimo 10 e no máximo então o primeiro valor do lado esquerdo o valor mínimo o valor do lado direito ao valor máximo e ponto ponto dois pontinhos separando esses números a 0 sempre que aparecer 10 indica não obrigatoriedade do relacionamento ou seja o elemento pode não existir porque o mínimo é zero e aqui no caso no máximo então no mínimo 10 e no máximo um elemento de cada classe vai poder se relacionar quando tem obrigatoriedade mínimo vai ser um lutão 1. 111 somente um nesse caso um objecto de uma classe nacional com apenas um objeto de outra classe e vice versa também a gente pode ter uma multiplicidade de zero ponto ponto asterisco a ser isso significa muitos então que seria no caso no mínimo nenhum ou seja também não é obrigatória a existência do objeto e no máximo muitos se for obrigatório no mínimo um e no máximo muitos se for apenas muitos a gente coloca somente o asterisco que é bastante comum também utilizar essa anotação e uma outra alteração interessante é essa aqui por exemplo 2.
7 significa no mínimo dois e no máximo sete ou seja no mínimo duas instâncias se assim não for no máximo sete instâncias de uma classe pra outro toque tem números específicos para as instâncias não é muito comum mas às vezes você vai precisar representar dessa forma ea multiplicidade ela lembra pouco sabe o que o conceito de cardinale idade em modelagem de dados então se você já estudou modelagem de dados você já deve estar social na multiplicidade com a cara de natalidade obviamente são conceitos diferentes mas a ideia é um pouquinho parecidas outra coisa importante você não é obrigado a colocar sim a multiplicidade no diagrama quando a multiplicidade forum e somente um é a multiplicidade padrão tão basta não colocar um diagrama que já está subentendido que a gente tem um objecto de uma classe ação com apenas um objeto da outra classe tranquilo multiplicidade então a gente vai prosseguir agora falando de outros tipos de relacionamentos o iml que empregam a multiplicidade vamos falar sobre o relacionamento de associação e seu relacionamento que é mais forte que o da dependência indicando que uma classe ela faz uma referência à outra classe ao longo do tempo e as associações elas podem conectar duas ou mais classes não apenas duas mas pode ter um monte de classe a idéia mais ou menos assim a pensar que a classe a tem a classe b que tem um exemplo de uma classe pessoa e uma classe revista eo relacionamento entre entre elas é representado por esta certa agora não é mais tracejada uma certa cheia então acertar chez em que significa associação pessoa está associada com revista ea gente pode colocar um nome para a associação ela pode ter um nome aqui no caso o nome é a sina geralmente um verbo o nome que a gente utiliza na associação então a pessoa assina revista essa ideia desta associação e ela pode possuir a multiplicidade aqui no caso muitas pessoas podem ensinar muitas revistas um asterisco representando a multiplicidade na prática nem sempre você vai ter essa certinha aqui essa 7 ela representa um conceito chamado de navegabilidade que significa isso o sentido no qual as informações trafegam em uma classe para a outra por exemplo aqui a 7 indica que a pessoa pode executar métodos na classe revista mas não vice versa a revista não executar nada na pessoa então existe uma navegabilidade no sentido pessoa revista a gente chama então essa é esse relacionamento essa associação de unir direcional por que ela ocorre em apenas uma direção se ela ocorrer em duas direções ou seja está classe a para bbb pra a gente vai ter uma associação bidirecional esse caso não vai ter a setinha vai ter só um traço conectando as duas classes tem que lembrar sempre disso a navegabilidade não há briga para o diagrama se ela não existir no caso do relacionamento bidirecional na verdade a associação pode até ser reflexiva quando a classe ela se associa a ela mesma que também um pouquinho modelagem de dados o esquema do relacionamento nário uma relação a entidade relaciona com ela própria uma idéia um pouco parecida com a que a pessoa pode disparar metros na revista então existe a navegabilidade da pessoa para a revista nesta associação a pessoa existe independente da revista ea revista existe independente da pessoa o que não existe a assinatura se você não tiver a pessoa é a revista muito bem vamos ver então um outro relacionamento a associação ternário é um tipo de associação no qual você vai ter objetos de mais duas classes se conectam entre si ea gente vai usar esta figura um losango para indicar o ponto de conexão ou de convergência entre as classes envolvidas por exemplo temos aqui pra classe professor da classe sala ea classe turma essas três classes elas interagem entre si elas se conectam entre si o professor leciona para uma turma e leciona para essa turma em uma sala ea turma ela possui uma sala onde ocorre a aula então a gente coloca essas três classes conectadas entre si utilizando este símbolo do losango e aí olha só que interessante temos associações aqui sem a navegabilidade não foi representada também direcional mas a gente coloca sempre a multiplicidade no mínimo um professor no máximo muitas turmas no mínimo uma turma no máximo muitas turmas no mínimo uma sala no máximo muitas salas o professor leciona a gente coloca o nome também do relacionamento a turma possui e ambos utilizam a sala a gente pode ver na prática associações com mais de três classes então com duas classes de binário uma classe ou na área como eu citei com três classes ternárias e mais três de três classes se associando a gente chama de m áreas você pode ter com 41 511 10 classe que não é muito comum mas é possível existir então prosseguindo outro tipo de relacionamento é o racionamento de agregação time é mais específico do que a associação porque aqui a gente vai indicar que uma classe era um contêiner uma coleção de outras classes então a classe na verdade ela contém outras classes as classes que estão contidas elas não dependem do container mas podem existir por si próprias mas o condene se precisa é ter essas classes agregadas pelo nome agregação acidente destruiu contém nas outras classes continuam existindo é do tipo classe a possui uma ou mais classe b e aqui um exemplo bem clássico departamento instrutor o departamento ele possui os instrutores se extinguiu o departamento os instrutores continuam sendo instrutores do departamento onde eu trabalho na empresa for extinto ou continua sendo um instrutor da mesma forma se o instrutor desapareceu o departamento continua existindo e o departamento pode ter mais de um instrutor então a gente representa aqui a multiplicidade um mínimo um departamento no máximo vários instrutores e um instrutor por departamento então eu faço parte de apenas um departamento dependendo da renda do negócio é obviamente uma estrutura ele pode fazer parte de mais de um departamento e você representaria isso aqui também é bom em qualquer a figura o ml que a gente usa para representar um traço com esse diamante zinho aqui na ponta vazio vazado então isso aqui representa a agregação e aponta ele indica quem é que está agregando até isso aqui está preenchendo o departamento de pagamento e preenchido com vários instrutores tranquilo então esta figura que representa o relacionamento de agregação que também possui a multiplicidade basicamente ele demonstra uma relação de um todo e as partes desse todo essa idéia da agregação composição a composição é uma variação específica da agregação e note que a composição agregação são tipos de associação também então os os tipos de relacionamento na verdade eles também se relaciona crescido a composição a indica uma dependência do ciclo de vida mais forte entre as classes de modo que quando um container ele é extinto o conteúdo dele também desaparece diferentemente da agregação no qual a classe podem existir de forma independente a gente vai representar o utilizando a mesma figura do relacionamento de agregação só que agora o diamante zinho da ponta ele é cheio quando for cheio composição quando for brazil vazado ele é a agregação do tipo classe a é parte da classe b então por exemplo a janela possui uma barra de menus ela por cento na verdade outras classes mas ela consegue classe barra de menus abaixo - portanto compõe é parte da janela se extinguir a janela barra de menus some a mais - não existe sozinha ela precisa existir dentro do contexto de uma janela então se você está modelando um sistema que vai apresentar uma interface gráfica você vai criar ali uma classe janela criar uma classe barras - a classe bar - só existe no contexto da classe janela que a gente chama isso de composição base - compõem janela e um diagrama esse daqui relacionamento de generalização ou especialização e depende do sentido que você vai olhar esse relacionamento entre itens que chamam de gerais que tinha chamado também de superclássicos o classes mãe e os tipos mais específicos mais especializados que a gente vai chamar de subir classe ou classe filha na prática isso aqui representa o que a gente chama em orientação a objetos de herança entre as classes nos conceitos mais importantes nos pilares na verdade da orientação a objetos e é do tipo classe a é um tipo da classe b por exemplo imagine uma classe animal e uma classe peixe o peixe é um tipo de animal então eu posso ter a classe animal e posso ter a classe peixe eu sei que peixe é um tipo de animal portanto o peixe deve ter vários atributos e vários métodos que foram definidos na classe animal mas ele também deve ter os seus métodos especializados que só existem para peixes vão respirar por brancas é um requisito é um atributo específico do peixe que animais como por exemplo é o ser humano um carro um cachorro um gato não fazem não tem esse esse atributo e não é que a gente representa isso tracinho com esta setinha que um triângulo na ponta na verdade é um triângulo que a gente tem aqui o triângulo e sempre vai apontar o mais específico por mais geral o mais específico peixe mais geral animal tanto é que está dizendo basicamente que o peixe ele herda uma série de características métodos atributos da classe animal que é a super classe e ele também implementa suas próprias características e métodos específicos porque ele é uma subclasse uma classe fia então a gente chama isso de generalização quando você olha e no caso do peixe por animal especialização quando você olha do animal para o peixe você pode pensar simplesmente como se fosse uma herança em 1 ml sempre é o traço como o triângulo na ponta pensa numa certa é vazado há sempre um outro conselho importante ou da classe associativa a uma moto tipo de relacionamento que a gente pode ter a gente vai ter uma classe associativa quando ocorrerem associações no qual multiplicidade é muitos dos dois lados estão todas as extremidades da classe a e classe b quando você olha da classe a para a classe b a universidade enquanto se saber pra a multiplicidade também muitos nesse caso a gente vai ter provavelmente atributos da associação que não cabem nem na classe a nem na classe b e precisa ser especificados em outro lugar nesse caso a gente cria uma terceira classe que vai ser a classe associativa como é que a gente vai representar a classe associativa agente interliga as classes principais ea gente puxa que é uma outra classe usando uma linha tracejada para representar esta classe associativo então a linha tracejada vai representar a classe associativa por exemplo classe ator e classificou me o ator ele tem suas propriedades seus atributos metros como por exemplo o nome do ator e o filme também tem seus atributos seus métodos como por exemplo o título do filme o gênero do filme só que o ator e o filme eles têm juntos na quando eles estão juntos eles têm um atributo novo extra que é o papel do ator o papel do ator ele só faz sentido no contexto de um filme o ator sozinho ele não tem o papel que o filme sozinho também não tem um papel o papel existe quando o ator faz parte do filme não pensei um ator qualquer xampu o nome por exemplo se perguntar qual o papel desse ator a primeira coisa que você me perguntar de volta é mais o papel dele em qual filme então ele tem um papel não pertence ao ator pertence ao conjunto ator filme da mesma forma se eu perguntar no filme em nome da rosa qual é o papel do ator se você vai me perguntar de 14 está falando ou seja o papel do autor ele é um atributo que precisa estar numa classe associativa uma classe extra então a gente cria essa classe eu chamei de atuação eu coloquei aqui um atributo novo papel do ator do tipo stream o saque também lembra uma coisa que existe em modelagem de dados que é o relacionamento muitos para muitos que também cria uma esquema associativo que a gente chama de entidade associativa o tal novo tem essa essa analogia entre os dois métodos ao mda grimi é de classe ea modelagem de dados de bancos de dados então resumindo a notação de relacionamentos a associação setinha pode não ter a setinha na ponta lembre-se disso depende da direção não é da navegabilidade da associação agregação de amante zinho na ponta com posição de amanhã cheio a herança um triângulo uma certa independência é sempre uma setinha tracejado então essa é o resumo basicão da notação dos relacionamentos entre classes e algumas boas práticas que você deve seguir quando vou criar um diagrama de classe então sempre pensar que o nome da classe tem que ser um nome significativo ou seja tem que escrever realmente o que a classe que button já sabe do que se trata os relacionamentos tem que ser identificados antes de criar o diagrama não começa a criar o grupo e pensar só que deve ser o que é sucesso há obrigação não só tentei isso em mente antes específicos atributos as operações de cada classe dentro do diagrama não deixe nenhum de fora mesmo que fique grande é importante colocar todos lá e sempre que for necessário você pode acrescentar anotações e mostrando como é que você põe as anotações mas vou mostrar isso no próximo vídeo ela para definir os aspectos das classes porque no próximo vídeo a gente vai ver um exemplo de criação de um diagrama de classes a gente vai utilizar a esses relacionamentos todos essas boas práticas que eu citei a gente vai querer racionamento é interligando algumas classes duas três quatro cinco classes conforme for necessário então é isso aí próximo vídeo a gente vai falar sobre um exemplo de diagrama de classes espero que tenham gostado aproveite para se inscrever aqui no canal da voz em treinamento se você não se inscreveu nem também para visitar o nosso website que é o www. bananabrasil. com.
Copyright © 2025. Mit ♥ in London gemacht von YTScribe.com