ftfind 桌面搜索引擎的设计文档 (1)

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整理成软件工程要求的文挡,那就是新新人类了。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值