1、 基于微信平台的校园微快递系统专 业: 软件工程 1摘 要:近年来,微信的普及,越来越多的人开始使用微信,截止到2014 年底,微信用户量已达 6 亿多。作为一名当代大学生,深知微信能够给大学生带来很多的利益,结合学校快递量多,不方便领取等特点,开发了“基于微信平台的校园微快递系统”,其实现的主要功能是帮助同学们提取快递,更加方便同学们的生活,另外本系统还有增值服务,是提供给在校大学生一个创业的舞台,同学们可以在“校园微商城”及“校园微服务”平台上展示自己的商品与服务。因此,我希望能够通过设计与实现本系统,为同学们带来更多的利益的同时,为自己的人生赢得更多的乐趣及意义。本设计说明书根据大学生领
2、取快递难,及商品服务交易难的实际情况,详细介绍了基于微信平台的校园微快递系统的设计和实现流程。系统运用软件工程原理和开发方法,通过可行性研究、需求分析、概要设计、详细设计等步骤进行分析和设计,并采用 JSP MVC 模式、JQuery 框架以及 MySQL 5.0 数据库等技术来设计开发。使用 MVC 模式来将业务逻辑和数据显示分离;使用实体类与数据库数据进行管理。AJAX 技术以及 JSON 数据交换格式等开发实现。同时,采用 MyEclipse 作为开发工具和 MySQL 5.0 数据库实现数据存储。系统能够解决领取快递难及商品交易难的问题,包括微快递,微商品,微服务的下单,查询及签收等功
3、能模块,从而实现 O2O 线上线下交易快捷化。关键词:校园微快递,微信开发,MVC ,JSP ,AJAX ,HTML+ CSS + JS,MySQL2Abstract: In recent years, the popularity of We Chat, more and more people begin to use micro letter, by the end of 2014, has reached more than 600 million users micro letter.As a contemporary college students, know micro let
4、ter can bring a lot of benefits to college students, combined with the school express capacity is much, not convenient to get and other characteristics, has developed a “campus micro delivery system based on micro letter platform“, the implementation of the main function is to help the classmates to
5、 extract express, more convenient students life, and value-added services, in addition, our system is to provide the college students an entrepreneurial stage, the students can in micro “campus mall“ and “campus micro service“ platform to showcase their products and services.Therefore, I hope I can
6、through the design and implementation of this system, to bring more benefits to the students at the same time, to win more pleasure and meaning for your life.This design specifications according to the college students to receive delivery is difficult, and the actual situation of goods and services
7、trade is difficult, are introduced in detail based on micro letter platform of campus micro delivery system design and implementation of the process.System using the principle of software engineering and development methods, through the feasibility study, demand analysis, general design, detailed de
8、sign, such as step carries on the analysis and design, and USES the JSP MVC pattern, the JQuery framework and MySQL 5.0 database technology to design and development.Using the MVC pattern to separate the business logic and data display;Using entity class with the database data.AJAX technology and im
9、plemented the JSON data interchange format.At the same time, the use of MyEclipse as development tools and MySQL 5.0 database for data storage.System can solve the problem of hard to receive Courier and commodity trading, including delivery, small commodities, micro service order, query and receipt
10、function modules, such as to achieve O2O online trading high-speeding.2Key words: The We Express Of the university,The Development Of We Chat , MVC ,JSP ,AJAX ,HTML+ CSS + JS ,MySQLI目录引 言 1第 1章 概 述 .21.1 系统开发背景 .21.2 系统研究目标和内容 .2第 2章 可行性研究 .32.1 技术可行性 .32.1.1 开发技术 .32.1.2 开发环境 .52.2 操作可行性 .5第 3章 需求分
11、析 .63.1 功能概况描述 .63.2 功能用例图及活动图 .7第 4章 概要设计 174.1 系统类图与顺序图 174.2 数据结构与数据库设计 254.2.1 基本实体表 .254.2.2 CDM 图 254.2.3 部分表设计 .26第 5章 详细设计 285.1 开发准备 285.2 用户管理模块 295.2.1 商家注册 295.2.2 普通用户注册 325.2.3 管理员,商家登录 34II5.2.4 普通用户登录 .365.2.5 用户管理 .395.2.6 商家个人信息 .415.2.7 普通用户个人信息 .435.2.8 查看论文功能 .455.2.9 审阅功能 .475.
12、2.10 评阅功能 485.3 商店信息管理模块 515.3.1 商店列表(商家) 515.3.2 商店列表(普通用户) 525.4 商品信息管理模块 535.4.1 商品管理(商家) 535.4.2 商品列表(普通用户) 535.5 订单信息管理模块 535.5.1 用户订单管理 535.6 校园微快递管理模块 535.6.1 快递跑腿下单 535.6.2 快递跑单查询 535.6.3 快递跑单签收 53第 6章 系统测试与运行 .556.1 系统测试描述 556.2 用户注册测试 556.2.1 测试目的 .556.2.2 测试过程及结果 556.3 用户登录测试 566.3.1 测试目的
13、 566.3.2 测试过程及结果 .566.4 创建商店测试 56III6.4.1 测试目的 566.4.2 测试过程及结果 .566.5 微快递跑单签收测试 576.5.1 测试目的 576.5.2 测试过程及结果 .57结束语 59参考文献 .60致 谢 62第 1 页 共 62 页引 言建立一套校园微快递系统,能够改善校园快递量堆积量多,方便同学领取快递,及解决同学们校内商品服务交易难,提高同学们在大学生活中的效率,同时,也加强了管理的手段来记录每一次交易。计算机的应用已经渗透到了各个领域,使用计算机对校园快递等其他商品服务进行有效化服务,其信息的传递的速度、明了及管理方式具有其他管理方
14、式所无法比拟的优点,使得整个服务流程更加系统、规范,大大提高大学生的生活效率的同时,也让大学校园迈入了一个新的台阶。因此,一套有效、规范化的校园微快递系统对于一所高校而言是绝对必要的。本系统的主要目的在于在解决学生领取快递难的同时,能够增加一些其他增值业务帮助同学们获得更多的服务。该系统采用 B/S 结构,利用 JSP MVC 框架、JQuery Mobile 框架以及 MySQL 5.0 数据库等技术来设计开发。其中,部分页面开发运用了 AJAX 技术及 JSON 数据交换格式;使用 MVC 模式来将业务逻辑和数据显示分离;使用实体类与数据库数据进行管理。至此,本设计说明书着重介绍了校园微快
15、递系统的分析与设计过程,共分为 6 章。第 1 章概述,主要介绍了系统的开发背景、研究目标和内容;第 2 章可行性研究,主要介绍了系统技术和操作可行性;第 3 章需求分析,主要介绍了通过分析提炼功能用例图等面向对象模型;第 4 章概要设计,包括系统总体设计、数据库设计等内容;第 5 章详细设计,主要介绍开发前的准备以及各个功能模块的详细设计过程;第 6 章系统测试运行,主要介绍通过测试检测系统运行效果和稳定性,是否达到预期目标。第 2 页 共 62 页第 1章 概 述1.1 系统开发背景近年来,微信的普及,越来越多的人开始使用微信,截止到 2014 年底,微信用户量已达 6 亿多。作为一名当代
16、大学生,深知微信能够给大学生带来很多的利益,结合学校快递量多,不方便领取等特点,开发了“基于微信平台的校园微快递系统”,其实现的主要功能是帮助同学们提取快递,更加方便同学们的生活,另外本系统还有增值服务,是提供给在校大学生一个创业的舞台,同学们可以在“校园微商城”及“校园微服务”平台上展示自己的商品与服务。因此,我希望能够通过设计与实现本系统,为同学们带来更多的利益的同时,为自己的人生赢得更多的乐趣及意义。1.2 系统研究目标和内容面对起来越多的校园快递,以及商品,急需一个完备的系统来解决取件难及交易难的问题。因此,开发该校园微快递系统是必然的。而校园微快递系统的开发正是为了满足校园学生们对该
17、系统的需求,能够通过本系统来方便快递领取,及卖家与买家之间的沟通联系,使得整个系统更具价值性。此系统大大提高了学生之间的交易效率和质量。本设计说明书主要阐述一个功能比较完整的校园微快递系统都是系统的后台操作过程及一些关键技术。它能够基本满足学生之间交易的基本要求和过程。包括:微快递,微商品,微服务下单,查询,签收等等功能。此外,本系统采用 B/S 结构,基于其可管理性、易于部署、便于维护以及扩展性等诸多优点,将能够很好地完成系统所要求的全部功能。第 3 页 共 64 页第 2章 可行性研究2.1 技术可行性2.1.1 开发技术1微信开发微信提供给开发者强大的 API,使得开发者能够通过微信公众
18、平台很好的开发出优秀的公众号,微信提供给开发都以下开发接口: 接收和发送消息(包含文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、链接消息) 用户管理 自定义菜单管理 数据统计接口 微信 JS-SDK 微信小店接口 微信卡劵接口 微信智能接口等微信开发支持多种语言,包含Java、 PHP、ASP.NET 、Ruby 、Python 、Note.js 等,本系统采用的 Java 语言进行开发。2. AJAXAJAX 是指一种创建交互式网页应用的网页开发技术 1,Ajax 的核心是JavaScript 对象 XmlHttpRequest。该对象在 Internet Explore
19、r 5 中首次引入,它是一种支持异步请求的技术。通过 AJAX,JavaScript 可使用 JavaScript 的XMLHttpRequest 对象来直接与服务器进行通信。使用这个对象, JavaScript 可在不重载页面的情况与 Web 服务器交换数据。简而言之, XmlHttpRequest 可以使用 JavaScript 向服务器提出请求并处理响应,而不阻塞用户。3JSP MVC 模式第 4 页 共 64 页模式视图控制器(ModelViewController ,MVC)是一种先进的设计模式。是 Trygve Reenskaug 教授于 1978 年最早开发的一个设计模版或基本结
20、构,其目的是以会话的形式提供方便的 GUI 支持。MVC 设计模式首先出现在Smalltalk 编程语言中。MVC 是一种通过 3 个不同部分构造一个软件或组件的理想办法: 模式(Model)用于存储数据的对象 视图(View )为模式提供数据显示的对象。 控制器(Controller )负责具体的业务逻辑操作。即控制器根据视图提出的要求对数据做出处理,并将有关结果存储到模型中,同时负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。从面向对象的角度看,MVC 结构可以使程序更具有对象化特性,也更容易维护。在设计程序时,可以将某个对象看做“模型”,然后为“模型”提供恰当的显示
21、组件,即“视图”。在 MVC 模式中,“视图”、“模型”和“控制器”之间是松散耦合结构,便于系统的维护和扩展。图 2-1 MVC 关系图 34HTML5 + CSS + JavaScript第 5 页 共 64 页HTML 5 有两大特点:首先,强化了 Web 网页的表现性能。其次,追加了本地数据库等 Web 应用的功能。广义论及 HTML5 时,实际指的是包括HTML、CSS 和 JavaScript 在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、M
22、icrosoft Silverlight,与 Oracle JavaFX 的需求,并且提供更多能有效增强网络应用的标准集。支持 Html5 的浏览器包括 Firefox(火狐浏览器),IE9 及其更高版本, Chrome(谷歌浏览器),Safari,Opera 等;国内的遨游浏览器(Maxthon),以及基于 IE 或 Chromium(Chrome 的工程版或称实验版)所推出的 360 浏览器、搜狗浏览器、QQ 浏览器、猎豹浏览器等国产浏览器同样具备支持 HTML5 的能力。级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet
23、)”,它是用来进行网页风格设计的。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设立样式表,可以统一地控制 HTML 中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力。JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端 Web 开发的脚本语言,常用来给 HTML 网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich 设计,是一种动态、弱类型、基于原型的语
24、言,内置支持类。JavaScript 是 Sun 公司的注册商标。Ecma 国际以 JavaScript 为基础制定了ECMAScript 标准。JavaScript 也可以用于其他场合,如服务器端编程。完整的JavaScript 实现包含三个部分:ECMAScript ,文档对象模型,字节顺序记号。5. JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 6。JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个
25、字符串看起来有点儿古怪,但是 JavaScript 很容易解第 6 页 共 64 页释它。6. JQuery MobilejQuery Mobile 是 jQuery 在手机上 和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来 jQuery 核心库,而且会发布一个完整统一的jQuery 移动 UI 框架。支持全球主流的移动平台。jQuery Mobile 开发团队说:能开发这个项目,我们非常兴奋。移动 Web 太需要一个跨浏览器的框架,让开发人员开发出真正的移动 Web 网站。尽管 jQuery Mobile 利用最新的 HTML5、CSS3 和 JavaScript,
26、但并非所有移动设备都提供这样的支持。jQuery Mobile 的哲学是同时支持高端和低端设备,比如 那些没有 JavaScript 支持的设备,尽量提供最好的体验。jQuery Mobile 目前支持以下移动平台:1. Apple iOS:iPhone、iPod Touch、iPad(所有版本)2. Android:所有设备(所有版本)3. Blackberry Torch(版本 6)4. Palm WebOS Pre、Pixi5. Nokia N900(进程中)2.1.2 开发环境本系统是在 Windows 7 操作系统下,基于 JSP 和手机微信的 B/S 结构系统。本系统主要使用 HT
27、ML5 + CSS + JavaScript 及 JQuery Moblie 等来完成前台页面的开发,由 MySQL 5.0 完成数据库、表的设计。运用 MVC 模型将前台,数据和业务逻辑分离。2.2 操作可行性对于这套系统而言,在投入使用前,会由开发并能熟练操作本系统的工程人员对用户群进行专业系统的培训。培训内容应包括,熟练掌握系统的各个功能和简单的系统维护,在开发设计程序的过程中直观的界面和控件的文字解释完全能使得用户充分理解起功能和意义,所以本系统的操作是完全可行的。第 7 页 共 64 页第 3章 需求分析3.1 功能概况描述校园微快递系统的主要任务是:根据不同的角色赋予不同的职责以及
28、实现的基本功能的填充。即用户模块和服务提供者模块,该系统需要完成的基本任务是系统的规划与功能、性能分析与实现、模块的划分以及各个模块实现的功能等。校园微快递系统主要功能需求:一、用户信息管理模块主要包括四个子模块:1用户信息添加模块:主要功能完成用户信息的注册。2用户信息查询模块:主要功能完成用户信息的查询。3. 用户信息修改模块:主要功能完成用户信息的修改。4用户信息删除模块:主要功能完成用户信息的删除。二商店管理模块主要包括四个子模块:1商店信息添加模块:主要功能完成商店信息的注册。2商店信息查询模块:主要功能完成商店信息的查询。3. 商店信息修改模块:主要功能完成商店信息的修改。4商店信
29、息删除模块:主要功能完成商店信息的删除。三商品管理模块1商品信息创建模块:商店创建自己所能提供商品的相关信息。2商品信息查询模块:商店可对自己所提供的商品进行查询操作。3商品信息修改模块:商店可对自己所提供的商品进行修改操作。4. 商品信息删除模块:商店可对自己所提供的商品进行删除操作。第 8 页 共 64 页四、订单管理模块主要包括四个子模块:1订单创建模块:用户根据自己的需求,对某件商品进行下单。2订单查询模块:用户根据自己的 ID 查询自己已下订单状态信息。3订单取消模块:用户根据自己的需要,可在下单后进行取消订单操作。4. 订单签收模块:用户根据商品是否完成,可以对订单进行签收操作。3
30、.2 功能用例图及活动图1总用例图根据需求分析可以得出以下总的系统用例图。图 3-1 系统总用例图第 9 页 共 64 页2子用例图用例名称:用户管理执行者:管理员用例图:图 3-2 用户管理用例图包含用例:用户信息添加,用户信息查询,用户信息修改,用户信息删除对应用户管理活动图如 3-3 所示。在用户管理功能中,管理员可以选择执行四种操作,分别是:用户添加,用户查询,用户修改,用户删除。用户注册或绑定之后,管理员可以对用户进行查询,修改,及删除操作。同时,用户本身也可以对自已的个人信息进行以上操作。图 3-3用户管理用例图第 10 页 共 64 页用例名称:商店创建执行者:商家用例图:图 3
31、-4 商店创建用例图包含用例:商店信息创建,商店信息查看,商店信息修改,商店信息删除对应商店创建活动图如 3-5 所示。在商店创建功能中,商家可以执行创建商店。在创建商店之后,商家可以对商店进行查看,修改,及删除操作。在完成创建之后,商店需要通过管理员的审核方可显示在“校园微商城”页面中。图 3-5商店管理用例图第 11 页 共 64 页用例名称:商店审核执行者:管理员用例图:图 3-6 商店审核用例图包含用例:商店信息查看,商店信息审核对应商店审核活动图如 3-7 所示。在商店审核功能中,商家在完成商店创建后,管理员便可以查看到商店的详细信息,判定符合要求后,管理员就可以对商店进行审核,商店
32、一旦审核之后,就会显示在“校园微商城”的页面当中了。图 3-7商店审核用例图第 12 页 共 64 页用例名称:商品创建执行者:商家用例图:图 3-8 商品创建用例图包含用例:商品信息创建,商品信息查看,商品信息修改,商品信息删除对应商品创建活动图如 3-9 所示。在商品创建功能中,商家可以执行商品创建。在创建商品之后,商家可以对商品进行查询,修改,及删除操作。在完成创建之后,商品需要通过管理员的审核方可显示在“校园微商城”页面中。图 3-9商品管理用例图第 13 页 共 64 页用例名称:商品审核执行者:管理员用例图:图 3-10 商品审核用例图包含用例:商品信息查看,商品信息审核对应商品审
33、核活动图如 3-11 所示。在商店审核功能中,商家在完成商品创建后,管理员便可以查看到商品的详细信息,判定符合要求后,管理员就可以对商品进行审核,商品一旦审核之后,就会显示在“校园微商城”的页面当中了。图 3-11商店管理用例图第 14 页 共 64 页用例名称:订单管理执行者:普通用户用例图:图 3-12 订单管理用例图包含用例:订单信息创建,订单信息查询,订单信息取消,订单信息签收对应商品创建活动图如 3-13 所示。在商品管理功能中,用户可以选择执行四种操作,分别是:创建商品,查询商品,修改商品,删除商品。在创建商品之后,用户可以对商品进行查询,修改,及删除操作。在完成创建之后,需要通过
34、管理员审核方可显示在页面中。图 3-13订单管理用例图第 15 页 共 64 页第 4章 概要设计4.1系统类图与顺序图1登陆模块图 4-1 登陆模块类图由 4-1 静态类图可以发现,登陆过程中有两个类进行交互,分别是LoginController 类和 AccountService 类, 进一步可以得到顺序图,明确类与类之间的交互。如图 4-2 所示。图 4-2 登陆模块顺序图第 16 页 共 64 页2创建商品功能图 4-3 商品管理类图由 4-3 静态类图可以发现,商品管理过程中有两个类进行交互,分别是ProductController 类和 Product 类, 进一步可以得到顺序图,
35、明确类与类之间的交互。如图 4-4 所示。图 4-4 商品管理顺序图第 17 页 共 64 页第 18 页 共 64 页3用户下单功能图 4-5 用户下单类图由 4-5 静态类图可以发现,选取学生过程中有三个类进行交互,分别是OrdersController 类,Orders 类, 进一步可以得到顺序图,明确类与类之间的交互。如图 4-6 所示。图 4-6 用户下单顺序图第 19 页 共 64 页4商店管理功能图 4-7 商店管理类图由 4-7 静态类图可以发现,选题审批过程中有三个类进行交互,分别是BussinessController 类,User 类,Bussiness 类,进一步可以得
36、到顺序图,明确类与类之间的交互。如图 4-8 所示。图 4-8 商家管理顺序图第 20 页 共 64 页5用户信息管理图 4-15 用户信息管理功能类图由 4-15 静态类图可以发现,开题报告功能过程中有两个类进行交互,分别是 UserController,User 类, 进一步可以得到顺序图,明确类与类之间的交互。如图 4-16 所示。图 4-16 学生信息管理顺序图4.2数据结构与数据库设计4.2.1 基本实体表序号 表名 说明1 user 用户表,用于存放用户信息2 bussiness 商家表,用于存放商家特有信息 3 producct 商品表,用于存放具体商品信息第 21 页 共 64
37、 页4 orders 订单表,用于存放订单信息4.2.3 数据库表设计 表 4-1用户表主要字段字段名 说 明 类 型 是否为空 主键id 用户 ID BIGINT 否 是openid 微信 ID VARCHAR 否 否login_name 用户帐号 VARCHAR 否 否password 用户密码 VARCHAR 否 否phone_num 联系方式 VARCHAR 否 否表 4-2 商店表主要字段字段名 说 明 类 型 是否为空 主键id 商店 ID BIGINT 否 是user_id 用户 ID BIGINT 否 否name 商店名称 VARCHAR 否 否Property 商店性质 VA
38、RCHAR 否 否protocol 商店协议 VARCHAR 否 否stat 审核状态 VARCHAR 否 否表 4-3 商品表主要字段字段名 说 明 类 型 是否为空 主键id 商品 ID BIGINT 否 是bussiness_id 商店 ID BIGINT 否 否category_id 分类 ID BIGINT 否 否name 商品名称 VARCHAR 否 否price 商品价格 VARCHAR 否 否description 商品描述 VARCHAR 否 否第 22 页 共 64 页image 商品图片 VARCHAR 否 否stat 审核状态 VARCHAR 否 否表 4-4 商品订单
39、表主要字段字段名 说 明 类 型 是否为空 主键id 订单 ID BIGINT 否 是user_id 用户 ID BIGINT 否 否product_id 商品 ID BIGINT 否 否down_time 下单时间 VARCHAR 否 否rev_time 签收时间 VARCHAR 否 否第 23 页 共 64 页第 5章 详细设计5.1开发准备本系统采用了 SpringSide 框架开发了校园微快递系统。本系统是基于流行的 B/S 模式。在数据库的连接上面本系统的连接字符串存储在系统的配置文件中,即 application.properties 文件中,当系统变化的时候只需要改动本系统的配置
40、文件就可以,不需要在每个页面修改连接字符串语句,大大提高了系统的可移植性,系统中所有和数据库有关的操作都通过类来实现,大大提高了代码的耦合性,当数据库类型等信息变化后直接修改类文件就可以了。另外,由于本系统采用了 MVC 模式,将前台视图,数据操作和后台控制很好的区分开来,这样不仅使系统文件一目了然,更便于日后的维护和使用。application.properties 文件配置,用于连接数据库文件:#mysql database settingjdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:/localhost:3306/xet?useUnicode=true&characterEncoding=utf-8jdbc.username=rootjdbc.password=123456#connection pool settingsjdbc.pool.maxIdle=10jdbc.pool.maxActive=505.2 用户管理模块5.2.1 商家注册1.界面设计商家可以在浏览器输入 (校 e 淘网),点击注册按钮,填写相应信息后,即可完成注册。