Artigo SQL Magazine 16 - Conhecendo os detalhes da UML
Começaremos a ver neste artigo alguns detalhes presentes na UML e que podem ser importantes quando você estiver especificando o projeto do software.
Clique aqui para ler esse artigo em PDF.
Clique aqui para ler todos os artigos desta edição
Conhecendo os detalhes da UML
por Rodrigo Oliveira Spínola
Leitura Obrigatória: SQL Magazine 13, artigo Projeto de software utilizando UML
Na edição 13 da SQL Magazine escrevi um artigo apresentando os conceitos básicos e, também, mais utilizados da UML. Para apoiar nosso primeiro contato com a linguagem de modelagem, fiz uso de um estudo de caso com o intuito de apresentar como construir os diagramas dados os requisitos do software. Entretanto, diversos detalhes da notação da UML deixaram de ser abordados. Começaremos a ver neste artigo alguns detalhes presentes na UML e que podem ser importantes quando você estiver especificando o projeto do software. Em paralelo, veremos como utilizar os elementos apresentados utilizando o Rational Rose 2003 cuja versão trial pode ser encontrada e baixada em http://www-306.ibm.com/software/rational/.
Diagrama de Classes
No centro do processo de modelagem de softwares orientados a objetos temos o diagrama de classes. Ele permite modelar as definições de recursos essenciais à operação correta do sistema. As definições envolvem a modelagem da estrutura, relacionamentos e comportamentos de uma entidade. Veremos a partir de agora alguns pontos importantes sobre o diagrama de classes que não foram apresentados no artigo Projeto de Software Utilizando UML publicado na SQL Magazine 13. Os pontos que serão analisados serão boas práticas para definição de classes, também conheceremos os estereótipos (que descrevem como você pode personalizar as classes para facilitar o desenvolvimento em um domínio específico de aplicação) e outros conceitos como interface e mais alguns detalhes presentes nos diagramas de classes.
Boas práticas para definição de classes
Começarei este tópico relembrando rapidamente o conceito de classe: uma classe representa uma entidade do mundo real com seus atributos e comportamentos. Assim como as entidades do mundo real, elas também podem possuir relacionamentos. O conjunto de classes define o modelo de domínio (conceitos presentes no ambiente) do conjunto de entidades do mundo real que queremos contemplar em nosso sistema.
Nome da Classe
A primeira tarefa que efetuamos ao identificar uma classe é escolher um nome para ela. Parece ser simples, mas o nome de uma classe é muito importante. Ele deve ser conciso e não ambíguo para definir claramente qual tipo de objeto estamos representando na classe. O nome é quase sempre um substantivo no singular como Cliente e Locadora. Singular por que, geralmente, o plural refere-se ao conjunto de objetos instanciados a partir daquela classe.
As regras de uso de maiúsculo/minúsculo na escrita dos nomes das classes geralmente seguem ao padrão: primeira letra de cada substantivo em maiúsculo e as demais em minúsculo. Vale lembrar aqui que não devemos colocar espaços entre dois substantivos que definem o nome de uma classe uma vez que o código gerado por esses nomes não admitem espaços em branco.
Atributos
Atributos definem as propriedades de um determinado objeto. Por exemplo, uma pessoa possui os atributos: nome, data de nascimento e altura dentre outros. Pensando um pouco mais além, o conjunto de atributos de um objeto nos informa seu estado (os valores atuais de cada atributo) e os demais objetos com os quais o objeto se relaciona. Este último pelo fato de que um relacionamento existente entre classes em um diagrama de objetos se transformará em um (ou nenhum) atributo em um (ou nos dois) dos objetos que se relacionam. Este mapeamento (relacionamento para atributo de classe) não é de um para um. Para definirmos devemos considerar outras informações disponibilizadas no diagrama de classes: navegabilidade, cardinalidade e tipo de relacionamento (associação, agregação, composição). Mas antes de entrarmos nesta discussão, vamos analisar antes algumas propriedades dos atributos." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo