📄 1.+
字号:
软件可行性分析报告
1. 项目背景
1.1 问题描述
自从1999年初上网以来,我就一直有这么一个困扰:上网通过搜索网站查找信息总是很不顺畅。究其原因:各引擎有不同的数据库,在不同信息方面各有优势,我为了找一条更确切的信息,就得逐个引擎搜索;而且找到的数据零乱,真正有用的数据经常都放在后面,查找起来十分麻烦。于是我就有了做这个软件的念头。这个软件要实现同时搜索多个搜索引擎,并将结果格式化返回。在1999年底,我实现了这个软件JSearch的第一版。这次将通过软件工程的手段进行OOA/OOD/OOP,并对软件进行文档化,以及使用新的搜索算法,如对JSearch的核心搜索算法进行优化。最终实现JSearch 2.0.0。
1.2 实现环境
JSearch实现之初,就希望它能在多个平台下运行,比如Linux,Windows等。而且如果能在网页中运行这个软件则更为方便。因为如果商用,与传统的搜索引擎比较将更具有竞争力。所以在这里我选择了JAVA这种通过虚拟机跨平台的开发语言(JSearch的“J”就是JAVA的意思),而且JAVA开发出的软件能以Application/Applet两种方式呈现。由于JAVA的“平台无关性”,所以只要能安装JDK的环境均能进行开发。这里我选择了Windows 98和Visual J++(JDK1.1)这个比较通用的开发环境。
1.3 限制条件
a. .NET/Windows XP的威胁
众所周知,随着Microsoft的.NET的推出,对J2EE为代表的概念解决方案形成了很大的竞争压力,特别是Microsoft用C#与JAVA抗衡,所以JAVA原来的唯一优越性被打破;另外在新推出的Windows XP中,Microsoft将不再默认安装JVM,所以致使原来可以顺得地在Windows下通过wjview/jview或IE顺得运行的JAVA的Application/Applet在将来可能无法继续。
b. 资源的使用
由于JAVA是基于VM的开发语言,所以它所编写出的软件不能像本地编译代码那样有效率。所以JSearch在配置较低的机器上运行可能不那么顺畅。
c. 互联网的进步
自1999年以来,互联网取得了长足的进步,特别是在搜索引擎搜索结果的有效性和正确性方面取得了很大的提升,如Google/Baidu这样的商用搜索引擎的出现,极大的改善了搜索环境。而且多引擎搜索的概念已得到广泛的应用,同类型的搜索软件大量出现,最著名的有国外的Copernic和国内的“飓风搜索通”。所以JSearch的存在的必要性受到了质疑。但JSearch作为一个符合GNU规范的Open Source的软件,在自由软件受好者当中还是有一定优势的。
2. 管理概要与劝告
2.1 重要的研究结果
对1.2.3版本的核心搜索算法进行分析后总结和优化。
2.2 说明
这是一个在1.2.3之上采用软件工程手段进行修缮的一个版本。
2.3 劝告
这是一个GNU的软件。
2.4 影响
暂无。
3. 候选方案:
3.1 候选系统的配置
采用.NET的C#和CLR进行开发,对应关系如下:C#=JAVA,CLR=JVM。
3.2 选择最终方案的准则
a. 最小的成本:
由于现在开发的人员只有笔者一人,所以在1999年开发的JSearch 1.2.3的版本上进行修善,并用软件工程的方法对JSearch进行文档化,且得用所学的数据结构知识对JSearch内部的算法进行优化,如核心P搜索算法。
b. 最快的时间:
从软件工程笔试结束,到提交软件工程设计只有三个月左右的时间,要在短时间内进行软件改造,不大可能将原来在JVM上实现的JSearch移植到.NET上。
4. 系统描述:
4.1 简略的范围描述
在JVM上实现。能实现多引擎搜索。
4.2 分配元素的可行性
均可行。
5. 经济可行性(成本-效益分析):
5.1 经费概算
无。
5.2 预期的经济效益
现在暂时是GNU的,今后考虑商用。
6. 技术可行性(技术风险评价):
6.1 技术实力
笔者有两年的商业软件开发经验。
6.2 已有工作基础
JSearch 1.2。3
6.3 设备条件
CPU: PII233
内存:192M
7. 法律可行性
7.1 系统开发可能导致的侵权
保留所有权力。
7.2 违法和责任
根据GNU的GPL。
8. 用户使用可行性:
8.1 用户单位的行政管理
暂无。
8.2 工作制度
暂无。
8.3 使用人员的素质
大专学历,从业两年。
9. 其它与项目有关的问题:
9.1 其它方案介绍
C#/.NET
9.2 未来可能的变化
用C#移植到.NET上。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -