Transformação UML em Java
Unified Modeling Language
é um acrônimo para UML, é uma linguagem padrão para a representação e documentação de sistemas de software. Os modelos trazem melhor compreensão entre os desenvolvedores. Os diagramas ajudam a visualizar, expressar as necessidades e especificar as construções do sistema de software.
O diagrama é útil para analistas de negócios, designers, testadores, analistas de qualidade, clientes, autores técnicos.
UML é um termo de alto nível para vários tipos de diagramas nesta categoria. Uma variedade de mapeamentos precisa ser cuidada durante a interpretação do diagrama UML. Vamos dar uma olhada detalhada no diagrama UML e na conversão deles.
No diagrama acima, existem várias entidades envolvidas. Portanto, a primeira etapa da conversão é criar uma classe a partir das entidades abaixo. Essas entidades estão lá em amarelo. A classe contém os atributos fornecidos no diagrama. Além disso, o tipo de dados para o campo específico está presente na frente.
- Para criar uma classe, vá ao editor dizer IDE
Intellij
. - Crie uma nova classe chamada Universidade, Faculdade, Alunos e Departamento.
- Insira os campos com o tipo de dados no formato do tipo
private String university Id
. - Selecione os campos recém-criados e clique com o botão direito do mouse na tela ou pressione a tecla Alt+Insert.
- Um pop-up
generate
piscará na tela. - Role para baixo até
Getter
eSetter
- Clique em
Ok
na parte inferior. - Da mesma forma, prossiga com as outras classes também.
O processo gera todas as classes e campos junto com os métodos getters e setters. Agora verifique a relação entre as tabelas.
Quanto à extremidade da classe |
o símbolo do tubo está visível. Do outro lado da linha, um símbolo é visível sobre uma linha, tornando o sinal semelhante a um sistema de três pés, freqüentemente chamado de símbolo de pé-de-galinha. A relação descreve um tipo de relacionamento um para muitos. O relacionamento um para muitos indica que pode haver várias entidades presentes para uma única entidade. No nosso caso, só poderia haver uma universidade e muitas faculdades inscritas nela.
A relação representa a classe Java fazendo com que a classe University
contenha o número n
do objeto College
. E oposto a esta classe College
conterá apenas uma única referência de objeto University
. Portanto, as classes se pareceriam com a classe mencionada abaixo.
public class University {
private String universityId;
private String universityName;
private String address;
private List<College> colleges;
}
public class College {
private String collegeId;
private String collegeName;
private University university;
}
As Enumerações
podem ser utilizadas para associar as entidades a outras. Ele fornece a capacidade de escolher um valor de um conjunto definido de valores. Quando há um conjunto mínimo de opções, enums
são a escolha adequada.
No diagrama de classe abaixo, verifique os tipos de agregação e composição de relacionamentos.
O símbolo black dark diamond
representa o tipo de relação a ser composta. Em termos mais simples, Composição
é a dependência de duas entidades, ou se uma entidade não existe, a outra também não existirá. Portanto, o caso é mostrado acima. A entidade car
é composta pela classe Wheels
. Portanto, sem a instância Wheels
, um car
não é considerado um carro. Portanto, representa uma relação forte e, portanto, uma relação de Composição
.
Para conseguir o comportamento de composição nas classes abaixo é um exemplo.
class Wheel {
private String manufacturer;
}
final class Car {
private final Wheel Wheel; // Composition
Car(Wheel wheel) {
this.wheel = wheel;
}
public void move() {
System.out.println("Car works");
}
}
}
O especificador final
com a instância Wheel
na classe Car
define a relação Composition
. E, portanto, deve ser iniciado como e quando uma instância de carro é chamada. A roda é instanciada no construtor.
Outra relação é Agregação
e denotada pela forma de diamante preto vazio. As duas entidades não estão fortemente relacionadas e têm existência independente, sendo, portanto, o oposto da relação composição
. Se um dos dois não estiver presente, o outro também pode sobreviver. Conforme referido acima, com a entidade Car
e Brand
. Mesmo que um carro não tenha uma instância de Brand Name
, então existe uma classe de carro.
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn