版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SSM框架的供应链退货系统的设计与实现摘要随着计算机技术的快速发展,人们的生活方式发生了巨大的改变,包括人们的购物方式,越来越多的人性化的购物APP成为了人们购物的重要方式。但是与此同时,消费者的退货现象越来越多,退货物流的负担日益繁重。所以,一个全面、便捷的供应链退货系统的设计与实现是大多数消费者和企业都所迫切需要的。本系统主要针对以下方面进行设计:消费者可查看到自己所有的订单,并且可以进行申请退货以及退货管理。同时,企业的各个部门人员可对顾客提出的退货申请进行审核、审批及财务退款等。本论文首先对于该系统进行了需求分析,对系统的各个功能模块进行了划分,并且完成了对系统用例模型的划分以及系统流程的分析;接着,分析设计了系统总体模块、软件功能以及数据库等内容并实现了基础信息管理、订单管理、退货管理、退款管理等功能。最后,对于本系统登录功能、申请退货功能、审核审批退货申请功能、退款等功能进行了测试,以确保系统的可靠性。本系统主要是以SSM(SpringMVC+Spring+MyBatis)为框架,Java作为编程语言,IntellIjIDEA2017作为开发工具,采用MySQL
数据库作为后台数据库开发的。本系统的实现不仅为消费者带来了方便,还为企业管理和操作流程提高了效率。关键词:退货;供应链;管理目录第一章绪论 61.1课题背景 61.2课题来源 61.3课题的研究现状 61.4说明书结构 7第二章需求分析 72.1需求描述 72.2需求功能描述 72.3系统用例模型分析 82.3.1退货申请业务的系统用例模型 82.3.2销售员审核退货申请业务的系统用例模型 92.3.3质检部审核退货申请业务的系统用例模型 102.3.4销售主管审批退货申请业务的系统用例模型 112.3.5财务部退款业务的系统用例模型 122.4系统流程分析 13第三章系统的设计 153.1系统总体模块设计 153.1.1基础信息管理模块 153.1.2退货申请管理模块 163.1.3销售员审核退货申请模块 173.1.4质检部审核退货申请模块 173.1.5销售主管审批退货申请模块 183.1.6财务部退款信息管理模块 183.2系统运行环境配置 193.2.1软硬件准备 193.2.2环境配置 193.3软件功能的设计与分析 193.3.1顾客申请退货功能 203.3.2销售员审核退货申请功能 203.3.3质检部审核退货申请功能 213.3.4销售主管审批退货申请功能 213.3.5财务部退款功能 223.4数据库的设计与分析 223.4.1系统概念模型 223.4.2数据库表设计 24第四章系统的实现 274.1用户登录 274.2顾客查看订单 274.3顾客查看订单详情 284.4顾客申请退货 294.5销售员查看订单 304.6销售员查看订单详情 314.7销售员退货管理 324.8销售员审核退货申请 324.9质检部审核退货申请 334.10销售主管审核退货申请 344.11财务部退款管理 354.12财务部查看退款 36第五章系统测试 375.1测试目的 375.2测试方法的综合策略 375.3测试内容 375.3.1登录功能测试 375.3.2顾客退货申请管理功能测试 385.3.3销售员审核退货申请功能测试 395.3.4质检部审核退货申请功能测试 405.3.5销售主管审批退货申请功能测试 415.3.6财务退款管理功能测试 41结论 43参考文献 45绪论1.1课题背景随着目前网络的快速发展,越来越多的人喜欢在网上购物,随之而来的问题则是客户对购买的商品不够满意,而传统的方式都是利用纸质的方式,现在订单量的急剧增加,退货量也随之扑面而来,传统的方式已经很难解决这种情况,供应链退货系统的管理和传统的退货物流的管理在各个方面相比都更胜一筹。有了这个退货系统,就不必再用纸质材料,既好存档又好管理。该系统可以为客户提供网上退货申请业务,用户可以根据自己的订单进行提交退货申请,通过信息化的操作来节省时间。各部门可以按照自动化的办公流程完成退货管理以及各部门操作人员进行业务管理,既便捷也不受时间和空间限制,提高了其工作效率。所以有必要开发一个退货系统以解决现在的状况。1.2课题来源随着计算机技术的不断发展,人们的生活方式也发生了巨大的变化,包括购物方式的变化,各种购物APP的出现给人们的购物带来了便捷,同时,也让网上购物成为了人们购物方式较为重要的一种。但是与此同时,网上购物也给人们带来了很多对商品的不满以致需要退货。此外,在现如今复杂多变的市场环境背景下,各种产品更新换代速度飞快,加上各种销售策略的盛行,消费者的退货现象越来越多,逆向物流的负担日益繁重。而另一方面,对于企业来说,退货也是一种损失、浪费,加上时间、空间的限制,企业对于退货物流的管理越来越重视,不仅仅从提高企业利益的角度出发,更多的是对于新时代一种新模式管理的适应。因此,对于逆向物流的管理越来越成为企业管理者所要考虑的重要部分。所以,一个全面、便捷的供应链退货系统的设计与实现是大多数消费者和企业都所迫切需要的。1.3课题的研究现状根据目前市场上多数企业管理的模式来看,对于逆向物流这一部分,企业给予的重视程度还是远远不够高、甚至逆向物流是处于一种被忽视的状态。单单从退货这一角度来说,消费者从收到货物不满意需要退货开始,后续环节目前市场上没有一个完整的、相对较好的处理方式来解决消费者的不满,从而影响了后期消费者对企业的购物选择。因此,企业在无形之中也丢失了这一部分潜在的顾客。而这一现象比比皆是,正是因为退货物流所受到的重视程度不够高,也是企业对于退货物流的认识还不够,还没有意识到将退货物流作为其长期发展的重要战略。从另一个角度来说,消费者的退货对于企业来说也是一种利益,为什么这么说呢,我认为企业在长期发展过程中,不仅仅需要正面的建议,也需要这些反面的意见,而消费者的退货则代表企业有需要改变提高之处,也就是有改进完善的空间,在消费者退货申请过程中不仅可以直接了解到消费者的需求,也可以认识到目前企业产品的不足,从而加以改进完善和创新,这样才可以提高一个企业的竞争力,也有利于企业的长期发展。所以,企业应重视逆向物流,对于消费者的退货加以重视起来,在其他企业没意识到这一重要性之前做到重视这一忽略之处,这将是一个企业发展的优势。当然对于退货物流这一方面,涉及的环节比较多,对于大多数发展中的企业来说,凭借一己之力还是难以解决退货问题的。与之对应的是,企业还需与供应链上的其他企业建立合作伙伴关系,形成一个良性的处理流程。1.4说明书结构本说明书主要分为六大部分,主要包括:1.绪论绪论主要介绍了课题背景,课题的来源,课题研究的现状和说明书结构。2.需求分析需求分析主要包括需求描述,需求功能描述,系统用例模型分析和系统流程分析。3.系统的设计系统的设计主要包括系统总体模块设计,系统运行环境配置,软件功能的设计与分析和数据库的设计与分析。4.系统的实现系统的实现主要包括系统各个角色对应的各个功能模块的实现。5.系统测试系统测试是对系统各个模块进行测试,主要包括测试目的,测试方法的综合策略和测试内容。6.结论、致谢、参考文献结论部分为对该系统的设计与实现的整个过程进行全面总结,致谢部分致谢在该系统设计与实现的过程中给予帮助的人,参考文献部分表明该系统引用参照的文献。第二章需求分析2.1需求描述随着互联网技术的发展、人们生活水平的提高。越来越多的人选择网上购物,随之而来的问题是客户对购买的商品不满意,所以需要一个退货系统来解决这样的问题。用户可以根据自己的订单进行提交退货申请,并且能够了解退货申请的处理状态。传统的方式主要是依靠纸质,然而现如今订单量的急剧增加,退货量也随之扑面而来,传统的方式已经很难解决这种情况,因此我们需要编写一个退货系统来解决现在的状况。有了这个退货系统,就不必再用纸质材料,既好存档又好管理。1.该课题可以为企业内容退货管理人员提供一套操作性强的规范的退货流程,各部门可以按照自动化的办公流程完成退货管理。2.该课题可以为客户提供网上退货申请业务,信息化的操作节省了很多的工作时间。3.该课题可以为各部门操作人员进行业务管理,既便捷也不受时间和空间限制,提高了其工作效率。4.该课题为各部门工作人员提供审核、审批平台,快速及时的审批流程,更加方便办公。2.2需求功能描述1.基础信息管理模块1)用户管理(管理员可以增加、删除、修改、查找该系统的用户信息)2)角色管理(管理员可以增加、删除、修改、查找该系统的用户角色)3)物品管理(管理员可以增加、删除、修改、查找该系统的物品信息)4)物品类型管理(管理员可以增加、删除、修改、查找该系统的物品类型信息)2.退货申请1)订单管理(顾客可以选择具体一条订单进行申请退货)2)退货管理(顾客可以查看退货处理状态、取消退货申请)3.销售审核退货申请1)退货管理(销售员可以查看退货申请列表并选择具体一条退货申请进行审核退货)2)查看订单(销售员可以查看到所有顾客的全部订单)4.质检审核退货申请1)退货管理(质检部可以查看退货处理状态并选择具体一条退货申请进行审核退货)5.主管审批退货申请1)退货管理(销售主管可以查看退货处理状态并选择具体一条退货申请进行审批)6.财务退款管理1)退款管理(财务选择具体的退货申请可以查看各部门的处理意见并进行退款)2)查看财务信息(财务部可以查看退款金额以及相关订单)2.3系统用例模型分析2.3.1退货申请业务的系统用例模型退货申请业务的用例规约如表2-1所示。表2-1退货申请业务用例规约标题退货申请业务用例规约用例名称buc01_退货申请用例描述顾客申请退货执行者顾客前置条件执行者具有操作的权限后置条件无正常流1.顾客可以查看自己的所有订单2.顾客可以点击一条订单查看订单详细信息3.顾客可以选中某条订单申请退货4.顾客可以上传凭证,也可以不上传替代流以及异常处理1.顾客申请退货后审核未通过,可以重新提交退货申请业务规则1.全局规则顾客需登录系统后操作软件功能2.内禀规则只有顾客退货申请审核未通过或已付款的订单,才可以提交退货申请3.交互规则提交退货申请时,需填写退货原因,也可选择上传凭证涉及实体1.顾客:登录名、密码2.退货申请表:退货申请编号、订单编号、退货备注、申请日期、退货申请单处理状态该业务用例对应的系统用例图如图2-1所示。图2-1退货申请系统用例图2.3.2销售员审核退货申请业务的系统用例模型销售员审核退货申请业务的用例规约如表2-2所示。表2-2销售员审核退货申请业务用例规约标题销售员审核退货申请业务用例规约用例名称buc02_销售员审核退货申请用例描述销售员审核退货申请执行者销售员前置条件执行者具有操作的权限后置条件无正常流1.销售员可以查看所有订单2.销售员可以查看所有顾客申请退货的订单3.销售员可以查看顾客退货原因以及上传的凭证4.销售员可以选中某条退货申请进行审核替代流以及异常处理1.销售员审核未通过的退货申请,顾客可以重新提交。业务规则1.全局规则销售员需登录系统后操作软件功能2.内禀规则销售员只能审核顾客所提交退货申请的订单。3.交互规则审核退货申请时,需填写备注信息,审核通过的退货申请处理状态会更新,审核未通过的退货申请会自动关闭,顾客也可以重新提交。续表2-2涉及实体1.销售员:登录名、密码2.退货申请表:退货申请编号、订单编号、退货备注、申请日期、退货申请单处理状态该业务用例对应的系统用例图如图2-2所示:图2-2销售员审核退货申请系统用例图2.3.3质检部审核退货申请业务的系统用例模型质检部审核退货申请业务的用例规约如表2-3所示。表2-3质检部审核退货申请业务用例规约标题质检部审核退货申请业务用例规约用例名称buc03_质检部审核退货申请用例描述质检部审核退货申请执行者质检部人员前置条件执行者具有操作的权限后置条件无正常流1.质检部人员可以查看所有销售员审核通过的退货申请单2.质检部人员可以查看顾客退货原因、上传的凭证以及销售员处理意见3.质检部人员可以选中某条退货申请进行审核替代流以及异常处理1.质检部审核未通过的退货申请,退货申请直接关闭,顾客可以重新提交。业务规则1.全局规则质检部人员需登录系统后操作软件功能续表2-32.内禀规则业务规则质检部人员只能审核销售员审核通过的退货申请单。3.交互规则审核退货申请时,需填写备注信息,审核通过的退货申请处理状态会更新,审核未通过的退货申请会自动关闭,顾客也可以重新提交。涉及实体1.质检部人员:登录名、密码2.退货申请表:退货申请编号、订单编号、退货备注、申请日期、退货申请单处理状态该业务用例对应的系统用例图如图2-3所示。图2-3质检部审核退货申请系统用例图2.3.4销售主管审批退货申请业务的系统用例模型销售主管审批退货申请业务的用例规约如表2-4所示。表2-4销售主管审批退货申请业务用例规约标题销售主管审批退货申请业务用例规约用例名称buc04_销售主管审批退货申请用例描述销售主管审批退货申请执行者销售主管前置条件执行者具有操作的权限后置条件无正常流1.销售主管可以查看所有质检部审核通过的退货申请单2.销售主管可以查看顾客退货原因、上传的凭证以及销售员和质检部的处理意见3.销售主管可以选中某条退货申请进行审批替代流以及异常处理1.销售主管审批未通过的退货申请,退货申请直接关闭,顾客可以重新提交。续表2-4业务规则1.全局规则销售主管需登录系统后操作软件功能2.内禀规则销售主管只能审核质检部审核通过的退货申请单。3.交互规则审批退货申请时,需填写备注信息,审批通过的退货申请处理状态会更新,审批未通过的退货申请会自动关闭,顾客也可以重新提交。涉及实体1.销售主管:登录名、密码2.退货申请表:退货申请编号、订单编号、退货备注、申请日期、退货申请单处理状态该业务用例对应的系统用例图如图2-4所示。图2-4销售主管审批退货申请系统用例图2.3.5财务部退款业务的系统用例模型财务部退款业务的用例规约如表2-5所示。表2-5财务部退款业务用例规约标题财务部退款业务用例规约用例名称buc05_财务部退款用例描述财务部退款给顾客执行者财务部前置条件执行者具有操作的权限后置条件无正常流1.财务部人员可以查看所有销售主管审批通过的退货申请单2.财务部人员可以查看顾客退货原因、上传的凭证以及销售员、质检部和销售主管的处理意见3.财务部人员可以选中具体的某条退货申请进行查看,并给对应的顾客退款续表2-5替代流以及异常处理无业务规则1.全局规则财务部人员需登录系统后操作软件功能2.内禀规则财务部人员只能查看销售主管审批通过的退货申请单。3.交互规则退款时,需填写备注信息,退款后的退货申请处理状态会更新。涉及实体1.财务部人员:登录名、密码2.退货申请表:退货申请编号、订单编号、退货备注、申请日期、退货申请单处理状态该业务用例对应的系统用例图如图2-5所示。图2-5财务部退款系统用例图2.4系统流程分析该供应链退货系统面向的对象主要分为顾客、销售员、质检部、销售主管和财务部。系统主要功能包括:用户登录、顾客申请退货、销售审核退货申请、质检审核退货申请、销售主管审批退货申请、财务退款管理等。系统总体流程分为五步:第一步,顾客登录系统之后,可以查看自己的订单,也可以点击具体一条订单查看订单详细信息,还可以选择具体的某一个订单进行退货申请,当点击申请退货按钮时,系统向退货申请表中插入一条数据,并且置退货申请状态为待处理状态。第二步,销售员登录系统之后可以查看到所有的消费者退货的订单信息,包括上传的凭证,审核退货申请,同意退货申请后置退货申请状态为正在处理状态。第三步,质检部收到货物之后,检查货物状态是否符合退货申请的标准,也可查看顾客上传的凭证,并对销售员已处理的相关订单退货申请进行审核处理。第四步,销售主管登录系统之后,主要是审核质检部已审核通过的退货申请。第五步,财务部根据销售主管审核通过的退货申请相关订单进行退款。系统流程图能直观地提供整个系统的操作流程,这是接下来具体详细设计的前提,也是为系统开发人员提供清晰的逻辑思路,进行编码工作的基础,本系统的总体流程图如图2-6所示。图2-6系统流程图
第三章系统的设计3.1系统总体模块设计该系统角色分别为系统管理员、顾客、销售员、质检员、销售主管和财务部。1.管理员模块包括了本系统所有的功能模块。2.顾客模块主要包括了订单信息管理、退货信息管理。3.销售员模块主要包括了退货信息管理。4.质检员模块主要包括了退货信息管理。5.销售主管模块主要包括了退货信息管理。6.财务部模块主要包括了退款信息管理。系统总体功能模块设计如图3-1所示。图3-1系统功能结构图3.1.1基础信息管理模块基础信息管理模块仅限管理员可见、可操作,主要分为以下几个小模块,分别是用户管理、角色管理、物品管理和物品类型管理。其中,用户管理模块可以增加新的用户信息、删除以及批量删除已存在的用户、修改现有的用户信息以及根据用户名进行模糊查询相关用户信息。角色管理模块可以增加新的用户角色信息、删除以及批量删除已存在的用户角色、修改现有的用户信息以及根据角色名进行模糊查询相关用户角色信息。物品管理模块可以增加新的物品信息、删除以及批量删除已存在的物品信息、修改现有的物品信息以及根据物品名进行模糊查询相关物品信息。物品类型管理模块可以增加新的物品类型信息、删除以及批量删除已存在的物品类型信息、修改现有的物品类型相关信息以及根据物品类型名进行模糊查询相关物品类型信息。该功能结构设计如图3-2所示。图3-2基础信息管理模块结构图3.1.2退货申请管理模块退货申请管理模块下分为以下几个小模块,分别订单管理、退货管理。其中,订单管理模块,顾客可以查看到自己所有的订单信息列表,点击具体的的一条订单,下方会出现这条订单所有的详细信息,包括订单中的物品名称、物品单价、购买数量和订单总额。可以选中一条订单记录可以点击“申请退货“按钮申请退货。退货管理模块,顾客可以查看到自己所有的退货申请信息列表,点击具体的的一条退货申请记录,下方会出现这条订单所有的详细信息,包括订单中的物品名称、物品单价、购买数量和订单总额。也可以在页面搜索框里输入订单编号进行模糊查询到相关退货申请记录。该功能结构设计如图3-3所示。图3-3退货申请管理模块结构图3.1.3销售员审核退货申请模块销售员审核退货申请模块下分为以下几个小模块,分别查看订单、退货管理。其中,查看订单,销售员可以查看到所有顾客的订单信息列表,点击具体的的一条订单,下方会出现这条订单所有的详细信息,包括订单中的物品名称、物品单价、购买数量和订单总额。退货管理模块,销售员可以查看到顾客所有的退货申请信息列表,点击具体的的一条退货申请记录,下方会出现这条订单所有的详细信息,点击一条退货申请记录前面的“+”可以查看到顾客退货原因以及上传的附件。也可以在页面搜索框里输入订单编号进行模糊查询到相关退货申请记录。还可以选中一条订单记录可以点击“处理申请“按钮来处理顾客的退货申请。该功能结构设计如图3-4所示。图3-4销售员审核退货申请模块结构图3.1.4质检部审核退货申请模块质检部审核退货申请模块主要是退货管理。质检部人员可以查看到所有销售员已同意顾客退货申请的退货申请信息列表,点击具体的的一条退货申请记录,下方会出现这条订单所有的详细信息,点击一条退货申请记录前面的“+”可以查看到顾客退货原因以及上传的附件和销售员的处理意见。也可以在页面搜索框里输入订单编号进行模糊查询到相关退货申请记录。还可以根据质检结果,选中列表中的一条订单记录点击“处理申请“按钮来处理顾客的退货申请。该功能结构设计如图3-5所示。图3-5质检部审核退货申请模块结构图3.1.5销售主管审批退货申请模块销售主管审批退货申请模块主要是退货管理。销售主管可以查看到所有质检部已同意顾客退货申请的退货申请信息列表,点击具体的的一条退货申请记录,下方会出现这条订单所有的详细信息,点击一条退货申请记录前面的“+”可以查看到顾客退货原因以及上传的附件、销售员的处理意见和质检部的处理意见。也可以在页面搜索框里输入订单编号进行模糊查询到相关退货申请记录。还可以选中列表中的一条订单记录点击“处理申请“按钮来处理顾客的退货申请决定是否同意财务部退款给顾客。该功能结构设计如图3-6所示。图3-6销售主管审批退货申请模块结构图3.1.6财务部退款信息管理模块财务部退款信息管理模块分为以下几个小模块,分别为退款管理、查看退款。其中,退款管理模块,财务部可以查看到所有销售主管已同意顾客退货申请的退货申请信息列表,点击具体的的一条退货申请记录,下方会出现这条订单所有的详细信息,点击一条退货申请记录前面的“+”可以查看到顾客退货原因以及上传的附件、销售员的处理意见、质检部的处理意见和销售主管的处理意见。也可以在页面搜索框里输入订单编号进行模糊查询到相关退货申请记录。还可以选中列表中的一条订单记录点击“退款“按钮来处理顾客的退货申请。查看退款模块,财务部可以查看所有已经退款给顾客的退款记录,可以在页面搜索框内根据订单编号进行模糊查询给顾客的退款记录,包括订单编号、退款时间、退款备注信息和退款金额。该功能结构设计如图3-7所示。图3-7财务部退款信息管理模块结构图3.2系统运行环境配置3.2.1软硬件准备完成本系统的设计与开发,需要用到的工具:Java运行环境,Tomcat9.0服务器,Maven项目管理器,IntelliJIDEA开发工具,火狐浏览器/谷歌浏览器用于展示,MySQL数据库,NavicatPremium数据库管理软件,Windows操作系统平台,Spring、SpringMVC、Mybatis的相关架包,AOP、AspectJ、Spring-jdbc、Servlet-api、Jackson等架包。3.2.2环境配置本系统是基于JavaEE的开发,所以应先安装Java环境,然后配置Tomcat服务器,安装开发工具IntelliJIDEA并配置相关环境变量(如Tomcat服务器配置、Maven配置、jdk配置)。安装MySQL数据库并使用NavicatPremium客户端测试连接。3.3软件功能的设计与分析3.3.1顾客申请退货功能该业务属于顾客退货管理模块的功能,主要操作是顾客登录系统查看订单并选择订单申请退货。主要是由order.jsp界面发出请求至Controller控制类,主要是实现顾客登录系统后选中一条订单记录申请退货,提交一条退货申请的记录。之后由RAController调用RAService接口所提供的基础服务来实现提交退货申请的业务功能。再由数据访问层中RAMapper.xml里配置数据库表的信息,并把RAMapper里的方法具体实现,完成退货申请的添加。该功能顺序图如图3-8所示。图3-8顾客申请退货功能顺序图3.3.2销售员审核退货申请功能该业务属于销售员审核退货模块的功能,主要操作是销售员登录系统查看退货申请并选择一条申请记录进行审核。主要是由ra_salesman.jsp界面发出请求至Controller控制类,主要是实现销售员登录系统后选择一条申请记录进行审核,对退货申请表进行处理并更新处理状态。之后由RAController调用RAService接口所提供的基础服务来实现审核退货申请的业务功能。再由数据访问层中RAMapper.xml里配置数据库表的信息,并把RAMapper里的方法具体实现,完成退货申请表的更新。该功能顺序图如图3-9所示。图3-9销售员审核退货申请功能顺序图3.3.3质检部审核退货申请功能该业务属于质检员审核退货模块的功能,主要操作是质检员登录系统查看销售员已审核通过的退货申请并选择一条申请记录进行审核。主要是由ra_qualitychecker.jsp界面发出请求至Controller控制类,主要是实现质检员登录系统后选择一条申请记录进行审核,对退货申请表进行处理并更新处理状态。之后由RAController调用RAService接口所提供的基础服务来实现审核退货申请的业务功能。再由数据访问层中RAMapper.xml里配置数据库表的信息,并把RAMapper里的方法具体实现,完成退货申请表的更新。该功能顺序图如图3-10所示。图3-10质检员审核退货申请功能顺序图3.3.4销售主管审批退货申请功能该业务属于销售主管审批退货模块的功能,主要操作是销售主管登录系统查看质检员已审核通过的退货申请并选择一条申请记录进行审批。主要是由ra_salesdirector.jsp界面发出请求至Controller控制类,主要是实现销售主管登录系统后选择一条申请记录进行审批,对退货申请表进行处理并更新处理状态。之后由RAController调用RAService接口所提供的基础服务来实现审批退货申请的业务功能。再由数据访问层中RAMapper.xml里配置数据库表的信息,并把RAMapper里的方法具体实现,完成退货申请表的更新。该功能顺序图如图3-11所示。图3-11销售主管审批退货申请功能顺序图3.3.5财务部退款功能该业务属于财务部退款模块的功能,主要操作是财务部登录系统查看销售主管已审批通过的退货申请并选择一条申请记录进行退款。主要是由ra_finance.jsp界面发出请求至Controller控制类,主要是实现财务部登录系统后选择一条申请记录进行退款,对退货申请进行处理并增加一条退款记录。之后由FinanceController调用FinanceService接口所提供的基础服务来实现退款并增加一条退款记录的业务功能。再由数据访问层中FinanceMapper.xml里配置数据库表的信息,并把RAMapper里的方法具体实现,完成退款并增加一条退款记录的功能。该功能顺序图如图3-12所示。图3-12财务部退款功能顺序图3.4数据库的设计与分析3.4.1系统概念模型数据库是信息系统的核心和基础,信息系统可以方便、及时、准确地从数据库中获得所需的信息。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法。本系统模块E-R图主要有以下实体:用户实体、角色实体、商品实体、商品类别实体、订单实体、订单详情实体、退货申请实体、退款信息实体。1.用户实体E-R图用户表实体属性包括:用户编号、登录名、密码、真实姓名、电话、角色编号,如图3-13所示。图3-13用户实体E-R图2.角色实体E-R图角色表实体属性包括:角色编号、角色名、角色描述,如图3-14所示。图3-14角色实体E-R图3.商品实体E-R图商品表实体属性包括:商品编号、商品名称、商品价格、商品类别编号,如图3-15所示。图3-15商品实体E-R图4.商品类别实体E-R图商品类别表实体属性包括:商品类别编号、商品类别名称、商品类别描述,如图3-16所示。图3-16商品类别实体E-R图5.订单实体E-R图订单表实体属性包括:订单编号、订单日期、订单总额、订单状态、用户编号,如图3-17所示。图3-17订单实体E-R图6.订单详情实体E-R图订单子表实体属性包括:订单编号、商品编号、数量、单价,如图3-18所示。图3-18订单详情实体E-R图7.退货申请实体E-R图退货申请表实体属性包括:退货申请编号、订单编号、退货备注、申请日期、退货处理状态,如图3-19所示。图3-19退货申请实体E-R图8.退款信息实体E-R图退款信息表实体属性包括:退款编号、订单编号、退款时间、退款备注、财务余额,如图3-20所示。图3-20退款信息实体E-R图3.4.2数据库表设计(1)用户(user)数据表,用于记录用户个人相关信息,如表3-1所示。表3-1user表序号字段名数据类型是否主键意义1idintYes用户编号2userNamevarcharNo登录名3passwordvarcharNo密码4realNamevarcharNo真实姓名5telphonevarcharNo电话6roleIdintNo角色编号(2)角色(role)数据表,用于记录用户登录角色的信息,如表3-2所示。表3-2role表序号字段名数据类型是否主键意义1idintYes角色编号2rNamevarcharNo角色名3descriptionvarcharNo角色描述(3)商品(goods)数据表,用于记录商品的信息,如表3-3所示。表3-3goods表序号字段名数据类型是否主键意义1idintYes商品编号2gNamevarcharNo商品名称3gPricefloatNo商品价格4gtIdintNo商品类别编号(4)商品(goodstype)类别表,用于描述商品类别的信息,如表3-4所示。表3-4goodstype表序号字段名数据类型是否主键意义1idintYes商品类别编号2gtNamevarcharNo商品类别名3descriptionvarcharNo商品类别描述(5)订单(orders)数据表,用于记录订单的信息,如表3-5所示。表3-5orders表序号字段名数据类型是否主键意义1oIdvarcharYes订单编号2oTimedatetimeNo订单日期3oPricefloatNo订单总额4oStatusvarcharNo订单状态5uIdintNo用户编号(6)订单子表(orderson)数据表,用于记录订单中购买产品的单价和数量的信息,如表3-6所示。表3-6orderson表序号字段名数据类型是否主键意义1gIdintYes商品编号2oIdvarcharYes订单编号3mCountvarcharNo同种商品数量续表3-64pricefloatNo商品单价(7)退货(ra)申请表,用于记录申请退货以及退货处理状态的相关信息,如表3-7所示。表3-7ra表序号字段名数据类型是否主键意义1idintYes退货申请编号2oIdvarcharNo订单编号3remarksvarcharNo退货备注4aTimedatetimeNo申请日期5statusvarcharNo处理状态(8)退款(finance)信息表,用于记录退款的相关信息,如表3-8所示。表3-8finance表序号字段名数据类型是否主键意义1idintYes退款编号2oIdvarcharNo订单编号3fTimedatetimeNo退款操作时间4remarksvarcharNo退款备注5moneyfloatNo财务余额
第四章系统的实现4.1用户登录图4-1用户登录界面图此界面是用户登录界面,界面登录主要分为管理员、顾客、销售员、质检部、销售主管和财务部。用户输入用户名、密码,选择登录角色进行登录。界面图如图4-1所示。对应的核心代码如下:publicStringlogin(Userparam,HttpSessionsession){Useruser=curService.login(param);Map<String,Boolean>map=newHashMap();if(user!=null){map.put("status",true);session.setAttribute("user",user);}else{map.put("status",false);}Stringjson=JSON.toJSONString(map);returnjson;}4.2顾客查看订单图4-2顾客订单管理界面图此界面是顾客查看订单页面。这页面包含了查看详情、申请退货按钮。顾客查看订单,主要是根据自己的账户信息在订单表中查询到自己的相关订单,然后显示出来。本页面分页采用的是MyBatis的分页组件实现的,显示了记录条数,当前第几页和共几页。用户可以点击页面切换按钮进行相关页面的跳转。本页面也可以通过订单编号进行模糊查询,以便于用户查看。界面图如图4-2所示。4.3顾客查看订单详情图4-3顾客查看订单详情界面图本界面主要是顾客查看订单详情界面。顾客点击具体的一条订单记录,发出Ajax请求。首先获取点击行的对应的订单编号(Oid),然后通过订单编号发出查看订单详情的请求,然后在返回值成功页面进行数据的解析,通过JQuery进行数据的动态设置。数据设置成功,则在订单列表下方显示订单详细信息,包括商品编号、物品名称、物品单价、计量和订单总额。界面图如图4-3所示。4.4顾客申请退货图4-4顾客申请退货界面图本界面主要是顾客订单管理界面。顾客选中一条订单记录,点击申请退货按钮,出现申请退货弹框,填写退货原因,选择上传发票,点击保存。界面图如图4-4所示。对应的核心代码如下:publicStringaddRA(RAra,MultipartFilefile,HttpSessionsession,HttpServletRequestrequest){Useruser=(User)session.getAttribute("user");//如果文件不为空,写入上传路径if(!file.isEmpty()){//上传文件路径Stringpath=session.getServletContext().getRealPath("/invoice/");Stringp1=session.getServletContext().getContextPath();//得到服务器根目录Filef1=newFile(path);if(!f1.exists()){f1.mkdirs();}Filef2=newFile(f1,user.getUserName());if(!f2.exists()){f2.mkdirs();}//获取文件名StringfName=file.getOriginalFilename();//获取文件后缀Stringsuffix=fName.substring(fName.lastIndexOf(".")+1);//使用UUID生成唯一的文件名,防止文件名重复Stringfilename=UUID.randomUUID().toString().replace("-","").toLowerCase()+"."+suffix;//将完整文件路径保存到数据库ra.setInvoiceUrl(p1+"/invoice/"+user.getUserName()+File.separator+filename);try{file.transferTo(newFile(f2+File.separator+filename));}catch(IOExceptione){e.printStackTrace();}}Map<String,Boolean>map=newHashMap();booleanflag=false;try{flag=curService.addRA(ra);}catch(Exceptione){e.printStackTrace();}if(flag){map.put("status",true);}else{map.put("status",false);}Stringjson=JSON.toJSONString(map);returnjson;}4.5销售员查看订单图4-5销售员查看订单界面图本页面是销售员查看订单页面。销售员点击订单管理导航条,然后显示所有的订单列表信息。用户可以通过订单编号进行模糊查询,这样使用户查询更加方便。本页面和顾客查看订单页面有所区别就是用户只能查看自己的订单,而此页面是查看所有用户的订单信息。这里包含了相关的权限控制。主要是通过字段进行控制和处理。界面图如图4-5所示。4.6销售员查看订单详情图4-6销售员查看订单详情界面图此页面主要是销售员查看订单详情页面。这个页面和用户查看订单详情的原理一样,就是通过订单编号进行订单详情查询,用户可以查看详情信息。详情信息主要是包含物品编号、物品名称、物品单价、计量、订单总额等字段。这些字段的显示主要是为了显示更加人性化,让用户可以很清晰的了解到订单详情信息。界面图如图4-6所示。对应的核心代码如下:publicDataGrid<OrderSon>selectDataSon(StringoId,intpage,introws){DataGrid<OrderSon>dataGrid=newDataGrid<OrderSon>();PageInfo<OrderSon>pageInfo=curService.selectDataSon(oId,page,rows);dataGrid.setTotal(pageInfo.getTotal());dataGrid.setRows(pageInfo.getList());returndataGrid;}4.7销售员退货管理图4-7销售员退货管理界面图此页面主要是销售员退货管理界面。销售员可以审核顾客提交的退货申请。根据具体的某一条订单进行审核,也可选中具体一条订单点击查看图片按钮,前台界面使用Ajax向后台处理器方法提出请求,处理器方法接受到请求之后调用service层的方法,在service层的方法中在调用mapper层的方法进行处理,显示顾客上传的凭证信息。界面图如图4-7所示。4.8销售员审核退货申请图4-8销售员审核退货申请界面图此页面是销售员审核退货页面。销售员可以选择具体某条订单记录,点击处理申请按钮,前台界面使用Ajax向后台处理器方法提出请求,处理器方法接受到请求之后调用service层的方法,在service层的方法中在调用mapper层的方法进行处理,进行审核顾客所提交的退货申请,审核退货申请提交成功后此订单状态变更为待处理状态。界面图如图4-8所示。对应的核心代码如下:publicStringupdRABySalesman(RAra){Map<String,Boolean>map=newHashMap();booleanflag=false;try{flag=curService.updRABySalesman(ra);}catch(Exceptione){e.printStackTrace();}if(flag){map.put("status",true);}else{map.put("status",false);}Stringjson=JSON.toJSONString(map);returnjson;}4.9质检部审核退货申请图4-9质检部审核退货申请界面图此页面主要是质检部审核退货申请界面。质检部人员通过检查顾客退回的物品看是否符合退货条件来处理退货申请,并填写备注。界面图如图4-9所示。4.10销售主管审核退货申请图4-10销售主管审核退货申请界面图此页面是销售主管审核退货页面。销售主管可以查看到质检部审核通过的退货申请,可以选择具体某条订单记录,点击处理申请按钮,前台界面使用Ajax向后台处理器方法提出请求,处理器方法接受到请求之后调用service层的方法,在service层的方法中在调用mapper层的方法进行处理,进行审核顾客所提交的退货申请。界面图如图4-10所示。4.11财务部退款管理图4-11财务部退款管理界面图此页面是财务部退款页面。财务部可以查看到销售主管审核通过的退货申请,可以选择具体某条订单记录,点击退款按钮,进行给顾客所提交的退货申请进行退款处理。界面图如图4-11所示。对应的核心代码如下:publicStringaddFinance(Financefinance){Map<String,Boolean>map=newHashMap<String,Boolean>();Booleanflag=false;try{flag=curService.addFinance(finance);}catch(Exceptione){e.printStackTrace();}if(flag){map.put("status",true);}else{map.put("status",false);}Stringjson=JSON.toJSONString(map);returnjson;}4.12财务部查看退款图4-12财务部查看退款界面图此页面是财务部查看退款页面。财务部可以查看到所有已退款的退货申请相关订单、退款操作时间、相关备注信息和退款金额。界面图如图4-12所示。对应的核心代码如下:publicDataGrid<Finance>selectByQuery(Financeparam,intpage,introws){DataGrid<Finance>dataGrid=newDataGrid<Finance>();PageInfo<Finance>pageInfo=curService.selectByQuery(param,page,rows);dataGrid.setTotal(pageInfo.getTotal());dataGrid.setRows(pageInfo.getList());returndataGrid;}
第五章系统测试5.1测试目的首先,系统测试的重点是在于检验一个软件是否能够实现前期设计的功能模块;其次,系统测试也是一个检查系统是否存在Bug的过程;此外,我们应该知道的是,系统测试是检查系统的问题所在,而不是为了证明系统没有问题。只有发现问题,我们才能够去解决问题,系统才能有一个更好地改进、完善和提高。所以说,系统测试是完成一个系统开发的重要部分,是不可或缺的。5.2测试方法的综合策略首先,我们可以根据边界值进行测试各个系统用例。另外,我们也可以利用反推的方式加以验证、测试以确保各个系统功能的完善。即对于整个系统可以进行正向和反向两个方面进行测试验证,从而对系统存在的漏洞之处加以改进和完善。5.3测试内容5.3.1登录功能测试表5-1系统登录功能测试用例表编制人周晓敏时间2018/5/15用例名称用户登录功能用例编号1项目名称供应链退货系统编号/版本1.0测试目的本测试用例预期完成用户登录功能测试。环境要求软件:Windows1064bit操作系统,EclipseIDE集成开发环境,Chrome62浏览器,MySQL数据库;硬件:英特尔奔腾4及以上性能处理器;网络:100M/1000Mbps自适应网络用例引用工作人员,顾客用例操作描述输入预期输出实际输出是否通过1进入供应链退货系统系统登录界面,手动输入用户名和密码并选择登录角色。用户名:client密码:123456选择“顾客”角色登录跳转到供应链退货系统主页跳转到供应链退货系统主页是续表5-1用例操作描述输入预期输出实际输出是否通过2进入供应链退货系统系统登录界面,手动输入用户名和密码并选择登录角色。用户名:client密码:xiaon选择“顾客”角色登录提示用户名或密码不正确提示用户名或密码不正确否3进入供应链退货系统系统登录界面,手动输入用户名和密码并选择登录角色。用户名:12345678密码:123456选择“顾客”角色登录提示用户名或密码不正确提示用户名或密码不正确否4进入供应链退货系统系统登录界面,手动输入用户名和密码并选择登录角色。用户名:xiao密码:123456选择“销售员”角色登录跳转到供应链退货系统主页跳转到供应链退货系统主页是5进入供应链退货系统系统登录界面,手动输入用户名和密码并选择登录角色。用户名:xiao密码:xiaoshouyuan选择“销售员”角色登录提示用户名或密码不正确提示用户名或密码不正确否6进入供应链退货系统系统登录界面,手动输入用户名和密码并选择登录角色。用户名:xiaoshouyuan密码:123456选择“顾客”角色登录提示用户名或密码不正确提示用户名或密码不正确否备注5.3.2顾客退货申请管理功能测试表5-2顾客退货申请管理功能测试用例表编制人周晓敏时间2018/5/15用例名称顾客退货申请管理功能用例编号2项目名称供应链退货系统编号/版本1.0测试目的本测试用例预期完成顾客申请退货功能测试。环境要求软件:Windows1064bit操作系统,EclipseIDE集成开发环境,Chrome62浏览器,MySQL数据库;硬件:英特尔奔腾4及以上性能处理器;网络:100M/1000Mbps自适应网络用例引用顾客用例操作描述输入预期输出实际输出是否通过1进入供应链退货系统系统首页,选择侧边栏中退货申请下的“订单管理”。鼠标左键单击跳转到顾客所有的订单页面跳转到顾客所有的订单页面是2进入供应链退货系统系统首页,选择侧边栏中退货申请下的“订单管理”。鼠标右键单击跳转到顾客所有的订单页面跳转到顾客所有的订单页面否3勾选一条订单点击“申请退货”按钮。鼠标左键单击弹出“退货申请单”弹出“退货申请单”是4勾选一条订单点击“申请退货”按钮。鼠标右键单击弹出“退货申请单”弹出“退货申请单”否5填写退货申请单并,点击“保存”按钮。填写退货原因,点击“确认”。页面提示“操作成功”页面提示“操作成功”是6填写退货申请单,点击“保存”按钮。填写退货原因,上传凭证,点击“保存”按钮。页面提示“操作成功”页面提示“请检查填写”否7填写退货原因,点击“保存”按钮。不填写退货原因,直接点击“保存”按钮。页面提示“请检查填写”页面提示“请检查填写”否备注5.3.3销售员审核退货申请功能测试表5-3销售员审核退货申请功能测试用例表编制人周晓敏时间2018/5/15用例名称销售员审核退货申请功能用例编号3项目名称供应链退货系统编号/版本1.0测试目的本测试用例预期完成销售员审核退货申请功能测试。环境要求软件:Windows1064bit操作系统,EclipseIDE集成开发环境,Chrome62浏览器,MySQL数据库;硬件:英特尔奔腾4及以上性能处理器;网络:100M/1000Mbps自适应网络用例引用销售员用例操作描述输入预期输出实际输出是否通过1销售员进入供应链退货系统系统首页,选择侧边栏中销售审核退货申请下的“退货管理”。鼠标左键单击跳转到所有的退货申请列表页面跳转到所有的退货申请列表页面是2销售员进入供应链退货系统系统首页,选择侧边栏中销售审核退货申请下的“退货管理”。鼠标右键单击跳转到所有的退货申请列表页面跳转到所有的退货申请列表页面否3勾选一条退货申请点击“审核退货”。鼠标左键单击弹出“审核退货申请”弹框弹出“审核退货申请”弹框是4勾选一条退货申请点击“审核退货”。鼠标右键单击弹出“审核退货申请”弹框弹出“审核退货申请”弹框否5填写备注信息(处理意见),点击“保存”按钮。填写备注信息,点击“保存”按钮。页面提示“操作成功”页面提示“操作成功”是6填写备注信息(处理意见),点击“保存”按钮。填写备注信息,点击“保存”按钮。页面提示“操作成功”页面提示“请检查填写”否备注5.3.4质检部审核退货申请功能测试表5-4质检部审核退货申请功能测试用例表编制人周晓敏时间2018/5/15用例名称质检部审核退货申请功能用例编号4项目名称供应链退货系统编号/版本1.0测试目的本测试用例预期完成质检部审核退货申请功能测试。环境要求软件:Windows1064bit操作系统,EclipseIDE集成开发环境,Chrome62浏览器,MySQL数据库;硬件:英特尔奔腾4及以上性能处理器;网络:100M/1000Mbps自适应网络用例引用质检部用例操作描述输入预期输出实际输出是否通过1质检部进入供应链退货系统系统首页,选择侧边栏中质检审核退货申请下的“退货管理”。鼠标左键单击跳转到所有销售已审核通过的的退货申请列表页面跳转到所有销售已审核通过的的退货申请列表页面是2质检部进入供应链退货系统系统首页,选择侧边栏中质检审核退货申请下的“退货管理”。鼠标右键单击跳转到所有销售已审核通过的的退货申请列表页面跳转到所有销售已审核通过的的退货申请列表页面否3勾选一条退货申请点击“审核退货”。鼠标左键单击弹出“审核退货申请”弹框弹出“审核退货申请”弹框是4勾选一条退货申请点击“审核退货”。鼠标右键单击弹出“审核退货申请”弹框弹出“审核退货申请”弹框否5填写备注信息(处理意见),点击“保存”按钮。填写备注信息,点击“确认”。页面提示“操作成功”页面提示“操作成功”是6填写备注信息(处理意见),点击“保存”按钮。鼠标左键点击“确认”。页面提示“操作成功”页面提示“请检查填写”否备注5.3.5销售主管审批退货申请功能测试表5-5销售主管审批退货申请功能测试用例表编制人周晓敏时间2018/5/15用例名称销售主管审批退货申请功能用例编号5项目名称供应链退货系统编号/版本1.0测试目的本测试用例预期完成销售主管审批退货申请功能测试。环境要求软件:Windows1064bit操作系统,EclipseIDE集成开发环境,Chrome62浏览器,MySQL数据库;硬件:英特尔奔腾4及以上性能处理器;网络:100M/1000Mbps自适应网络用例引用销售主管用例操作描述输入预期输出实际输出是否通过1销售主管进入供应链退货系统系统首页,选择侧边栏中主管审批退货申请下的“退货管理”。鼠标左键单击跳转到所有质检已审核通过的的退货申请列表页面跳转到所有质检已审核通过的的退货申请列表页面是2销售主管进入供应链退货系统系统首页,选择侧边栏中主管审批退货申请下的“退货管理”。鼠标右键单击跳转到所有质检已审核通过的的退货申请列表页面跳转到所有质检已审核通过的的退货申请列表页面否3勾选一条退货申请点击“审核退货”。鼠标左键单击弹出“审核退货申请”弹框弹出“审核退货申请”弹框是4勾选一条退货申请点击“审核退货”。鼠标右键单击弹出“审核退货申请”弹框弹出“审核退货申请”弹框否5填写备注信息(处理意见),点击“保存”按钮。填写备注信息,点击“保存”按钮。页面提示“操作成功”页面提示“操作成功”是6填写备注信息(处理意见),点击“保存”按钮。鼠标左键点击“确认”按钮。页面提示“操作成功”页面提示“请检查填写”否备注5.3.6财务退款管理功能测试表5-6财
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理质量指标与护理质量监督机制
- 骨巨细胞瘤诊治指南2026
- 2026年粮食重金属检测知识测试题
- 2026年街道社区微型消防站器材配备及应急拉动知识测验
- 2026年企业领导力与团队管理测试题
- 2026年文学名著知识要点及习题
- 垃圾分类演讲稿 小学生
- 培训机构员工业务培训方案
- 强国有我演讲稿精彩开头
- 2026年科技金融与新质生产力题库
- 物流运输货物损坏免责合同
- 配网调度培训课件
- DB42T 809-2012 湖北省工业企业安全生产培训大纲和考核要求
- 2025幼儿园园本培训内容
- 《市域(郊)铁路设计规范》条文说明
- 小米公司企业管理制度
- 自来水管道施工安全培训
- 建筑工程安全管理桩基工程安全技术课件
- 《颅骨骨折》课件
- 弹性延迟退休协议书示范文本
- 2025届高考语文复习:古代文化常识+课件
评论
0/150
提交评论