博碩士論文 100525008 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:2 、訪客IP:18.188.40.207
姓名 陳石佳(Shih-Chia Chen)  查詢紙本館藏   畢業系所 軟體工程研究所
論文名稱 AMRL耦合強度度量方法
(AMRL Coupling Strength Metrics)
相關論文
★ 以正規表示法為基礎之文字比對機制與於路徑規劃服務之應用★ 於行動裝置上支援網站內容之呈現:以新聞網服務為例
★ 軟體模組化度量之實驗與驗證★ 基於一個擴充Hitz和Montazeri的度量方法模組化原始碼
★ 針對組合IOT服務之BPEL引擎擴充機制★ 大型開放原始碼軟體類別改變分佈之探討
★ 基於BPEL之服務轉接器引擎設計與實作★ 網路能力應用處理器與傳感器介面模組之設計與實作
★ 基於程式碼生成、Java 內容倉庫及虛擬機器之 物聯網設備轉接流程★ 移動代理人監控系統之設計與實作
★ 以正規表式法為基礎之地理編碼服務設計與實作★ Android應用程式開發之持續整合系統
★ 基於設計矩陣之需求追溯關係建立方法★ 點對點移動代理人之設計與實作與於車資通訊之應用
★ 網頁內容叢集分類法之設計與實作★ 設計與實作於行動裝置上以XUL為基礎之介面呈現
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   至系統瀏覽論文 ( 永不開放)
摘要(中) 程式碼常需為了相容新的硬體或增加新功能亦或是修正程式的錯誤,而不斷的修改程式碼,但是程式碼的修改卻變得越來越困難,最後程式可能會無法更改。而修改所花費的成本與修改程式的時間也相當可觀,修改後軟體之品質卻可能不佳。因此,在軟體開發的過程中,需事先做好軟體的設計,不同的軟體設計,對於後來需要維護程式時,會有不同的影響。不好的設計會使得日後的維護工作變得較為困難。雖然目前已有諸多測量耦合程度(Coupling Strength)的研究被提出,但較少有研究探討軟體耦合程度與軟體變更數量之關係。
故本研究以Code Level Interaction Types為基礎,發展耦合強度度量方法(稱為AMRL Coupling Strength Metric),來深入探討大型開放原始碼專案軟體中Classes之間之更為詳細的互動關係,並且搭配版本控制軟體,將Class的耦合強度之演進過程呈現出來,且利用AMRL Metrics來以量化的方式,觀察不同的軟體設計之間的差異變化。
摘要(英) A central feature of the evolution of large software systems is that change - which is necessary to add new features, accommodate new hardware, and repair defects – becomes increasingly difficult over time.
A key principle of modern programming practice is: follow the rule of loose coupling, that is, to restrict the interactions among modules and therefore contain the changes local to the modules themselves. Although efforts have been made on developing metrics of coupling strength between modules, little emphasis has been put on investigating the relationship between coupling strength metrics and object class changes in object-oriented systems.
In this research, we develop a coupling strength metric (AMRL Coupling Strength Metric) based on code level interaction types, to further explore the large scale open source project software classes more detailed interaction between the relationships. We observe the coupling strength of the class evolution with version control system. And use AMRL metrics to quantify the effect of difference designs.
關鍵字(中) ★ 軟體度量
★ 軟體耦合
關鍵字(英) ★ Software Metrics
★ Software coupling
論文目次 摘要 i
Abstract ii
致謝 iii
目錄 iv
圖目錄 vi
表目錄 viii
第一章 緒論 1
1.1 引言 1
1.2 動機 2
1.3 論文架構 3
第二章 背景知識介紹 4
2.1 CK Metrics 4
2.2 Coupling Strength Framework by Hitz and Montazeri 5
2.3 Java Compiler API 6
2.4 Change Management System (Git) 7
2.5 Analytic Hierarchy Process (AHP) 8
第三章 系統分析設計與實作 10
3.1 系統架構(System Architecture) 10
3.2 Change Type Analyzer 11
3.3 AMRL Strength Calculator 13
3.3.1 AMRL Code Level Interaction Type 13
3.3.2 AMRL Strength 14
3.3.3 AMRL Strength Process 17
3.3.4 AMRL Strength Calculator 設計 19
第四章 實驗與驗證 20
4.1 Class演進與AMRL變化實驗結果 20
4.2軟體設計方式與AMRL Variance變化之實驗結果 22
4.2.1 Creational Patterns 22
4.2.2 Structural Patterns 27
4.2.3 Behavioral Patterns 31
4.3 AMRL與Software Design Process之對應 39
第五章 結論 42
參考文獻 43
參考文獻 [1] J.M. Bieman and B.K. Kang, “Measuring Design-Level Cohesion,” IEEE Transactions on Software Engineering, Vol. 24, No. 2, pp. 111–124, Feb. 1998.
[2] H.S. Chae, Y.R. Kwon, and D.H. Bae, “Improving Cohesion Metrics for Classes by Considering Dependent Instance Variables,” IEEE Transactions on Software Engineering, Vol. 30, No. 11, pp. 826 –832, Nov. 2004.
[3] A, Marcus and D. Poshyvanyk, “The Conceptual Cohesion of Classes,” Proceedings of the 21st IEEE International Conference on Software Maintenance, Pages 133–142, 2005.
[4] J.A. Dallala and L.C. Briand, “An Object-Oriented High-Level Design-Based Class Cohesion Metric”, Information and Software Technology, Vol. 52, Issue 12, Pages 1346–1361, Dec. 2010.
[5] H.S. Chae and Y.R. Kwon, “A cohesion measure for classes in object-oriented systems,” 5th Proceedings of the International Software Metrics Symposium, 1998.
[6] M. Perepletchikov, C. Ryan, and K. Frampton “Cohesion Metrics for Predicting Maintainability of Service-Oriented Software,” 7th International Conference on Quality Software, 2007
[7] W. Stevens, G. Myers, and L. Constantine, “Structured Design,” IBM Systems Journal., Vol. 13, No. 2, pp. 115-139, 1974.
[8] R.W. Selby and V.R. Basili, “Analyzing Error-Prone Systems Structure,” IEEE Transactions on Software Engineering, Vol. 17, No. 2, pp. 141-152,1991
[9] P.A. Troy and S.H. Zweben, “Measuring the Quality of Structured Designs,” Journal of Systems and Software, Vol. 2, Issue 2, pp. 113-120, 1981
[10] M. Hitz and B. Montazeri, “Measuring Product Attributes of Object-Oriented Systems,” W. Schöfer and P. Botella, eds., Proceedings of the 5th European Software Eng. Conf., Barcelona, Spain, Sept.1995, Lecture Notes in Computer Science 989, Springer-Verlag,1995.
[11] S.R. Chidamber and C.F. Kemerer, “A Metrics Suite for Object Oriented Design,” IEEE Transactions on Software Engineering,Vol. 20, No. 6, June 1994.
[12] J. Eder, G. Kappel, and M. Schrefl, “Coupling and Cohesion in Object-Oriented Systems,” Technical Report, University of Klagenfurt, 1994.
[13] L. Briand, P. Devanbu, and W. Melo, “An Investigation into Coupling Measures for C++,” Proceedings of the 19th International Conference on Software Engineering, Boston, pages 412-421, May 1997
[14] S. Sarkar, A.C. Kak, and G.M. Rama, “Metrics for Measuring the Quality of Modularization of Large-Scale Object-Oriented Software,” IEEE Transactions on Software Engineering, Vol. 34, No. 5, Sep. 2008.
[15] The CVS Team, “Concurrent Versions System,” http://savannah.nongnu.org/projects/cvs
[16] Apache Software Foundation, “Apache Subversion,” http://subversion.apache.org/
[17] Linus Torvalds, “Git,” http://git-scm.com/
[18] T.L. Graves, A.F. Karr, J.S. Mrron, and H. Siy, ”Predicting Fault Incidence Using Software Change History,” IEEE Transactions on Software Engineering, Vol. 26, No. 7, pp. 653 - 661, July 2000.
[19] T. Gyimóthy, R. Ferenc, and I. Siket, “Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction,” IEEE Transactions on Software Engineering, Vol. 31, No. 10, pp. 897 - 910, Oct. 2005.
[20] S.R. Chidamber and C.F. Kemerer, “A Metrics Suite for Object-Oriented Design,” IEEE Transactions on Software Engineering, Vol. 20, No. 6, pp. 476-493, 1994.
[21] R. Subramanyam and M.S. Krishnan, “Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects,” IEEE Transactions on Software Engineering, Vol. 29, No. 4, pp. 297 - 310, Apr 2003.
[22] L.C. Briand, J. Wüst, J.W. Daly, and D.V. Porter, “Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems,” Journal of Systems and Software, Vol. 51, Issue 3, pp. 245-273, 2000.
[23] L.C. Briand and J. Wüst, “Empirical Studies of Quality Models in Object-Oriented Systems,” Advances in Computers, Vol. 56, Sept. 2002.
[24] Oracle, “Package javax.lang.model,” http://docs.oracle.com/javase/7/docs/api/javax/lang/model/package-summary.html
[25] Oracle, “Package javax.tools,” http://docs.oracle.com/javase/7/docs/api/javax/tools/package-summary.html
[26] Oracle, “Compiler Tree API,” http://docs.oracle.com/javase/7/docs/jdk/api/javac/tree/index.html
[27] Teknomo and Kardi, "Analytic hierarchy process (AHP) tutorial." Retrieved on January 11 (2006): 2011.
[28] B. Fluri and H.C. Gall, “Classifying Change Types for Qualifying Change Couplings,” Proc. 9th Int’l Conf. Program Comprehension, IEEE CS Press, 2006, pp. 35–45.
[29] Briand, L.C., J.W. Daly and J. K. Wust. "A unified framework for coupling measurement in object-oriented systems." Software Engineering, IEEE Transactions on 25.1 (1999): 91-121.
指導教授 李允中(Jonathan Lee) 審核日期 2013-7-22
推文 facebook   plurk   twitter   funp   google   live   udn   HD   myshare   reddit   netvibes   friend   youpush   delicious   baidu   
網路書籤 Google bookmarks   del.icio.us   hemidemi   myshare   

若有論文相關問題,請聯絡國立中央大學圖書館推廣服務組 TEL:(03)422-7151轉57407,或E-mail聯絡  - 隱私權政策聲明