ftfind 桌面搜索引擎的设计文档 (1)
坦白地说,我设计软件时,和很多程序员一样,也不爱写文档。 后来,发觉如果按软件工程要求,不爱写文档的程序员,就是不成熟的程序员,就是游击队,即使你编程技艺高超,也是山顶洞的史前野人。 看看按软件工程的要求,都需要写些什么呢? 一、可行性研究报告.dot 二、项目开发计划.dot 三、需求规格说明书.dot 四、概要设计说明书.dot 五、详细设计说明书.dot 六、用户操作手册.dot 七、测试计划.dot 八、测试分析报告.dot 九、开发进度月报.dot 十、项目开发总结报告.dot 十一、程序维护手册.dot 十二、软件问题报告.dot 十三、软件修改报告.dot 和做智能狂拼的刘定西聊过天,他观察到:程序员的输入法一般都不太好。比如我就是这样,英文打得飞快,中文输入时,得选来选去,速度就慢多了。 我觉得:如果按这些列表把文档都写下来,手还不写软?哪里还有时间和心情写程序? 所以不写也罢,我就心甘情愿地做了十多年的山顶洞的史前野人。 后来,在一个互联网业界的牛烘烘的公司里面作驱动程序的开发,发现新来一个大牛级的人物,也做开发,第1件事情,就是埋头写文档。惹得二牛们满脸羡慕之情,看:别人一来就写文档,真专业。 这才发现,写文档还有这种好处。 那个时候,正兴起敏捷开发,就特意号称不写文档。 真让我思想解放!!! 原来,不写文档的程序员也大有人在,不光是我呀,还有好多人都不爱写呀。 怪不得有 SourceForge.net: Doxygen 这种能够自动把注释抽取成文挡的软件。 上半年,我写了一个桌面搜索引擎,类似于google desktop search 。 下载地址:http://www.18ie.com/find/download.php 9月18号那天,把它递交到河南省青年软件大赛,看看能得第几名。 这种青年软件大赛,特别麻烦。说明文挡里需要一大堆软件的设计说明。我也想偷懒,在网络找一个现成的例子,可是没有发现。 却通过网络搜索发现一个小秘密,原来全国各省的这种大赛的要求是一样的,用了一个模子刻出来的说明书。可叹,中国无人呀。不知道是请那个老教授写的,然后就全国通用了。那个老教授是参考哪本书写的呢?我很想知道,但不得而知了。知道这本书的名称,对理解他所说的技术术语很重要,如果谁知道是哪本书,请告诉我呀。
河南省青年创新软件设计大赛参赛作品说明书 (参考目录) 1.创意说明 1.1 背景介绍 介绍作者设计软件的创意背景、定义、名词解释、参考文献。 1.2 市场定位 主要介绍作者参赛作品的适用对象、应用前景和市场展望,可以从技术发展、行业应用、个人经历的方面来阐述。 1.3 需求规格 1.3.1 一般性描述 作品与环境之间的关系、作品要提供的功能、用户特征、限制与约束等。 1.3.2 特殊需求 包括参赛作品功能、行为需求、性能需求、安全性需求、设计约束和其他。 1.4 总结 2.设计规格说明 2.1 背景介绍 2.1.1 作用范围 包括系统目标、系统环境定义(硬件、软件和人机界面等)、主要设计约束和限制等。 2.1.2 文档 包括应用的技术参考书、参考标准、采用的技术或技术路线说明,以及在本软件设计工程中采用的项目管理方法、措施和规范制定。 2.2 软件功能设计 包括软件结构的功能、系统子系统划分以及公共构件的设计。 2.3 软件逻辑设计 可采用面向对象或面向过程的设计法中,设计软件数据流和控制流的任何方法或工具完成(如Rational Rose中的状态图、活动图、User case等),要求包括如下内容: 数据流设计 数据库设计(如软件中不涉及数据库管理,可省略) 控制流设计 用户界面设计 2.4 软件运行平台设计 对软件的开发平台、运行平台和使用场景进行设计,包括系统运行的操作系统、数据库系统及其他支撑环境等。 2.5 部署与安装设计 对系统的安装、部署的要求和实现方法进行说明。 2.6 小结 3.软件使用说明 3.1 系统安装说明 描述重要的安装步骤、脚本参数配置和数据初始化过程。 3.2 系统使用说明 说明系统的使用方法,描述主要的功能实现流程。 3.3 疑难问题解答 4.商业计划书 4.1 背景 进行创业或成果转化的背景介绍,可结合软件来介绍毕业后的职业选择或人生定位。 4.2 创业思路 如果你想创建你自己的软件公司,结合你设计的软件产品介绍你可能组建一个什么样的公司(可包括合伙人及股份结构,公司初创规模、雇员 ……)。 4.3 产品推广策略 如何把设计出来的软件或软件提供的服务推向市场,并对你的目标客户提供服务仔细阅读该本《软件工程》,尽量把老教授的术语和这本书上的术语套在一起。 (说的好听点是术语,说不好听,就是方言)。现在,我仍然把握不准“控制流设计”是个什么方言, 我买的那本《软件工程》里,对“控制流设计”几乎没有解释,在网络上能找到好几种说法,到底应该采信谁的?我想应该不是指软件的流程图,也不太象是状态转化图。谁知道确切含义,请给我留言呀。 花了整整2个星期的时间,才写完了这个文档。现在放在网络上,希望会给大家带来一些帮助: 1)对于初学者,会对桌面搜索引擎的内部结构有所了解。 2)给以后参加此类软件大赛的选手一个参考例子。截至现在2006-10-9日,朝鲜的原子弹都爆炸了,网络上还没有一个参赛的文档可供下载。那就让我来做第1人吧 。 下载地址:
参赛文档 doc格式 下载地址:
http://www.18ie.com/find/ftfind_doc.php
参赛文档的网页格式:
http://www.18ie.com/wordpress/?p=43
本软件可执行程序 下载地址
http://www.18ie.com/find/download.php
再发几句戏言,以乐读者: 1)从来不写文档的程序员,是山顶洞人。(我当过10多年呢) 2)按照软件工程的要求写文档的程序员,是公元前人。 3)遵循敏捷开发的程序员,是公元后人。也许2,3的顺序有争议。 4)用数码相机,摄像机,扫描仪,录音笔、带摄像头的手机,纪录数码文档的程序员,是新人类。如果能有个PLMM把纪录下的视频、照片,录音带,MP3,AVI整理成软件工程要求的文挡,那就是新新人类了。 飞涛软件工作室
2006-10-09 19:23:34