P2P协同研究环境需求分析
1.引言
1.1 编写目的
在和王老师、姜老师深入讨论的基础上,结合前期工作,考虑到潜在的市场需求,从我们自身的迫切需求出发,提出了这份P2P协同研究环境的需求分析文档。
此需求规格说明书对P2P协同研究环境做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。
1.2 项目背景
1.2.1 系统名称
本系统暂名为P2PInfo。
1.2.2 项目提出者、开发者和用户
通过和广大的学者、教授、研究生等研究者的广泛交流,结合我们自己的切身体会,发现广大的研究者们协同研究存在很多问题:1)某研究者A和研究者B研究领域较为相似,某一份资料p对二者都很有价值,值得深入研究并探讨之,研究者A实际上早已对资料p进行了深入了研究,并且结合自己的体会写了一些较有价值的笔记。但是由于研究者B没有和研究者A及时交流,从而研究者B并不知道研究者A的研究情况。相比较于二者得以及时交流的情形,1)情形下研究者A、B的研究效率都不高。2)某研究生A的导师B想关注一下A最近的研究情况,B就需要和A交流从而得知;但是由于B工作过于繁忙,这种交流通常很少,因此B感觉一直不太清楚自己的学生A在做些什么,从而不能很好的对A进行指导。3)通常研究者们都需要到互联网上通过搜索引擎搜索一些公开发表的文献或者资料等等,据我们的调查显示,有一部分资料比较难以搜索,从而影响了研究者的研究进度。4)某学生A刚刚开始某个方向的研究,处于入门阶段,由于导师没有给很具体的指导,只是大致给了一些方向,因此A想在互联网上寻找到一些和自己研究方向相似的人的一些研究情况,这样能更好的促进A的研究工作。但是这方面难度也比较大,主要是因为不能找到一些真正有价值的内容,比如别人的研究轨迹等等,别人在研究过程中使用过哪些有价值的资料。5)研究者们对某几个研究方向比较感兴趣,但是现在还没有比较成熟的基于用户过去、现在的行为预测将来用户可能行为的软件或者系统,从而不能更好的促进研究者的研究工作。
1.2.3 系统和其他系统的关系
在目前的市场上,我们还没有发现和我们软件定位相同的软件,尽管现在有很多P2P的文件共享软件。因此我们的软件具有开创性,而且在可预见的范围内,将会有广阔的市场。
1.3 定义、缩写词和符号
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或功能。
P2P :Peer to Peer,即点对点技术。
DHT:Distributed Hash Table,即分布式哈希表。
Kademlia:基于DHT的P2P网络资源搜索、定位算法。
Emule:电骡软件,著名的P2P下载软件。
Kad:emule中Kademlia协议的具体实现。
EndNote:文献资料管理软件。
NoteExpress:文献资料管理软件。
MySQL:著名的开源数据库。
XML:可扩展标记语言。
1.4 参考资料
Emule源码:http://emule.org
Verycd: http://www.verycd.com
Kademlia协议文档
MySQL
XML
2 任务概述
2.1 目标
2.1.1 开发意图及目标
针对第一部分的项目背景,我们希望P2PInfo能够:使得研究者们及时交流自己的心得体会,从而提高研究效率;研究者能及时了解自己关注的某个研究者的研究现状;研究者之间能够及时交换一些在互联网通过搜索引擎难以搜索到的资料;兴趣爱好、研究方向比较相似的研究者们相互之间可以建立虚拟社区,在社区内大家互相交流;同时通过对用户过去、现在行为进行建模,预测用户将来可能的行为,定期给用户推荐一些用户可能感兴趣的内容。
P2PInfo包括支持用户下载资料、支持用户笔记的共享、允许用户建立虚拟社区、允许用户搜索资料、预测用户将来可能需要的资料并推荐给用户等功能。
2.1.2 应用目标及作用范围
当前市场上有很多笔记软件、文献资料管理软件等,同时也有很多P2P文件共享软件,但是将资料管理软件同P2P文件共享软件结合起来软件还没有,而我们同时还支持虚拟社区、笔记共享、搜索等功能,从功能上来说是相当诱人的。另一方便考虑到广大用户的接受程度,因此我们特别设计了允许用户从原有的诸如EndNote、NoteExpress导入数据的功能,方便用户进行平台的迁移。
可以预见,本软件将会有良好的市场前景。
本软件的目标对象为需要广泛搜集资料的人、研究者们、学生等等。让来源广泛的人们相互共享资料,相互交流,从而提高研究者们的研究效率,推动人类文明的进步。
2.2 用户的特点
2.2.1 最终用户特点
本软件预期的最终用户具有如下显著特点:
u 需要搜集并管理大量资料人;
u 需要寻找和自己具有相似兴趣的人;
u 需要对别人的研究进行关注的人;
u 需要和别人交流想法的人。
2.2.2 预期使用频度
本软件预期用户的使用频度很高,当用户需要寻找资料、阅读资料、交流想法的时候都需要使用本软件。
2.3 假定和约束
2.3.1 假定
本软件开发工作假定用户的对软件接受程度比较高,除了主要功能,用户对一些细节方面的需求比较强烈,同时用户都有和别人交流的欲望。
2.3.2 约束
本软件开发工作的约束:
l 人员有限
l ………………
3 需求规定
3.1 对功能的规定
功能:
文件名及文件内容分词:对文件名及文件内容进行分词,并将分词结果哈希并上传至DHT网络。
文件下载:支持下载和上传。
搜索文件:支持用户按照文件名、文件内容关键字、作者信息、年代、出版社、杂志等信息搜索。
建立虚拟社区(讨论组):允许用户成立虚拟社区,支持文字聊天。
关注某人:允许用户查看其感兴趣的人的研究历史。
定期给用户推荐资料:基于用户过去、现在行为进行建模,从而预测用户将来可能的行为,定期给用户推荐其可能感兴趣的内容。
3.2 对性能的规定
3.2.1 时间特性
用户在使用本软件进行操作的响应时间小于1秒(除搜索外),用户进行搜索的响应时间应少于20秒(从用户单击搜索按钮到返回结果)。
3.2.2 灵活性
系统至少支持100万人同时在线。
3.3数据管理能力要求
本软件从将MySQL数据库的内容导出为xml。
需要管理的数据:
n 用户信息:文件、笔记、好友、社区
n 文件信息:用户、笔记
n 笔记信息:文件、用户
n 虚拟社区信息:用户
从单个用户的角度来看,单个用户对应0到m个文件,每个文件对应0到n个笔记,并且用户属于某个社区,是某人的好友,用户有好友列表。
从文件的角度来看,一个文件对应0到m个用户,对应0到n个笔记。
从笔记角度来看,一个笔记对应一个文件对应一个用户。
从社区的角度来看,一个社区对应多个用户。
参考资料:
© 2007, dolf. All rights reserved.
Submitting Comment, Give me a second...