{"title":"基于自组织映射的软件可重用性分类与预测","authors":"A. Hudaib, Ammar Huneiti, Islam M. Othman","doi":"10.4236/CN.2016.83018","DOIUrl":null,"url":null,"abstract":"Due to rapid development in software industry, it was necessary to reduce time and efforts in the \nsoftware development process. Software Reusability is an important measure that can be applied \nto improve software development and software quality. Reusability reduces time, effort, errors, \nand hence the overall cost of the development process. Reusability prediction models are established \nin the early stage of the system development cycle to support an early reusability assessment. \nIn Object-Oriented systems, Reusability of software components (classes) can be obtained \nby investigating its metrics values. Analyzing software metric values can help to avoid developing \ncomponents from scratch. In this paper, we use Chidamber and Kemerer (CK) metrics suite in order \nto identify the reuse level of object-oriented classes. Self-Organizing Map (SOM) was used to \ncluster datasets of CK metrics values that were extracted from three different java-based systems. \nThe goal was to find the relationship between CK metrics values and the reusability level of the \nclass. The reusability level of the class was classified into three main categorizes (High Reusable, \nMedium Reusable and Low Reusable). The clustering was based on metrics threshold values that \nwere used to achieve the experiments. The proposed methodology succeeds in classifying classes \nto their reusability level (High Reusable, Medium Reusable and Low Reusable). The experiments \nshow how SOM can be applied on software CK metrics with different sizes of SOM grids to provide \ndifferent levels of metrics details. The results show that Depth of Inheritance Tree (DIT) and \nNumber of Children (NOC) metrics dominated the clustering process, so these two metrics were \ndiscarded from the experiments to achieve a successful clustering. The most efficient SOM topology \n[2 × 2] grid size is used to predict the reusability of classes.","PeriodicalId":91826,"journal":{"name":"... IEEE Conference on Communications and Network Security. IEEE Conference on Communications and Network Security","volume":"499 1","pages":"179-192"},"PeriodicalIF":0.0000,"publicationDate":"2016-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":"{\"title\":\"Software Reusability Classification and Predication Using Self-Organizing Map (SOM)\",\"authors\":\"A. Hudaib, Ammar Huneiti, Islam M. Othman\",\"doi\":\"10.4236/CN.2016.83018\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Due to rapid development in software industry, it was necessary to reduce time and efforts in the \\nsoftware development process. Software Reusability is an important measure that can be applied \\nto improve software development and software quality. Reusability reduces time, effort, errors, \\nand hence the overall cost of the development process. Reusability prediction models are established \\nin the early stage of the system development cycle to support an early reusability assessment. \\nIn Object-Oriented systems, Reusability of software components (classes) can be obtained \\nby investigating its metrics values. Analyzing software metric values can help to avoid developing \\ncomponents from scratch. In this paper, we use Chidamber and Kemerer (CK) metrics suite in order \\nto identify the reuse level of object-oriented classes. Self-Organizing Map (SOM) was used to \\ncluster datasets of CK metrics values that were extracted from three different java-based systems. \\nThe goal was to find the relationship between CK metrics values and the reusability level of the \\nclass. The reusability level of the class was classified into three main categorizes (High Reusable, \\nMedium Reusable and Low Reusable). The clustering was based on metrics threshold values that \\nwere used to achieve the experiments. The proposed methodology succeeds in classifying classes \\nto their reusability level (High Reusable, Medium Reusable and Low Reusable). The experiments \\nshow how SOM can be applied on software CK metrics with different sizes of SOM grids to provide \\ndifferent levels of metrics details. The results show that Depth of Inheritance Tree (DIT) and \\nNumber of Children (NOC) metrics dominated the clustering process, so these two metrics were \\ndiscarded from the experiments to achieve a successful clustering. The most efficient SOM topology \\n[2 × 2] grid size is used to predict the reusability of classes.\",\"PeriodicalId\":91826,\"journal\":{\"name\":\"... IEEE Conference on Communications and Network Security. IEEE Conference on Communications and Network Security\",\"volume\":\"499 1\",\"pages\":\"179-192\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-07-14\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"12\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"... IEEE Conference on Communications and Network Security. IEEE Conference on Communications and Network Security\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.4236/CN.2016.83018\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"... IEEE Conference on Communications and Network Security. IEEE Conference on Communications and Network Security","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.4236/CN.2016.83018","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12
摘要
由于软件行业的快速发展,减少软件开发过程中的时间和精力是必要的。软件可重用性是提高软件开发和软件质量的重要手段。可重用性减少了时间、精力、错误,从而减少了开发过程的总成本。在系统开发周期的早期阶段建立可重用性预测模型,以支持早期的可重用性评估。在面向对象系统中,软件组件(类)的可重用性可以通过调查其度量值来获得。分析软件度量值可以帮助避免从头开始开发组件。在本文中,我们使用Chidamber和Kemerer (CK)度量套件来识别面向对象类的重用级别。使用自组织映射(SOM)对从三个不同的基于java的系统中提取的CK度量值数据集进行聚类。目标是找到CK度量值和类的可重用性级别之间的关系。类的可重用性级别分为三个主要类别(高可重用、中等可重用和低可重用)。聚类基于用于实现实验的度量阈值。该方法成功地将类划分为可重用性级别(高可重用、中等可重用和低可重用)。实验表明,SOM可以应用于具有不同大小SOM网格的软件CK度量,以提供不同级别的度量细节。结果表明,继承树深度(Depth of Inheritance Tree, DIT)和子节点数(Number of Children, NOC)指标在聚类过程中占主导地位,因此为了实现成功的聚类,可以将这两个指标从实验中剔除。最有效的SOM拓扑[2 × 2]网格大小用于预测类的可重用性。
Software Reusability Classification and Predication Using Self-Organizing Map (SOM)
Due to rapid development in software industry, it was necessary to reduce time and efforts in the
software development process. Software Reusability is an important measure that can be applied
to improve software development and software quality. Reusability reduces time, effort, errors,
and hence the overall cost of the development process. Reusability prediction models are established
in the early stage of the system development cycle to support an early reusability assessment.
In Object-Oriented systems, Reusability of software components (classes) can be obtained
by investigating its metrics values. Analyzing software metric values can help to avoid developing
components from scratch. In this paper, we use Chidamber and Kemerer (CK) metrics suite in order
to identify the reuse level of object-oriented classes. Self-Organizing Map (SOM) was used to
cluster datasets of CK metrics values that were extracted from three different java-based systems.
The goal was to find the relationship between CK metrics values and the reusability level of the
class. The reusability level of the class was classified into three main categorizes (High Reusable,
Medium Reusable and Low Reusable). The clustering was based on metrics threshold values that
were used to achieve the experiments. The proposed methodology succeeds in classifying classes
to their reusability level (High Reusable, Medium Reusable and Low Reusable). The experiments
show how SOM can be applied on software CK metrics with different sizes of SOM grids to provide
different levels of metrics details. The results show that Depth of Inheritance Tree (DIT) and
Number of Children (NOC) metrics dominated the clustering process, so these two metrics were
discarded from the experiments to achieve a successful clustering. The most efficient SOM topology
[2 × 2] grid size is used to predict the reusability of classes.