Evaluating the effect of composite states on the understandability of UML statechart diagrams

Evaluating the effect of composite states on the understandability of UML statechart diagrams
复制标题

评估复合状态对 UML 状态图可理解性的影响

DOI:
--
复制
发表时间:
2005
期刊:
ACM/IEEE International Conference on Model Driven Engineering Languages and Systems
影响因子:
--
通讯作者:
Es
Es
中科院分区:
--
文献类型:
--
作者:
J. A. Cruz;M. Genero;M. E. Manso;M. Piattini;joseantonio Cruz;Es

文献摘要

被引文献

相似文献

统一建模语言(UML)状态图已成为描述软件系统动态行为的一项重要技术。它们也是面向对象(OO)设计的一个重要元素,尤其是在诸如模型驱动架构(MDA)这样的代码生成框架中。在先前的工作中,我们定义了一组用于评估UML状态图结构特性的度量指标,并通过一系列对照实验将它们验证为早期可理解性指标。那些实验还表明,组合状态的数量显然对状态图的可理解性没有影响。这一事实在我们看来有点可疑,于是我们决定更进一步研究。因此,在这项工作中,我们进行了一项对照实验和一次重复实验,重点关注组合状态对UML状态图可理解性的影响。实验结果在一定程度上证实了我们的直觉,即只要实验对象之前有过使用组合状态的一些经验,使用组合状态就能提高状态图的可理解性。这里存在教育方面的启示,因为我们的结果证明在软件工程课程中应格外强调在UML状态图中使用组合状态是合理的。
UML statechart diagrams have become an important technique for describing the dynamic behavior of a software system. They are also a significant element of OO design, especially in code generation frameworks such as Model Driven Architecture (MDA). In previous works we have defined a set of metrics for evaluating structural properties of UML statechart diagrams and have validated them as early understandability indicators, through a family of controlled experiments. Those experiments have also revealed that the number of composite states had, apparently, no influence on the understandability of the diagrams. This fact seemed a bit suspicious to us and we decided to go a step further. So in this work we present a controlled experiment and a replication, focusing on the effect of composite states on the understandability of UML statechart diagrams. The results of the experiment confirm, to some extent, our intuition that the use of composite states improves the understandability of the diagrams, so long as the subjects of the experiment have had some previous experience in using them. There are educational implications here, as our results justify giving extra emphasis to the use of composite states in UML statechart diagrams in Software Engineering courses.