校园书籍资源共享平台
Posted 今天天气真好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了校园书籍资源共享平台相关的知识,希望对你有一定的参考价值。
目录
1.绪论 1
1.1研究背景 1
1.2 国内外研究现状 1
2.系统需求分析 2
2.1可行性分析 2
2.1.1 开发必要性 2
2.1.2 技术可行性 2
2.1.3 经济可行性 2
2.2 软件性能分析 2
2.3 MVC模式 3
3.系统相关概述 3
3.1 CodeIgniter 3
3.2 Crontab定时任务 3
3.3 ci框架的路由 4
3.4 memcached 和 Redis 内存数据库 4
3.5 Mail 4
3.6 Postman 4
3.7 JQUERY+CSS+html 4
3.8 mysql 4
3.9 phpSTORM 5
4.概要设计 5
4.1 系统分析 5
4.2 流程分析 6
4.2.1前台用户业务流程 6
4.2.2 后台管理员业务流程 7
4.3 模块设计模式 8
4.3.1 图书管理模块 8
4.3.2 分类管理模块 8
4.3.3 订单管理模块 9
1.绪论
1.1研究背景
几千年来,从石刻到甲骨文,再到今天的电子书。文字的载体变化太大,阅读是唯一不变的方式。随着现代共享经济的出现,以及"互联网+"的推进, 为大学校园用户推出校园资源共享平台极其重要。其功能主要包括闲置图书的销售、捐赠和回收等。另一方面外,使用"共享经济"的模式,闲置资源可以重复使用。另一方面,对于没有经济来源的学生来说,购买新书的成本很高,所以二手书市场在校园里一直很活跃。在校园网发达的今天,校园图书共享平台能够很好地满足供需双方的需求,能够提高图书的回收利用率,降低学生图书的成本,不仅可以提高资源的利用率,还能带来一定的经济效益,最大限度地实现资源共享。
PHP是解释性的脚本语言,PHP是一种解释性的脚本语言,可以在代码写完之后执行。与c、java、c++等需要编译和执行的语言不同,它相对节省时间。在web开发领域,php是一种开发成本低、见效快的语言,所以特别适合我们这个平台的开发。
1.2 国内外研究现状
随着网络科技的迅速发展,传统的书店销售模式受到诸如场地、资金、宣传等因素制约,已经不能满足人们的日益增长的图书购买需求,给传统的售书方式带来了很大的冲击。当当网自1999年11月开通以来,目前是全球最大的中文网上书店。该管理团队是拥有多年的图书出版、零售、信息技术以及市场营销经验。每天为成千上万的网上消费者提供方便、快捷的服务,给网上购物者带来极大的方便和实惠。
对于大学生而言,大学时期正是汲取知识的重要阶段,需要阅读大量的专业书籍来充实自己。学生书籍借阅的重要来源一般都是图书馆,但是对于学生而言,需要专业的书籍长久保存且能够勾画书写课堂笔记。在大学末尾时,便会出现大量的专业书籍被当做废品卖掉的现象,造成较大的资源浪费。而且学生购买新书的成本较高,对于没有收入的大学生来讲也是一笔不小的开支。因此,学生群体是需要这样一种校园图书资源共享的平台。
书籍共享平台应运而生,约定送书时间、地点、搜索图书方便。随着人们购书观念、购物习惯的改变,这些都为校园书籍共享平台的发展提供了有力条件。这不仅是传统售书模式的发展和补充,也是一种未来图书资源共享发展的趋势。
2.系统需求分析
2.1可行性分析
针对本系统平台进行可行性分析,掌握该共享平台的大致情形,分析相关要素,探究该平台能否正常进行操作。
2.1.1 开发必要性
面对书籍的数据量较大,网络信息情况复杂,以及书籍安全等问题,构建一个高进程并发,高度可用,后期便于维护,并且能应对多变的网络状况,用户使用方便的书籍共享平台十分必要。使其能够适多变的要求,迭代频繁的业务。加强与线下同学的问卷联系,丰富图书多样化展示的途径。
2.1.2 技术可行性
PHP 是嵌入式脚本技术,是一种跨平台的服务器端。同时一个PHP页面就是一种文本型的文件,通常将PHP脚本语句嵌入到HTML页面文件中,然后由服务器解释翻译成普通的HTML文件,然后再传输到客户端浏览器,和ASP一样。在面对广泛的用户,并且随着大数据的增长和高度的流程并发性下,平台系统安全威胁逐渐发展,业务迭代频繁等。它要时刻选择合适的架构,既要有跨平台的特点,又要能连接各种数据库,而MySQL与PHP是最好的组合,效率也是最高。
2.1.3 经济可行性
PHP适合快速开发,中小型应用系统,开发成本低,对需求变化响应快。对于网络开发领域,PHP是最适合的。因为PHP是为编写Web应用程序而设计的语言,所以它无疑是最能胜任为其量身定制的Web站点的开发。用PHP写的Web后端CGI代码可以很容易的移植到不同的平台。面对快速增长的网络环境,这是长期规划的最佳选择。
2.2 软件性能分析
对于一个系统而言,软件的性能好坏是至关重要,对于企业与开发者来说无需赘述,下面以通用规则为作为标准。
(1)安全性:系统安全与否关乎正常运维,关乎能够给客户带来流畅的体验感。为防止越权使用,系统将记载操作的用户账号,记录操作执行步骤等。用户无权发布新品及查看后台别人的数据,仅仅允许管理员根据用户的卖书意愿进行统一的操作,之后便可以购物车或者购买等操作。
(2)实用性:此系统基于轻量化便捷购买售卖图书为标准出发,极大的简化用户从选书到购书,再到收货等一系列繁琐行为。可以选择使用在线支付,或者面对面付款,安全绿色。
(3)适应性:有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在Linux或者Windows等不同的操作系统,能够对变动的需求作出快速的反应。
(4)可维护性:PHP开发程序在后续维护人员拿到代码后,可以很容易的修改。PHP如果要对代码进行加密,也可以使用zend公司的权威产品zend guard来保证产品的知识产权,具有方便、安全、高效、标准化的优点。
2.3 MVC模式
MVC包括控制器部分(Controller)、模型部分(Model)和视图部分(View)。
(1)控制器的功能是调用模型和视图,在把模型产生的数据传递给视图之后将其显示出来。
(2)模型的功能则是获取数据并处理返回数据。
(3)视图的作用是将取得的数据进行美化操作,输出到用户终端。
3.系统相关概述
3.1 CodeIgniter
CodeIgniter 是一套针对 PHP 网站开发者的应用程序开发框架和工具包。它提供一套丰富的标准库、简单的接口和逻辑结构,其目的就是能够让开发人员更快速地开发项目。使用 CodeIgniter 从减少代码的编写量的方面,减轻开发者的耗费精力,从而可以是开发者以及维护者全身心投入到项目的创造性开发上。
3.2 Crontab定时任务
谈及Spring boot 必说Spring,Spring由一而简蜕变为一且简且全,边界不断拓展,成为主流。往往引入繁多的配置文件,混乱不易分清,人们有些称其为配置地狱。Spring也明白这点与之相随的微架构感念,逐渐流行,迅速开发小型单体应用极为紧迫。在开源社区持续关注下,Spring boot必将成为主宰。
简化配置,配置不如约定,习惯胜于约定,只需极少配置集成所需框架。在官方页面非常便捷的构建一个项目,可以选择多种导出方式,同时支持简洁的安全策略。项目运行可选的使用内嵌式运行容器及其强大,在系统运行同时查看修改的实时效果。
3.3 ci框架的路由
一般来说,URL字符串与其对应的控制器类/方法之间是存在一一对应关系的。URI中的段一般遵循以下模式:
example.com/class/function/id/
3.4 memcached 和 Redis 内存数据库
Memcached和Redis都是目前主流的缓存服务,他们的共同点都是内存缓存,把数据缓存到内存中,不同点是Redis支持的数据类型更多一些,且支持数据持久化,防止数据丢失。Redis支持队列, 我们的系统中可以应用在平台活动的书籍秒杀和数据处理,缓存数据,提升系统的性能。
3.5 Mail
CodeIgniter 拥有强大的 Email 类来提供如下的功能:
多协议:Mail、Sendmail 和 SMTP;多个收件人;抄送和密送;HTML 或纯文本邮件、附件;自动换行;邮件优先级;密送批处理模式;开启时,大邮件列表将被分成小批次密送;Email 调试工具。
3.6 Postman
Postman是测试工具,当用户在开发或调试web程序或网页B/S模式程序时,需要一些方法来跟踪网页请求。用户可以使用一些网络监控工具,比如著名的Firebug等网页调试工具。Postman它是不仅可以调试简单的css、html、脚本等一些基本的网页信息之外,它还可以发送使用几乎所有类型的HTTP请求的网页调试工具。所以说,在发送网络HTTP请求方面,Postman是Chrome插件类产品中的代表产品之一。
3.7 JQUERY+CSS+HTML
页面采用传统的css和html,js使用的是jquery框架,简洁方便上手快。PHP是可以嵌套在html的脚本语言,用此特性,在html页面中通过php脚本可渲染数据。
3.8 MySQL
系统选用MySQL社区版,考虑到社区版免费且便于使用可靠迅捷。大规模分布式架构中被普遍的选择。
3.9 PHPSTORM
PhpStorm是一个PHP IDE,在一定程度上,它是可以“获取”代码。它支持PHP 5.3 / 5.4 / 5.5 / 5.6 / 7.0 / 7.1 / 7.2,所以可以预防动态错误的发生,自动完成和代码重构在最佳水平,零配置调试和后续扩展的HTML,CSS和javascript编辑器的使用。IDE可以完成提供智能代码,并且语法部分可以突出显示出来,从而扩展代码格式的配置程度,即时的进行错误检查和代码折叠,并且是支持语言混合功能等。同时,在处理大型项目时,PhpStorm可帮助开发人员更有效地处理代码,从而节省开发的时间,只需单击一下即可搜索其用法、跳转到方法、函数或变量定义等。PhpStorm还提供了功能强大的内置工具可以用于调试环节、测试部分和分析应用程序。此外,PhpStorm提供了很多可以用于使用Visual Debugger调试PHP代码的选项,因此开发工作者可以一方面检查变量和用户定义的监视,从而设置断点并在运行时进行评估表达式,调试远程应用程序,另一方面同时在多个会话中进行页面的调试工作等。
4.概要设计
4.1 系统分析
此校园图书共享平台系统可分两大部分,一是用户页面用于直观展示。在用户首页显示商品分类,目前主要分为教材教辅、杂志报刊、实用技能类、考证资料类等一些常用图书的简图,此外还分为设置有推荐、最热、最新栏目,些许好书推荐和畅销图书排行,用于将大家所需要的品质图书进行重点展列。依据全部分类展示各自归属书籍,用户可以根据第一中类别的子类别进行选择加购。
推荐栏、最热栏以及最新栏的设计,管理员可以通过后台进行配置。图书搜索,与后台搜索不同,用户页面搜索主要根据书名或者关键字进行检索,用于展示与之匹配的图书相关信息。前台为用户的认证,选购,及用户信息。
如图4-1对于校园图书共享系统后层管理系统而言,后台则侧重于图书商品的管理分类、用户管理、订单管理、以及文章及广告位管理等,此外,对于系统安全有所监控,后台数据的统计和操作权限,登录地点IP都有所记录。
由于本平台系统用户进行支付操作时,后台是需要开通对应支付宝或微信等服务的通道,是需要企业或商家去支付一定的金额,且必须录入真实个人信息。出于平台系统设计的成本及技术的考虑,系统不对支付服务进行实现,但是留下相对应的接口以便后续有相关此方面的需求更改时进行实时接入。
在后台系统商品信息页面可自定义设置商品标题、分类栏目、货号库存、市场价以及商品图片和详情信息。后台首页同步显示交易订单管理,同时进行数据统计用户注册、销售金额、订单数量等状态。
图4-1 平台功能结构
4.2 流程分析
4.2.1前台用户业务流程
如4-2图中所示,未进行注册登录认证的用户可在前台浏览书籍详情细节图及相关价格类目查询,以及图书的价格方面的了解,编辑推荐以及最热最新上架的书籍等。用户需要认证后,方可在图书详情页进行支付,进而向够物车加入选择,勾选相应的合适自己的方案进行购买。
图书价格有多种可选策略,一般推荐的是用户到校内共享书屋中付费自取。当线上付费时,用户登录时可能面临想不起来账号密码的窘境,这时可通过对应手机号验证码的方式进行登录找回即可。用户注册后,可以在注册页根据提示输入信息,在提交后,系统将添加相应的用户,并且默认该用户为普通会员。
用户登录后,可进行图书的浏览与选购。对于用户选择书籍后,平台将进行保存以便下次继续浏览图书。同时用户也可以在会员管理中心查询自己的收藏以及订单情况。
图4-2前台用户业务流程图
4.2.2 后台管理员业务流程
在管理后台登录认证授权,忘记密码时也可访问对应页进行诉回。进入系统后用户可访问当前系统相关,风险监控,图书相关。在活动管理页能够对图书活动的状态进行有效的控制,如图4-3所示。
图4-3 后台管理员业务流程
订单管理是对订单及交易单据和发货的统计展示,支付管理部分是预留模块,由于某些支付的接口因素这里不去实现。系统管理是对系统信息的配置,系统迭代提示,以及操作日志的显示。安全管理是对管理员权限的划分,其次则是操作行为的安全监控。书籍管理部分是负责书籍添加、上下架信息的审核等商品分类栏目的更新管理。后台中不同的作用不同,各司其职。良好的后台可以增加校园书籍资源共享的效率,降低很多隐形的成本。
4.3 模块设计模式
模块在书籍资源共享平台的系统架构体系中是至关重要的,为了明确不同模块中的职责,需要谨慎的保持模块之间独立的关系,所以要尽可能的缩减模块依赖的程度。
在设计的过程中都是要尽可能去满足其一里氏代换原则:所有引用基类的地方,必须是能够透明地运用其子类的对象,换言之,就是说子类可以扩展父类的功能,但不能改变父类原本拥有的功能属性;其二是单一职责:即为不可以存在多于一个导致类发生改变的原由,即一个类只能负责一项职责;其三是依赖倒置原则:高层模块不应该依赖低层模块的原则,二者都应该是依赖它的抽象;抽象也不应该依赖细节部分;细节部分则应该依赖抽象部分。
在实现过程中,抽取模型行为组合不同的模块在编码过程中至关重要,任何好的代码都是尽可能短的,简洁即美。明确模块的职责,每个模块都只有一个职责。
4.3.1 图书管理模块
(1)图书展示模块:可以通过点击全部商品分类大纲选择一级类别下的二级类别,触发后即可显示对应书籍内容,也可以通过滑动页面查找或者关键字搜索到书籍,商品的具体细节在详情页均有介绍,当点击书籍详情时会显示对应图书的产品的细节图片。
(2)图书添加模块:通过后台管理商品页可以添加商品名称、分类栏目、货号、库存、市场价、售价、商品图片以及商品详情内容。
(3)修改图书模块:可以修改商品名称、分类栏目、货号、库存、市场价、售价、商品图片以及商品详情内容等模块。
4.3.2 分类管理模块
(1)分类展示模块:此模块展示书籍分类的相关信息,分类展示主要分为两级;用户触发一级分类名称时将显示二级分类描述。
(2)分类管理模块:管理员可以通过此模块管理类别名与类别级联;一方面可以点击显示对应类别,删除分类同时将与之对应分类下信息进行删除,实现删除功能;另一方面也可以增添类别的信息,增加类别主要是类别的名称信息或添加子类别。
4.3.3 订单管理模块
(1)订单管理模块:展示打印图书的配货单信息、订单号、收货人信息、支付状态、用户选择的付款方式以及配送方式、下单时间等。
(2)单据管理模块:查看后台收款单、退款单、发货单、以及退款申请等。
(3)发货管理模块:用户发货地址的管理,包括待发货人的姓名、电话、地址等信息的管理。
以上是关于校园书籍资源共享平台的主要内容,如果未能解决你的问题,请参考以下文章