Abstract
Object-oriented programming languages have been widely selected for developing modern information systems. The use of concepts relating to object-oriented (OO, in short) programming has reduced efforts of reusing pre-existing codes, and the OO concepts have been proved to be a useful in interpreting system requirements. In line with this, we have witnessed that a modern conceptual modeling approach supports features of object-oriented programming. Unified Modeling Language or UML becomes one of de-facto standards for information system designers since the language provides a set of visual diagrams, comprehensive frameworks and flexible expressions. In a modeling process, UML users need to consider relationships between classes. Based on an explicit and clear representation of classes, the conceptual model from UML garners necessarily attributes and methods for guiding software engineers. Especially, identifying an association between a class of part and a class of whole is included in the standard grammar of UML. The representation of part-whole relationship is natural in a real world domain since many physical objects are perceived as part-whole relationship. In addition, even abstract concepts such as roles are easily identified by part-whole perception. It seems that a representation of part-whole in UML is reasonable and useful. However, it should be admitted that the use of UML is limited due to the lack of practical guidelines on how to identify a part-whole relationship and how to classify it into an aggregate- or a composite-association. Research efforts on developing the procedure knowledge is meaningful and timely in that misleading perception to part-whole relationship is hard to be filtered out in an initial conceptual modeling thus resulting in deterioration of system usability. The current method on identifying and classifying part-whole relationships is mainly counting on linguistic expression. This simple approach is rooted in the idea that a phrase of representing has-a constructs a par-whole perception between objects. If the relationship is strong, the association is classified as a composite association of part-whole relationship. In other cases, the relationship is an aggregate association. Admittedly, linguistic expressions contain clues for part-whole relationships; therefore, the approach is reasonable and cost-effective in general. Nevertheless, it does not cover concerns on accuracy and theoretical legitimacy. Research efforts on developing guidelines for part-whole identification and classification has not been accumulated sufficient achievements to solve this issue. The purpose of this study is to provide step-by-step guidelines for identifying and classifying part-whole relationships in the context of UML use. Based on the theoretical work on Meta-model Formalization, self-check forms that help conceptual modelers work on part-whole classes are developed. To evaluate the performance of suggested idea, an experiment approach was adopted. The findings show that UML users obtain better results with the guidelines based on Meta-model Formalization compared to a natural language classification scheme conventionally recommended by UML theorists. This study contributed to the stream of research effort about part-whole relationships by extending applicability of Meta-model Formalization. Compared to traditional approaches that target to establish criterion for evaluating a result of conceptual modeling, this study expands the scope to a process of modeling. Traditional theories on evaluation of part-whole relationship in the context of conceptual modeling aim to rule out incomplete or wrong representations. It is posed that qualification is still important; but, the lack of consideration on providing a practical alternative may reduce appropriateness of posterior inspection for modelers who want to reduce errors or misperceptions about part-whole identification and classification. The findings of this study can be further developed by introducing more comprehensive variables and real-world settings. In addition, it is highly recommended to replicate and extend the suggested idea of utilizing Meta-model formalization by creating different alternative forms of guidelines including plugins for integrated development environments.
정보 시스템 개발에 있어 객체지향 프로그래밍 언어가 널리 사용된다. 이와 함께 객체지향 설계를 뒷받침하는 개념적 모델링 언어에 관한 관심도 높다. 이를 배경으로 통합 모델링 언어 혹은 UML로 알려진 개념적 모델링 언어는 여러 객체 지향 프로그래밍 언어와 함께 사용되면서 사후적 표준으로 자리 잡았다. UML은 클래스를 설계의 중심에 둔다. 또한 클래스들 간의 관계를 통해 체계적인 이해를 가능하게 한다. 특히 부분에 해당하는 클래스들과 전체에 해당하는 클래스의 관계인 부분-전체 관계를 설계할 수 있는 문법 또한 UML에 포함된다. 현실 세계에 부분-전체 관계로 파악될 수 있는 여러대상들이 존재하고 비즈니스 활동에 존재하는 각종 역할들의 구조에서도 부분-전체 관계로 표현될 수 있는 대상들이 보편적으로 보인다. 따라서 UML로 클래스들 간의 부분-전체 관계를 드러내는 일은 자연스럽다. 문제는 부분-전체 관계를 파악하는 활동은 UML 2.0의 표준에 포함되었으나 실제 설계 과정에서 적극 활용하기 위한 실천적 이론화가 부족하다는 점이다. 부분-전체 관계를 집합연관과 복합연관으로 세분화한 UML 문법은 표현 양식에서 부족함은 없을지라도 어떤 대상을 부분-전체로 파악하고, 이를 어떻게 집합연관이나 복합연관으로 분류해야 할 것인지에 대한 판단이 쉽게 결여된다. 지금까지 UML의 부분-전체 관계 규명은 언어적 표현법을 활용하는 것에 치우쳤다. 이와 같은 문제에 대한 대안을 제시하기 위해 본 연구는 메타모델 형식화 이론을 기반으로 UML 사용자가 부분-전체 관계를 판단하고 이를 집합연관과 복합연관으로 분류할 수 있는 실천적 대안을 제시한다. 이를 활용한 실험의 결과 메타모델 형식화가 UML 사용자들에게 통용되어 온 언어적 구분법보다 더 나은 결과를 낳는다는 점이 밝혀졌다. 본 연구는 부분-전체의 판별과 구분에 도움을 주는 실용적인 방법을 제안하고 검증하였다는 점에서 의의가 있다.