軟件考古學
軟件考古學(Software archaeology)是指對於文檔化不佳或甚至沒有說明文檔的舊有系統軟件的研究,是軟件維護的一部份[1][2]。軟件考古學的內容包括對軟件模組的逆向工程[3]、應用許多不同的工具及程序來發掘程式架構,並且還原設計的相關資訊[1][4]。軟件考古學可能會找出功能失常的團隊流程,以及其產生的設計不佳或是未使用的軟件模組[5]。「軟件考古學」一詞反映一個很自然的比喻:閱讀舊有程式的程式設計師會感覺自然像是一個正在探索古代文明的考古學家一様[6]。
相關條目
編輯參考資料
編輯- ^ 1.0 1.1 Gregorio Robles, Jesus M. Gonzalez-Barahona, and Israel Herraiz, "An Empirical Approach to Software Archaeology (頁面存檔備份,存於互聯網檔案館)," Poster Proceedings of the International Conference on Software Maintenance, 2005.
- ^ "Agile Legacy System Analysis and Integration Modeling (頁面存檔備份,存於互聯網檔案館)" by Scott W. Ambler at agilemodeling.com, accessed 20 August 2010: "Without accurate documentation, or access to knowledgeable people, your last resort may be to analyze the source code for the legacy system... This effort is often referred to as software archaeology."
- ^ Bryon Moyer, "Software Archeology: Modernizing Old Systems (頁面存檔備份,存於互聯網檔案館)," Embedded Technology Journal, March 4, 2009.
- ^ Richard Hopkins and Kevin Jenkins, Eating the IT Elephant: Moving from greenfield development to brownfield (頁面存檔備份,存於互聯網檔案館), Addison-Wesley, 2008, ISBN 0-13-713012-0, p. 93.
- ^ Diomidis Spinellis and Georgios Gousios, Beautiful Architecture (頁面存檔備份,存於互聯網檔案館), O'Reilly, 2009, ISBN 0-596-51798-X, p. 29.
- ^ Andy Hunt and Dave Thomas, "Software Archaeology (頁面存檔備份,存於互聯網檔案館)", IEEE Software, vol. 19, no. 2, pp. 20-22, Mar./Apr. 2002, doi:10.1109/52.991327.
外部連結
編輯- Position papers, OOPSLA 2001 Workshop on Software Archeology: Understanding Large Systems
- Writing code, reading code and software archeology, Once More into the Code blog at Computerworld, September 23, 2009
- How To Apply Software Archeology To Your Development Process (頁面存檔備份,存於互聯網檔案館), presentation by Michael Rozlog, March 13, 2008
- OOPSLA 2008 Podcast with Grady Booch on software archaeology and related topics