• 沒有找到結果。

第一節 研究背景及動機

我本身的工作經驗經歷過三家軟體公司,前後的工作時間大約有五、六 年。我們可以了解一個成功的軟體公司必須要不斷寫符合客戶需求的軟體送 交給客戶使用,也要能夠做好客戶的售後服務,所以開發軟體的速度與品質 是一個專案成功的關鍵。

公司內人員的流動是很正常的事情,公司都會有人員離職,而該人員離 開後,後來接手的員工對於該人員之前寫的原始碼需要花一些時間來了解,

並熟析其中的關係。但是對於一些比較難以理解的程式,就會難以維護,常 常很多邏輯、或判斷流程、相依性都很難從程式原始碼看出來。所以面對此 類的問題,如何快速整理這些程式原始碼、理解後並知道如何修改是很重要 的。

第二節 研究目的

物件導向軟體開發方式已經是軟體開發的主流,在軟體專案開始啟動 時,我們也會透過系統分析、系統設計的步驟來實作此專案,因此有統一塑 模語言(UML) [5]來統一、規範這些規則,其主要目的也是想用視覺化的方式 來訂定、建構一套好的軟體系統。

雖然有統一塑模語言與 CMMI 等工具來幫助軟體公司,能在接專案時先做 先前的分析設計與文件撰寫,以避免專案的失敗,但是客戶(購買者)的心態 都是想快點收到系統來使用,軟體公司為了賺錢,也是想快點將專案結束來 收到錢,再繼續接下一個專案。所以為了趕上客戶的行程,工程師就沒有花 太多時間來照著正規的步驟進行系統分析與系統設計。雖然工程師在建置專 案時可以準時完成工作,但是事後工程師要維護自己的專案時,卻是要花上 更多的時間來修正,如此公司為了趕此專案,後續的維護勢必會花費更大的 成本。根本的原因在於開發時時程太趕,而很多事情、流程都沒有想清楚、

有了以上實際遇到的問題,我們希望建立一套系統來分析程式原始碼,

除了能夠了解程式與程式之間的關係外,進一步希望能將分析結果提供給維 護的工程師,以及想要應用這個程式庫的工程師,來加快他們的學習曲線,

增加公司的整體效率。

簡單來說,本研究目的在於利用資料探勘的技術來分析程式原始碼,使 未來程式發展更物件化、更組織化,並使用主題地圖來表示程式庫樣式,利 用圖形化介面與操作來清楚表達要說明的概念,快速提昇軟體工程師對於程 式庫了解的效率。

第三節 研究流程

本研究目的在於發展一套程式庫樣式的主題地圖,主要是想提昇軟體工 程師對於程式庫的吸收效率,若文字為基礎的方式來描述文件有時很難清楚 表達要說明的概念,所以我們使用主題地圖來改進這樣的問題。

本研究的架構方式包括以下步驟:

A. 確認研究方向:針對本研究的動機與目的來確認本研究的方向。

B. 文獻探討:搜集及閱讀國內外相關的文獻與書籍,加以彙總整理。

C. 系統規劃:本研究的問題描述與規劃系統的架構。

D. 資料選取:說明如何選取研究資料 E. 建構系統

I. 資料前處理及資料轉換:分析程式原始碼的架構

本研究將提出自動化分析程式原始碼電腦輔助方式來分析 物件導向的程式原始碼。

此程式可以將物件導向程式原始碼分析出類別實體化、方 法呼叫,並將資料結果紀錄在資料庫中。

II. 使用關聯法則分析原始碼的架構

將步驟 I 的分析結果使用關聯法則分析,找出最常使用的 程式樣式。

III.將分析結果建立一個主題地圖

將處理的結果資料轉為主題地圖資料格式,主題地圖的資 料格是採用 ISO 所定義的資料結構。

IV. 將主題地圖視覺化

利用一些工具將所分析出的主題地圖使用視覺化的方式 展現出來。

F. 令人感到興趣的關聯法則評估:對於所挖掘出之關聯法則,評估令 人感到興趣的關聯法則

G. 研究結論與建議:提出本研究之結論、限制及對未來研究之建議。

系統規劃

研究結論與建議 令人感到興趣的關

聯法則評估 建構系統 資料選取 文獻探討 確認研究方向

圖 1.3.1 本研究流程圖

主題地圖視覺化 建立一個主題地圖 使用關聯法則分析 資料前處理及資料

轉換

圖 1.3.2 建構系統流程圖

第四節 論文架構

本研究分為五章。第一章緒論,包含研究背景及動機、研究目的、研究 流程及論文架構。第二章為文獻探討,包含知識管理、資料探勘、軟體工程、

主題地圖。第三章為系統架構概論,包含了問題描述與規劃、系統架構。第 四章為雛形系統建置,包含了資料簡述及資料選取、資料前處理、轉換。第 五章為雛形系統結果,包含了資料探勘、建構主題地圖。第六章為結論與建 議,包含了研究結論、研究限制、研究建議。

相關文件