Esse artigo faz parte da revista SQL Magazine edição 63. Clique aqui para ler todos os artigos desta edição
tulo style="MARGIN: 0cm 0cm 0pt"> Introdução O principal objetivo da análise de sistemas é realizar um mapeamento prévio do comportamento requerido para os elementos de modelagem no sistema a serem implementados posteriormente nas fases de construção. Durante as etapas iniciais de um projeto, é comum realizarmos um refinamento nos detalhes e na precisão do “desenho do sistema” a fim de conseguir classes de análise que possam evoluir antes de serem detalhadas durante as atividades de especificação e implementação. No presente artigo, falaremos sobre um importante diagrama da UML, o diagrama de classes, cujo principal objetivo é permitir a visualização e o relacionamento existente entre as classes obtidas nas etapas iniciais através da modelagem conceitual. O Diagrama de Classes O diagrama de classes é considerado por muitos autores como o mais importante e o mais utilizado diagrama da UML. Seu principal enfoque está em permitir a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como em demonstrar como as classes do sistema se relacionam, se complementam e transmitem informações entre si. Este diagrama apresenta uma visão estática de como as classes estão organizadas, preocupando-se em definir a estrutura lógica das mesmas. O diagrama de classes serve como base para a construção da maior parte dos demais diagramas da UML. Basicamente, o diagrama de classes é composto por suas classes e pelas associações existentes entre elas, ou seja, os relacionamentos entre as classes. Segundo Guedes em seu livro “UML – Uma Abordagem Prática”, o objetivo do diagrama de classes é mostrar os relacionamentos existentes entre as classes que são abstraídas no projeto, e como esses relacionamentos colaboram para a execução de um processo específico. Perspectivas de Construção de Diagramas de Classe Existem três perspectivas que você pode usar quando projetar diagramas de classes: · Conceitual: Se tomarmos a perspectiva conceitual, você projeta um diagrama que representa os conceitos do domínio que está sendo estudado. Estes conceitos serão naturalmente relacionados às classes que irão executá-los. Na verdade, um modelo conceitual deve ser projetado com pouca ou nenhuma preocupação com o software que poderá implementá-lo. Portanto, deve ser considerado independente da linguagem implementada. Esta perspectiva recebe o nome de perspectiva essencial. · Especificação: Agora estamos examinando o software, mas estamos analisando as suas interfaces, não a sua implementação. O desenvolvimento orientado a objetos dispõe muita ênfase na diferença entre interface e implementação, mas isso é freqüentemente negligenciado na prática porque a noção que temos de classe em uma linguagem orientada a objetos combina interface com implementação. · Implementação: Nesta visão, realmente temos classes e estamos pondo a implementação às claras. Esta é, provavelmente, a perspectiva usada com mais freqüência. A compreensão das diversas perspectivas é crucial tanto para desenhar como para ler diagramas de classes. Infelizmente, as linhas entre as perspectivas não são rígidas, e a maioria dos analistas de sistemas não se preocupa em ter suas perspectivas classificadas quando eles estão desenvolvendo a modelagem de um sistema. Classes, Atributos e Métodos As classes, atributos e métodos são os principais elementos que compõem um diagrama de classes. Classes costumam possuir atributos, que, como já foi explicado no artigo anterior desta série (ver Nota 1), armazena os dados dos objetos da classe, e métodos, que são as funções que uma instância da classe pode executar. Os valores dos atributos podem variar de instância para instância. Graças a essa característica, aliás, é possível identificar cada objeto individualmente, ao passo que os métodos são idênticos para todas as instâncias de uma classe específica. Nota 1. Classes No último artigo da série pudemos ver que uma classe descreve um conjunto de objetos com as mesmas propriedades (atributos), o mesmo comportamento (métodos), os mesmos relacionamentos com outros objetos e a mesma semântica. Embora os métodos sejam declarados no diagrama de classes, identificando os possíveis parâmetros que são por eles recebidos e os possíveis valores por eles retornados, o diagrama de classes não se preocupa em definir as etapas que estes métodos deverão percorrer quando forem chamados, sendo esta função atribuída a outros diagramas, como o diagrama de seqüência, que se preocupa com a ordem temporal de execução dos métodos. Uma classe, na linguagem UML, é representada por um retângulo com até três divisões, descritas a seguir (ver Figura 1):
Figura 1. Exemplo de classe contendo atributos e métodos de um cliente. · Descrição ou Nome da Classe: A primeira divisão contém a descrição ou nome da classe, que no exemplo apresentado na Figura 1 é Cliente; · Atributos da Classe: A segunda divisão armazena os atributos e seus tipos de dados (o formato que os dados devem possuir para serem armazenados em um atributo). Neste caso, a classe Cliente contém o atributo ‘ ...
Diagrama de Classes UML
Neste artigo abordaremos o Diagrama de Classes, um dos mais importantes diagramas da UML no SQL.
Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento integral
12x no cartão
De: R$ 69,00
Por: R$ 59,00
Total: R$ 708,00
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento facilitado
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 64,00 /mês
Tempo mínimo: 12 messes
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.