999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Software Maintainability Prediction with UML Class Diagram

2015-01-12 08:12:29LIULiZHUXiaodong朱小冬HAOXueliang郝學(xué)良

LIU Li (劉 麗), ZHU Xiao-dong (朱小冬), HAO Xue-liang (郝學(xué)良)

1 Department of Teaching and Research, Mechanized Infantry Academy, Shijiazhuang 050003, China2 Maintenance Engineering Institute, Mechanical Engineering College, Shijiazhuang 050003, China

Software Maintainability Prediction with UML Class Diagram

LIU Li (劉 麗)1*, ZHU Xiao-dong (朱小冬)2, HAO Xue-liang (郝學(xué)良)2

1DepartmentofTeachingandResearch,MechanizedInfantryAcademy,Shijiazhuang050003,China2MaintenanceEngineeringInstitute,MechanicalEngineeringCollege,Shijiazhuang050003,China

Software system can be classified into many function modules from the perspective of user. Unified modeling language (UML) class diagram of each function module was extracted, and design characteristic metrics which influenced software maintainability were selected based on UML class diagram. Choosing metrics of UML class diagram as predictors, and mean maintenance time of function module was regarded as software maintainability parameter. Software maintainability models were built by using back propagation (BP) neural network and radial basis function (RBF) neural network, respectively and were simulated by MATLAB. In order to evaluate the performance of models, the training results were analyzed and compared with leave-one-out cross-validation and model performance evaluation criterion. The result indicated that RBF arithmetic was superior to BP arithmetic in predicting software maintainability.

unifiedmodelinglanguage(UML)classdiagram;softwaremaintainability;backpropagation(BP)neuralnetwork;radialbasisfunction(RBF)neuralnetwork

Introduction

Software maintainability is fundamentally decided by software design. The causality between software design characteristic and maintainability pointed out the direction for software maintainability prediction,i.e., the mapping relation should be built between design characteristics and maintainability parameter. Software maintainability prediction model should be built, but many prediction models are built based on source code[1-6], which is not much helpful for software development. Therefore, it is necessary to carry out maintainability prediction research in early development stage with unified modeling language (UML) class diagram. Thus, software maintainability is improved. There are software maintainability prediction models with UML class diagram[7-13], but these models are only theoretical and have no practical foundation.

Furthermore, if software maintainability wants to be predicted, one precondition must be satisfied that software maintainability parameter need be confirmed. However, there is barely acknowledged maintainability parameter in the field of software maintainability research. Zhou and Leung[14]offered some maintainability metrics: the time of problem confirmed, the time of management delay,etc. They made maintainability parameter have practical meaning, but the relation between these parameters and software design characteristics was not built and there is no use for software development.

At present, the method of development maintainability model mostly was classified into linear method and nonlinear method. Fioravanti and Nesi[15], and Misra[16]built software maintainability model by using linear regression technology respectively. However, the relation between software prediction factors and maintainability parameter is complex and nonlinear, which limits the accuracy of model. Therefore, appropriate technique is necessary to built high performance maintainability prediction model. Now neural network has become one of key techniques of building prediction model and optimizing control to nonlinear system.

Based on the above analysis, software system can be divided into some specific function modules from user who require software maintenance. UML class diagram of every function module was extracted, and the design characteristic metrics that influence software maintainability with UML class diagram were selected, then these metrics were measured by SDMetrics; software maintainability parameter that “mean maintainability time of function module” was determined from the perspective of user according to the analysis of common maintainability parameters; taking “the system of virtual maintenance and training” as originated dataset and the course of sample data collection was introduced; the model was trained by using back propagation (BP) learning arithmetic and radial basis function (RBF) learning arithmetic of artificial neural network, respectively, and the training results were analyzed and compared with leave-one-out cross-validation and model performance evaluation criterion.

1 Modeling Approach of Software Maintainability Prediction with UML Class Diagram

Maintenance time of software system is made up of the required time of every modification affair. Since modification affairs of software are uncertain. However, from the perspective of user, the modification of software failure or functional expansion is maintenance of one specific function to software system, and the numbers of specific function module of software system are certain. Therefore, the time corresponding to modification affairs of every function module made up of maintenance time of software system. The required time of modification affair of every function has relations with the structure and size of the function module.

Based on the above analysis, the modeling approach of software maintainability prediction is shown in Fig.1.

The maintainability prediction of software system includes the following steps: firstly, influencing factors of software maintainability are measured according to the structural characteristic of UML class diagram of every function module;then “mean maintainability time of function module” is collected; lastly maintainability prediction model of every function module is built.

2 The Metrics of Influencing Software Maintainability with UML Class Diagram

Maintainability measurement model with UML class diagram is built according to ISO9 126 definition to software maintainability (see Fig.2). The first layer is software maintainability attribute; the second layer is design characteristic; the third layer is the educed metrics of UML class diagram from design characteristic and the metrics are shown in Table 1.

Fig.1 Modeling approach of maintainability prediction

Fig.2 Maintainability measurement model with UML class diagram

Table 1 The metrics of influence software maintainability

3 The Parameter of Software Maintainability

Considering the maintenance time is concerned by the users and obtained easily in maintenance record. The “Check out” time and “Check in” time are both recorded to each time maintenance process in the visual source safe (VSS) tool of software configuration management, the non-working time is eliminated from natural time through communicating with software developers, then once maintenance time is gained by multiplying the maintenance person numbers and the time difference of check out and check in together. So the mean maintenance time of every function module is selected as software maintainability parameter.

4 Software Maintainability Prediction with Artificial Neural Network

With the above analysis to the metrics of influencing software maintainability and the maintainability parameter, the maintainability prediction model is built by using BP neural network and RBF neural network respectively. The main work includes collection of sample data, training of model and evaluation of model, and the flow is shown in Fig.3.

Fig.3 Work flow of prediction model on maintainability

4.1 Collection of sample dataset

The maintainability metrics of the function module and the “mean maintainability time of function module” are shown in Table 2.

Table 2 Maintainability measurements of functon module

FunctionmoduleNCNANMNAssocNAggNDepNGenNGenHNAggHMaxDITMaxHAggMeanmaintainabilitytimeoffunctionmodule/hDatabase22418696214233318.8884Datapackage69260104010212.8309Resource3612110010107.0518Structuretree51421130020209.9971Statustree622634112211110.2253Equipment184276106210232216.8895Process3912101000006.4736Faultmodel248100000006.6766Trainingsystem3612201001006.7471Trainingcontent23344766011322220.7150Questionlibrary610142202112112.8589Affiliationmanagement18325726018112316.1934Majormanagement19326735020123516.9961Objectmanagement17396485214323413.7440Testquestion52347500000007.1670Usertemplate244683116024264321.0881Helpinformation244678144516332321.7745Importdatabase23344766011322219.7993Exportdatabase5478401620823725623.2404Preview19459466120224417.0338

4.2 Model training

Software maintainability model was built by using BP neural network and RBF neural network and was simulated by MATLAB to the collected data respectively. The main steps are as follows.

4.2.1 Classification of data

The 20 groups of data were classified into training data and testing data. The 18 groups of data were training data and the other two groups of data were testing data. The influencing factors of maintainability were regarded as input, and the mean maintenance time of function module was regarded as output.

4.2.2 Model training with BP neural network

The simulation value through training of BP neural network is compared with target value, which is shownin Fig.4.

Fig.4 The comparison simulation value with target value of training data

4.2.3 Model training with RBF neural network

The simulation value through training of RBF neural network is compared with target value, which is shown in Fig.5.

Fig.5 The comparison predictive value with real value

4.3 Validation and performance evaluation of the two models

4.3.1 Leave-one-out cross-validation

The validation of model is a very critical step. It can evaluate the quality of the model, and it is the choice principle of model. Error is always used to evaluate the performance of model, and the most simple evaluation method is cross-validation. The method of leave-one-out cross-validation (LOOCV) is selected in the paper, because almost all samples are used to train model in every round and the generalization error through evaluation is relative credible.

4.3.2 Performance evaluation criteria

In order to evaluate the performance of the two models, magnitude of relative errorεcriteria in the field of software is given.

(1)

whereyeiis the expected value, andypiis the predictive value.

4.3.3 Performance evaluation of model

Firstly, the relation model with BP neural network adopted the method of LOOCV. The validation result and the values ofεwere shown in Fig.6.

Fig.6 Validation of prediction model with BP neural network

Secondly, the relation model with RBF neural network adopted the method of LOOCV. The validation result and the value ofεwere shown in Fig.7.

Fig.7 Validation of prediction model with RBF neural network

From Figs. 6 and 7 it can be seen that the error median line’s coordinate of RBF arithmetic is more approaching to 0, and it has narrow cabinet and smaller whisker. Therefore, it can be seen that the error of RBF arithmetic is smaller from the distribution of relative error.

5 Conclusions

Software maintenance is an important phase in software lifecycle. If maintainability prediction model is built in early phase of software development, the defect of software maintainability design can be discovered and eliminated, then the maintenance effort can be reduced in future. Taking “the system of virtual maintenance and training” as originated dataset, the prediction model was trained by using BP arithmetic and RBF arithmetic, respectively. In order to evaluate the performance of models, the training results are analyzed and compared with leave-one-out cross-validation and model performance evaluation criteria. The result indicated that RBF arithmetic was superior to BP arithmetic in predicting software maintainability.

[1] Sun X Y, Chen J. Procedural Information Based Software Maintainability Metrics [J].ShandongScience, 2010, 23(4): 68-71. (in Chinese)

[2] Wang L J, Hu X X, Ning Z Y. Predicting Object-Oriented Software Maintainability Using Projection Pursuit Regression[C]. The 1st International Confernce on Information Science and Engineering, Boston, 2008: 3827-3830.

[3] Zhou Y M, Hareton Leung. Predicting Object-Oriented Software Maintainability Using Multivariate Adaptive Regression Splines[J].TheJournalofSystemsandSofware, 2007(80): 1349-1361.

[4] Fioravanti F, Nesi P. Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems[C]. IEEE Transactions on Software Engineering, London, UK, 2001: 1062-1084.

[5] van Koten C, Gray A R. An Application of Bayesian Network for Predicting Object-Oriented Software Maintainability[J].InformationandSoftwareTechnology, 2006, 48(1): 59-67.

[6] Jehan Al Dallal. Object-Oriented Class Maintainability Prediction Using Internal Quality Attributes[J].InformationandSoftwareTechnology, 2013, 55(11): 2028-2048.

[7] Ye F, Zhu X D, Wang Y G. A New Software Maintainability Evaluation Model Based on Multiple Classifiers Combination[C]. International Conference on Qaulity, Reliability, Risk, Maintenance, and Safety Engineering, Chengdu, China, 2013: 321-325.

[8] Genero M, Piattini M, Calero C. Early Measures for UML Class Diagrams[J].HermesSciencePublications, 2012, 6(4): 489-515.

[9] Liu L, Zhu X D, Wang Y G. Software Maintainability Requirements Modeling Based on UML Profile[C]. Proceedings of the IEEE Prognostics and System Health Management Conference, Beijing, 2012: 528-531.

[10] Manso MaE, Genero M, Piattini M. No-redundant Metrics for UML Class Diagrams Structural Complexity[C]. Lecture Notes in Computer Science, Springer, Berlin, Germany, 2003: 127-142.

[11] Genero M, Manso E, Piattini M, Cantone G. Building UML Class Diagram Maintainability Prediction Models Based on Early Metrics[C]. The 9th International Symposium on Software Metrics (METRICS 2003), IEEE Computer Society, Austin, USA, 2003: 263-275.

[12] Kiewkanya M, Muenchaisiri P. Predicting Modifiability of UML Class and Sequence Diagrams[C]. The 26th International Conference on Software Engineering, Boston, USA, 2014: 53-57.

[13] Kiewkanya M, Jindasawat N, Muenchaisiri P. A Methodology for Constructing Maintainability Model of Object-Oriented Design[C]. The 4th International Conference on Quality Software, Brighton, UK, 2004: 206-213.

[14] Zhou Y M, Leung H. Predicting Object-Oriented Software Maintainability Using Multivariate Adaptive Regression Splines[J].TheJournalofSystemsandSoftware, 2007, 80(13): 1349-1361.

[15] Fioravanti F, Nesi P. Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems[J].IEEETransactionsonSoftwareEngineering, 2001, 27(12): 1062-1084.

[16] Misra S C. Modeling Design/Coding Factors that Drive Maintainability of Software Systems[J].SoftwareQualityJournal, 2005, 13(3): 297-320.

TP302 Document code: A

1672-5220(2015)01-0157-05

Received date: 2014-08-08

*Correspondence should be addressed to LIU Li, E-mail: huaxiangwen@163.com


登錄APP查看全文

主站蜘蛛池模板: 高清免费毛片| 嫩草在线视频| 国产交换配偶在线视频| 久久精品亚洲热综合一区二区| 国产一区二区三区精品欧美日韩| 国产成人永久免费视频| 免费a级毛片视频| 国产另类视频| 伊人成人在线视频| 内射人妻无码色AV天堂| 久久福利片| 日韩午夜伦| 3344在线观看无码| 日韩精品一区二区三区中文无码| 美女潮喷出白浆在线观看视频| 日韩无码视频专区| 91久久夜色精品国产网站| 国产真实乱人视频| 亚洲国产成人麻豆精品| 欧美国产日韩在线| 免费高清毛片| 在线观看无码av免费不卡网站| 色婷婷色丁香| 国产亚洲精品va在线| 欧美激情成人网| 国产95在线 | 69av免费视频| 国产经典在线观看一区| 亚洲人成影院在线观看| 精品剧情v国产在线观看| 美女国内精品自产拍在线播放| 三区在线视频| 91视频日本| 毛片免费观看视频| 中文字幕久久波多野结衣| 91福利片| 亚洲精品视频在线观看视频| 最新日韩AV网址在线观看| 少妇精品网站| 国产成人精品一区二区秒拍1o| 91久久大香线蕉| 欧美成人第一页| 国产综合在线观看视频| 99热这里都是国产精品| 亚洲69视频| 精品一区二区三区四区五区| 午夜激情福利视频| 亚洲成av人无码综合在线观看| 亚洲色偷偷偷鲁综合| 中文字幕 欧美日韩| 国产v欧美v日韩v综合精品| 国产成人精品免费av| 日本人又色又爽的视频| 亚洲无线一二三四区男男| 欧美成人精品欧美一级乱黄| 久久九九热视频| 国产精品va| 大陆精大陆国产国语精品1024| 真人高潮娇喘嗯啊在线观看| 黄色网站不卡无码| 国产黄在线免费观看| 精品国产美女福到在线直播| 一级毛片免费不卡在线视频| 1级黄色毛片| 蜜芽国产尤物av尤物在线看| 一级高清毛片免费a级高清毛片| 亚洲欧洲日韩国产综合在线二区| 国产成人狂喷潮在线观看2345| 日韩第九页| 2021国产v亚洲v天堂无码| 在线国产你懂的| 亚洲成网站| 国产精品30p| 六月婷婷激情综合| 久久久久久尹人网香蕉 | 国产在线97| 欧美在线综合视频| 国产欧美精品午夜在线播放| 欧美激情一区二区三区成人| 日韩欧美国产成人| 国产18在线| 99热这里都是国产精品|