版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
互联网+洗衣服务系统总体设计,软件工程硕士论文本篇论文目录导航:【题目】【第一章】【第二章】【第三章】【第四章】互联网+洗衣服务系统总体设计【5.1-5.2】【5.3-5.4】【6.1-6.4】【6.5-6.7】【以下为参考文献】第4章平台总体设计通过第三章需求分析可知,网上洗衣服务平台具有数据操作量大、用户和数据库交互频繁、数据实时性要求较高等特点,选择适宜的平台架构及实现技术进行项目开发很重要。本章将对其分层架构进行设计,对主要功能模块划分以及数据库设计。本章内容如下布置:第1节对平台的分层架构进行设计;第2节首先对运营管理端功能进行划分,其次对微信端功能进行划分;第3节对平台的数据库进行设计,主要是对平台的数据库表进行设计。4.1平台分层架构设计。本平台采用基于J2EE分层思想的SSM框架技术进行平台设计。主要包含四层,分别是表示层、控制层、业务逻辑层和数据持久层。表示层给用户提供操作界面,用户通过界面向平台发出数据请求。表示层主要通过JSP技术构建页面,使用Easy-UI框架技术和JFreeChart等技术丰富页面元素,同时使用Ajax和Post等方式方法响应用户请求。控制层主要是采用Struts框架实现,在该层设计中,需要编写Action类。在配置文件中定义拦截器,以及文件上传控件。控制层在表现层和业务层两者间主要起到关联作用。控制层根据用户请求调用业务层中相应的方式方法,并将处理结果通过Post等方式方法返回至表示层。业务逻辑层采用Spring框架实现,在该层主要完成的是Service接口的编写和接口的详细实现,例如微信接口,用于获取验证码的Submail短信服务,用于支付的Ping++支付接口以及配送端的jPush安卓通知推送,还有运营管理端中定时生成报表的Quartz定时控制和Excel生成的实现。业务逻辑层是整个架构的核心部分,在该层主要是对输入的数据进行逻辑处理,并将结果返回。数据持久层〔数据访问层〕采用MyBatis框架技术实现,在配置文件中配置JDBCTemple和数据库连接池,实现Mapper接口和持久层与SQL的映射关系。持久层主要是为业务层提供接口,在调用接口时,数据持久层会通过映射关系访问数据库。4.2平台功能划分。通过3.2.2节对平台功能性需求分析得知,运营管理端被划分成:用户管理、订单管理等五个功能模块,微信端包含用户登录、用户下单、余额充值、订单付款等功能。在运营管理端,本文作者被分配到负责价格体系和充值卡管理功能、订单修改和关闭功能以及订单审核等功能的设计。微信端,被分配到负责订单付款等功能的设计。下面将用UML序列图的方式对这些功能进一步的分析。4.2.1运营管理端。1、价格体系管理。价格体系管理是对多种用户组设定不同的价格体系,让用户享受不一样的洗衣价格。设定价格体系的首要前提是用户组必须存在。价格体系管理中有查询、添加、编辑和删除价格体系的功能,最主要的是添加价格体系功能。添加价格体系功能实现包括如下部分:输入内容:选择用户组、要设定价格的服务以及服务的价格和数量等内容。处理流程:检验输入的内容能否符合格式要求,例如价格能否是大于0的正数,用户组能否存在等;添加成功后可在列表中查询。数据输出:向管理员弹出添加成功的提示框。价格体系添加的UML序列图如此图4.2所示:2、充值卡管理。充值卡管理是对充值卡进行管理,包括充值卡的添加、查询以及使用充值卡和现金充值。充值卡的添加有单个添加和批量添加两种,批量添加是通过文件的上传下载来添加的,即下载模板和上传带有数据的充值卡文件,数据内容中卡号要求不能重复。为了保证数据的安全性和一致性,当文件中存在一样的卡号或文件中存在和平台中一样的卡号时,所有数据都会上传失败。〔1〕批量添加充值卡功能实现如下:输入内容:输入带有数据信息的模板文件。处理流程:检验内容能否符合要求,例如文件中数据格式能否正确、能否存在一样卡号等。数据输出:向管理员返回添加成功的提示框,列表中增加了充值卡数据。单个添加充值卡与批量添加充值卡类似,只是输入内容不一样,单个添加充值卡是直接输入充值卡号、密码、面值和时效等内容。批量添加充值卡的UML序列图如此图4.3所示。〔2〕使用充值卡给用户充值功能实现如下:输入内容:手机号、充值卡号和密码。处理流程:检验输入内容格式能否符合要求,例如手机号能否正确、充值卡能否使用、卡号能否存在、卡号和密码能否匹配等;用户余额能否变化。数据输出:向管理员返回结果,充值卡状态改为已使用,用户余额增加。使用充值卡充值功能的UML序列图如此图4.4所示。3、修改订单信息。管理员对订单的用户信息和价格进行修改,然后交由平台对格式等进行验证,通过即可修改成功。功能实现包括:输入内容:订单价格、修改原因、用户名、地址等信息。处理流程:检验修改的内容能否符合要求;订单表中订单信息修改成功。数据输出:向管理员弹出修改成功提示。修改订单功能的UML序列图如此图4.5所示。4、审核订单。输入内容:选择服务范围,即确定服务门店。处理流程:检验用户信息、订单信息、能否在服务范围等;核查审核过后该订单能否从列表中删除;核查订单状态能否是抢单中。输出数据:向客服弹出审核成功提示,订单状态改为抢单中。审核订单功能的UML序列图如此图4.6所示。4.2.2微信端。1、用户登录:用户通过手机号,获取验证码,将使用手机号+验证码的方式登录并同时完成注册。输入内容:输入正确的手机号,获取验证码,输入验证码。处理流程:检验手机号能否符合规则;验证码和手机号能否匹配。输出数据:登录成功,跳转到微信公众号主页。用户登录功能的UML序列图如此图4.7所示。2、余额充值:多种方式中,微信支付使用最多。充值能够给自个充值,可以以给别人充值。给自个余额充值时,只需输入金额。当给朋友充值时,需要输入正确的用户手机号和金额。下面以给朋友余额充值为例,流程如下:输入内容:输入对方正确的手机号,输入金额。处理流程:检验用户手机号能否符合规则;检验金额能否合理。输出数据:充值成功,用户余额增加。使用微信支付给朋友充值功能的UML序列图如此图4.8所示。3、订单支付:订单支付能够用余额和微信支付完成。以微信支付为例,流程如下:输入内容:输入金额。处理流程:检验订单状态能否已完成;检验微信余额能否知足支付订单金额。输出数据:支付成功,订单状态为已支付。订单支付功能的UML序列图如此图4.9所示。4.3数据库设计。数据库主要是实现平台中数据的存储和管理,是平台能够正常运行的基础。数据库设计的目的是为了更好的存储数据。在进行数据库的设计时需要遵循一些数据库设计的原则,例如安全性等,进而设计出更好的数据库。4.3.1数据库表设计。遵循数据库设计原则,经过项目团队对平台整体功能讨论,共同对数据库表进行设计,共整理出30余张表,包括tblcustomer〔客户表〕,tblbusiness〔商户表〕,tblcustomeraddress〔客户地址表〕,tblbalancelog〔余额日志表〕,tblcards(充值卡表〕,tblrole〔角色表〕,tblorder〔订单表〕等。运营管理端主要是管理数据,因而牵涉平台中所有表,本文作者主要负责包含用户表、订单表在内的6张表。以及微信端付款功能牵涉到余额日志、订单和用户表3张表。下面将对主要表进行设计,其余表不再赘述。1、运营管理端数据库表设计。〔1〕用户管理模块的数据库表设计。根据前面对功能需求的分析,能够总结出该模块主要牵涉表有:用户表、商户表、用户组表等七张表,本文作者主要负责价格体系表、充值卡表设计。a、价格体系表。系统中有一组默认价格体系,新的价格体系是在洗衣服务原有价格体系上打折,所以,价格体系表除了修改后的价格属性外,还包含折扣属性。价格体系表如下表4.1所示:b、充值卡表。该表主要用来存储充值卡的基本属性,包括充值卡编号、充值卡号、密码、面额等,充值卡也分为卡片式和电子两种,电子充值卡支持下载售出,只能出售一次,因而,属性中包括卡片类型和下载状态。充值卡表如下表4.2所示:通过结合团队对数据库表的设计以及对业务需求的分析,能够得出用户管理模块中E-R图如此图4.10所示:从E-R图中能够直观的看出各实体间的关联关系。用户和商户之间是1对1的关系,选择将商户的主键商户序号参加到用户中;用户和用户组是1对1的关系,将用户组的主键用户组序号存入到用户表中;用户和余额日志是1对多的关系,选择用户的主键用户序号参加到余额日志表中;用户和地址是1对多的关系,将用户表中的主键用户序号参加到用户地址表中;用户和充值卡是1对多的关系,将用户表的主键用户序号;用户组和价格体系是1对1的关系,将用户组的用户组序号。由此得出相关表的新增的属性。〔2〕订单管理模块数据库设计。通过第三章对该模块需求分析看出,该模块主要牵涉的表:门店表、订单表、事件表和超时表等。本文作者主要负责订单表、事件表和超时表的设计。a、订单表。订单表较复杂,包含订单的基本信息,如订单号、订单金额等。还需要记录订单的下单时间、审核时间以及订单最终完成时间,同时结合订单状态,完成订单状态的记录。如下表4.3。b、事件表。事件表的属性包括订单的操作时间、原始状态、操作后的状态、操作人员以及操作时间。如下表4.4所示。c、超时表。超时表用于记录订单的超时时间点、超时时长、超时环节等属性。如下表4.5所示。同时结合其他成员对该模块中其他表的设计得出,订单管理模块的E.R图如此图4.11所示:从E-R图中能够直观的看出各实体间的关联关系。门店和订单之间是1对多的关系,将门店表的主键门店序号存入订单表中;客户和订单是1对多的关系,将客户的主键客户序号存入到订单表中。订单和超时是1对多的关系,将订单的主键订单序号存入到超时表中。订单和事件是1对多的关系,将订单的主键订单序号存入到事件表中。能够得出相关表的新增属性。〔3〕客服管理模块数据库设计。通过需求分析能够总结出,该模块共牵涉订单表、服务区域表,用户表和用户地址表等六张表,订单表与订单管理模块产生了数据穿插,在这里不再赘述。在该模块中,本文作者主要负责服务区域〔分配区域〕表的设计。分配区域表主要包括区域名、用户能否可见等属性。如下表4.6。通过对业务需求的分析以及结合其他成员在该模块中对其他表的设计得出,客服管理模块的E-R图如以下图4.12所示:从E-R图中能够直观的看出各实体间的关联关系。员工和角色之间是多对多的关系,为了遵循数据库设计的可扩展性和规范化,选择新建一张员工和角色的关联表-员工角色表,将员工和角色表的主键;订单和分配区域表是1对1的关系,将分配区域的主键区域序号序号作存入到订单表中;用户和订单是1对1的关系,选择用户的主键用户序号参加到订单表;订单和地址是1对1的关系,将地址表中的主键地址序号参加到订单表中;由此得出相关表的新增的属性。2、微信端数据库表设计。通过4.2.2节中微信端功能的划分发现,用户表主要负责存储用户的基本属性,用户通过手机号登录,因而,属性中应包含手机号,且唯一。用户的来源包括几个方面:通过运营后台充值注册、微信端注册等,因而,增加一列用户来源列。还包括注册时的密码、账户余额以及能否为商户。用户表如下表4.7所示。使用微信支付给余额充值时,余额日志表会发生变化,因而,牵涉用户余额日志表,如表4.8所示,记录用户余额的变化,包括原始余额、操作后余额等。使用微信支付给订单付款,牵涉到订单表、用户表,同时订单付款成功,订单状态发生变化,生成订单操作事件,因
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年地质勘测合同标准格式
- 2024年度股权投资合同的投资金额和股权分配3篇
- 二零二四年度职业技能培训机构合作协议3篇
- 2024年长春客运从业资格证实际操作试题
- 2024年在线零售业务合作合同版
- 二零二四年度校园路灯翻新及扩建合同
- 2024常用建筑工程施工协议样本版A版
- 印刷企业财务绩效评估
- 企业高级管理聘用合同范本
- 航空航天项目电子招投标细则
- 纪检涉案财物管理规定
- 人教PEP版英语六年级上册-Unit-6-Part-B
- 工程项目成本管理实论项目成本管控的方圆之道
- 第八届全国高校辅导员素质能力大赛赛题(案例分析)
- 2023北京第二次高中学业水平合格性考试信息技术试卷试题(答案详解)
- 有间道 话剧剧本
- 《创新创业基础》教学课件合集
- 短视频制作策划方案书
- 小学数学苏教版五年级上第七单元 解决问题的策略 达标测试卷(含答案)
- 一元一次方程应用题常见类型题
- 隧道拱顶下沉监测
评论
0/150
提交评论