上海师范大学计算机科学与技术系,上海,200234
网络出版:2020-04-25,
纸质出版:2020
移动端阅览
黄子杰, 陈军华, 高建华. Code Smell视角下分层Web应用失血及充血现象的量化分析[J]. 电子学报, 2020,48(4):772-780.
Quantifying Anemia and Bloodshot of Layers in Web Applications from the Perspective of Code Smell[J]. Acta Electronica Sinica, 2020, 48(4): 772-780.
黄子杰, 陈军华, 高建华. Code Smell视角下分层Web应用失血及充血现象的量化分析[J]. 电子学报, 2020,48(4):772-780. DOI: 10.3969/j.issn.0372-2112.2020.04.019.
Quantifying Anemia and Bloodshot of Layers in Web Applications from the Perspective of Code Smell[J]. Acta Electronica Sinica, 2020, 48(4): 772-780. DOI: 10.3969/j.issn.0372-2112.2020.04.019.
分层Web应用的领域层由领域模型构成.仅存储数据且不实现行为的领域模型被称作失血领域模型,其状态和数据由非领域层中的类维护,造成后者的充血现象.失血和充血现象损害了Web应用的可维护性,然而,由于缺乏量化分析和研究,其论据多基于主观经验得出.本文度量三种Code Smell(Feature Envy、Blob和Data Class)的强度,将它们作为衡量失血和充血现象的标准,对现象进行量化分析,进而得出它们之间的相关性.本文对一个公开数据集的91个Java Web项目及10个不同领域的开源Java Web应用的多个版本进行了实验,实验发现至少有75%的项目受领域层失血和服务层充血现象的影响,这些现象极少被解决或减弱,两者的强度在不同类间存在相关性,且两者强度的增量在同一软件项目的不同版本间亦存在相关性.
Domain Models shape the Domain Layer of Web Applications.Anemic Domain Models (ADMs) are Domain Models holding only data. States of ADMs are maintained by classes in other layers
causing the latter bloodshot. However
there lacks research revealing the significance of impact that anemia and bloodshot of layers pose on maintainability. To quantify the significance
this paper assesses intensity of 3 Code Smells (Feature Envy
Blob and Data Class) as evaluation standards. Through an experiment conducted on 91 Java projects and multiple releases of 10 Java Web applications
this paper concludes that over 75% of the projects are affected. As the impact persists
correlations of the intensities exist among different classes of a project as well as same classes in different releases of a project.
0
浏览量
148
下载量
1
CSCD
关联资源
相关文章
相关作者
相关机构
京公网安备11010802024621