Galera sou novo em modelagem em UML e estou com uma duvida. Seguinte, tenho uma classe que faz parte da composição(todo/parte), e ela é a ‘parte’ da outra classe principal(“todo”). porem surgiu agora a necessidade de essa classe fazer parte de outra composicao todo/parte e nao sei se pode fazer isso. Segue um exemplo:
1º - “Cliente” tem um ou mais “endereco” --> composicao onde a parte forte é "Cliente"
2º - “Empresa” tem um “endereco” --> composicao onde a parte forte é “Empresa”
Note nesse exemplo que a classe Empresa surgiu dp e tbm precisa de um endereco, porem a classe endereco ja esta em outra composicao. A duvida é, posso criar uma segunda composicao envolvendo a classe endereco?Ou seria melhor criar outra classe “endereco”?
Se eu entendi a sua dúvida, não é incorreto, na sintaxe, uma classe se relacionar com n classes.
Se você possui uma classe Endereco, ela será utilizada na composição/agregação tanto de Cliente quanto de Empresa.
[]'s
R
raptor
Obrigado pela resposta amigo. Sei que a nivel d banco de dados e relacionamento entre as classes(programaçao) isso eh mais que comum. Porem, nunca vi uma representacao em diagrama de classes assim, pesquisei bastante na net e nao achei esse caso. Fiquei entao com medo d ser “errado” representar um relacionamento duplo d composicao com mesma classe em UML.
Obrigado.
G
getAdicted
Na ultima parte desse resumo, ele cita um exemplo que ilustra o que estavamos conversando.
[]'s
R
raptor
Vou analisar, obrigado pela ajuda
A
AlexandreTLazaro
Tanto a empresa quanto o Cliente podem se associar a um endereço.
O que eu não entendi foi esse teu exemplo…pq vc citou uma composição entre Cliente e Endereço???
Se o cliente for embora do endereço, o endereço não existirá mais???
Sim, se eu remover o cliente o endereço tbm sera apagado. Nao existe uma tabela fixa de endereco onde o usuario vai poder escolher e selecionar pois nao tem necessidade, entao o endereco e cadastrado especificamente para o cliente em questao. Ou seja, apagou cliente, apagou endereco. Porem como a ideia e um sistema que possa ser alugado para varias empresas, surgiu a necessidade de cadastrar a empresa que esta usando o sistema, para que possa usar esses dados nos relatorios emitidos, onde vai constar o endereco e etc da empresa que esta emitindo. Por isso usei a composicao, e preciso d composicao duas vezes usando o “endereco”. Como nunca vi esse exemplo em UML fiquei achando q nao era certo representar assim em UML.
Obrigado
A
AlexandreTLazaro
Então kra, pra vc não deixar isso assim…cria atributos dentro da classe cliente e empresa…tipo…
Endereço
Número
Complemento
CEP
por aih vai…pq vc ter uma classe q vai ser feita pra fazer a mesma coisa q os atributos e vc vai excluir o cliente e não vai usar o endereço, então não é necessário tê-lo.