软件考古学
软件考古学(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