博碩士論文 104423039 詳細資訊




以作者查詢圖書館館藏 以作者查詢臺灣博碩士 以作者查詢全國書目 勘誤回報 、線上人數:6 、訪客IP:35.172.111.71
姓名 楊芝瑩(Chih-Ying Yang)  查詢紙本館藏   畢業系所 資訊管理學系
論文名稱 在軟體反向工程中針對UML結構模型圖之線上品質評核系統
(Design and Implementation of an Online Quality Inference System for the Structural UML Diagram in Reverse Engineering)
相關論文
★ 專案管理的溝通關鍵路徑探討─以某企業軟體專案為例★ 運用並探討會議流如何促進敏捷發展過程中團隊溝通與文件化:以T銀行系統開發為例
★ 專案化資訊服務中人力連續派遣決策模式之研究─以高鐵行控資訊設備維護為例★ 以組織正義觀點介入案件指派決策之研究
★ 應用會議流方法於軟體專案開發之個案研究:以翰昇科技公司為例★ 多重專案、多期再規劃的軟體開發接案決策模式:以南亞科技資訊部門為例
★ 會議導向敏捷軟體開發及系統設計:以大學畢業專題為例★ 一種基於物件、屬性導向之變更影響分析方法於差異化產品設計
★ 會議流方法對大學畢業專題的團隊合作品質影響之實驗研究★ 實施敏捷式發展法於大學部畢業專題之 行動研究 – 以中央大學資管系為例
★ 建立一個用來評核自然語言需求品質的線上資訊系統★ 結合本體論與模糊分析網路程序法於軟體測試之風險與風險關聯辨識
★ 以模糊專家系統實作軟體專案調適準則★ 應用本體論於電子化政府系統開發之線上品質需求展開
★ 以全面品質管理與資訊科技之角度探討氣象觀測系統的資料品質檢核★ A Collaboration-based System for Quantitatively Analyzing Change Impact in Variant Product Design
檔案 [Endnote RIS 格式]    [Bibtex 格式]    [相關文章]   [文章引用]   [完整記錄]   [館藏目錄]   至系統瀏覽論文 ( 永不開放)
摘要(中) 由於現今軟體環境之高度不確定性與市場的快速變遷,使得軟體專案時常被要求在更短的時間內完成開發。因此開發團隊常採取例如敏捷方式與彈性作法,省略系統分析設計等文件化工作而儘快進行實作,而這可能導致後續階段因為對系統的理解能力不足而有不良影響。軟體專案成員可以運用軟體反向工程的方式,在專案完成之後藉由程式碼分析產生相符的UML圖,得以解決前述問題。然而,專案若只藉著軟體反向工程工具自動化產生的UML圖,則可能有程式碼品質不佳連帶影響UML圖品質的情況發生,卻又缺乏一套驗證的機制。因此,本研究針對UML圖中的結構模型圖品質進行探討,以複雜度(Complexity)、耦合度(Coupling)、內聚力(Cohesion)和安全性(Security)作為品質評核指標,並發展各指標品質度量的公式。此外,本研究更進一步以類別圖為例並實作一個在軟體反向工程中針對UML類別圖的線上品質評核系統—Reverse Engineering Class Diagram Quality Inference System,旨在協助軟體專案成員藉由此系統進行軟體專案品質的評估,並透過系統所提供的品質評核評核指標與建議,進而改善專案以提升軟體專案品質。
摘要(英) Due to the high uncertainty in software environment and the rapid change in market, software projects are often required to complete in a short period. Therefore, the development teams often use flexible methodologies, omitting the system analysis and design work to start the system implementation as soon as possible. However, it may cause difficulties in later stages because the lack of understanding of system. To solve the problem and with object-oriented analysis design technique, we can use software reverse engineering to generate UML diagrams by code analysis after the system is implemented. If software projects only rely on the UML diagrams that generated by software reverse engineering tool, there may be poor quality of UML diagrams caused by poor code. However, such a problem cannot be known because the lack of verification mechanism. Therefore, the study focuses on structural UML diagrams and discusses the quality of structural UML diagrams, and uses the complexity, coupling, cohesion and security as the quality evaluation indexes. In addition, the study proposes an online system for evaluating the quality of UML diagram in reverse engineering and the system is focus on UML class diagrams, and is termed Reverse Engineering Class Diagram Quality Inference System. RECDQ aims at assisting software project members to evaluate the quality of the software project and improving the quality of the software project through the quality evaluation indexes and recommendations.
關鍵字(中) ★ 軟體反向工程
★ UML結構模型圖
★ 類別圖
★ 軟體品質
★ 品質評核
關鍵字(英) ★ Software Reverse Engineering
★ Structural UML Diagram
★ Class Diagram
★ Software Quality
★ Quality Inference
論文目次 摘要 i
Abstract ii
致謝 iii
目錄 iv
圖目錄 vi
表目錄 viii
第一章 緒論 1
1.1研究背景 1
1.2研究問題與目的 2
1.3研究範圍與限制 4
1.4研究架構 5
第二章 文獻探討 7
2.1 軟體反向工程 7
2.2 UML 9
2.3 UML結構模型圖品質 10
2.3.1 複雜度 11
2.3.2 耦合度 13
2.3.3 內聚力 14
2.3.4 安全性 16
第三章 系統設計 18
3.1 系統架構 18
3.2結構模型圖品質 20
3.2.1複雜度 21
3.2.2耦合度 22
3.2.3內聚力 23
3.2.4安全性 25
3.3釋例與說明 27
第四章 系統展示 32
4.1系統與開發環境 32
4.2 案例說明 38
4.3 系統展示 40
第五章 系統成果與討論 52
5.1 模式分析 52
5.2 問卷分析 54
5.2.1 信度分析 54
5.2.2 原始資料分析 55
5.2.3 結果分析與討論 56
5.3 使用者驗證 57
5.3.1 使用者訪談 57
5.3.2 個別訪談與結果 58
5.4人工驗證與系統比較 62
5.4.1 人工驗證 62
5.4.2 系統比較 65
第六章 結論 66
6.1研究貢獻 66
6.2研究限制與未來發展 68
參考文獻 70
附錄 80
參考文獻

[1] Abreu, F. B., Goulão, M., & Esteves, R. (1995, October). Toward the design quality evaluation of object-oriented software systems. In Proceedings of the 5th International Conference on Software Quality, Austin, Texas, USA (pp. 44-57).
[2] Aggarwal, K. K., Singh, Y., Kaur, A., & Malhotra, R. (2006). Empirical Study of Object-Oriented Metrics. Journal of Object Technology, 5(8), 149-173.
[3] Ahmed, A., Ahmad, S., Ehsan, N., Mirza, E., & Sarwar, S. Z. (2010, June). Agile software development: Impact on productivity and quality. In Management of Innovation and Technology (ICMIT), 2010 IEEE International Conference on (pp. 287-291). IEEE.
[4] Al Dallal, J. (2010). Mathematical validation of object-oriented class cohesion metrics. International Journal of Computers, 4(2), 45-52.
[5] Al Dallal, J. (2011). Improving the applicability of object-oriented class cohesion metrics. Information and software technology, 53(9), 914-928.
[6] Al Dallal, J., & Briand, L. C. (2010). An object-oriented high-level design-based class cohesion metric. Information and software technology, 52(12), 1346-1361
[7] Al Dallal, J., & Briand, L. C. (2012). A precise method-method interaction-based cohesion metric for object-oriented classes. ACM Transactions on Software Engineering and Methodology (TOSEM), 21(2), 8.
[8] Alshammari, B., Fidge, C., & Corney, D. (2009, August). Security metrics for object-oriented class designs. In Quality Software, 2009. QSIC′09. 9th International Conference on (pp. 11-20). IEEE.

[9] Arisholm, E., Briand, L.C., & Foyen, A. (2004). Dynamic coupling measurement for object-oriented software. IEEE Transactions on Software Engineering, 30(8), 491-506.
[10] Arisholm, E., Briand, L. C., Hove, S. E., & Labiche, Y. (2006). The impact of UML documentation on software maintenance: An experimental evaluation. IEEE Transactions on Software Engineering, 32(6), 365-381.
[11] Badri, L., & Badri, M. (2004). A Proposal of a new class cohesion criterion: an empirical study. Journal of Object Technology, 3(4), 145-159.
[12] Bellettini, C., Marchetto, A., & Trentini, A. (2004, March). WebUml: reverse engineering of web applications. In Proceedings of the 2004 ACM symposium on Applied computing (pp. 1662-1669). ACM.
[13] Bieman, J. M., & Kang, B. K. (1995, August). Cohesion and reuse in an object-oriented system. In ACM SIGSOFT Software Engineering Notes (Vol. 20, No. SI, pp. 259-262). ACM.
[14] Bolloju, N., & Leung, F.S. (2006). Assisting novice analysts in developing quality conceptual models with UML. Communications of the ACM, 49(7), 108-112.
[15] Bonja, C., & Kidanmariam, E. (2006, March). Metrics for class cohesion and similarity between methods. In Proceedings of the 44th annual Southeast regional conference (pp. 91-95). ACM.
[16] Booch, G. (2005). The unified modeling language user guide. Pearson Education India.
[17] Briand, L. C., Daly, J., Porter, V., & Wust, J. (1998, November). A comprehensive empirical validation of design measures for object-oriented systems. In Software Metrics Symposium, 1998. Metrics 1998. Proceedings. Fifth International (pp. 246-257). IEEE.
[18] Briand, L. C., Devanbu, P., & Melo, W. (1997, May). An investigation into coupling measures for C++. In Proceedings of the 19th international conference on Software engineering (pp. 412-421). ACM.
[19] Briand, L. C., Labiche, Y., & Leduc, J. (2006). Toward the reverse engineering of UML sequence diagrams for distributed Java software. IEEE Transactions on Software Engineering, 32(9), 642-663.
[20] Canfora, G., Di Penta, M., & Cerulo, L. (2011). Achievements and challenges in software reverse engineering. Communications of the ACM, 54(4), 142-151.
[21] Chen, C. W. (2010). Impact of quality antecedents on taxpayer satisfaction with online tax-filing systems—An empirical study. Information & Management, 47(5), 308-315.
[22] Chess, B., & McGraw, G. (2004). Static analysis for security. IEEE Security & Privacy, 2(6), 76-79.
[23] Chidamber, S. R., & Kemerer, C. F. (1991). Towards a metrics suite for object oriented design (Vol. 26, No. 11, pp. 197-211). ACM.
[24] Chidamber, S. R., & Kemerer, C. F. (1994). A metrics suite for object oriented design. IEEE Transactions on software engineering, 20(6), 476-493.
[25] Chikofsky, E. J., & Cross, J. H. (1990). Reverse engineering and design recovery: A taxonomy. IEEE software, 7(1), 13-17.
[26] Coram, M., & Bohner, S. (2005, April). The impact of agile methods on software project management. In 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS′05) (pp. 363-370). IEEE.
[27] Cronbach, L. J. (1951). Coefficient alpha and the internal structure of tests. psychometrika, 16(3), 297-334.
[28] Deitel, P., & Deitel, H. (2014). Java how to program. Prentice Hall Press.

[29] Dennis, A., Wixom, B. H., & Tegarden, D. (2015). Systems analysis and design: An object-oriented approach with UML. John Wiley & Sons.
[30] Di Lucca, G. A., Fasolino, A. R., Pace, F., Tramontana, P., & De Carlini, U. (2002). WARE: a tool for the Reverse Engineering of Web Applications. In Software Maintenance and Reengineering, 2002. Proceedings. Sixth European Conference on (pp. 241-250). IEEE.
[31] Di Lucca, G. A., Fasolino, A. R., & Tramontana, P. (2004). Reverse engineering Web applications: the WARE approach. Journal of Software maintenance and evolution: Research and practice, 16(1‐2), 71-101.
[32] Dobing, B., & Parsons, J. (2006). How UML is used. Communications of the ACM, 49(5), 109-113.
[33] Dzidek, W. J., Arisholm, E., & Briand, L. C. (2008). A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Transactions on Software Engineering, 34(3), 407-432.
[34] e Abreu, F. B., & Melo, W. (1996, March). Evaluating the impact of object-oriented design on software quality. In Software Metrics Symposium, 1996., Proceedings of the 3rd International (pp. 90-99). IEEE.
[35] Efrizoni, L., Wan-Kadir, W. M., & Mohamad, R. (2010, June). Formalization of UML class diagram using description logics. In 2010 International Symposium on Information Technology (Vol. 3, pp. 1168-1173). IEEE.
[36] Eichelberger, H., & Schmid, K. (2009). Guidelines on the aesthetic quality of UML class diagrams. Information and Software Technology, 51(12), 1686-1698.
[37] Eloranta, V. P., Isohanni, E., Lahtinen, S., & Sievi-Korte, O. (2015, September). To UML or not to UML?: Empirical Study on the Approachability of Software Architecture Diagrams. In Proceedings of the ASWEC 2015 24th Australasian Software Engineering Conference (pp. 101-105). ACM.
[38] Fernández, L., & Peña, R. (2006). A sensitive metric of class cohesion.
[39] Fernández-Sáez, A. M., Genero, M., Chaudron, M. R., Caivano, D., & Ramos, I. (2015). Are Forward Designed or Reverse-Engineered UML diagrams more helpful for code maintenance?: A family of experiments. Information and Software Technology, 57, 644-663.
[40] Fowler, M. (2001). Reducing coupling. IEEE Software, 18(4), 102.
[41] Franke, D., Elsemann, C., Kowalewski, S., & Weise, C. (2011, October). Reverse engineering of mobile application lifecycles. In 2011 18th Working Conference on Reverse Engineering (pp. 283-292). IEEE.
[42] Gahalaut, A. K., & Khandnor, P. (2010). Reverse Engineering: an Essence for Software Re-Engineering and Program Analysis. International Journal of Engineering Science and Technology, 2(06), 2296-2303.
[43] Genero, M., Piattini, M., & Calero, C. (2000). Early measures for UML class diagrams. L’objet, 6(4), 489-505.
[44] Genero, M., Piattini, M., & Calero, C. (2002). Empirical validation of class diagram metrics. In Empirical Software Engineering, 2002. Proceedings. 2002 International Symposium n (pp. 195-203). IEEE.
[45] Genero, M., Piattini, M., & Calero, C. (2005). A survey of metrics for UML class diagrams. Journal of Object Technology, 4(9), 59-92.
[46] Genero, M., Piattini, M., & Jimenez, L. (2001). Empirical validation of class diagram complexity metrics. In Computer Science Society, 2001. SCCC′01. Proceedings. XXI Internatinal Conference of the Chilean (pp. 95-104). IEEE.
[47] Girgis, M. R., Mahmoud, T. M., & Nour, R. R. (2009, December). UML class diagram metrics tool. In Computer Engineering & Systems, 2009. ICCES 2009. International Conference on (pp. 423-428). IEEE.

[48] Glass, R. L. (2002). Facts and fallacies of software engineering. Addison-Wesley Professional.
[49] Guéhéneuc, Y. G. (2004, November). A systematic study of UML class diagram constituents for their abstract and precise recovery. In Software Engineering Conference, 2004. 11th Asia-Pacific (pp. 265-274). IEEE.
[50] Gui, G., & Scott, P. D. (2007). Ranking reusability of software components using coupling metrics. Journal of Systems and Software, 80(9), 1450-1459.
[51] Harrison, R., Counsell, S. J., & Nithi, R. V. (1998). An evaluation of the MOOD set of object-oriented software metrics. IEEE Transactions on Software Engineering, 24(6), 491-496.
[52] Henderson-Sellers, B. (1995). Object-oriented metrics: measures of complexity. Prentice-Hall, Inc.
[53] Keschenau, M. (2004, October). Reverse engineering of UML specifications from Java programs. In Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications (pp. 326-327). ACM.
[54] Kollmann, R., Selonen, P., Stroulia, E., Systa, T., & Zundorf, A. (2002). A study on the current state of the art in tool-supported UML-based static reverse engineering. In Reverse Engineering, 2002. Proceedings. Ninth Working Conference on (pp. 22-32). IEEE.
[55] Korshunova, E., Petkovic, M., gj Van Den Brand, M., & Mousavi, M. R. (2006, October). CPP2XMI: reverse engineering of UML class, sequence, and activity diagrams from C++ source code. In 2006 13th Working Conference on Reverse Engineering (pp. 297-298). IEEE.

[56] Lange, C. F., & Chaudron, M. R. (2005, September). Managing model quality in UML-based software development. In Software Technology and Engineering Practice, 2005. 13th IEEE International Workshop on (pp. 7-16). IEEE.
[57] Lange, C. F., Chaudron, M. R., & Muskens, J. (2006). In practice: UML software architecture and design description. IEEE software, 23(2), 40-46.
[58] Lee, Y. W., Strong, D. M., Kahn, B. K., & Wang, R. Y. (2002). AIMQ: a methodology for information quality assessment. Information & management, 40(2), 133-146.
[59] Li, W., & Henry, S. (1993). Object-oriented metrics that predict maintainability. Journal of systems and software, 23(2), 111-122.
[60] Livermore, J. A. (2007, March). Factors that impact implementing an agile software development methodology. In Proceedings 2007 IEEE SoutheastCon(pp. 82-86). IEEE.
[61] Lorenz, M., & Kidd, J. (1994). Object-oriented software metrics: a practical guide. Prentice-Hall, Inc.
[62] Maciaszek, L. (2007). Requirements analysis and system design l, 3rd edition, Pearson Education.
[63] Manso, M. E., Genero, M., & Piattini, M. (2003, June). No-redundant metrics for UML class diagram structural complexity. In International Conference on Advanced Information Systems Engineering (pp. 127-142). Springer Berlin Heidelberg.
[64] Marchesi, M. (1998, March). OOA metrics for the Unified Modeling Language. In Software Maintenance and Reengineering, 1998. Proceedings of the Second Euromicro Conference on (pp. 67-73). IEEE.
[65] McGraw, G. (2004). Software security. IEEE Security & Privacy, 2(2), 80-83.

[66] Nelson, R. R., Todd, P. A., & Wixom, B. H. (2005). Antecedents of information and system quality: an empirical examination within the context of data warehousing. Journal of management information systems, 21(4), 199-235.
[67] Nugroho, A. (2009). Level of detail in UML models and its impact on model comprehension: A controlled experiment. Information and Software Technology, 51(12), 1670-1685.
[68] Nugroho, A., & Chaudron, M. R. (2008, October). A survey into the rigor of UML use and its perceived impact on quality and productivity. In Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement (pp. 90-99). ACM.
[69] Nunnally, J. C. 1978. Psychometric theory, New York: McGraw‐Hill.
[70] OMG, O. (2015). Unified modeling language (omg uml).
[71] Osman, H., & Chaudron, M. R. (2014). Correctness and Completeness of CASE Tools in Reverse EngineeringSource Code into UML Model. GSTF Journal on Computing (JoC), 2(1).
[72] Reggio, G., Leotta, M., Ricca, F., & Clerissi, D. (2013, October). What are the used UML diagrams? A Preliminary Survey. In EESSMOD@ MoDELS (pp. 3-12).
[73] Patidar, M. K., Gupta, R., & Chandel, G. S. (2013). Coupling and cohesion measures in object oriented programming. International Journal of Advanced Research in Computer Science and Software Engineering, 3(3).
[74] Petre, M. (2013, May). UML in practice. In Proceedings of the 2013 International Conference on Software Engineering (pp. 722-731). IEEE Press.
[75] Pfleeger, S. L., & Atlee, J. M. (2010). Software engineering: theory and practice. Pearson, 4th ed. Pearson Prentice Hall.

[76] Rekoff, M. G. (1985). On reverse engineering. IEEE Transactions on systems, man, and cybernetics, (2), 244-252.
[77] Rumbaugh, J., Jacobson, I., & Booch, G. (2005). The Unified Modeling Language reference manual, 2nd edition, Addison-Wesley.
[78] Simons, C.L., Parmee, I.C., & Gwynllyw, R. (2010). Interactive, evolutionary search in upstream object-oriented class design. IEEE Transactions on Software Engineering, 36(6), 798-816
[79] Stettina, C. J., & Heijstek, W. (2011, October). Necessary and neglected?: an empirical study of internal documentation in agile software development teams. In Proceedings of the 29th ACM international conference on Design of communication (pp. 159-166). ACM.
[80] Szlenk, M. (2006, May). Formal semantics and reasoning about uml class diagram. In 2006 International Conference on Dependability of Computer Systems (pp. 51-59). IEEE.
[81] Tonella, P. (2005, May). Reverse engineering of object oriented code. In Proceedings of the 27th international conference on Software engineering (pp. 724-725). ACM.
[82] Tryggeseth, E. (1997). Report from an experiment: Impact of documentation on maintenance. Empirical Software Engineering, 2(2), 201-207.
[83] Tsipenyuk, K., Chess, B., & McGraw, G. (2005). Seven pernicious kingdoms: A taxonomy of software security errors. IEEE Security & Privacy, 3(6), 81-84.
[84] Verdon, D., & McGraw, G. (2004). Risk analysis in software design. IEEE Security & Privacy, 2(4), 79-84.
[85] Viega, J., McGraw, G., Mutdosch, T., & Felten, E. W. (2000). Statically scanning java code: Finding security vulnerabilities. IEEE software, 17(5), 68-74.
[86] Yi, T., Wu, F., & Gan, C. (2004). A comparison of metrics for UML class diagrams. ACM SIGSOFT Software Engineering Notes, 29(5), 1-6.
[87] Zheng, Y., Zhao, K., & Stylianou, A. (2013). The impacts of information quality and system quality on users′ continuance intention in information-exchange virtual communities: An empirical investigation. Decision Support Systems, 56, 513-524.
指導教授 陳仲儼 審核日期 2017-7-18
推文 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聯絡  - 隱私權政策聲明