刘杜娟
(山西师范大学教育科学学院,山西临汾041004)
伴随着移动互联网的快速发展,人们的生活方式发生了变化,阅读方式也逐渐从纸质书转变成电子书[1].据统计,2015年,我国成年人参与数字化阅读方式的比例为64.0%,亚马逊中国联手新华网,对数字阅读人数进行详细调查,报告显示,电子书阅读方式特别受读者的欢迎,在2013年受访者中阅读过电子书的比例是67%,2014年的比例是78%,2015年达到了84%,这些数据都表示电子书开始进入更多读者的生活[2].到了2020年电子书的发展趋势更是越来越好.越来越多的读者喜爱用电子书的方式来阅读书籍.正是在这样的背景下,“墨阅”在线阅读平台应运而生.在电子书越来越兴起的时代,它可为广大阅读爱好者提供在线观看书籍、写作以及与作家和读者交流的机会,提供更加优质的读书平台,拓展了文化交流渠道,丰富了文化产品内容形式[3].
在线阅读平台主要是为广大读书爱好者提供阅读书籍、作家创建书籍、以及读者和读者、读者与喜欢的作家交流的平台[4-5].在线阅读平台的设计与开发应具备三大模块:
(1)读者模块,读者可以搜索和观看网站上的所有免费书籍,可以对书进行加入书架和移出书架,可以对章节添加/删除书签,对个人信息进行修改.通过支付宝扫码充值虚拟币,可以对作者、书进行评论和打赏.
(2)作家模块,作家可以创建自己的作品,在线写章节,可以不定时的上传最新章节.可以更改已创建的作品的设置,申请已创建的签约作品.
(3)管理员模块,管理员可以对用户、书籍、书籍类型、标签、敏感词进行增删改查,可以上传整本书,管理背景图片.
系统采用传统B/S三层架构(数据层、业务逻辑层和Web层)开发[6],实现了数据显示与数据处理、数据处理与数据存储的分离,增强了系统的灵活性、可扩展性和安全性[7].本系统根据具体的角色功能,将整个系统分为三个大模块:读者模块、作者模块以及管理员模块,在每个模块下都有自己特有的功能,各模块之间通过设计的数据库表结构中某一字段关联起来,所有功能组合在一起就构成一个完整的书城用户生态和后台管理运营系统,如图1所示.
图1 系统架构Fig.1 System architecture
本系统定义的入口位于网站首页[8],根据登录用户属性的不同分别进入读者模块、作者模块和管理员模块,最后可以在不同的流程上终止.本系统提供了完善的书城体验和作者平台创作,管理员可以对整个系统的资源进行管理.读者可以在不登录的情况下对网站展示的排行榜、精选、新书上架等模块进行访问,也可进行基本的阅读体验,浏览其他人的评论;在注册或者登录已有账户后,用户可以查看自己浏览记录、添加书架、添加书签、账户充值及购买、对书籍进行评论、修改密码、更换绑定邮箱、手机账号,也可申请成为作者.作者页面的入口在读者页面进入,对已创作书籍进行管理,也可创建新书,进行写作,对已创作书籍进行签约操作.管理员身份拥有最高权限,可以对系统内所有用户、书籍、类型标签、敏感词进行管理,对用户提交的审核请求进行回复和反馈,为方便系统资源的快速积累,管理员还可以上传指定格式的书籍,并直接生成可供用户阅读的资源,如图2所示.
图2 系统流程Fig.2 System flow
2.3.1 读者登录注册模块流程 读者登录注册模块流程如图3所示.
图3 读者模块流程Fig.3 Reader module flow
(1)账户分为三种,管理员有特殊的申请渠道,而读者账号以及作家账号都是需要申请才能得到正规的官方确认.在注册页面,用户填写其基本信息,并使用邮箱验证确认其身份,通过与数据库里的所有信息进行比对后,发现无重复后,用户方能进行申请账户,成为合法读者.
(2)根据注册时的信息,用户可采用账号、手机号、邮箱号三者之一登录,使用户的登录不再局限于一种.
(3)当用户忘记密码或要修改密码时,均可通过该页面进行修改.经过对用户注册时填写的邮箱验证,填写正确的验证码后,方能进行密码修改.
(4)为了保证用户的预存信息能够更改,特此做出了安全中心模块.在个人中心点击安全中心进入后,即可对自己注册时的预留信息进行更改,以及密码管理、绑定第三方账号等操作.
(5)在用户进行登录后,点击书籍详情页的加入书架,可将喜欢的书籍加入自己的书架,便于往后的继续阅读,书架在每个页面都有显示,点击后可直接进入个人中心,进行一些操作,如查看浏览记录、消息中心等.
(6)加入书架后的书籍显示在此页面,可对书架里的书删除处理,在书架的上方还有用户推荐,根据用户加入书架的书籍,给予类似书籍的推荐,让用户更快的找到自己喜欢的书籍.
(7)当用户非常喜欢某一本书时,可以对其做出一些赞誉的行为.比如对这本书或这个作者进行打赏.这不是一种强制性的付费方式,打赏完全出于用户自愿,不影响用户体验.支付系统为“墨阅”币,用户可进行充值获取.打赏的记录也会被系统实时记录,用户可在个人中心的财务管理进行查看.
(8)用户在打赏以及订阅书籍时,都需要“墨阅”币进行支付,当在某些页面点击充值时,或者在支付时余额不足时,都会进入充值页面,由用户确认是否充值.充值后,用户可在个人中心查看充值记录,进行充值记录的删除,对用户的隐私进行保护.
(9)在书籍处点击阅读进入阅读页面,在此页面,用户可对章节文本进行设置,如文字大小、页面宽度等.用户在不进行阅读时,可对阅读的位置加入书签,便于往后的继续阅读.如果用户想要评论此书籍,也可点击右侧评论按钮进入书籍评论区,与共同喜欢此书籍的读者进行阅读心得分享.在用户每阅读一本书时,系统会自动加入书单,形成一个用户阅读的历史浏览,保存用户在系统的足迹,用户可在个人中心页面点击我的书单进行浏览.
2.3.2 作家模块流程 作家模块流程如图4所示.
图4 作家模块流程Fig.4 Author module flow
(1)用户在登录后点击写作,即可进入作家页面,创建属于自己的书籍、新申请的书籍、系统会自动在首页上进行推荐,使得每位新生作家新写的书都有被大家看到的权利.用户在创建书籍时需要按照页面的内容依次进行填写,否则将会创建失败.
(2)创建书籍完成后,作为一个作家则需要进行写作,按时更新,才是对读者的最大负责,如果一本书籍长时间不更新.则会被自动评判为完结状态,不能继续进行写作.作家在进行写作时,需要避免敏感词,如果章节中被系统评判为含有敏感词,则不能继续上传.
(3)在网站中书籍分为vip和免费两种类型,vip书籍是作家与本网站进行签约后的书籍,签约的书籍在经过前三十章免费书籍后,需要读者对其购买、订阅后方能查看.如果作家想让自己的未签约书籍成为vip书籍,需要向本网站管理员发出申请,由管理员进行确认后,方能签约成功.
(4)在作家进行写书后,会有一个专属页面,在自己创作的书籍处,均可点击作者名称进入作家的页面,其中涵盖了作家所有的书籍,使得用户能够更快的查看到作家所写的全部书籍.
2.3.3 后台管理模块流程 后台管理模块流程如图5所示.
图5 管理员模块流程Fig.5 Flow of administrator module
后台管理系统只能由管理员进行登录操作,后台管理模块使用频率以及使用人数较少,主要负责书籍管理和审核管理,后台管理模块涵盖了本网站所有的数据,是十分重要的系统,作为管理员,也不能轻易的进行更改数据.
(1)在后台的用户管理页面,可直接看到所有的本网站用户,可以对用户进行删除、信息更改等一系列操作,防止有违规现象发生.
(2)后台的书籍管理内容为网站所有的书籍,按照作家的名称进行排布,管理员可查看书籍基本信息,并进行更改.如果发现某本书籍违规,也可以直接进行删除处理.
(3)在作者发起申请,想要把自己的书籍成为签约状态时,需要管理员进行审核,此页面分为已审核与未审核,点击后即可查看相应的页面.在未审核中,页面分为已查看与未查看,管理员在查看后,可以对书籍进行审核,如果不给予通过,需要发送不通过理由,以便作家进行及时的改正,如果审核通过,那么会自动的向作家发送作品审核通过字样,作家的作品签约,成为vip书籍.
(4)所有的书籍都有自己的类型,在书籍管理页面汇总了所有的书籍类型,包括父类型子类型等.每一个父类型还有一张背景图片需要添加,背景图片会在此类型的书籍的详情页显示.管理员也可以对书类型进行管理,如新增父类型、新增子类型、删除等一系列操作.尤其要注意的是在新增一个类型时要注意上传图片,及时添加其子类型.
(5)标签是书籍大致结构的体现,拥有标签也是十分必要的,对此,特别在后台添加了一个标签管理的页面.在此页面,管理员同样可以进行增删改操作.
(6)为了方便管理,大部分网站、平台都进行了敏感词的设定.在本平台中,敏感词指的是带有暴力倾向、敏感政治倾向、不健康色彩的词语或者不文明用语,当然有些敏感词的设定需要根据自身实际情况,如仅仅适用于本网站的特殊词汇.在敏感词管理页面,管理员可根据网站的规定进行对敏感词的删除与添加.
(7)上传书籍有两种途径,一种由作者直接创建书籍,还有一种就是由后台直接上传.后台上传支持txt文件直接上传,若直接有写好的文件,可直接通过后台上传书籍.
2.3.4 在线阅读平台主页内容模块流程
(1)排行页面是在后台进行精密计算后,给予出的各类书籍的排行,并且每天会进行更新,保证榜单的最新状态[9].目前此页面显示的有四个榜单,分别为收藏榜,点击榜,销量榜,综合榜.收藏榜里的是按照读者加入书架的次数进行排序;点击榜则是读者点击的次数进行实时排布;销量榜是本系统里的vip书籍的专属榜单,已签约的书籍在经过前三十章免费阅读后,剩下的章节按字数进行收费,针对于不同的读者,vip书籍也会有相应的打折处理,在此榜单里,许多都是精品书籍,很值得读者观看.综合榜则是依据书籍所有数据,经过精密算法后遍历的榜单.在各榜单上点击更多则可以进入榜单的详情页,里面涵盖了榜单的所有书籍,不止前面看到的十本.
(2)在首页点击作品分类后以及点击全部作品进入此页面.在此全部作品页面其内涵盖了本系统所有的书籍,读者可以在其内进行高级检索,快速找到自己喜欢的类型,并即刻进行阅读.
(3)免费页面包括限时免费和免费书籍.我们在考虑用户为普通用户的情况下,用户也想要去阅读vip书籍,特此我们推出了活动书籍板块,在此板块的书籍均为vip书籍,在特定的时间内进行不收费处理,使得普通用户也有阅读vip书籍的权利,增大读者的阅读书籍的兴趣.
如图6所示,为系统的概念设计实体关系图,图中标明了读者、作家、管理员等实体之间的属性关系[10].
图6 系统E-R图Fig.6 E-R diagram of the system
总数据流图见图7.
图7 总数据流图Fig.7 Total data flow diagram
细化数据流图见图8.
图8 细化数据流图Fig.8 Flow diagram of refined data
3.3.1 用户表 主要记录用户的基本信息,结构如表1所示.
表1 用户表Tab.1 User table
3.3.2 书籍/章/节信息表 主要记录书籍/章/节的详细信息,结构如表2所示.
表2 书籍/章/节信息表Tab.2 Book/Chapter/Section information table
在线阅读平台是一个能够很好地为读者提供阅读和交流的平台,如果系统不能正常运行,将会给读者、作家带来很大的不便.对于软件的稳定性、软件数据正确性、以及对错误数据的处理能力都有很高的要求,因此要严格测试系统的各个功能,把出现错误的机率降到最小,同时发现与现实中不相符的地方加以改正.
本系统测试目的在于制定测试阶段的测试计划以及分析预期的测试结果[11].根据该被测软件的需求分析、概要设计说明、用户手册等输入条件拟制系统测试的说明,并在此基础上设计详细的测试用例.
基于不同的立场,存在不同的测试目的[12].从用户角度出发,希望通过软件测试暴露软件隐藏的错误,从而考虑是否接受该产品.从软件开发者的角度出发,希望表明软件产品不存在错误和缺陷,验证软件能正确地实现用户需求,确立人们对软件质量的信心.从软件管理者角度出发,希望花费有限的资源达到该软件的质量要求,经费和进度是考虑的焦点.
测试的目标就是以最少的时间和人力找出软件中潜在的各种错误和缺陷,证明软件的功能和性能与需求说明相符,此外,实施测试收集到的测试结果数据结果也为可靠性分析提供了依据.
GB/T 16260-2006软件工程产品质量
GB/T 18905-2002软件工程产品评价
CSTCJSBZ02应用软件产品测试规范
CSTCJSBZ03软件产品测试评分标准
系统测试从功能、性能、可用性、操作性等方面运行测试,涵盖单元测试,集成测试,系统测试[13].
4.5.1 测试环境 软件环境见表3.
表3 软件环境Tab.3 Software environment
硬件环境见表4.
表4 硬件环境Tab.4 Hardware environment
4.5.2 测试内容 功能测试见表5.
表5 功能测试Tab.5 Functional tests
非功能测试见表6.
表6 非功能测试Tab.6 Non-functional tests
4.5.3 测试方法 系统的功能测试选用的是手工测试,测试的重点在于功能的实现上,运用黑盒测试中的等价类划分、边界值分析、错误推测、因果图法.系统的界面方面的测试包括:易用性测试、规范性测试、合理性测试、美观与协调性测试、快捷方式组合测试[14].系统的安全性、兼容性、配置测试也是手工测试.
单元测试采用白盒测试的方法进行测试,检测程序的内部结构.主要采用静态测试是在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷.
4.5.4 测试用例设计 测试用例包含登录功能测试见表7.
表7 登录功能测试用例表Tab.7 Login functional test case table
读者/作家/管理员功能测试见表8.
表8 读者/作家/管理员功能测试用例表Tab.8 Reader/Writer/Administrator functional test case table
界面导航功能测试见表9.
表9 界面导航功能测试用例表Tab.9 Interface navigation function test case table
4.6.1 测试概要 性能测试的目的是做大程度地模拟真实业务场景,来验证系统的性能指标,并发现可能存在的性能瓶颈.性能测试包含以下几个方面的测试.负载测试检测系统随着工作负载增加时的性能.压力测试的目标是检测软件的稳定性.耐力测试评估软件性能如何在长时间执行正常工作的,目标是检查系统问题.可扩展性测试是用来确定软件是否有效的处理日渐增长的工作负载.容量测试确定软件在大量、预期数据量下的执行效率.
4.6.2 测试内容 依据在线阅读平台的关键功能及功能的使用频率,制定以下功能点为本次性能测试范围,以及对应需满足的性能指标,如表10所示.
表10 性能测试范围Tab.10 Performance test range
4.6.3 测试预期结果 以系统中的用户管理、课程管理、学习者中心查看、学习资源管理、课程学习等重点模块进行性能测试,测试预期结果见表11.
表11 性能测试预期结果Tab.11 Expected results of performance tests
在线阅读平台突破了时间、空间的限制,用户可以利用计算机、智能手机等设备,通过网站、手机APP等进行在线阅读,阅读手段和方式比较丰富[15].平台能够实现用户在线检索、阅读、互动交流,打赏作者,申请成为作者等功能,但平台很多细节还有待优化,接下来将完善细节,着重建设丰富资源,为用户创造更多更新的在线阅读服务.