跳到主要內容

臺灣博碩士論文加值系統

(44.192.15.251) 您好!臺灣時間:2024/02/25 07:52
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:郭哲均
研究生(外文):Jhe-Jyun Guo
論文名稱:以註解重整之方法改善樣式為基礎之軟體可維護性
論文名稱(外文):Improving Software Maintenance for Pattern-Based Software Development: A Comment Refactoring Approach
指導教授:薛念林薛念林引用關係
指導教授(外文):Nien-Lin Hsueh
口試委員:張志宏廖峻鋒
口試委員(外文):Chih-Hung ChangChun-Feng Liao
口試日期:2014-07-17
學位類別:碩士
校院名稱:逢甲大學
系所名稱:資訊工程學系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2014
畢業學年度:102
語文別:中文
論文頁數:62
中文關鍵詞:設計樣式可維護性重整註解
外文關鍵詞:patternmaintenancerefactoringcomment
相關次數:
  • 被引用被引用:0
  • 點閱點閱:168
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
近年來因為設計樣式的盛行,許多的軟體系統紛紛使用設計樣式以提升軟體品質、加快開發速度、或是解決設計上的問題。然而,設計樣式是否真的能達到期望的功效呢?設計樣式的有效性在軟體工程領域已經是一個重要的研究課題。
在軟體演進的過程中,若無節制的使用設計樣式,將會導致維護上的嚴重問題。如難以閱讀與維護的設計樣式、應用了大量沒有使用的設計樣式、因修改軟體架構導致設計樣式失效等。但為何維護者不使用設計樣式?我們區分為幾種情形與其解決方向。本研究為改善軟體可維護性,將焦點放在自動化加入樣式註解。良好的程式註解可以幫助維護人員了解軟體的設計,從而避免錯誤的使用設計樣式。
在本文中,我們提出一個重整方法,透過加入樣式註解,以提高基於樣式之軟體的軟體維護性。透過分析設計樣式在不同版本中的狀態,我們可以驗證出設計樣式是否被正確的使用。如果設計樣式被錯誤的使用或破壞,我們可以透過重整的方式加入程式註解,以提高程式的可讀性與可維護性。
In recent years, there are many software systems using design patterns to improve software quality, speed development, or solve design problems because of its popular. However, do design patterns really work as we expect? The effectiveness of the design patterns has been an important research topic in the software engineering area.
Since uncontrolled use of design patterns results in maintenance problem when the software evolution. Such as: difficult to read and maintain design pattern, using design patterns but never utilizing them, or breaking design pattern application. But why maintainers cannot use design patterns as we expect? We classified as several reasons and their solution. The good of thesis is to improve software maintainability. In thesis, we will focus on the automatic refactoring for design application. Good code comments can help maintainers understand the design of the software, thus avoid the wrong utilization of design patterns.
In thesis we will use our refactoring approach that can add pattern comment line to improve the software maintains for a pattern-based software. By analyzing the state of design pattern utilization in different versions, we examine if the design patterns are used correctly. When patterns are not utilized properly, we can refactoring patterns by adding comments to enhance the understandability and maintainability.
誌謝 i
摘要 ii
Abstract iii
目錄 iv
圖目錄 vi
表目錄 viii
第一章 緒論 1
1.1 研究背景 1
1.2 研究動機 1
1.3 研究目的 4
1.4 章節介紹 5
第二章 背景技術介紹 6
2.1 設計樣式 6
2.2 設計樣式偵測工具 6
2.3 註解重整 7
2.4 設計樣式註解 8
第三章 動機實驗 9
3.1 案例一: Freemind 10
3.2 案例二: HtmlUnit 12
3.3 案例三: JHotDraw 15
3.4 總結 18
第四章 研究方法 20
4.1 定義樣式預期利用 21
4.2 分析樣式利用 22
4.3 重整樣式註解 24
第五章 系統設計 26
5.1 樣式偵測 27
5.2 樣式利用分析 33
5.3 樣式註解重整 35
5.4 分析報告呈現 36
第六章 案例研究 37
第七章 相關研究 49
第八章 結論與未來研究 51
參考文獻 52
[1]N.-L. Hsueh, L.-C. Wen, D.-H. Ting, W. Chu, C.-H. Chang, and C.-S. Koong, "An Approach for Evaluating the Effectiveness of Design Patterns in Software Evolution," in Computer Software and Applications Conference Workshops (COMPSACW), 2011 IEEE 35th Annual, ed, 2011, pp. 315 -320.
[2]B. Unger and W. F. Tichy, "Do design patterns improve communication? An experiment with pair design," in WESS: International Workshop on Empirical Studies of Software Maintenance, 2000.
[3]T. H. Ng, S. C. Cheung, W. K. Chan, and Y. T. Yu, "Do Maintainers Utilize Deployed Design Patterns Effectively?," in Proceedings of the 29th international conference on Software Engineering, ed. Washington, DC, USA: IEEE Computer Society, 2007, pp. 168-177.
[4]N.-L. Hsueh, P.-H. Chu, P.-A. Hsiung, M.-J. Chuang, W. Chu, C.-H. Chang, et al., "Supporting Design Enhancement by Pattern-Based Transformation," in Computer Software and Applications Conference (COMPSAC), 2010 IEEE 34th Annual, 2010, pp. 462-467.
[5]L. Prechelt, B. Unger-Lamprecht, M. Philippsen, and W. F. Tichy, "Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance," Software Engineering, IEEE Transactions on, vol. 28, pp. 595 -606, jun 2002.
[6]P. Wendorff, "Assessment of design patterns during software reengineering: Lessons learned from a large commercial project," in Software Maintenance and Reengineering, 2001. Fifth European Conference on, 2001, pp. 77-84.
[7]L. Prechelt, B. Unger, W. F. Tichy, P. Brossler, and L. G. Votta, "A controlled experiment in maintenance: comparing design patterns to simpler solutions," Software Engineering, IEEE Transactions on, vol. 27, pp. 1134 -1144, dec 2001.
[8]C. Alexander, S. Ishikawa, and M. Silverstein, "Pattern languages," Center for Environmental Structure, vol. 2, 1977.
[9]J. Vlissides, R. Helm, R. Johnson, and E. Gamma, "Design patterns: Elements of reusable object-oriented software," Reading: Addison-Wesley, vol. 49, p. 120, 1995.
[10]N. Tsantalis, A. Chatzigeorgiou, G. Stephanides, and S. T. Halkidis, "Design Pattern Detection Using Similarity Scoring," Software Engineering, IEEE Transactions on, vol. 32, pp. 896 -909, nov. 2006.
[11]P. Sommerlad, G. Zgraggen, T. Corbat, and L. Felber, "Retaining comments when refactoring code," in Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, 2008, pp. 653-662.
[12]B. Huston, "The effects of design pattern application on metric scores," Journal of Systems and Software, vol. 58, pp. 261-269, 2001.
[13]N.-L. Hsueh, P.-H. Chu, and W. Chu, "A quantitative approach for evaluating the quality of design patterns," Journal of Systems and Software, vol. 81, pp. 1430-1439, 2008.
[14]M. Fowler, Refactoring: improving the design of existing code: Addison-Wesley Professional, 1999.
[15]J. Kerievsky, Refactoring to patterns: Pearson Deutschland GmbH, 2005.
[16]T. Mens and T. Tourwé, "A survey of software refactoring," Software Engineering, IEEE Transactions on, vol. 30, pp. 126-139, 2004.
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top