Tesis
Inserindo suporte a declaração de associações da UML 2 em uma linguagem de programação orientada a objetos
Autor
Cardoso, Iuri Sônego
Institución
Resumen
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2011 Diagramas de classe UML são construídos com classes, atributos e associações. Porém, as linguagens de programação usualmente não implementam associações, as quais precisam ser representadas por meio de atributos e métodos, que devem ser construídos pelo programador. Isto gera um gap entre o modelo e o código do programa, dificultando a leitura, escrita e a manutenção de código. As soluções propostas em termos de linguagens de programação experimentais, bibliotecas e code patterns, apresentam ainda problemas para representar associações e/ou discrepâncias quanto a conceitos e funcionalidades. Este trabalho apresenta a proposta de uma extensão para uma linguagem de programação orientada a objetos que mantém os conceitos e funcionalidades existentes, acrescentando associações com o mesmo significado e expressividade da UML 2. Esta extensão aborda questões como multiplicidade, navegabilidade, visibilidade, association end ownership e especialização de associações. UML diagrams are built with classes, attributes and associations. However, programming languages usually do not implement associations, which have to be represented by means of attributes and methods that have to be defined by programmers. That produces a gap between model and programming code, making reading, writing and maintaining code a hard task. Proposed solutions such as, experimental programming languages, libraries and code patterns, still present problems for representing associations, and/or inconsistencies regarding concepts and functionalities. This dissertation presents the proposal for an extension for an object-oriented programming language that is consistent with existing concepts and functionalities, adding association with the same meaning and expressiveness of UML 2. This extension approaches issues like multiplicity, navigability, visibility, association end ownership and association specialization.