![]() |
|
以作者查詢圖書館館藏 、以作者查詢臺灣博碩士 、以作者查詢全國書目 、勘誤回報 、線上人數:62 、訪客IP:3.12.160.97
姓名 熊偉年(Wei-Nien Hsiung) 查詢紙本館藏 畢業系所 資訊工程學系 論文名稱 GeekyNote:針對程式碼的嶄新技術文件管理工具 相關論文 檔案 [Endnote RIS 格式]
[Bibtex 格式]
[相關文章]
[文章引用]
[完整記錄]
[館藏目錄]
[檢視]
[下載]
- 本電子論文使用權限為同意立即開放。
- 已達開放權限電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。
- 請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
摘要(中) 在軟體工程的歷史中,技術文件對於專案來說,絕對扮演著舉足輕重的角色。因為文件可以讓不熟悉此專案的開發人員,花費最少的時間成本,來了解該專案的架構及執行細節。即便是熟悉該專案的人員,也可能因為維護擴充時,必須去修改過去一段時間的程式碼,此時必須要文件的幫忙來回憶架構設計的緣由。
可惜製作有效率的技術文件,在未來能夠維護下去,一直以來都是難以解決的問題。本論文提出一個嶄新軟體GeekyNote,此為文件管理工具,目的在解決許多文件維護及製作上的問題。以下是本論文開發GeekyNote所提倡的關鍵想法:(1) 需要透過在程式碼及文件插入任何的資訊,即可完成程式碼與文件的雙向連結,且在看最新版本的程式碼同時能夠直接看到過往的所有文件;(2) 經過數個版本後的專案,計算文件的有效程度,去評估文件是否已經過時,需要更新;(3) 提供一個名為追蹤案例(Trace Case)的方法,使用類似偵錯工具的概念,讓文件的理解更加快速;(4) 提供耦合標記功能,讓專案中複雜的耦合關係,能夠一目了然的管理維護;(5) 能夠計算專案的文件覆蓋率,為專案提供一個客觀的數字,開發人員可以快速地評量專案文件現況。摘要(英) Every programmer almost has the experience about spending a lot of time on understanding an unfamiliar program. Technical documentation are always helpful when you are tracing source code. It can let you understand the abstract concept quickly. The goal of technical documentation is to achieve the transfer of knowledge.
However, creating effective technical documentation has been impeded by many problems in practice. Also, there are a lot of problems when maintaining technical documentation. In this paper, we propose a novel tool called GeekyNote to address the major challenges in technical documentation. The key ideas GeekyNote proposes are: (1) documents are annotated to versioned source code transparently; (2) the up-to-dateness between documents and code can be detected, measured, and managed; (4) the documentation that works like a debugging-trace is supported; (5) couplings can be easily created
and managed for future maintenance needs; (6) how good a systemis documented can be measured.關鍵字(中) ★ 技術文件
★ 文件維護
★ 文件管理
★ 追蹤案例
★ 專案文件管理關鍵字(英) ★ Technical Document
★ Document Maintenance
★ Document Management
★ Trace Case
★ Project of Document論文目次 摘要 i
Abstract ii
目錄 iii
圖目錄 v
表目錄 vii
一、緒論 1
二、研究背景 4
2-1技術文件撰寫及維護議題 4
2-1-1文件與程式碼之連結性 4
2-1-2文件實際效益評估 5
2-1-3文件維護困難實際案例 6
2-1-4議題總結 7
2-2自動產生API文件工具 8
2-2-1 Doxygen[4] 8
2-2-2 Javadoc[7] 9
2-2-3總結 10
2-3 PolyTraceAid 10
2-3-1Trace Case 11
2-3-2 PolyTraceAid架構及不足之處 12
三、問題描述與分析 13
3-1文件與程式碼雙向連結維護問題 13
3-2文件與程式碼過時之評估 14
3-3文件不同版本時不方便檢視 14
3-4技術文件版型繁雜且效用不佳 15
四、解決方法 17
4-1落實程式碼文件雙向連結 20
4-1-1文件對應到程式碼 20
4-1-2程式碼對應文件 21
4-2文件因應程式碼版本變動 22
4-2-1程式碼改變多為漸進式 22
4-2-2文件計算有效程度 23
4-2-3檔案顯示所有歷史文件 24
4-2-4專案文件覆蓋率計算 25
五、新的技術文件選擇—追蹤案例及耦合標記 26
5-1程式碼設計標籤 27
5-2標籤詳細內容 28
5-3追蹤案例實踐 28
5-4耦合標籤 29
六、評估 31
6-1使用者問卷回饋 31
6-1-1文件程式碼雙向連結 31
6-1-2文件過時性評估 32
6-1-3追縱案例(Trace Case)成果評估 33
6-1-4總結 33
6-2實際使用專案回饋 34
七、結論與未來展望 36
八、參考文獻 37參考文獻 [1] React. https://reactjs.org/
[2] React:Getting Started https://reactjs.org/docs/getting-started.html
[3] Monaco Editor API https://microsoft.github.io/monaco-editor/api/
[4] Doxygen http://www.doxygen.nl/
[5] Swagger https://swagger.io/
[6] GhostDoc https://submain.com/products/ghostdoc.aspx
[7] Javadoc https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html
[8] GitHub Issue of domaindrivendev/swashbuckle. http://bit.ly/2wo2oa6
[9] GitHub Issue of doctrine/doctrine1. http://bit.ly/2wodZWN
[10] Weinberg, G. M. (1971). The psychology of computer programming (Vol. 29). New York: Van Nostrand Reinhold.
[11] Chen, J. C., & Huang, S. J. (2009). An empirical analysis of the impact of software development problem factors on software maintainability. Journal of Systems and Software, 82(6), 981-992.
[12] Kajko-Mattsson, M. (2005). A survey of documentation practice within corrective maintenance. Empirical Software Engineering, 10(1), 31-55.
[13] Zhi, J., Garousi-Yusifoğlu, V., Sun, B., Garousi, G., Shahnewaz, S., & Ruhe, G. (2015). Cost, benefits and quality of software development documentation: A systematic mapping. Journal of Systems and Software, 99, 175-198.
[14] Agile Modeling http://agilemodeling.com/
[15] Communication on Agile Software Teams http://www.agilemodeling.com/essays/communication.htm
[16] 方案自動產生文件https://bit.ly/2V9Dl8p
[17] 使用doxygen產生程式文件https://bit.ly/2JZ50SW
[18] “GitHub Issue of pluskid/mocha.jl.” http://bit.ly/2wop8H1
[19] “GitHub PR of falconry/falcon.” http://bit.ly/2wixz6s
[20] Golang https://golang.org/
[21] Godoc https://godoc.org/
[22] HTML https://zh.wikipedia.org/zh-tw/HTML
[23] CHM https://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help
[24] LaTex https://www.latex-project.org/
[25] IntelliJ IDEA https://zh.wikipedia.org/wiki/IntelliJ_IDEA
[26] Eclipse https://www.eclipse.org/
[27] Doclava https://github.com/tinks/doclava
[28] Visual Studio https://visualstudio.microsoft.com/zh-hant/vs/
[29] Cheng, Y. P., Chen, J. H., & Yu, Y. Y. (2013, December). Executable Program Documentation Based on Debugging Break Points. In 2013 20th Asia-Pacific Software Engineering Conference (APSEC) (Vol. 1, pp. 199-206). IEEE.
[30] Romero, P., Du Boulay, B., Cox, R., Lutz, R., & Bryant, S. (2007). Debugging strategies and tactics in a multi-representation software environment. International Journal of Human-Computer Studies, 65(12), 992-1009.
[31] 技術文件版型範例https://www.smartsheet.com/free-technical-specification-templates
[32] Forward, A., & Lethbridge, T. C. (2002, November). The relevance of software documentation, tools and technologies: a survey. In Proceedings of the 2002 ACM symposium on Document engineering (pp. 26-33).
[33] 陳新志. (2014). Korat: An OS-independent Capture/Replay Test Automation System.
[34] IsCoollab. 2020. U!Ocicat - a Human-Computer Interaction Robot. https://iscoollab.com/指導教授 鄭永斌(Yung-Pin Cheng) 審核日期 2020-7-14 推文 plurk
funp
live
udn
HD
myshare
netvibes
friend
youpush
delicious
baidu
網路書籤 Google bookmarks
del.icio.us
hemidemi
myshare