申请免费试用、咨询电话:400-8352-114
作者:电子科技大学 郑德生 李晓瑜 王万林 罗琰钦 白亚茹
责任编辑:
高效知识聚类的E-book系统
——电子科技大学 梦飞无线工作室
一等奖作品
摘 要
当今IT产业迅猛发展,信息流量急速增加,对于从事IT技术的新手来讲,如何快速、准备地获取自己想要的信息是一个亟待解决的“信息饥荒”问题。“高效知识聚类的E-book系统”是面向所有希望学习知识和共享知识的学生和工作人员编写的免费网络产品。E-book旨在通过整合用户上传的图书,结合优秀简洁的推荐算法为广大用户推荐自己最需要的优秀图书;结合先进的Web2.0技术,为大家提供一个友好便捷的知识搜索平台。同时通过论坛的管理宣传、手机订阅、邮箱推荐来推广某些优秀图书,增进网友之间的技术交流,增强知识和技能的传播与应用。
关键词
知识聚类 E-book系统 推荐算法 信息饥荒 Web2.0技术 手机订阅
目 录
1 背景介绍... 1
2 项目视图与范围... 2
2.1业务背景... 2
2.2业务机遇... 2
2.3业务目标... 3
2.4客户或市场的需求... 4
2.5提供给客户的价值... 4
2.6业务风险... 4
2.7产品成功的因素... 5
3 需求说明... 6
3.1任务概述... 6
3.2 假定和约束... 6
3.3 需求规定... 7
3.3.1软件功能说明... 7
3.3.2对功能的一般性规定... 8
3.3.3对性能的一般性规定... 8
3.3.4其他专门要求... 8
3.3.5故障处理要求... 8
3.3.6对安全性的要求... 9
3.4运行环境规定... 9
3.5 开发成本估算... 9
4 概要设计... 10
4.1定义... 10
4.2总体设计... 10
4.2.1需求规定... 10
4.2.2运行环境... 11
4.2.3基本处理流程... 11
4.2.4结构... 11
4.3接口设计... 12
4.4运行设计... 13
4.5系统逻辑结构设计要点... 14
4.6系统出错处理设计... 15
4.6.1出错信息... 15
4.6.2补救措施... 15
4.6.3系统维护设计... 16
5 详细设计... 16
5.1程序设计详细说明... 16
5.1.1程序描述... 16
5.1.2功能... 17
5.1.3性能... 17
5.1.4输入、输出项... 17
5.1.5接口和注释... 18
5.1.6限制条件... 18
5.1.7测试计划... 18
5.2使用说明... 19
5.2.1软件功能说明... 19
5.2.2对性能的一般性规定... 19
5.2.3其他专门要求... 19
5.2.4对安全性的要求... 19
5.2.5项目课题创新点... 20
6 测试分析... 20
6.1测试概要... 20
6.2测试结果及发现... 20
6.3对软件功能的结论... 20
6.4分析摘要... 21
6.5测试资源消耗... 21
参考文献... 21
高效知识聚类的E-book系统
1 背景介绍
当今IT产业的迅猛发展,带来了信息流量的急速增加,在这么多各种各样丰富的资源中,怎样快速满足不同使用人群的需求,得到所需要的特定的资源;怎样达到资源的有效利用,资源管理和分析成为人们不得不面对的问题。这些问题的存在以及所引发的问题归纳起来有以下几个方面。
(1)信息饥荒
软件技术开发人员,面对浩如烟渺的技术知识海洋,急切希望能够快速、便捷、准确的得到自己需要的有效信息。然而由于没有高效的、更加人性化、更加友好的算法实现,导致技术人员不得不花费大量的时间和精力去搜索有用的信息。这样无形中就形成了所谓的信息饥荒的状况。
(2)80%数字信息储存在个人文档中
对于从事IT技术的新手来讲,如何获取自己想要的有用信息,固然是一个亟待解决的“信息饥荒”问题。然而,如何把已经拥有多年开发经验的技术人员的技术开发精华有效的传递给新手,同样也已经成为令人关注的问题。这些熟练的老开发人员,他们的经验,他们的技术沉淀更多的存在与个人的文档中,他们不可能一一把他们电子化,更不可能合理的分类。据不完全统计,80%的有效数字信息被存储在个人文档中。
(3)不到5%信息被企业获取
相对于问题二,显然相对应的IT开发人员的载体——企业,其信息载荷量也仅仅占整个行业有效信息的5%左右。
面对上面的种种,为解决它们,为了满足人们的这种需求,于是聚类技术应运而生。
何为聚类?俗话说:“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。所谓类,通俗地说,就是指相似元素的集合。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,在古老的分类学中,人们主要依靠经验和专业知识来实现分类,很少利用数学工具进行定量的分类。随着人类科学技术的发展,对分类的要求越来越高,以致有时仅凭经验和专业知识难以确切地进行分类,于是人们逐渐地把数学工具引用到了分类学中,形成了数值分类学,之后又将多元分析的技术引入到数值分类学形成了聚类分析。
目前聚类/分类理论研究应用到了社会很多领域,比如,聚类/分类理论在文本挖掘中的应用,聚类分析法在产品族设计中的应用,在经济区域划分中的应用,在轿车市场研究中的应用。如何让内容管理系统做到更智能、 更高效率是必须考虑的问题,词汇分析、语言语义分析、自然语言处理、自动聚类等技术是在内容管理中必须考虑的问题。
2 项目视图与范围
2.1业务背景
作为IT人才培育摇篮的各大高校也相继孵化出很多优秀的自主创新的学生技术团队。这些团队一定程度上为IT产业的发展注入了新鲜的血液,然而相同领域的专业技术人才却出现了相对分散、知识无法共享以及人才之间不能及时交流的问题。这在某种意义上又成为IT技术下一步迅速成长的障碍。以电子科技大学为例,目前相同领域的技术人才和技术团队仅在同一个学校内就不能保证及时有效的沟通,更不要说全国高校范围内。团队的相对分散,技术人才之间非及时的交流,知识无法专业性、针对性的共享,大大浪费了技术开发人员的时间,减缓了某项技术的发展和成长。
本项目课题针对上面的项目研究背景,查阅了大量的相关资料,决定在现有的技术开发能力范围之内,实现与网络相结合的e-book知识聚类系统。主要来解决上述问题,最终实现如下目的:
(1)专业性技术资源聚类和共享
E-book知识聚类系统主要以网站的形式展现和使用,以下简称e-book。
E-book主要包括web,OS,编程,Network等几个领域的专业知识,并会在随后的后续建设中不断完善其涵盖领域。资源以电子书为单位和传递形式,用户可以上传和下载相关领域和专业的电子书。采用web2.0的思想,把上传的电子书整体聚合,利用相关的算法和技术实现这个知识的自动分类,随后主动推荐给相关专业的技术人员,从而实现资源共享。
(2)IT人才资源的整合
E-book包括论坛等社区管理系统。该系统的论坛针对各个领域进行版块设置,使得同一领域的人才可以一起交流,提高了学习效率,扩充了有限时间内的知识量,缩短了查找相关资料的时间,从而实现了人才的聚合。
2.2业务机遇
以下从三个方面来分析E-book知识聚类系统的业务机遇:
(1)知识资产管理
个性化是任何具有竞争力服务必须具备的特征之一,没有个性化的服务是不会也不能长久的,知识服务亦然。要提供具有个性化的服务,首先必须对提供服务所需的资产进行有效的管理,随时方便地了解资产的状态和价值。遗憾的是,作为提供知识服务的图书馆、信息中心、咨询机构却未能对自己提供服务所需的知识资产进行有效的管理。比如,虽然我们已经拥有了自动化系统,我们已经拥有了数字图书馆,但对于知识资产的管理却刚刚开始;又以一般性提供知识服务的网站为例,虽然总体涵盖的范围很广,但是各知识类别之间相对独立,本应相关联的知识没有实现关联的效果,因此不能一次性为用户提供足够多的相关联的、智能整合的知识。为此知识资产的管理迫在眉睫, E-book知识聚类系统就是基于知识管理的出发点而产生。
知识资产管理的内容包括物的知识资产和人的知识资产的管理。物的知识资产包括知识服务单位所订购和存储的各种载体的资源,如图书、期刊、报纸、论文、CD、各种数字资源等等。人的资产包括知识服务单位的管理人员、知识服务人员以及其他人员。物的知识资产管理要明确资产的主要知识内容、价值、被利用情况、位置、服务范围、半衰期等等。人的知识资产管理要明确人员的基本情况、知识水平、价值、过去的知识服务情况等。
(2)知识关联与聚类
知识关联与聚类是知识聚类系统提供个性化知识服务的重要基础之一,也是我们E-book知识聚类系统的一个个性化知识服务。随着网络发展的不断深入,网络所包容的知识内容越来越多,知识资产之间的相互关联显得尤为重要。通过知识资产的关联和聚类使知识聚类系的知识资产织就一张脉络清晰的知识之网,从而使知识服务人员、读者、用户可以循着知识之网的清晰脉络遨游于知识王国,最后找到自己要找的东西。
关联是通过甲可以找到乙,通过乙可以找到丙,通过丙可以找到丁等等,如此层层递进,最终可以找到知识源。知识关联的方法基本上有两种,一种是通过知识资产的关键词进行关联,一种是通过知识资产的参考文献进行关联。
聚类是将某一主题、某一方面或某一学科的知识资产集中在一起提供出来。知识聚类的方法也有两种,一种是通过主题词进行聚类,一种是通过分类法进行聚类。
(3)专业搜索引擎
知识聚类系统需要丰富的资源,才能提供给用户更全面,更可靠的知识。而搜索引擎也在面临着知识相对分散的问题,这在上面的内容中已经提到过。似乎这两个一直都在独自发展的东西,随着二者的深入发展,必将走向结合。
但是,知识聚类系统引入搜索引擎,不是简单地将搜索引擎捆绑到知识聚类系统中去,而是要建立专业的搜索引擎,对于搜索引擎的内容进行必要的人工干预和处理。
2.3业务目标
E-book知识聚类系统以知识聚类技术为核心,结合搜索引擎等技术,通过对知识进行有效分析和分类,旨在高效地为用户提供全面的而可靠的知识系统,在项目实现期内,逐步实现以下各项目标和功能:
(1)目标
l 实现网络平台下专业性技术资源聚类和共享;
l 实现论坛中各种交流技术的分类;
l IT人才资源的整合。
(2)功能
l 网络平台(网站)的构建,该网站具有上传下载,在线阅读功能;
l 实现BookMark 插件的功能;
l 完成手机端wab服务;
l 技术分类的论坛的实现(算法实现自动推荐)。
2.4客户或市场的需求
一方面,仅拿搜索引擎来说,随着网络资源的不断丰富,搜索引擎的“引擎”作用越来越弱化,面对着数以万计甚至更大数量级的搜索结果,读者越来越感到厌烦,加上商业作用的影响,真正对读者有价值的结果可能被淹没在浩瀚的记录中,我们却无法找到。这似乎是一个矛盾,搜索引擎越发展,提供的内容越多,越不受欢迎,但实际情况就是如此。不光是搜索引擎,很多这样的知识服务系统都面临着这样的问题,随着知识的聚增,用户更难以快速,方便的找到自己相要的知识。E-book知识聚类系统以知识资产管理为其主要服务功能,对知识进行有效的分类和分析,旨在快而准地为用户提供全面的知识。因此,E-book知识聚类系统正是满足客户、市场需要的产物。
另一方面,E-book知识聚类系统主要以网站的形式展现和使用。这和传统的网络使用方式相一致,方便用户使用。
从以上两个方面来看,E-book知识聚类系统适应了市场的需求,必将受到客户的欢迎。
2.5提供给客户的价值
E-book知识聚类系统将提供给客户以下几个方面的价值:
l 提高得到专业知识的效率,节约客户的时间。
l 更好地实现知识的共享,一定程度上避免了重复劳动。
l 实现知识资产管理,高效地提供给客户全面,可靠的知识。
l 实现智能的知识关联与聚类,为知识高效管理奠定基础。
l 专业搜索引擎,使为客户提供全面的知识成为可能。
l IT人才资源的整合与目前的应用产品相比较,提高了可用性或减少了失效程度。
l 论坛中提供了各种交流技术的分类,提高了学习效率,扩充了有限时间内的知识量。
2.6业务风险
E-book知识聚类系统能实现对知识资产的有效管理,能快而准地为用户提供全面、可靠的知识,节约了客户的时间,实现国内外资源的共享,为客户提供了很好的交流平台。这些都是客户、市场的需要。但是,项目要成功,也受到多方面的挑战。
一方面,决定一个项目成功与否,有多方面的因素,面对如今对知识聚类的研究发展正猛的势头,面对极具竞争力的知识聚类市场,怎样让我们产品得到客户的了解与认可,最终能够脱颖而出。这是我们面临的一大挑战。
另一方面,对知识聚类的研究早已开始,目前已经提出了很多知识聚类分析方法,比如,层次分析法、灰色聚类分析法、应用聚类分析法、系统聚类分析法等。数学上把根据事物的一定特征,并按一定的要求和规律对事物进行分类的方法称为聚类分析法。也提出了很多聚类算法,这些算法可以被分为划分方法、层次方法、基于密度方法、基于网格方法和基于模型方法。
(1)划分方法(PAM: Partitioning method)
首先创建k个划分,k为要创建的划分个数;然后利用一个循环定位技术通过将对象从一个划分移到另一个划分来帮助改善划分质量。典型的划分方法包括:
l k - means, k - medoids, CLARA(Clustering LARge Application);
l CLARANS(Clustering Large Application based upon RANdomized Search)。
(2)层次方法(hierarchical method)
创建一个层次以分解给定的数据集。该方法可以分为自上而下(分解)和自下而上(合并)两种操作方式。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。典型的这类方法包括:
l BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies) 方法,它首先利用树的结构对对象集进行划分;然后再利用其它聚类方法对这些聚类进行优化;
l CURE(Clustering Using REprisentatives) 方法,它利用固定数目代表对象来表示相应聚类;然后对各聚类按照指定量(向聚类中心)进行收缩;
l ROCK方法,它利用聚类间的连接进行聚类合并。最后一个CHEMALOEN,它则是在层次聚类时构造动态模型。
(3)基于密度方法
根据密度完成对象的聚类。它根据对象周围的密度(如DBSCAN)不断增长聚类。典型的基于密度方法包括:
l DBSCAN(Densit-based Spatial Clustering of Application with Noise):该算法通过不断生长足够高密度区域来进行聚类;它能从含有噪声的空间数据库中发现任意形状的聚类。此方法将一个聚类定义为一组“密度连接”的点集;
l OPTICS(Ordering Points To Identify the Clustering Structure):并不明确产生一个聚类,而是为自动交互的聚类分析计算出一个增强聚类顺序。
(4)基于网格方法
首先将对象空间划分为有限个单元以构成网格结构;然后利用网格结构完成聚类。
l STING(STatistical INformation Grid) 就是一个利用网格单元保存的统计信息进行基于网格聚类的方法;
l CLIQUE(Clustering In QUEst)和Wave-Cluster 则是一个将基于网格与基于密度相结合的方法。
(5)基于模型方法
它假设每个聚类的模型并发现适合相应模型的数据。
E-book知识聚类系统采用基于网格方法,随着对知识聚类研究的进一步发展,这种基于网格的算法是否能跟上时代的发展,E-book知识聚类系统是否能进行更新升级,这是我们所要考虑的问题,也是E-book知识聚类系统是否能存活长久的极具风险的一个方面。
2.7产品成功的因素
一个产品能否成功由很多方面的因素决定。不仅要包括组织直接控制的范围内的事务,还要包括外部因素。
在内因方面,产品的质量是成功与否的决定因素,质量包括很多方面的度量,E-book知识聚类系统要成功必须有达到高效的知识管理,要具有良好的人机界面环境,具有人机,人人交流的平台,同时也要有良好的机制来支持系统长久而健康的发展。为了跟随时代的发展,系统必须要不断探索市场客户的新的需求并不断适应这种需求。这要求时刻关注技术方面的发展,寻求更多更好的技术、商业伙伴的合作。
在外因方面,在保证自身质量的同时,产品的推广也同样的重要,让更多的客户了解产品,使用产品,得到产品服务的同时也服务于产品,只有形成了产品和客户之间良好互动,产品才可能长久不衰的发展下去。
3 需求说明
3.1任务概述
(1)目标
“高效知识聚类的E-book系统”的目标是为广大用户提供一个聚揽知识的平台,允许用户上传自己认为好的图书,并下载自己需要的图书,通过资源的共享收集各类图书,并归类保存,利用算法设计推荐给不同的用户。本系统是一项独立的软件,运行方便。
本系统所实现的功能将是利用程序的智能算法和各种数据,将不同类别的图书和最新上传的图书整合到一起。
l 建立查询网站,支持并发访问;
l 可提供面向所有客户的基于HTML和RSS等格式的实用信息;
l 提高数据读取效率;
l 建立多个镜像发布点,规避网络风险,保证数据传输稳定;
l 能随时根据站点数量和内容的变化实现更新和扩展;
l 发布的信息能够鼓励网友上传和下载图书,能够产生实际的宣传效果。
(2)系统(或用户)的特点
l 电子书共享-上传,下载;
l 上传:程序批量添加电子书;
l 下载:Email发送,直接下载;
l 个人信息记录-记录上传书,下载的书所属类别,次数;
l 通过算法实现人员聚类;
l 对每个类别的人员分别推荐相关电子书;
l 在线阅读电子书,标注,标签,共享等功能;
l 手机阅读电子书,标注,标签,共享等功能。
以上八点是本系统的主要需要实现的功能,同样相对应的就显现出各自的特点。本系统的优点是利用良好的算法把图书归类存储,并根据读者浏览过的书籍推荐读者可能需要的书籍,同时利用论坛管理促进同行人员之间的交流,使知识达到真正的共享。本软件极好的满足了读者的个性化需求,读者可以在本网站设置自己的主页,美化自己的空间。
3.2 假定和约束
l 在js的全局作用域中尽可能少出现全局变量,而把变量封装在类或特定的函数中,以此来避免变量的js的缺点(命名空间问题);
l PHP环境中默认的工程全局配置在config.inc.php中设置;
l 要编写的任何一个脚本在引入Global.class.php后,都可以通过getDB()函数获得操作数据库的对象$db 。
3.3 需求规定
3.3.1软件功能说明
(1)功能划分
1)主页功能模块
2)个人主页模块
3)论坛功能模块
4)后台管理模块
5)推荐系统模块
(2)功能描述
1)主页功能模块
a) 最新讨论浏览
b) 图书分类浏览
ü 按图书性质分类
ü 按出版时间分类
ü 按出版社分类
c) 热门书籍
d) 随机Tag 列表
e) 新书推荐
f) 图书下载
ü 直接下载
ü 采用邮件发送
g) Footer附加
ü 最热讨论区
ü 友情链接
2)个人主页模块
h) 注册
i) 登录
j) 信息统计
ü 贡献书总数及被下载次数总数
ü 个人最受欢迎书籍
ü 个人上传书籍浏览
k) 书籍上传
3)论坛功能模块
l) 采用discuz 开源论坛
m)论坛版区同书籍分类同步
n) 各技术性工作室版式区
o) 采用discuz 开源论坛
p) 论坛版区同书籍分类同步
q) 各技术性工作室版式区
4)后台管理模块
r) 书籍管理
s) 书籍分类管理
t) 论坛后台管理(discuz )
ü 会员管理
ü 帖子管理
ü 版区管理
5)推荐系统模块
u) “喜欢这本书的人还喜欢***书”的推荐
v) “和你有相同爱好的人***”的推荐
w) “也许适合你的小组***”的推荐
x) “ebook 每日个人推荐书籍***”的推荐
3.3.2对功能的一般性规定
本处仅列出对软件系统的所有功能(或一部分)的共同需求,如要求界面格式统一,统一的错误声音提示,要求有在线帮助等。
l 允许user与server同步;
l 界面格式统一,风格一致;
l 实现存储,显示,更改用户上传的图片。
3.3.3对性能的一般性规定
对数据精度、响应时间的要求。本处仅列出对软件系统的所有功能(或一部分)的共同要求,针对某一功能的专门性能要求应列在该功能规格说明中。
本网站要求响应时间在三秒以内,下载和上传图书的速度在20Kb/s以上,如果速度太慢或下载的人太多的情况下可以通过邮件的方式把用户需要的书籍发送到读者的邮箱。
(1)精度
能够保证e-mail请求的80%被发送到。
(2)时间特性要求
每次http请求的响应时间( 包括后台脚本的处理和文件的网络传输)要求低于600ms。
(3)灵活性
需求发生变化时前台的用户接口无需很大的变化用户能很快适应UI中的变化。后台也留有接口能很好的进行重构。
3.3.4其他专门要求
本系统在各种安装MySQL,Apache,PHP的平台上均可正常使用。
3.3.5故障处理要求
l 同时在线人数过多可能会导致服务器当机。这时可做分布式服务器。
l 书籍的总容量超过100GB时服务器需添加硬盘。
3.3.6对安全性的要求
l 系统管理员:书籍的添加删除,对其他会员的权限管理,添加删除帖子,上传,下载书籍。
l 版主:添加删除帖子,发表帖子,上传,下载书籍。
l 用户:发表帖子,上传,下载书籍。
3.4运行环境规定
(1)设备与分布
1)主机类型
内存256M以上;
2)网络类型
教育网、电信网络、联通;
3)存储器类型
硬盘30G以上;
4)其他特殊设备
无。
(2)支撑软件
1)操作系统
操作系统windows或者Linux;
2)数据库管理系统
MySQL数据库;
3)其他支撑软件
Apache 服务器,PHP处理引擎。
(3)程序运行方式
面向用户,在浏览器中直接返回相关数据,包括最新图书和论坛信息,属于独立运行的程序。本系统被期望部署为一个数据发布系统和多个数据镜像发布系统,要求有较高的可靠性和稳定性。
3.5 开发成本估算
以列表的方式给出各功能规定所需的开发人时和费用(如差旅费)。
表1 开发成本估算
|
名 目
|
模块名称
|
需要时间
|
需要人数
|
费 用
|
1
|
主页功能模块
|
10天
|
1
|
500.00
|
2
|
个人主页模块
|
5天
|
1
|
500.00
|
3
|
论坛功能模块
|
10天
|
2
|
1000.00
|
4
|
后台管理模块
|
15天
|
3
|
1000.00
|
5
|
推荐系统模块
|
10天
|
2
|
1000.00
|
6
|
资料费
|
--
|
--
|
500
|
7
|
差旅费
|
--
|
--
|
500
|
8
|
市场调研
|
10
|
3
|
300
|
4 概要设计
4.1定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
(1) Ajax
Ajax(Asynchronous JavaScript +XML)不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术;
(2) Asynchronous Request
异步请求, ebook默认的ajax请求形式;
(3) PHP
一种用于编写后台程序开源的脚本语言;
(4) JavaScript
前台的脚本语言,Ajax技术的基础就是成熟的Js.;
(5) Smarty
php中用于分离显示逻辑和程序逻辑的模板技术;
(6) Html
超文本标记语言;
(7) CSS
层叠样式表,主要用于控制页面元素的显示样式;
(8) Sql
标准的数据库查询语言;
(9) Java
既是一种编程语言也是一个平台;
(10) E-book
高效知识聚类的E-book系统。
4.2总体设计
4.2.1需求规定
本系统的主要的输入输出项目、处理的功能性能要求:
1.电子书共享-上传,下载;
2.上传:程序批量添加电子书;
3.下载:Email发送,直接下载;
4.个人信息记录-记录上传书,下载的书所属类别,次数;
5.通过算法实现人员聚类;
6.对每个类别的人员分别推荐相关电子书;
7.在线阅读电子书,标注,标签,共享等功能;
8.手机阅读电子书,标注,标签,共享等功能。
其他专门的要求:
1.初始阶段达到1000本以上计算机类电子书库;
2.当天提交的Email下载请求能完成90%以上;
3.能达到最长每两天跟新一次推荐内容,聚类成员更新;
4.推荐精确度为30%。
对安全性的要求:
防止电子书资源的盗链。
4.2.2运行环境
1.支撑软件
eclipse + svn;
2.程序运行方式
php + apache + windows + mysql;
3.操作系统
Windows 2000,Windows XP,Windows CE;
4.浏览器
常见的浏览器都可以。
4.2.3基本处理流程
说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
图1 系统基本设计流程图
4.2.4结构
(1)Ajax处理模块
Ajax.php
|
HandlerBase.class.php
|
AjaxHandler.class.php
|
BookHandler.class.php
|
UserHandler.Class.php
|
图2 Ajax处理模块
1)Ajax.php用于配置web ebook的Ajax后台处理环境,也是与前台的请求接口
2)AjaxHandler.class.php用于过滤请求,分派相应处理各调
3)HandlerBase.class.php处理各类的基类
4)BookHandler.class.php所有有关书籍Ajax请求的处理负责
5)UserHandler.Class.php负责有关用户Ajax请求的处理
(2)非Ajax处理模块
WebIni.php
|
Global.inc.php
|
MySQLSOP.
class.php
|
MySmarty.class.php
|
图3 非Ajax处理模块
1)WebIni.php用于初始页面环境
2)Global.inc.php用于配置数据库地址、用户名及其它栏全局参数
3)MySQLSOP.class.php对MySQL数据操作封装
4)MySmarty.class.php模块的封装
4.3接口设计
本系统的相关接口初步设计如下:
系统缓冲区
|
应用程序
|
用户工作区
|
数据库
|
数据库管理
|
操作系统
|
数据
|
图4 接口设计框架图
4.4运行设计
(1)运行模块的组合
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
表2 运行模块组合列表
名称
|
经历的内部模块
|
支持运行软件
|
电子书共享
|
主页功能模块
|
Eclipse、dreamOA
|
图书下载
|
主页功能模块、后台管理模块、推荐系统模块
|
Eclipse、dreamOA
|
个人信息统计
|
主页功能模块、后台管理模块、个人主页模块
|
Eclipse、dreamOA
|
(2)运行控制
说明每一种外界的运行控制的方式方法和操作步骤。
表3 运行控制方式方法和操作步骤
运行控制名称
|
方式方法
|
操作步骤
|
电子书共享
|
网站查看或下载
|
点击网站上共享链接按钮
|
上 传
|
文件或文本压缩后上传
|
在上传区输入或选择书籍类别,填写相关文件信息,然后点击上传按钮
|
下 载
|
传输下载
|
进入下载区,选择你所需书籍,点击下载按钮
|
个人信息记录
|
使用者根据已给表格结构进行填写
|
进入个人模块,按网站提示及要求填写个人信息即可
|
(3)运行时间
说明每种运行模块组合将占用各种资源的时间,如图5所示。
图5 运行时间直观图
4.5系统逻辑结构设计要点
Table ebk_book
l bookId mediumint(9)
l title char(100)
l author char(100)
l publishDate date
l pressId smallint(6)
l uploadUserId samllint(9)
l uploadTime datetime
l lastModTime datetime
l savePath char(255)
l imgUrl char(255)
l downloadCount mediumint(9)
l introduction mediumtest
l addFlag tinyint(1)
table ebk_childcate_book
l childCate_bookId integer(11)
l bookId mediumint(9)
l childCategoryId tinyint(4)
table ebk_childcategory
l childCategoryId tinyint(4)
l title char(255)
l parentCAtegroyId tinyint(4)
l grade enum 1,2,3,4,5,6,7,8,9,10
table ebk_download
l downloaded integer(11)
l time datetime
l bookId mediumint(9)
l userId mediumint(9)
table ebk_forum_category
l fid smallint(6)
l parentCategoryId smallint(6)
l childCategory samllint(6)
table ebk_grade
l gradeId mediumint(9)
l mark tinyint(2)
l bookId mediumnint(9)
l userId mediumnint(9)
table ebk_notmailed
l savePath char(255)
l time date
l title char(255)
l email char(255)
table ebk_parentcategory
l parentCategoryId tinyint(4)
l title char(255)
table ebk_press
l pressId smallint(6)
l title char(255)
l iconUrl char(255)
table ebk_simbook
l bookIdA integer(9)
l bookIdB integer(9)
l simValue float
table ebk_user_childcate
l user_childCateId integer(11)
l userId mediumnint(9)
l childCategoryId tinyint(4)
4.6系统出错处理设计
4.6.1出错信息
l 同时在线人数过多可能会导致服务器当机。
l 加载错误。
4.6.2补救措施
说明故障出现后可能采取的变通措施,包括:
a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c. 恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
4.6.3系统维护设计
说明为了系统维护的方便而在程序内部设计中做出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。 各个程序之间的对应关系,可采用如下的矩阵图的形式。
系统正常运行
|
系统检测
|
系统维护
|
漏洞修复
|
发现漏洞
|
图6 系统维护设计图
5 详细设计
5.1程序设计详细说明
5.1.1程序描述
(1)BookHandle ler.class.php :负责有关书籍Ajax请求的处理。常驻内存,可重人,无覆盖要求且进行并发处理。
(2)My SQL SOP.class.php:是对My SQL数据操作的封装。常驻内存,可重人,无覆盖要求且进行分时处理。
5.1.2功能
Ajax Handler
|
Book Handler
|
User Handler
|
图7 功能显示图
5.1.3性能
(1)程序性能
允许user与server同步。
(2)性能的一般规定
本网站要求响应时间在三秒以内,下载和上传图书的速度在20Kb/s以上,如果速度太慢或下载的人太多的情况下可以通过邮件的方式把用户需要的书籍发送到读者的邮箱。
(3)精度
能够保证e-mail请求的80%被发送到。
(4)时间特性要求
每次http请求的响应时间( 包括后台脚本的处理和文件的网络传输)要求低于600ms。
(5)灵活性
需求发生变化时前台的用户接口无需很大的变化用户能很快适应UI中的变化。后台也留有接口能很好的进行重构。
(6)实现存储,显示,更改用户上传的图片
5.1.4输入、输出项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式。数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
表4 输入项对应说明
输入项名称
|
标识
|
数据类型及格式
|
数据值的有效范围
|
输入方式
|
用户名
|
Ⅰ
|
数字、字母
|
小于3个字符
|
键盘输入等
|
密 码
|
Ⅱ
|
键盘上的任意字符
|
0~20字节
|
键盘输入等
|
邮 箱
|
Ⅲ
|
字符串
|
无限制
|
键盘输入等
|
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度,输出媒体、对输出图形及符号的说明、安全保密条件等等。
图5 输出项对应说明
输出项目名称
|
标识
|
数据类型及格式
|
数据值的有效范围
|
输出形式
|
用户名
|
Ⅰ
|
数字、字母
|
小于3个字符
|
与输入项一致
|
密 码
|
Ⅱ
|
键盘上的任意字符
|
0~20字节
|
与输入项一致
|
邮 箱
|
Ⅲ
|
字符串
|
无限制
|
与输入项一致
|
5.1.5接口和注释
Ajax.php
|
HandlerBase.class.php
|
AjaxHandler.class.php
|
BookHandler.
class.php
|
UserHandler.
Class.php
|
图8 接口设计及其注释
1)Ajax.php用于配置web ebook的Ajax后台处理环境,也是与前台的请求接口;
2)AjaxHandler.class.php用于过滤请求,分派相应处理各调;
3)HandlerBase.class.php处理各类的基类;
4)BookHandler.class.php所有有关书籍Ajax请求的处理负责;
5)UserHandler.Class.php负责有关用户Ajax请求的处理。
5.1.6限制条件
l 同时在线人数过多可能会导致服务器当机。这时可做分布式服务器。
l 书籍的总容量超过100GB时服务器需添加硬盘。
5.1.7测试计划
表6 测试计划
测试模块
|
技术要求
|
输入数据
|
预期结果
|
进度安排
|
人员职责
|
测试设备及条件
|
网站速度
|
Ajax、 applet、javascript、
|
业务数据、访问量、每单位时间内的点击量
|
在1S内打开所有页面
|
3~5天
|
采集数据、收集并完善相关不足
|
使用多种浏览器和连接速度
|
网站压力
|
Ajax、 applet、javascript、 SQL Server
|
业务数据、访问量、每单位时间内的点击量
|
达到近万人同时使用
|
4~5天
|
采集数据、收集并完善相关不足
|
web负载测试工具,其它已经被采用的测试工具,web 自动下载工具
|
网站安全
|
SQL Server
|
防火墙,加密、密码等
|
无漏洞
|
1~2星期
|
采集数据、收集并完善相关不足
|
web负载测试工具,其它已被采用的测试工具,web 自动下载工具
|
5.2使用说明
5.2.1软件功能说明
1.共享学习资源(电子书);
2.让其他的学习者更快的学习技术,少走弯路;
3.技术聚类;
4.相同技术爱好者聚在一起,有效交流和沟通,减少空间限制。
5.2.2对性能的一般性规定
1.电子书共享-上传,下载;
2.上传:程序批量添加电子书;
3.下载:Email发送,直接下载;
4.个人信息记录-记录上传书,下载的书所属类别,次数;
5.通过算法实现人员聚类;
6.对每个类别的人员分别推荐相关电子书;
7.在线阅读电子书,标注,标签,共享等功能;
8.手机阅读电子书,标注,标签,共享等功能。
5.2.3其他专门要求
1.初始阶段达到1000本以上计算机类电子书库;
2.当天提交的Email下载请求能完成90%以上;
3.能达到最长每两天跟新一次推荐内容,聚类成员更新;
4.推荐精确度为30%。
5.2.4对安全性的要求
防止电子书资源的盗链。
5.2.5项目课题创新点
1.Ebook项目提供资源共享,并为有共同技术爱好的用户聚在一起提供一个平台;
2.对相关书籍的推荐设计了优化算法;
3.项目中Ajax技术的应用提高用户体验;
4.书籍的搜索,ebook为用户提供了完全满足用户的组合搜索,使用户在查找电子书时更加快捷;
5.在用户获得电子书是ebook提供了发送到邮箱的功能,它可以让用户永久收藏需要的书籍;
6.资源链接的隐藏技术,用户无法通过页面提供的链接以外的其它形式获得书籍;
7.结合了移动终端——手机的使用,进一步方面了用户的使用。
6 测试分析
6.1测试概要
用表格的形式列出每一项测试的标识符及其测试内容,并指明实际进行的测试工作内容与测试计划中预先设计的内容之间的差别,说明作出这种改变的原因。
表7 测试概要列表
名 称
|
符 号
|
测试内容
|
预计结果
|
分 析
|
备注
|
主 页
|
A
|
链接速度达到85%
|
链接速度达到80%
|
1. 电脑配置高
2. 数据库设计精良
|
无
|
图书下载
|
B
|
下载成功95%
|
下载成功98%
|
1. 网络环境
2. 数据库
|
无
|
个人主页
|
C
|
数据传输准确性98%
|
数据传输准确性99%
|
1. 用户个人操作的准确性
2. 数据库
|
无
|
6.2测试结果及发现
(1)测试1(A)
主页的测试:页面效果优良、对各个二级页面链接较好。
实际测试结果与预期测试结果相吻合。达到预期效果
(2)测试2(B)
图书下载测试:下载速度达到90%以上,且保证下载图书质量。
通过测试数据与预期数据比较,下载出现问题主要是网络环境因素影响。
6.3对软件功能的结论
(1)功能1(A)
l 能力
主页让用户在第一时间快速准确的了解软件功能,页面简洁明了。
通过数据输入及链接等多项测试已证实其的能力。
l 限制
测试数据值的范围(包括动态数据和静态数据):50台PC机同时访问页面。
该系统存在瓶颈问题。
(2)功能2(B)
l 能力
图书下载让用户在能共享书籍,在最短的时间内得到所需资料。
通过数据输入及链接等多项测试已证实其的能力。
l 限制
存在数据传输错误问题和网络传输数度慢不能下载等。
6.4分析摘要
(1)能力
经主页和图书下载测试证实了的本软件的推荐和下载能力。
软件预期结果是90%能到达用户需求,而实际测试结果88%达到这个标准,已满足项目要求。
存在实际结果与预期结果差异主要有两个方面:
一是网络环境;二是测试时间。
(2)缺陷和限制
存在数据传输错误问题和网络传输数度慢不能下载:影响用户需求
(3)建议
对每项缺陷提出改进建议,如:
a.对传输问题尽量修改算法,使其达到最优;
b.两个运行项都不是很紧迫,只有在不断的时间中来查找改进方法;
c.2~3人。
6.5测试资源消耗
表8 测试资源消耗列表
名 目
|
模块名称
|
需要时间
|
需要人数
|
需机数
|
1
|
主 页
|
2天
|
2
|
2
|
2
|
图书下载
|
4天
|
2
|
2
|
参考文献
a. 本项目的经核准的计划任务书或合同,上级机关的批文:《计算机学院.软件学院学生创新团队申请书》、《计算机学院.软件学院学生创新团队项目批文》、《计算机学院.软件学院学生创新团队项目管理合同书》;
b. 属于本项目的其他已发表文件:《高效知识聚类的E-book系统相关介绍》;
c. 参考书目:
[1] 978-0-59-600681-5 《Programming PHP, 2nd Edition》Rasmus Lerdorf, Peter MacIntyre, Kevin Tatroe April 2006 O'Reilly
[2] 7-5083-0647-3 《HTML与XHTML权威指南(第四版)》Chuck Musciano,Bill KennedyCz著 陈菊明,孟浩文 译 2001年7月O'Reilly
[3] 901-0-16-789098-4 JavaScript and Ajax for the Web, Sixth Edition Tom Negrino,Dori Smith May 2005 Peachpit Press
[4] 801-0-16-21324-21 HTML, XHTML, and CSS, Sixth Edition (Visual Quickstart Guide) "The World Wide Web is the Gutenberg press of our time..." by Elizabeth Castro(Author) September 2005
[5] 782-212-2312-2435 JavaScript: The Definitive Guide, Fourth Edition By David Flanagan November 2001
[6] 889-7631-298-923 CSS Cookbook Christopher Schmitt April 2006 O'Reilly
[7] NW4043102《软件功能规格说明书编写规范》
|