摘 要
随着互联网技术和国内珠宝行业持续快速地发展,管理员为了可以更为便捷地管理珠宝销售线上服务,珠宝销售系统被开发出的目地是为了可以更为便捷管理珠宝销售线上服务。该系统介绍了珠宝销售系统的功能和特点。可以帮助珠宝在线商城管理销售、订单和客户信息等。它还可以提供数据分析和报告,帮助管理员了解销售趋势和客户偏好,进行智能推荐。该系统还具备安全性和易用性,可以在多个设备和平台上使用。总之,该系统可以提高珠宝在线商城的运营效率和客户满意度。
本系统采用开放源码架构SSM技术,完成了珠宝销售系统的设计,可扩展性很强。本软件采用Java程序设计的软件开发平台,以及从MySQL数据库中生成的数据,最后完成了一个比较完善的系统。借助于网络,用户可以使用网络管理系统,管理员可以在系统的管理接口上进行系统的管理,从而使操作系统更加便于使用者和管理员使用。本文对该软件的功能设计、业务流程设计及需求进行了较为详尽的阐述。
关键词;SSM;Java;珠宝销售系统
Abstract
With the continuous and rapid development of Internet technology and domestic jewelry industry, the administrator can manage online jewelry sales service more conveniently. The jewelry sales system is developed for the purpose of managing online jewelry sales service more conveniently. This system introduces the function and characteristic of the jewelry sales system. Can help jewelry online mall management sales, orders and customer information. It also provides data analytics and reports to help administrators understand sales trends and customer preferences and make smart recommendations. The system also has security and ease of use and can be used on multiple devices and platforms. In short, the system can improve the operating efficiency and customer satisfaction of the jewelry online mall.
This system uses open source architecture SSM technology to complete the design of jewelry sales system, and has strong scalability. This software uses Java programming software development platform, as well as the data generated from the MySQL database, finally completed a relatively perfect system. With the help of the network, the user can use the network management system, the administrator can manage the system on the management interface of the system, so that the operating system is more convenient for users and administrators to use. In this paper, the function design, business process design and requirements of the software are described in detail.
Key words; SSM; Java; Jewelry sales system
目 录
1 绪论
1.1 课题研究背景和意义
二十一世纪是网络社会,因为要处理海量的资料,要对海量的资料进行管理,必须使用电脑建立相关的管理体系来进行资料的管理。电脑的一个优点是可以实现自动处理,所以当资料由电脑进行处理时,它将会大大地提升系统的效能与安全。当管理员要进行更多的数据时,使用电脑进行数据的好处就会更大。一开始的时候,管理员一般都是手动操作,但如果大量的数据都是手动操作的,那么就会出现大量的问题,比如丢失的数据,错误的用户,这样会大大的降低管理者的工作效率,削弱其工作的能力,从而使得在大局工作中出现巨大的漏洞。
珠宝销售系统使用软件包中的库功能可以对其进行编码,从而大大地促进了软件开发人员的工作速度,同时也大大减少了软件开发费用。而且在使用过程中,系统软件的自动化程度比较高,数据集成处理速度较快。到目前为止,管理员人工操作的方式无法适应当前的使用要求。网络产业的迅速发展要求珠宝销售系统打破常规的珠宝销售方式,借助于电脑技术,结合用户的实际需要,为用户提供更多的信息,从而使珠宝销售系统更加简单、更加安全。随着大数据的到来,存储空间的容量也越来越大。在因特网时代,需要建立一种易于运行和可靠的数据储存体系,这样既便于使用者的使用,又便于管理员对系统的资讯进行管理。
1.2 国内外现状分析
从20世纪开始,珠宝销售管理工作经历了几年的发展,已经比较成熟,可以用电脑来管理珠宝销售系统的资料。随着时代的发展,珠宝销售的发展也越来越迅速,在全国范围内,出现了一套比较有影响力的自动管理体系,这种体系可以反映出社会的分工,让管理员可以将精力集中在系统的品质上。以前的珠宝销售系统不管是在技术上,还是在理论上,都没有太大的进展。在国外,由于网络发展早,和珠宝销售系统信息的大量使用,网上珠宝销售系统的发展比国内要迅速得多。尽管目前还没有一种全新的珠宝销售方式,但由于网络产业的快速发展,用户对网上珠宝销售系统的要求也越来越高,所以,拥有一个优秀的管理系统和数据库,可以大大的提升管理员的工作能力并且能为资本争取到商业利润的最大化。
世界上很多国家的珠宝销售系统都比国内发展得更好,它们都是基于不同的管理平台,为管理工作提供了大量的资料和数据,也为管理部门提供了一种行之有效的管理方式。从经济发展上看,更便捷的消费环境更能增大消费需求从而拉动经济发展,使得国内珠宝销售行业系统更进一步的发展。从技术指标上看,可以将网络上的软件和用户手中使用的软件相融合,从而让网上珠宝销售系统的优化更加与迭代速度变快。
与国际上比较,国内在网上进行管理珠宝销售系统的信息化进程比较缓慢,起初仅将管理珠宝销售系统作为一个观念来看待,没有正确的对待运用珠宝销售系统的意识。在信息化技术飞速发展和经济发展走上高速路的今天,在国内对管理珠宝销售系统工作也进行了较长时间的认识和摸索发展。
按照应用的不同,软件开发机构可以划分为几个层次:
第一个层次,就是外国的软件公司可以提供更好的网络服务,满足用户的需要。
第二个层次,国内一些软件公司往往在整个开发过程中,借鉴和采取了外国的一些方法,然后根据本国的实际进行相应的开发。做的东西,往往做出来的功能都是被大多数本国消费者和用户所认可的,开发难度不大。
第三个层次是可定制的珠宝销售系统。针对用户的特殊需求,对本系统进行了个性化的设计,使其与用户的需求相融合。这样研发的系统更能贴合本国的实际情况,往期上的使用也会更加得心应手。但是往往这样的系统需要对软件开发团队有一定的要求,需要走一条独自开发的道路,开发难度较大。
1.3 课题研究主要内容
(1)本文介绍了实现该珠宝销售系统的具体实现方法,并根据总体的软件开发过程进行了初步的调查与研究,以判断是否能够正常实现、技术可行以及系统各功能模块的设计与实现,最终选定所采用的技术及实现方案。
(2)该平台框架采用了开放源代码框架,可以让开发者更快地建立起软件的体系结构和重用能力,它可以让开发者在开发过程中迅速地建立起一个基础的开发框架,它可以帮助开发者在开发过程中,降低开发过程中的困难,提高了系统的安全性和稳定性,并且可以协助程序开发者进行系统功能模块的开发和数据的处理。
(3)管理员对珠宝销售系统的数据进行了详细的管理,不仅要满足相应的要求,而且还要满足一些基础的要求,MySQL数据库中的约束关系可以按照数据库中的各个实体的相互联系转换为数据库,以便在系统的实施过程中能够设置它们的关联。通过上面常说的步骤可以构成最后的软件,珠宝销售系统中的每个作用部分归属于不一样的等级,这可以促进达到不一样的作用控制模块,这些作用控制模块相互之间效果,促进软件的实现。
2 相关背景技术
2.1 Java
Java的是一个通用词,是用来表示Java的软件和其相对应的组件,当中包括Java运行时环境JRE、Java虚拟机JVM和插件。大部分的编程语言都具有一些相似或者相同的特质,Java也不例外,例如被特意设计用于更加适宜互联网的分布式环境。Java具有类似于C++语言的形式和感觉,但是他要比其更易于编程者的日常书写,而且在编写时彻底采用了一种以对象为主导向的方式方法。使用Java编写的程序代码所形成的应用程序,既可以在单独一台的电脑上独立运行,也可以被分为多个电脑所集成的一个网络的服务器端和客户端上运行。
Java的核心技术是 CORBA技术和网络应用程序的安全性。此外,还对 多个技术等方面的全面支援。他的成长速度很快。实际上,CPU一直在“跳跃”着这些程式。所以,我们为何没有看到毁灭?那是由于,和我们的感觉比起来,这种感觉来得很迅速[1]。所以,虽然我们已经知道了某些同步运算,但电脑在某些时刻,除了你的电脑拥有多重 CPU外,它只会在特定的时刻运行一个程式。
Java作为一种具有封装、继承和多态三大特点的电脑编程语言,在企业网络和手机软件的开发中得到了广泛的使用[2]。
2.2 MySQL数据库
MySQL数据库是一个关系型的数据库管理系统,是由瑞典的一家著名公司所开发。线下最流行的关系型数据库管理系统之一就有MySQL,在网络WEB应用方面,MySQL是最好最完备的RDBMS(Relational Database Management System,关系型数据库管理系统)应用性软件之一。MySQL的本质上是一种关系型数据库管理系统,这种数据库是将数据保存在各个不相同的数据表中,并不是将所有的数据摆放在同一个大仓库内,这样的设置使得增加了速度并且提高了数据的灵活性。MySQL所使用的语言是用于访问数据库的最常用的SQL标准化语言,由于体积小、速度快、总体拥有成本低、开源代码等优点,一直很受中小型和大型网站青睐。
MySQL数据库具有海量的数据储存功能,在运行过程中既简单又快速,若要提高查询效率,可以在数据库中添加一个方便的索引[3]。在系统中,当有必要增加数据时,可以调用插入式数据来进行数据库的数据更新步骤。MySQL是一个自由开放的开放的数据库系统,它可以根据规范的SQL陈述来提供有关系统的资讯信息,并且可以更容易地进行MySQL的设置与配置[4]。基于开放源码架构的数据处理程序,可以将其转换成基于开放源码架构的SQL。MySQL与开放源码架构相结合,可以很容易地更改数据库的纪录从而更方便的对其开展修改[5]。
2.3 MVC框架
MVC框架一开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是遥控器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。MVC是在二十世纪八十年代为编程语言发明的一种软件设计模式,现在已被广泛使用。MVC指的是MVC模式的某种框架,这个框架可以强制性的使用程序的输入、处理和输出分开。使用这个应用程序被分成了三个核心部件:模型、视图、控制器。它们各自处理它们自己的任务。其中最为典型的MVC是JSP+servlet+javabean的模式。
模型―视图―控制器(MVC)是一个工具箱。本系统使用了目前这种最广泛通行的软件设计模型MVC。MVC(Model-View-Controller)的应用程序架构可以被用于解析分布式应用编程的特点。而这个抽象出架构,可以帮助把应用程序划分为几个逻辑部分,让编程过程变得比较简单。将某个应用领域的注入、管理、输出过程,依照Model、View、Controller的方法加以分开,而这么一种应用领域可以被分成三层—建模层、视图层、管理层。
MVC模式如图2.1:
图2.1 MVC模式图
MVC模型的诞生,很好的缓解了传统开发WEB应用方法中出现的问题。M代表任务模块(Mode1),包括实现任务所必须的全部的操作和数据信息;V代表视图(View)页面,现实模式所提交的全部数据信息;C代表控制台层(Control1er),它把模块映射到用户界面中,管理应用的输入输出和相应请求。其模块的相互关系如图所示。在MVC模式中,由于三层之间各尽其职、彼此独立工作,各层内容的变化并没有影响到其它层次,因此大大降低了各种数据表示、各种数据表示与所必须控制对象的耦合度,也就可以很好的进行项目开发中的分配,从而加快了工程进度。
2.4 SSM框架
目前最受欢迎的“SSM组合框架”是 Spring+ Spring MVC+ MyBatis的简称。SSM框架是标准的MVC模式,将整个系统划分成表现层,controller层,service层,DAO层四层。使用Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,MyBatis作为数据对象的持久化引擎。SSM框架是目前为止比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。SSM框架的原理和流程是客户端发送请求到DispacherServlet(分发器),由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller,Controller调用Service业务逻辑层处理后返回结果。
Spring架构的事务声明框架可以在交易中使用,若有宣告性交易,就不必把交易原则与程式码相联系,通过配置文件实现以便业务逻辑组件能够专注于业务逻辑的实现,让商业逻辑元件集中于执行商业逻辑,可降低程式设计师的发展困难。
MVC架构可以实现珠宝销售系统的超链接,用户通过表格提交的申请,不会被传送到前面的网页上进行处理,然后再回到前面的网页上,再通过后台的框架对来自前端的网页的要求进行处理。采用了后台结构,可以防止学员对前台网页进行直接的存取,大大增强了系统的安全性能。
MyBatis是一种基于关联的映射架构,它可以通过 JDBC的形式来实现对 MySQL的存取,并且通过 MySQL的操作来实现对 MySQL的存取。开放源码架构 MyBatis以一种非常灵活的方法来处理资料库的纪录,它可以让开发者不需要编写复杂的SQL语句对多张表进行操作,它可以透过对象的方法来处理资料库的纪录,来支援底层的 DAO对象。
3 系统需求分析
在设计一个系统之前,必须要先了解用户的需求,然后才能对系统的功能进行分析,然后确定系统的功能。
3.1 可行性分析
3.1.1 经济可行性研究
从需求分析到最终的系统实施,珠宝销售系统所耗费的时间并不长,而且无需购置昂贵的电脑硬件。珠宝销售系统建立了一个后台管理界面,可以管理系统的信息,减少了管理员对系统的管理时间,使其可以在系统的功能上多花一些时间[6]。
3.1.2 技术可行性研究
在研究技术可行性的时候,系统的开发环境是可以确定的,所以技术可行性最好与系统功能和性能以及一些实际的情况同时考虑。在可行性研究阶段,结合实际调整开发的内容和选择能够完成的技术体系是一个可用的手段,如果系统进入开发阶段,任何的调整都意味着会耗费更多的经历。需要再次明确的问题是,技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的。
开发珠宝销售系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了Java和 MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。
3.1.3 操作可行性研究
本系统开发平台的总体开发理念,是以安全、便捷、使用为工作中心。开发成熟后采用的本机操作系统还应具备漂亮、大方、简洁,易于管理、运行、维护等许多优点,就算是完全不懂得电脑操作的人士,也一定能够熟练按照本操作系统的提示正确应用、维护、使用和管理好本系统。它所提供的简便易学的功能特性也能够使本系统真正在用户实际使用、管理中方便可行。
3.2 功能需求分析
依据模块化设计理念,系统软件拓展了面对管理人员的管理方案模块,站点推荐管理方案模块设计了用户与管理员两类角色,系统的功能结构图如图。
图3.1 系统功能图
3.2.1 用户模块
一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。
用户:注册登录、交流论坛、公告信息、珠宝资讯、在线商城、珠宝回购、后台管理。
图3.2 用户用例图
3.2.2 管理员模块
管理员:登录、个人资料、公共管理、用户管理、信息管理、珠宝类型、商品类型、在线商城、订单信息、订单评价、珠宝回购。
图3.3 管理员用例图
3.4 非功能性需求分析
(1)安全性。由于 MySQL是珠宝销售系统的数据库,因此,用户不能在用户界面上直接更改系统的数据。
(2)可扩展性。为了满足用户的需求,珠宝销售系统必须不断地更新其功能,以满足用户的需求。该系统采用了一种全新的开放源码架构,可以帮助以后的系统扩充。当系统需要增加新的特性时,只需简单地增加相应的界面。
(3)效率性。该系统采用 MySQL数据库进行数据存储,可以利用 MySQL缓存中常见的数据库信息,在下次用户再次访问同一信息时,系统能迅速做出反应。
4 系统设计
4.1 系统总体设计
系统开发的中首先要对系统总体进行分析,通过了解用户的需求后进行系统功能的设计。
图4.1 系统总体设计图
4.2 系统详细设计
4.2.1 系统注册功能设计
(1) 注册流程图
在登录时,用户必须填写注册信息,若两次输入密码不符,将无法把用户记录加入数据库。
图4.2 注册流程图
(2)注册时序图
在珠宝销售系统中点击注册按钮实现注册功能,用户点击注册按钮之后会跳转到注册界面中,用户在注册的时候需要输入必要的信息。
图4.3 注册时序图
4.2.2 系统登录功能设计
(1) 登录流程图
在登录界面中键入登录名和密码,在服务端必须分辨登录名和密码是不是为空,假如用户并没有输入的话必须在客户端中开展提醒,假如输入的数据和数据库记录同样的话则可以登录成功。
图4.4 登录流程图
(2)登录时序图
用户在使用珠宝销售系统之前需要进行登录。用户需要在登录界面中输入用户名和密码才能够进行登录,如果用户输入的信息和数据库的记录存在相同的时候,表示验证成功,此时会跳转到珠宝销售系统的主界面当中,则这时表示登录成功。用户如果想要退出登录的话则需要点击退出按钮。
图4.5登录时序图
4.2.3 用户管理功能设计
管理员在后台登录系统之后可以对用户信息管理,可以对用户信息进行增删改查。
图4.6 用户管理流程图
(2)用户管理时序图
管理员登录后台管理界面的用户管理功能模块可以管理用户的信息。
图4.7 用户管理时序图
- 用户管理类图
图4.8 用户管理类图
4.2.4 珠宝类型管理功能设计
(1)珠宝类型管理流程图
管理员在后台登录系统之后可以对珠宝类型信息管理,可以对珠宝类型信息进行增删改查。
图4.9 珠宝类型管理流程图
(2)珠宝类型管理时序图
管理员登录后台管理界面的珠宝类型管理功能模块可以管理珠宝类型的信息。
图4.10 珠宝类型管理时序图
(3)珠宝类型管理类图
图4.11 珠宝类型管理类图
4.2.5 珠宝回购管理功能设计
(1)珠宝回购管理流程图
管理员在后台登录系统之后可以对珠宝回购信息管理,可以对珠宝回购信息进行增删改查。
图4.12 珠宝回购管理流程图
(2)珠宝回购管理时序图
管理员登录后台管理界面的珠宝回购管理,可以对珠宝回购信息进行管理。
图4.13 珠宝回购管理时序图
(3)珠宝回购管理类图
图4.14 珠宝回购管理类图
4.2.6 订单管理功能设计
(1)订单管理流程图
管理员在后台登录系统之后可以对订单信息管理,可以对订单信息进行增删改查。
图4.15 订单管理流程图
(2)订单管理时序图
管理员登录后台管理界面可以对订单信息进行管理。
图4.16 订单管理类图
(3)订单管理类图
图4.17 订单管理类图
4.3 系统数据库设计
数据库是珠宝销售系统必不可少的组成部分,一个良好的数据库结构合理,并且具有很好的冗余[7]。为减少珠宝销售系统的冗余,采用了第三范式的数据库结构。该数据库可以为珠宝销售系统的数据提供支持,从而保证了系统的稳定性。一个好的数据库可以大大的提升系统的运行速度,一个好的数据库不仅可以加快系统的运行速度,还可以减少大量的数据错误。由于珠宝销售系统在日常工作中会产生大量的数据,所以要有一个稳定的、安全的数据库来进行数据的存储,以确保系统的正常工作。利用特定的存储结构,关联数据库可以高效地对系统数据进行组织。MySQL数据库在各个表间建立了良好的连接关系,从而将数据结构和表达分离开来。
4.3.1 数据库概念结构设计
由于在概念模型中没有一成不变的模型,所以可以使用数据模型来描述珠宝销售系统中各个实体之间的联系,并使软件开发人员能够根据自己的需求构建自己的概念模型。这些概念模型都能用E-R图表来表达。由于珠宝销售系统的资料比较多,所以要建立相应的资料模型。基于上述的分析,可以得到这套珠宝销售系统的E-R[8]。
图4.6 系统全局E-R图
4.3.2 数据库逻辑结构设计
(1)会员用户信息表
表4-1 会员用户信息表
列名 | 数据类型 | 长度 | 主外键 |
member_users_id | int | 10 | 是 |
user_name | varchar | 64 | 否 |
user_gender | varchar | 64 | 否 |
examine_state | varchar | 16 | 否 |
recommend | int | 10 | 否 |
user_id | int | 10 | 否 |
create_time | datetime | 19 | 否 |
update_time | timestamp | 19 | 否 |
(2)在线商城信息表
表4-2 在线商城信息表
列名 | 数据类型 | 长度 | 主外键 |
online_shopping_mall_id | int | 10 | 是 |
trade_name | varchar | 64 | 否 |
product_brand | varchar | 64 | 否 |
product_type | varchar | 64 | 否 |
jewelry_type | varchar | 64 | 否 |
product_characteristics | varchar | 64 | 否 |
commodity_material | varchar | 64 | 否 |
commodity_price | varchar | 64 | 否 |
product_description | text | 0 | 否 |
product_picture | varchar | 255 | 否 |
hits | int | 10 | 否 |
praise_len | int | 10 | 否 |
recommend | int | 10 | 否 |
create_time | datetime | 19 | 否 |
update_time | timestamp | 19 | 否 |
(3)订单信息表
表4-3 订单信息表
列名 | 数据类型 | 长度 | 主外键 |
order_information_id | int | 10 | 是 |
order_no | varchar | 64 | 否 |
member_information | int | 10 | 否 |
user_name | varchar | 64 | 否 |
trade_name | varchar | 64 | 否 |
product_brand | varchar | 64 | 否 |
product_type | varchar | 64 | 否 |
jewelry_type | varchar | 64 | 否 |
commodity_price | varchar | 64 | 否 |
pay_state | varchar | 16 | 否 |
pay_type | varchar | 16 | 否 |
recommend | int | 10 | 否 |
create_time | datetime | 19 | 否 |
update_time | timestamp | 19 | 否 |
(4)珠宝类型信息表
表4-4 珠宝类型信息表
列名 | 数据类型 | 长度 | 主外键 |
jewelry_type_id | int | 10 | 是 |
jewelry_type | varchar | 64 | 否 |
recommend | int | 10 | 否 |
create_time | datetime | 19 | 否 |
update_time | timestamp | 19 | 否 |
(5)收藏信息表
表4-5 收藏信息表
列名 | 数据类型 | 长度 | 主外键 |
collect_id | int | 10 | 是 |
user_id | int | 10 | 否 |
source_table | varchar | 255 | 否 |
source_field | varchar | 255 | 否 |
source_id | int | 10 | 否 |
title | varchar | 255 | 否 |
img | varchar | 255 | 否 |
create_time | datetime | 19 | 否 |
update_time | timestamp | 19 | 否 |
(6)评论信息表
表4-6 评论信息表
列名 | 数据类型 | 长度 | 主外键 |
comment_id | int | 10 | 是 |
user_id | int | 10 | 否 |
reply_to_id | int | 10 | 否 |
content | longtext | 0 | 否 |
nickname | varchar | 255 | 否 |
avatar | varchar | 255 | 否 |
create_time | datetime | 19 | 否 |
update_time | timestamp | 19 | 否 |
source_table | varchar | 255 | 否 |
source_field | varchar | 255 | 否 |
source_id | int | 10 | 否 |