透過您的圖書館登入
IP:18.221.154.151
  • 學位論文

以反向工程對Open Dental開放原始碼的架構分析

Analyzing The Structure Of The Open Dental Open Source With Reverse-Engineering Technology

指導教授 : 胡雅涵 吳帆
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


由於健保政策和醫療環境的變化相當快速,醫院資訊系統常常會跟不上變化。對於複雜的醫院資訊系統而言,程式碼晦澀,也沒有清楚完整的說明文件,使程式人員無法自行修改系統,解決問題的方法之一是利用開放原始碼軟體,讓程式設計者能自由取得原始碼,修改成符合個別需求的軟體,而且如果能妥善的應用開放原始碼軟體,可以節省許多開發軟體的成本,然而,開放原始碼軟體經常缺乏完整的分析文件,降低程式人員投入的意願,阻礙了開放原始碼軟體的開發和利用。 Open Dental是知名的牙科開放原始碼軟體,使用了很多創新的程式設計方法,讓軟體在解決牙科領域使用者的需求時也讓同時具有效率和效能,而且使用起來很有彈性,能客製化以滿足不同使用者的需求,所以是一個值得國內程式人員學習和模仿的目標。本論文的研究目標為利用反向工程在分析其結構,設計模式和設計理念,我們進行全面性的分析,取得系統的類別,建構資料庫綱要的實體關係模型,以使用者觀點和邏輯觀點繪製循序圖,並為類別中的每個操作(即方法)繪製活動圖,從十萬多行程式中擷取牙科開放原始碼軟體的設計模式,希望能提供給程式設計師參考和學習以解決牙科產業的程式問題。

並列摘要


Since the policy and environment of the National Health Insurance change fast, the hospital Information systems cannot often catch up the steps of the change. For the complicated HIS, its documents are vague or even unavailable, and the codes are hard to be revised. Due to the reasons, it is difficult for programmers to modify the HIS by themselves alone. One way to solve the problem is to utilize the open source software, which programmers can freely download source code and can modify it to meet their individual needs. If we can utilize open source software properly, we can save a lot of software development costs. However, the system analysis document for open source software is not always so sound that the programmers sometimes have no will to utilize it. Such a dilemma hinders the development and utilization of open source software. Open Dental is the most well-known open source software for dental HIS. Its code uses a lot of innovative programming skills to solve the users’ requirements dedicated to the dental domain efficiently and effectively. In addition, its flexibility provides a great robustness to meet the need of a variety of preferences and customs of the different users. Thus, the software is a worthwhile learning and emulating target. This paper aims at analyzing its structure, design pattern and design philosophy by using the techniques of reverse-engineering. We conduct comprehensive analyses, getting its classes, constructing the ER-model of the database schemes, drawing the sequential diagram in use-case and logical viewpoint, and the activity diagram for each operation (i.e., method) in the class. The creative design patterns of the open source for dentistry are extracted from the ten thousands of codes, which can be canonical ones that programmers can reference or imitate them to solve the programming problems in dentistry.

參考文獻


Bellay, B., & Gall, H. (1997). A Comparison of four Reverse Engineering Tools. Paper presented at the Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97).
Chikofsky, E. J., & Cross, J. H., II. (1990). Reverse engineering and design recovery: a taxonomy. IEEE Software, 7(1), 13-17.
Han, A.-R., Jeon, S.-U., Bae, D.-H., & Hong, J.-E. (2010). Measuring behavioral dependency for improving change-proneness prediction in UML-based design models. Journal of Systems and Software, 83(2), 222-234.
Kraft, N. A., Malloy, B. A., & Power, J. F. (2007). A tool chain for reverse engineering C++ applications. Science of Computer Programming, 69(1-3), 3-13.
Wu, M.-W., & Lin, Y.-D. (2001). Open Source Software Development: An Overview. Computer, 34(6), 33-38.

延伸閱讀