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

河南省青年创新软件设计大赛参赛作品说明书

飞涛本机搜索引擎

1.创意说明

    1.  

    2. 背景介绍 

尽管从互联网上数以十亿计的文档中搜索信息已经变得相对简单,但在计算机的硬盘上查找一个Word文件仍然不是一件容易的事。

为了方便用户在越来越大硬盘里,从海量的资料中查找自己感兴趣的文档,我开发了本机搜索引擎,该软件能够以全文检索的方式,通过浏览器,让用户在自己的计算机的本地硬盘中,迅速找到Html网页、Word文档 、txt纯文本、或者c,cpp,pas,java,asp,php等程序的源代码文件。

撰写说明书的参考文献:

1)《软件工程》叶俊民 清华大学出版社 2006年

2) 《UML基础及Visio 建模》刘晓华 电子工业出版社 2004年

1.2 市场定位

相对网络搜索,桌面搜索的威力更大,市场更好。从技术来看,只有桌面搜索才算是全方位的搜索工具。它无所不能且方便快捷,从电脑到网络的每个角落都能找到你要找的东西。

日前,google, 微软,雅虎,百度等国际化大公司纷纷全力打造并推出了自己的桌面搜索软件,宣布进入桌面搜索市场。决心为之搏斗一番。

从市场发展来看,桌面搜索市场的发展潜力最大。尽管搜索市场竞争非常激烈,但这一市场的增长潜力被普遍看好。有关市场研究数据显示:中国的搜索引擎市场2003年达到了5.2亿元人民币,比2002年的2.3亿一年增长了127%,今后3年内还将每年增长60%至70%之间,而全球搜索引擎产业,3至5年后将有望达到70亿美元。事实上,各大搜索公司近来的业绩都在高速发展,百度最近的财报显示,其业绩已经上涨了两倍,雅虎的财报也在一路攀升,Google的业绩就更不用说了。

虽然桌面搜索市场,暂时还没有明显的赢利模式,但我们看到各大公司纷纷在桌面搜索市场,积极地进行战略布局。

在这大家都还没有赢利的看不见硝烟的战场上,对后来者而言,正是一个起步的绝好机会:能和巨人们站在同一起跑线上,进行同台竞技。

 

1.3 需求规格

1.3.1 一般性描述

本软件要提供的主要功能是:帮助用户在自己的计算机的本地硬盘中,迅速进行全文检索。

用户特征:

预期软件的主要用户为一般职员(主任/一般文职/业务/办事人员)、学生和专业人士。用户受到的教育水平较高,对计算机操作较为熟练。

限制与约束:

为了方便软件在网络上的传播,在设计时,需要尽量精减软件的尺寸:整个软件的安装包限制在1M字节之内。在一个安装包内,提供全文检索的完整功能,内含微型化的http 服务器,hash型文件数据库,中文分词模块,中文词汇表,doc解析模块,html解析模块,文件遍历模块,模版化人机界面等。

1.3.2 特殊需求

作品功能:

能够以全文检索的方式,通过浏览器,让用户在自己的计算机的本地硬盘中,迅速找到Html网页、Word文档 、txt纯文本、或者c,cpp,pas,java,asp,php等程序的源代码文件。

行为需求:

1)用户可以在自己的计算机中,进行全文检索。用户通过浏览器输入欲查询的关键词,软件进行中文分词和检索,以页面形式返回包含关键词的文件集合。

2)用户可以指定和添加要索引的范围,比如可以一次添加多个文件进行索引,可以添加某个目录,某个硬盘进行索引。软件可以按照用户的指定范围,自动遍历并索引该目录或该硬盘下所有的文件,及其子目录下的所有文件。

3)索引时,采用多线程技术,尽量降低对CPU和内存资源的消耗。当用户空闲时,(鼠标停止移动10秒后),软件才能进入索引状态。一旦用户移动鼠标,索引线程立即进入休眠状态。

性能需求:

1) 查询时,最长的响应时间:控制在800毫秒和1秒左右;平均响应时间:控制在200毫秒之内。

2)内存平均占用控制在4M-10M之间。

3)软件安装包的大小控制在1M之内,以方便下载。

4)倒排索引文件的占用随索引范围而变动,采用中文分词技术,以词汇为单位进行存储,以期减少对硬盘空间的消耗。

5)如果计算机死机或者突然断电后,软件重新启动时,应该具备自我修复功能,避免从头再次建立索引。

6)提供模版化人机界面,如果用户具备编写html的能力,可以灵活地自行修改查询结果的显示页面。

安全性需求:

只允许来自本地IP地址(127.0.0.1)的查询,拒绝来自局域网和互联网的其他IP地址的查询。

 

2.设计规格说明

2.1 背景介绍

2.1.1 作用范围

系统目标:设计一个轻量级的全文检索软件,可以让用户通过浏览器输入欲查询的关键词, 在用户自己的本地硬盘中,迅速查询并以页面形式返回:包含关键词的Html网页、Word文档 、txt纯文本、或者c,cpp,pas,java,asp,php等程序的源代码文件。

系统的运行环境

硬件环境:公知计算机。

软件环境:WINDONS 98/2000/XP操作系统。

人机界面:浏览器(比如ie, netscape,firefox等)

 

设计约束:

软件语言采用DELPHI和Vc 混合编程。使用Delphi 编写主程序ftfind.exe,包括http server、遍历模块和软件界面等模块。使用Vc编写动态连接库fullindex.dll, 包括全文检索和中文分词等模块,供主程序ftfind.exe调用。

 

2.1.2 文档

技术参考书:

《C++ 标准程序库》 侯捷/孟岩 华中科技大学出版社 2002年

《Delphi 4编程技术内幕》 Charlie Calvert 机械工业出版社 1999年

《Delphi 算法与数据结构》Julian Bucknall 中国电力出版社 2003年

《C++ 编程思想》Bruce Eckel 机械工业出版社 2003年

《编程珠玑》Jon Bentley 中国电力出版社 2004年

参考标准

Hypertext Transfer Protocol -- HTTP/1.1 (RFC 2616)

Hypertext Markup Language - 2.0 (RFC 1866)

 

2.2 软件功能设计

系统划分为以下子系统:http 服务器,hash型文件数据库,中文分词模块,中文词汇表,doc解析模块,html解析模块,文件遍历模块,模版化人机界面。

整体结构

2.3 软件逻辑设计

添加倒排索引文件的数据流图

倒排索引

 

查询句子的数据流图

关键词全文检索

 

添加索引的线程状态的控制流图

 

添加索引

查询时的UML活动图

查询uml的活动图

界面设计:

主程序的界面:

ftfind

 

查询的输入界面:

query keyword 

显示返回结果

find keyword

 

2.4 软件运行平台设计

开发平台:

Delphi 和 Visual C++

运行平台:

Windows XP, 2000,98。

 

2.5 部署与安装设计

运行安装包find.exe, 点击“下一步”。 安装完毕后,系统自动运行。

 

3.软件使用说明

3.1 系统安装说明

安装步骤:

运行安装包find.exe, 点击“下一步”。 安装完毕后,系统自动运行。

数据初始化过程:

第1次查询前,用户需要先指定索引的范围,比如输入c:/, 然后,软件会自动检测鼠标使用状态,如果鼠标停止移动10秒之上,索引模块就会开始工作,在用户指定的范围内建立索引文件。

3.2 系统使用说明

用户第1次运行本软件时,应该指定搜索范围,软件会在计算机空闲时,对指定范围内的文件进行分析并建立索引,以供用户日后快速进行全文检索。

索引建立完毕或者正在建立的过程中,用户可以用浏览器,输入关键字进行全文检索,比如输入“ 计算机 ”,软件会返回用户本机硬盘中包含该关键词的所有文件,高亮度标识该关键词,并以分页的html形式显示出来。

如果输入“ 计算机 电脑 ”, 软件会返回既包括“ 计算机 ”又包括“ 电脑 ”的文件。

如果输入“ 计算机 -电脑 ”, 软件会返回包括“ 计算机 ”但不包括“ 电脑 ”的文件。

 

3.3 疑难问题解答

>为什么第一次运行,什么文章也没有搜索到?

因为:需要用户先指定索引的范围,软件才开始工作,在该范围内建立索引文件。索引建立完毕后,用户才能进行检索。

>软件可以索引那些后缀的文件?

可以对网页文件(*.htm)、纯文本文件(*.txt)、word文件(*.doc)、和源代码 *.c,*.h,*.cpp,*.pas,*.asp,*.php,*.java 等文件建立索引。支持Gb2312,utf-8等编码方式。

>软件何时进入索引状态?

软件检测到用户停止使用鼠标10秒之后,自动进入索引状态;一但用户开始使用鼠标,软件立即暂停索引。

>是否需要安装word软件,才能检索doc文件?

本软件自带doc文件转换器,不用安装WORD软件,即可直接抽取并索引doc文档。

>用户是否可以自行修改查询的页面?

本软件采用灵活的模版化设计,稍具网页设计知识的用户,即可自行修改软件www目录下的搜索界面。

 

4.商业计划书

4.1 背景

尽管搜索市场竞争非常激烈,但这一市场的增长潜力被普遍看好。 有关市场研究数据显示:中国的搜索引擎市场2003年达到了5.2亿元人民币,比2002年的2.3亿一年增长了127%,今后3年内还将每年增长60%至70%之间,而全球搜索引擎产业,3至5年后将有望达到70亿美元。事实上,各大搜索公司近来的业绩都在高速发展,百度最近的财报显示,其业绩已经上涨了两倍,雅虎的财报也在一路攀升,Google的业绩就更不用说了。

从市场发展来看,桌面搜索市场的发展潜力最大。相对网络搜索,桌面搜索的威力更大。从技术来看,只有桌面搜索才算是全方位的搜索工具。它无所不能且方便快捷,从电脑到网络的每个角落都能找到你要找的东西。

虽然桌面搜索市场,暂时还没有明显的赢利模式,但我们看到各大公司纷纷在桌面搜索市场,积极地进行战略布局。

在这大家都还没有赢利的看不见硝烟的战场上,对后来者而言,正是一个起步的绝好机会:能和巨人们站在同一起跑线上,进行同台竞技。

4.2 创业思路

密切关注goolge在桌面搜索市场上的动向,在技术上步步紧追, 争取有所超越;在商业上,积极发现并模仿google desktop search未来可能出现的的赢利模式。

4.3 产品推广策略

推向市场的策略:

采用免费下载、免费使用的推广模式,通过在用户中建立良好的口碑,借助用户之间的传播,并积极在报刊杂志等传统媒体和网络媒体上,采用广告、博客、论坛、搜索引擎优化等多种方式,进行宣传推广。

为目标客户提供服务:

收集用户的需求,改善软件的结构,适应软件外部运行环境的发展变化,提高软件的可维护性和可靠性,为日后进一步改进软件打下基础,力争满足来自各方面用户的多种需求。

本文 doc格式 下载地址:

http://www.18ie.com/find/ftfind_doc.php

本软件可执行程序 下载地址

http://www.18ie.com/find/download.php

 

花了整整2个星期的时间,我才写完了这个文档。现在放在网络上,希望会给大家带来一些帮助: 

1)对于初学者,会对桌面搜索引擎的内部结构有所了解。

2)给以后参加此类软件大赛的选手一个参考例子。截至现在2006-10-9日,朝鲜的原子弹都爆炸了,网络上还没有一个参赛的文挡可供下载。那就让我来做第1人吧 。

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值