Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução ao Modelo de Classes UML 1 - O que é UML UML - acrônimo para Unified Modeling Language- é uma ampla linguagem de notação visual para desenvolvimento de projetos de sistemas, sendo que a partir dela são gerados diversos tipos de diagramas (totalizando 14 tipos de diagramas UML). O uso dessa linguagem-padrão é muito interessante na etapa de modelagem e desenvolvimento de projeto já que ela permite tanto uma representação clara das partes e relações de um sistema, quanto fornece um terreno comum de compreensão a todos os envolvidos na atividade. Muito utilizada para o desenvolvimento de software, a UML fornece ferramentas para documentar processos abstratos de forma coesa e universal. Tratando dos modelos UML, é possível fazer uma divisão em dois grandes grupos, os estruturais e os comportamentais. Dentre os estruturais estão modelos como os de Classe, Pacotes e Componentes. Já entre os diagramas comportamentais estão os de atividades, casos de uso e interação. Nesse documento vamos explorar especificamente o Diagrama de Classes dentro dos modelos UML. É importante salientar que o modelo UML tem como seu propósito original a modelagem de sistemas baseados em linguagens de programação orientada a objetos. Assim, esse documento pretende apresentar os conceitos fundamentais do tema de forma acessível a leitores leigos na área, sem se ater aos conceitos específicos das linguagens orientadas a objetos . 2 - Modelo de Classes UML O Diagrama de Classes tem destaque dentre os outros modelos UML uma vez que ele permite o mapeamento coerente a partir de uma estrutura abstrata de sistema. Nesse documento se tem como principal objetivo estabelecer quais são as “entidades” conjuntamente com as informações provenientes delas e em seguida como elas se relacionam umas com as outras. Agora vamos entender o que cada elemento do documento significa: ● Classe (objeto) - indica cada entidade do sistema, para identificar uma classe devemos pensar se o item que se quer classificar recebe ou realiza uma ação. Uma classe possui informações que são intrínsecas a ela, por exemplo, um ônibus possui uma área de cobrador, uma catraca eletrônica, é um ônibus urbano acessível, entre outros. O primeiro espaço de uma classe deve conter o seu nome, o segundo suas informações e o terceiro os seus métodos ou operações (não será necessário desenvolver os métodos no contexto da ACIEPE). Uma classe deve ter o seguinte formato visual: ● Associação (relação) - utilizada para relacionar duas classes quando ambas existem sem obrigatoriamente se relacionarem, mas que podem se comunicar em algum momento. Uma associação deve ter o seguinte formato visual: ● Herança (relação) - usada quando uma classe fornece informações ou estrutura para uma outra, ela é representada por uma seta que parte da classe filho e vai até a classe pai. Uma herança deve ter o seguinte formato visual: ● Composição (relação) - essa estrutura é utilizada quando objetos têm uma relação de dependência entre eles, nesse caso os dois objetos não podem existir sem realizar a conexão com o outro ao qual ele depende. Assim como na herança, a ponta está no lado da classe com maior “liberdade”. Uma composição deve ter o seguinte aspecto visual: ● Agregação (relação) - essa situação demonstra um esquema no qual uma classe depende de uma outra para existir, mas a recíproca não é obrigatória. A ponta da ligação nesse contexto também está no lado com maior “grau de liberdade”. Uma agregação tem a seguinte representação visual: ● Cardinalidade - esse conceito diz respeito a quantidade de elementos de cada classe que podem participar em uma única instância da relação. Quando o número não está presente se assume que a cardinalidade da relação no lado faltante é igual a um, contudo o mais indicado é que os números sempre estejam claros. Como exemplo, a agregação acima deve ser lida da seguinte forma, um Ônibus pode ter nenhum ou um Suporte Bicicleta Ônibus, já um Suporte Bicicleta ônibus só pode se relacionar com um Ônibus por vez. Notação Significado Exemplo Constante Numérica Indica um número fixo de Objetos 1 3 - Exemplo Completo Tendo claros todos os componentes explicados acima, é possível combinar todas as classes elencadas nesse sistema (bastante simplista) de modo a formar um único esquema: Faixa de Valores Indica um número variável de objetos dentro de uma faixa de valores especificada 1..2 Presença ou Ausência Indica nenhum ou um ou mais objetos 0..10 Indefinido Indica um número qualquer de objetos * 4 - Ferramentas Interessantes ● Draw.io - https://app.diagrams.net/ ● Creately - https://app.creately.com/diagram/create?templateId=6QI3bw0YVdo 5 - Referências ● Apostila Projeto de Software Usando UML, Andrey Ricardo Pimentel UFPR, presente no link - http://www.inf.ufpr.br/andrey/ci167/apostilaUml.pdf https://app.diagrams.net/ http://www.inf.ufpr.br/andrey/ci167/apostilaUml.pdf
Compartilhar