摘 要
随着互联网+应用的不断发展,以及受新冠病毒疫情影响,越来越多的零售行业将其销售方式从实体门店销售转向虚拟网店销售方向发展。中国互联网络信息中心(CNNIC)发布第48次《中国互联网络发展状况统计报告》显示,截至2021年6月,我国手机网民规模达10.07亿。据中央广播电视总台中国之声《新闻晚高峰》报道,截止2020年12月,我国即时通信用户规模达9.81亿,网络购物用户规模达7.82亿,短视频用户规模达8.73亿,这一系列数字展现了我国数字经济蓬勃的发展态势。特别是自2013年起,我国已连续八年成为全球最大的网络零售市场[1]。传统的信息管理模式,主要通过人工记录的方式对眼镜销售信息进行管理,这种模式不利于尽快的查询和更新相关的数据信息。我国销售系统大体趋势是从手工发展到C/S,再发展到专业软件,接着发展为互联网下的B/S架构,目前发展为手机移动应用APP和子程序等。虽然有这样的一个发展趋势,但相对于国外来说,我们的信息化发展较晚,目前还存在一定差距。大部分公司仍然还用传统的销售方式,这样的销售管理效率低下且容易出错,而且容易遭到时代的淘汰,所以急需转型。国内比较成功的案例是苏宁易购,全场景苏宁易购线下网络覆盖全国,线上通过自营、开放和跨平台运营,跻身中国B2C行业前列,线上线下的融合发展引领零售发展新趋势。当下,信息化管理模式的相关技术已经非常成熟了,眼镜销售管理系统安全性极高,稳定性极强,功能开发也非常强大。用户不再首要考虑到时间和地域的限制,直接通过在线搜索的方式,查询自己喜欢的眼镜款式,根据实际的需求和自身的喜好,选择下单购买相关的眼镜产品。为了更好的管理相关的眼镜销售信息,本人开发了一款视康眼镜网店销售系统。设计和实现视康眼镜网店销售系统所用到的B/S架构、Java语言、MySQL数据库、SSM框架等关键技术。通过使用Java语言编写相关的系统功能代码,对系统的详细功能模块进行设计和实现,对用户使用界面进行设计,包括功能模块界面设计,系统提示界面,以及相关的功能操作和处理界面。通过使用SSM框架创建系统主流架构,SSM框架中的Spring框架负责降低对象之间的依赖性,减低系统各个功能之间的耦合性,SSM框架中的SpringMVC框架负责细化相关的请求处理消息,在极短时间内响应用户的请求,SSM框架中的MyBatis框架负责透明化数据库操作,提高系统前端与后台的数据交互工作。通过使用MySQL数据库记录和管控系相关的数据消息记录,便于设计人员存储和管控的数据资源。本系统以B/S架构为基础进行开发的,相关的使用对象直接通过在浏览器中输入系统网址,便可运行和操作本系统。视康眼镜网店销售系统可以使得用户查看眼镜、订单等信息变得容易,管理员也能够高效地管理与公司相关的眼镜、订单、评价信息。
2相关技术介绍
2.1 B/S架构
浏览器/服务器结构,可以被简写为B/S结构(Browser/Server结构),是目前最受欢迎的软件开发结构之一[29]。B/S结构主要通过将系统网址发布到浏览器的方式,由用户在浏览器上进行网站访问,即可实现对系统的相关操作,进而满足实际的功能需求。服务器/客户机结构,可以被简写为C/S结构(Client/Server结构),其主要通过运行客户端程序面向系统的使用对象,进而实现系统的功能操作[30]。通过C/S结构开发的客户端应用程序具有较快的处理速度和响应时间,其在运行安全方面和性能稳定方面具有较大的优势。但是,由于用户需要下载客户端程序,并且通过进行正确的安装步骤,才可运行和使用系统,安装步骤繁琐,工作量大,灵活性不好,并且与系统相关的软、硬件均需要定期的升级和维护,所需的成本极高。相比之下,本系统通过使用B/S结构进行设计和实现。
2.2 Java语言
Java语言是一门面向对象的程序设计语言,这一点与C语言不相同,C语言是一种面向过程的程序设计语言[31]。什么是面向过程,什么又是面向对象?面向过程是指分析待解决问题的具体解决步骤,然后设计相关函数分阶段地实现这些步骤,使用时在对函数进行调用。面向对象最主要的目的不是分阶段地实现每个步骤,而是以对象的方式对需要解决的问题进行分解,再通过描述对象的行为,实现问题的解决。面向对象的编程语言是科技进步的产物,它的出现顺应了社会的发展。面向对象的系统设计,可以继承和封装相关对象及其属性,提高功能代码的使用率,减轻软件开发的设计压力。因此,开发人员通常会选择使用面向对象的编程语言,来解决实际的问题。
Java语言具有跨平台性和可移植性,这就意味着,使用Java语言开发的程序软件,可以支持在不同的浏览器平台上运行,并且代码也可以被转移到其他开发环境中执行,便于在更多的其他任务中使用系统,以此可以延长软件的使用周期。Java语言具有较强的健壮性和稳定性,当系统因为输入错误或外界操作不正常而发生故障时,不会导致死机、崩溃现象的出现,而会给用户一定的错误提示信息,帮助用户找到出错的原因,然后在较短的时间内解决问题。语法简单,容易被理解和掌握[32]。除了上述特点外,Java语言还具有使用简单、容易学习、操作便捷等优点,因此许多开发人员会优先考虑使用Java语言对系统进行功能设计。
2.3 MySQL数据库
MySQL数据库是一种轻量级的关系型数据库,因为它占用的内存资源非常少,而且能够在较短的时间内,快速地响应用户需求,所以非常适应于中小型的系统的开发[33]。MySQL数据库代码具有开源性,设计人员可以在经过源代码设计人员的同意下,个性化地选择使用和修改相关代码,以适应所设计系统的开发和运行。MySQL数据库具有免费性,设计人员不需要额外支付数据库软件使用费用,就可以直接使用MySQL数据库,设计系统相关的数据表格,存储和管理一定的数据记录,由此极大地节约了系统的开发成本[34]。除此之外,MySQL数据库还具有定时刷新功能以及较强的灵活性,在一定的时间范围内,对数据进行刷新操作,便于及时更新和存储数据,并且可以将不同的信息记录存放在不同的数据表格中,较为灵活支持关联不同的数据表格。
2.4 SSM框架
SSM框架集主要是由指Spring、SpringMVC和MyBatis三大框架组成,SSM是一个比较合适的系统开发的web框架[35]。从一定程度上,使用SSM框架对系统进行实现,能够提高软件的开发速度,节省一定的开发成本开销,并且所设计出来的系统具有较高的稳定性和扩展性[36]。其中,SpringMVC框架主要的工作是响应表现层的消息请求,MyBatis框架主要的工作是对相关的数据信息进行封装,Spring框架主要的工作是整合处理SpringMVC框架和MyBatis框架所做的工作,协调分离处理各层工作,避免各层相互影响。由于SSM框架比较适合于开发高稳定性、高并发量的系统类型,并且SSM框架比较符合设计系统的实际需求,所以大多数的开发人员会优先使用SSM框架对信息管理系统进行设计和开发。
3 系统分析
当用户确定开发一款程序时,是需要遵循下面的顺序进行工作,概括为:系统分析–>系统设计–>系统开发–>系统测试,无论这个过程是否有变更或者迭代,都是按照这样的顺序开展工作的。系统分析就是分析系统需要做什么的问题,主要目的就是确定系统的功能,这也为接下来的工作做了一个好的开端。
3.1 系统可行性分析
开发一款程序软件不仅需要时间,也需要人力,物力资源。而进行可行性分析这个环节就是解决用户这方面的疑问,看看程序在当前的条件下是否可以进行开发。
3.1.1 技术可行性分析
此程序选用的开发语言是Java,这种编程语言有着丰富的数据类型,在指令控制语句上也比较完善,更重要的就是对类与对象的大力支持,这些优点为程序开发者提供了技术保障,尤其是现在代码都逐渐模块化,有关系统功能开发的源码在网络上都公开展示了,所以让具备一定计算机开发基础的开发人员独立开发系统在技术上也逐渐容易。
3.1.2 经济可行性分析
开发此程序最关键的设备就是一台电脑,无论是学校计算机室配备的电脑,还是自己入学以来购置的笔记本,都是可以符合开发要求的设备,另外在网络上,学校本已完全覆盖了校园网,所以在设备以及网络上无须考虑经济问题。
3.1.3 运行可行性分析
随着电脑软件以及配套硬件的完善升级,当下的计算机环境是一片大好,尤其是计算机已经广泛普及到家家户户,所以计算机设备现在是随处可见,由于本次开发的程序占有的资源耗费较小,在一般的电脑或笔记本上都能轻松运转起来。
通过上面的可行性描述,可以从经济,技术,运行方面解决程序开发是否可行的问题。因此可以认为该程序软件是可以进行开发的。
3.2 系统性能分析
系统性能分析也是比较重要的内容,进行系统性能分析就是为了确保系统的功能要能够在生活中运行使用时,达到规定的指标,因此一个完整的系统软件,是需要进行系统的性能分析这个步骤的。本次进行性能分析主要从易用性指标,可扩展性指标,系统健壮性指标,系统安全性指标这几个方面进行分析。
3.2.1 易用性指标
本次程序软件的开发的目的就是让使用者可以通过使用该软件提高信息数据的管理效率,同时该程序软件也需要针对不同的操作用户设置对应的功能,因此,此程序的操作流程应该尽量与用户日常操作软件的行为习惯相贴合,另外,程序软件的设计与开发也应考虑非计算机专业用户的计算机操作水平,要让大部分使用者都可以轻松操作程序提供的各个功能。
3.2.2 可扩展性指标
当前需要开发的程序软件是根据当下的用户需求进行设计开发的,但是随着时间的推移,社会大环境的改变,开发出的程序也是需要与时俱进的,需要根据用户不断变换的需求进行相应的功能内容的扩展,需要注意的就是,当对成型的程序进行功能模块新增时,仍然需要保证程序原有架构以及功能不能受到影响,新增的功能模块在系统中也能够运行正常,该指标达标也就可以保证此程序是可以在满足信息管理要求下,从容应对市场环境的变化。
3.2.3 健壮性指标
程序软件的开发就是为了投入使用时,可以一直稳定的处理各种数据信息,程序软件一旦不稳定,也会给使用者带来干扰。因此从性能分析的角度,就要要求程序软件在应对使用者的误操作,或者是使用者因为各种原因,填写有误的数据等情况时,程序要一直保持稳定,并能够正常让使用者进行使用。当程序的某个功能模块出现异常时,程序的其它功能模块也要能够确保正常使用。程序的健壮性指标达标可以让使用者产生良好的用户体验。
3.2.4 安全性指标
程序软件的安全问题是首要问题,毕竟程序对应数据库里面存放的数据信息是庞大的,里面也包括了许多重要的个人信息,这就对程序要具备一个完善的安全机制提出了要求。因此程序必须要设置登录功能用以进行用户身份的检查,以及身份和权限的匹配,通过对不同用户身份进行功能约束,绝不容忍用户越权操作程序。另外,也需要时刻防范计算机病毒,还有黑客,通过采取针对性的办法进行安全应对,确保程序时刻处于安全的环境,让使用者放心使用。
3.3 系统流程分析
3.3.1 操作流程分析
程序上交给用户进行使用时,需要提供程序的操作流程图(如图3.1所示),这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
3.3.2 登录流程分析
在这个部分,需要对程序的登录功能模块的运行流程(如图3.2所示),进行单独说明。程序设置登录模块也是为了安全起见,让用户使用放心,登录模块主要就是让用户提交登录信息,程序进行数据验证,验证通过的用户才能够成功登录程序。
3.3.3 信息添加流程分析
程序的添加功能就是提供给操作者录入信息的功能,不管是涉及到用户信息添加,还是其它功能模块涉及到的信息添加,程序的信息添加流程(如图3.3所示)都是一致的。程序都是先对操作者录入的数据进行判定,这个判定规则是一段提前编写完成的程序代码,当程序判定数据符合要求时,才会把操作者录入的数据登记在数据表里面,比如添加的用户信息,就会把新添加的用户信息写入用户信息的数据表文件里面。
3.3.4 信息删除流程分析
当从程序里面删除某种无效数据时,遵循程序的信息删除流程(如图3.4所示),先要选中操作者需要删除的数据,程序为了预防操作者误删信息,也会进行提示,当操作者真正确定要删选中的信息时,该信息就会从数据库中被永久删除。
4 系统概要设计
本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。
1.功能分析
功能需求是指为了能够满足不同使用者的具体使用需求,调研人员据此分析系统实际的功能需求,开发人员再根据分析结果,详细的设计系统的主要功能模块,系统主要的功能需求包括用户管理、眼镜信息管理、订单管理等模块。管理员用例图如图3-1所示,用户用例图如图3-2所示。
本系统的整体开发过程是采用B/S结构模式而开展的,通过使用Java语言、MySQL数据库等技术设计系统相关的功能,功能设计完成后,可以通过使用浏览器,运行和使用系统。通过需求分析的相关内容,可以基本上确定系统的主要功能设计。基于SSM的视康眼镜网店销售系统的使用对象主要分为管理员角色和用户角色,主要的功能需求包括安全管理、用户管理、销售管理、库存管理、展示管理、咨询管理等。
安全管理主要包括登录注册、密码验证等内容,通过安全管理功能,首次使用系统的新用户,需要进行注册步骤,然后通过账号和密码进行验证,保障用户登录系统的安全性;用户管理主要包括用户信息、会员信息、积分信息等内容,通过用户管理功能,便于相关人员记录和管理相关的用户数据信息;销售管理主要包括购物车、订单管理、支付管理、销售报表等内容,通过销售管理功能,便于相关人员记录和管理相关的眼镜销售数据信息;库存管理主要包括商品信息、商品数量等内容,通过库存管理功能,便于相关人员记录和管理相关的眼镜库存数据信息;展示管理主要包括商品检索、商品分类、个人推荐、商品排行等内容,通过展示管理功能,便于相关人员记录和管理相关的眼镜展示数据信息;咨询管理主要包括公告管理、咨询服务等内容,通过咨询管理功能,便于相关人员记录和管理相关的眼镜咨询数据信息。系统总体功能设计图如图4-1所示。
2.数据库分析
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
5 系统实现
5.1管理员角色功能设计
5.1.1个人中心
个人中心模块设计的主要目的是方便管理用户对密码等个人信息进行管理,用户可以根据自己的实际需求,选择每隔一段时间,更新个人账户的用户名和密码,修改密码界面设计如图5-1所示,个人信息界面如图5-2所示。
5.1.2管理员管理
管理员管理模块设计的主要目的是方便管理用户对相关的管理员用户信息进行管理,管理用户可以选择查看管理员用户的密码,修改管理员用户的角色,管理员管理界面设计如图5-3所示。
5.1.3用户管理
用户管理模块设计的主要目的是方便管理用户且对相关的用户信息进行管理,管理用户可以选择查看用户的联系电话,修改用户的真实姓名,用户管理界面设计如图5-4所示。
5.1.4眼镜管理
眼镜管理模块设计的主要目的是方便管理用户对相关的眼镜信息进行管理,管理用户可以选择查看眼镜的详细内容,修改眼镜信息记录,删除失效的眼镜信息记录,眼镜管理界面设计如图5-5所示。
5.1.5眼镜订单管理
眼镜订单管理模块设计的主要目的是方便管理用户对相关的眼镜订单信息进行管理,管理用户可以选择查看眼镜订单的详细内容,修改眼镜订单信息记录,删除失效的眼镜订单信息记录,眼镜订单管理界面设计如图5-6所示。
5.1.6眼镜评价管理
眼镜评价管理模块设计的主要目的是方便管理用户对相关的眼镜评价信息进行管理,管理用户可以选择查看眼镜评价的详细内容,修改眼镜评价信息记录,删除失效的眼镜评价信息记录,眼镜评价管理界面设计如图5-7所示。
5.1.7积分记录管理
积分记录管理模块设计的主要目的是方便管理用户对相关的积分记录信息进行管理,管理用户可以选择查看积分记录信息的详细内容,修改积分记录信息图片,删除失效的积分记录信息记录,积分记录管理界面设计如图5-8所示。
5.1.8轮播图管理
轮播图管理模块设计的主要目的是方便管理用户对相关的轮播图信息进行管理,管理用户可以选择查看轮播图的详细内容,修改轮播图值,删除失效的轮播图信息记录,轮播图管理界面设计如图5-9所示。
5.1.9公告信息管理
公告信息管理模块设计的主要目的是方便管理用户对相关的公告信息进行管理,管理用户可以选择查看公告的详细内容,修改公告图片,删除失效的公告信息记录,公告信息管理界面设计如图5-10所示。
5.1.11财务报表
财务报表模块设计的主要目的是方便管理用户查看店铺的销售额,掌握店铺的销售情况。管理用户可以选择查看哪种眼镜的具体销售数值,也可以选择查看柱状图报表或者折线图报表。财务报表柱状图界面设计如图5-12所示,财务报表折线图界面设计如图5-13所示。
5.2用户角色功能设计
5.2.1个人中心
个人中心模块设计的主要目的是方便用户对密码等个人信息进行管理,用户可以根据自己的实际需求,选择每隔一段时间,更新个人账户的用户名和头像,修改头像界面设计如图5-12所示,个人信息界面如图5-13所示。
5.2.2地址管理
地址管理模块设计的主要目的是方便用户查看和修改自己的收货地址、收货人和联系电话,并可以调整自己的默认地址。地址管理界面设计如图5-14所示。
5.2.3眼镜订单管理
眼镜订单管理模块设计的主要目的是方便用户查看眼镜订单的详情信息,比如查看到收货人、电话、地址、眼镜名称、眼镜类型、用户姓名、实付价格等信息,用户也可以进行收货、退款等操作,眼镜订单管理界面设计如图5-15所示。
5.2.4购物车管理
购物车管理模块设计的主要目的是方便用户将自己喜欢的物品放入购物车,再进行比较决定是否购买。购物车中可以添加或者删除物品。购物车管理界面设计如图5-16所示。
5.2.5支付管理
支付管理模块设计的主要目的是方便用户进行付款,用户采用先充值再付款的形式。购物之后可以获得积分,结账时可以选用余额支付或者积分支付的方式。余额充值界面设计如图5-17所示,支付选择页面设计如图5-18所示。
6 系统测试
程序软件一旦被开发完成之后,在真正投入日常生活中进行运行使用之前,是必须要经历测试这一个重要的操作环节,因为开发期间注重的是每个单独功能模块的开发,尽管每次开发完成一个单独功能模块时,会通过单元测试进行检验,检验合格才会让程序员继续开发下一个子功能模块,以此类推,当程序员完成所有的系统子功能模块的开发时,这个时候就需要引进系统测试,系统测试就是把所有的子功能模块集成到一起,构建成整个系统,在指定的运行环境下进行运行,主要就是测试系统的所有功能模块在一起是否良好运行,一旦程序软件通过了系统测试这一环节,就意味着它可以进行最终的验收测试了,这个测试步骤的操作用户是程序面向的客户或者是最终用户了。
6.1 系统测试的特点
系统测试也是为了保证系统正式上线后,可以稳定正常运行,给使用者带来便利。系统测试也有其对应的特点:
(1)系统测试它包括了端到端的完整测试;
(2)系统测试也对程序软件的架构方面,程序软件的业务需求等方面进行了测试;
(3)系统测试一旦采用正确的方法进行,这将减少程序正式上线之后产生的各种错误;
系统测试一般都是在跟生产环境相似的环境当中运行,程序的功能比如添加功能,删除功能,修改功能等都会使用同样的数据在新系统和现有系统中进行比较,这样做让用户对新系统中的添加,修改,删除等功能能够更好地理解,也能提升用户对新系统的满意度。
说明文档
前台登录页面
http://localhost:8080/项目名称/front/pages/login/login.jsp
后台登录页面
http://localhost:8080/项目名称/jsp/login.jsp
管理员 账户:admin 密码:admin
用户 账户:a1 密码:admin
用户 账户:a2 密码:admin
在src\main\resources\config.properties中编辑
jdbc_url=jdbc:mysql://127.0.0.1:3306/项目名称?useUnicode=true&characterEncoding=UTF-8&tinyInt1isBit=false
jdbc_username=root 数据库用户名 root
jdbc_password=123456 用户密码 123456
图片存放路径: src\main\webapp\upload 里面上传图片名里面不能有中文