摘要: | 軟體在其生命週期裡,必定會經過多次改版來新增軟體功能、修正bug…等因素而進行軟體更新,但每次程式改版有可能會造成嚴重的副作用(Side Effects)。影響軟體品質的要素非常多[1][2],如程式設計人員的不熟練、專案設計考慮不周全、商業利益而保留對委託開發人的隱瞞,或難以解釋替代解法(Workaround),而讓軟體的模組化越來越鬆散,即軟體工程的期望的高聚合力(High Cohesion)與低耦合力(Low Coupling)的理念漸行漸遠,進而衍生出多種管理上/Bug增生的問題。 另一方面一般軟體經過長時間演化,越是功能豐富的軟體它所使用的模組或引用第三方的函式庫(Library)越多,因此其軟體階層的深/廣度也越來越錯綜複雜,所以適時的重構程式碼對於專案往後的運行是非常有幫助的,但該如何從抽象的程式碼中發掘這些隱藏的問題,並具體化程式碼間的相互關係。 因此本論文替程式之開發者、管理者提供此途徑,利用三項Code of Bad Smell Detection(1.Long Method、2.Large Class、3.ParaList)測量方式,偵測出Java Project裡程式碼中的壞氣味,再藉由Eclipse可開發plug-in特性,把Cytoscape製作成Eclipse Plug-in,可提供給程式之開發者、管理者使用一份圖表式演進的依據,經由Java Compiler(Java 編譯器),所產生出來的資訊建立網路圖形連接圖,一方面可以解決軟體改版時需要同步更新UML的麻煩,一方面可以使開發者、管理者再次重視程式的品質文題進而找出可能蘊藏的Bug。 ;During software development life cycle, it will definitely be updated many times for new function implements, fixed bugs and other factors. But each software revision sometimes may cause side effects. Effect of software quality[1][2], such as unskilled programmer, project design considerations not comprehensive, business interest and relevant technologies, or difficult to explain alternative solution, and then make the software modular to more loose, that software engineering desired high cohesion and low coupling force concept lopsided, thus derived from a variety of management issues. On the other hand the general software after a long evolution, the more feature-rich software modules it uses third-party libraries more and more, so depth of its software are increasingly complex, therefore, it is very helpful to refactoring your code, but the problem is how to find out these hidden issue in abstract code. This paper uses of the three code of Bad Smell (1.Long Method, 2.Large Class, 3.ParaList) measurements for the programmers, and then find out the bad smells in Java project, it let programmers establish relationship information by Java Compiler. Finally system uses Cytoscape as a Eclipse plug-in to make graphics via relationship information. It is no longer need to synchronize UML when the software revision. It can make programmers and project managers pay attention to the quality of the program and then find out possible hidden Bug. |