基于SSH框架的鞋业管理系统设计与实现

目 录

摘 要 I
Abstract II
引 言 1
1 相关技术 3
1.1 MySQL 3
1.2 SSH框架 3
1.2.1 Struts 3
1.2.2 Spring 4
1.2.3 Hibernate 5
1.3 B/S架构 5
1.4 本章小结 6
2 系统分析 7
2.1 用例分析 7
2.2 功能需求 9
2.3 非功能需求 11
2.4 本章小结 12
3 系统设计 13
3.1 系统概要设计 13
3.1.1 系统功能结构 13
3.1.2 软件体系结构 14
3.2 系统详细设计 15
3.2.1 数据库设计 15
3.2.2 系统功能设计 18
3.3 本章小结 20
4 系统实现 21
4.1 开发环境 21
4.2 开发规范 21
4.3 数据库实现 21
4.4 核心功能实现 22
4.4.1 导入买家信息功能 22
4.4.2 申请订单功能 24
4.4.3 地图导航功能 26
4.5 本章小结 28
5 系统测试 29
5.1 测试计划 29
5.2 测试用例 29
5.3 压力测试 31
5.4 测试结果 32
5.5 本章小结 32
结 论 33
致 谢 34
参考文献 35

摘 要

众所周知,当前社会逐步趋向于由人工转机器、由半自动化转完全自动化,因此,一个企业想要稳步发展乃至于成为上市公司,必须跟上时代的快速发展。信息时代早已经走进我们生活的方方面面,所以鞋业管理由人工手动管理方式转换成系统性信息化管理方式已然成为大势所趋。但是除了一些大型鞋企外,大多数小型企业仍然在使用人工手动管理方法,这不仅繁杂不便,而且容易出错。比如,某些工厂缺乏对买家相关信息、订单、退货、残鞋以及延伸到买家满意度等的管理,导致工厂赔本、员工跳槽和买家更换供应商等不利于工厂发展的困难和问题。本文针对上述现象开发了鞋业管理系统。
通过对市场需求的分析以及行业现状的调研。鞋业管理系统项目所用的开发语言是Java Web,开发软件为Eclipse,数据库使用MySQL数据库,B/S体系架构。用户权限主要包括管理员、工厂、买家用户等模块。通过使用该系统,可以使得业务的可操作性更强,具有方便快捷的优点。
该系统所使用的是SSH框架和EasyUI技术,这两个技术让系统的可重用性和跨平台性变得更高。在实际的编码完成后已经成功实现鞋业管理系统的各个功能模块,之后对其系统进行详细测试,测试结果证明该系统已经可以正常运行。实际使用之后说明,该系统的整体运行稳定,能够满足大多数用户的使用和交流需求。
关键词:鞋业;管理系统;SSH框架

Abstract

As we all know, the current society gradually tends to change from manual to machine, from semi-automatic to fully automatic. Therefore, if an enterprise wants to develop steadily or even become a listed company, it must keep up with the rapid development of the times. The information age has already entered into all aspects of our life, so it has become the general trend that the management of footwear industry has changed from manual management to systematic information management. But in addition to some large shoe enterprises, most small enterprises are still using manual management method, which is not only complicated and inconvenient, but also prone to errors. For example, some factories lack the management of the buyer’s relevant information, orders, returns, disabled shoes and the buyer’s satisfaction, which leads to the difficulties and problems that are not conducive to the development of the factory, such as factory loss, employee job hopping and buyer changing suppliers. In this paper, the shoe industry management system is developed.
Through the analysis of the market demand and the investigation of the current situation of the industry. The development language of shoes management system project is java web, the development software is eclipse, the database uses MySQL database, B / S architecture. User authority mainly includes administrator, factory, buyer user and other modules. By using this system, we can make the business more operable and have the advantages of convenience and rapidity.
The system uses SSH framework and easyUI technology, which make the system more reusable and cross platform. After the completion of the actual coding, the functional modules of the shoe industry management system have been successfully implemented, and then the system has been tested in detail. The test results show that the system can operate normally. After the actual use, it shows that the overall operation of the system is stable and can meet the needs of most users.
Keywords: footwear industry; administer;SSH framework

引 言

基于全国鞋企的高速发展以及出口量的增加,由此导致最初的管理模式以及管理手段已经不适用于现在的企业管理模式。据调查,鞋业企业属传统行业,像一些并不是很发达的村镇,会有一些小型工厂,即使是现在,那些工厂还是依靠着电话以及书面的形式来管理,虽然相比较来说成本低廉,但是效率不高也是事实。除鞋企以外的很多企业正在向“降低成本,提高效率”的方向发展,这就要求全国各大鞋企要基于社会的不断发展,对其企业的未来的管理手段以及管理手段等进行更新,这就要求各个鞋企有相应的管理系统,对其进行管理[2]。
所以基于以上观点,为鞋业管理系统的开发需求提供了强大的背景基础。本文系统主要有三种登录权限:管理员、工厂以及买家。管理员顾名思义是可以管理本身以及工厂和买家的用户,管理员主要负责的是管理维护工厂以及买家的相关信息,该用户界面主要设计完成了日志信息页面、工厂信息页面、买家信息页面、买家地址管理信息页面、买家档口管理信息页面、订单管理信息页面。买家用户在本系统主要可以使用的功能是修改个人信息,查看买家地址信息,自主下单或者申请更改订单信息报残鞋信息,以及上报退货信息,该用户界面主要设计实现了个人信息页面、买家地址信息页面、订单信息页面、残鞋信息页面、退货信息页面等。其次工厂还负责处理买家上报的信息,比如退货信息,残鞋信息,对买家上报的下单的请求进行审核处理等,该用户界面主要涉及实现了买家信息页面、残鞋信息管理页面、访客信息管理页面、其他信息管理页面、退货信息提醒信息页面、订单消息提醒信息页面等。以上介绍为本系统的功能模块,后续会重点介绍该系统的核心功能,本系统还有不完善的地方,日后会继续优化。
本文的总体结构主要为:第1章,对相关技术进行总结,这一部分主要是介绍本文项目所使用的数据库、开发框架、开发架构以及相关特点;第2章:系统的分析,这一部分将对鞋业管理系统的需求进行具体的详细分析,策划其软件目标、研究其可行性以及软件的需求分析工作;第3章,系统的设计,主要是对系统功能结构、软件体系结构、数据库以及系统功能等进行相关设计;第4章,系统的实现,阐述鞋业管理系统的具体实现过程,按照顺序演示核心功能的核心代码,并对其进行解释说明;第5章系统测试,该部分将介绍完成项目功能实现后如何开展测试工作的测试计划、测试用例,性能测试以及压力测试等。

1 相关技术

本系统使用Java语言开发。系统采用MVC分层模式,采用B/S三层应用体系架构构造系统框架,使用面向对象的设计方法完成了本平台的设计和实现过程。该系统界面简单、操作方便,容易维护。
1.1 MySQL
在现在的互联网上的各种非大型的网站中,经常会使用MySQL。由于MySQL占用地方小、速率快、使用成本不高,特别是,源代码是开放的,其目的是降低网站的运营成本以及使用和维护数据库的成本。
与一些非大型企业和个人用户使用的数据库相比,MySQL的性能更受欢迎。MySQL十分适合本平台这种中小型关系系统,网络服务器用的是阿帕奇和反向代理服务器,数据库使用MySQL[3]。因为这几项都是开源软件,所以在开发方面会十分的廉价。这将创建一个更安全、更稳定、成本更低的网站平台。
1.2 SSH框架
SSH框架中,主要包括:Struts、Hibernate以及Spring三个框架,这些框架在开发过程中,都有其特有的开发重点,集成的ssh框架从职责中分为四个层次,即表示层、业务逻辑层、数据持久层和模块层[4]。
数据库的代码通过JDBC进行访问,被封装在SSH框架里,这很大程度上提高了数据访问层中简便和高效的代码。不再需要大量DAO层的编码工作,使用Hibernate,可以根据Java的基本语义开发持久层,性能非常好。
1.2.1 Struts
首先,Struts是MVC的一个实现,它使用Servlet和JSP标签作为实现的一部分。Struts根据J2EE的特点做了相应的变更和推广,它还继承了MVC的特点,弱化了业务逻辑接口和数据接口之间的耦合,使视图层更加多样化[6]。
此外,需要配置一个struts的配置文件,来串联全部系统各个模块之间的连接,这样Struts就会起到页面引导的作用,使得系统的上下文更加明了,有益于以后的维护。特别是当不同的开发者接替项目时,管理起项目会更顺手,容易读懂项目逻辑。如图1.2展示了Struts2的架构。
在这里插入图片描述

图1.2 Struts2的架构
1.2.2 Spring
Spring在2003年开始大范围使用。因为其为轻量级框架,而且开源,受到了很多人的追捧。Spring框架具有控制反转(IOC)及面向切面编程(AOP)这两大特点,而且可以自行整合其他种类的框架[7]。Spring会反转得到对象的创建权,可以解决程序耦合性高的问题。面向切面编程可以为横向抽取,使用者可以不修改源代码然后增强程序。此框架还可以管理其他项目开发中的配置问题,例如管理JDBC连接池,进行项目事务的管理。Spring的配置需要在XML文件中进行,其他配置使用注解的方式,可以大大简化项目开发步骤。
它用于控制反转(InC)和AOP。其在精简企业开发,减少组件之间的耦合,并实现软件层之间的解耦上起到决定性的作用。容器提供的许多服务都可以使用。Spring框架的模块组成如图1.3所示。
在这里插入图片描述

图1.3 Spring框架的模块组成图
1.2.3 Hibernate
Hibernate是SSH框架中的一个框架[8]。它将JDBC步骤包装起来,使用Hibernate框架只需要写单一的JDBC代码和测试SQL语句即可,这样使数据库的操作在开发中更加容易和快速。只需要简单的配置,并调用框架提供的方法来完成数据的添加、删除、修改和检查。Hibernate映射数据库表和POJO程序类,并封装数据操作。
Hibernate是一个轻量级ORM框架,它可以封装JDBC,使用ORM进行映射。且提供了一种缓存机制,能提高效率。Hibernate具有良好的可移植性和简短的HQL编程。非常符合面向对象编程的思想。如图1.4所示为Hibernate的组件结构图。
在这里插入图片描述

图1.4 Hibernate组件结构图
1.3 B/S架构
B/S结构,是在Web之后十分受欢迎的网络架构模式,浏览器是现在客户端经常使用的软件[5],这样的使用方法将很多的客户端全部都统一在了一起,将想要做的系统中的核心功能点全部都集中在一起进行处理,从而简化了开发时的维护和运行,如此只需一个浏览器即可。
使用此结构,减少成本,选择更多。如今许多使用者操作系统选择的都是Windows,上网使用的都是浏览器,然而这些都是在日常生活中,当想要在服务器上进行操作的时候,就可以使用Linux服务器,然后在上面进行操作,这样进行操作可以提高整个系统的可靠性和快捷性。这类三层体系结构如图1.1所示。
在这里插入图片描述

图1.1 三层体系结构
1.4 本章小结
以上介绍的就是鞋业管理系统所使用的相关技术,因为在校学习了Java Web,所以开发语言决定使用Java Web进行编写;使用MySQL数据库,MySQL和 Oracle数据库相比前者的特点更适合本系统的设计以及未来的更新和维护;使用目前主流的B/S结构,以及通过自我学习掌握以及实习了解到的SSH集成框架,使鞋业管理系统项目拥有更好的延展性、高效性、灵活性等特性,并且拥有高容错、低成本、便于开发和维护的优点。

2 系统分析

系统需求分析是本论文至关重要的环节,因为它具体而又详细,同时也是详细设计的基础和必要条件,同时也是该鞋业管理系统开发周期的第一阶段,目的是策划软件目标、研究其可行性以及软件的需求分析工作。本章以前面章节介绍的技术作为基础,解析和预想策划了一下鞋业管理系统在事物处理上需要干什么,并得出了应用户要求而得出的调查分析和在设计系统的过程中的原则和思路。然后将本鞋业管理系统的整个业务流程进行详细的分析以及用例图设计,对于接下来的系统设计、项目开发和项目测试阶段有所帮助,同时也会总结和归纳出用户的功能模块,给出系统较为准确的现实世界的抽象符号记录。
2.1 用例分析
通过了解用例的进化史,在开始开发之前就已经确定了所有的需求,明确需求后才能有明确的目标,才能合理地设计鞋业管理系统的开发步骤,然后把鞋业管理系统的需求运用到后续分析和设计中,从而完成一个系统而全面的工程化过程。
在这里插入图片描述

图2.1 鞋业管理系统总用例图
图2.1所示为本系统中参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的总用例图,一目了然呈现了鞋业管理系统各用户之间的关系以及各用户模块所包含的功能,管理员主要负责系统如图所示的所有功能;买家用户可使用的功能包括视图上的所有功能;而工厂主要负责处理退货信息、订单信息、残鞋信息、以及增删改查访客信息等[10]。
在这里插入图片描述

图2.2 管理员用户用例图
图2.2所示为鞋业管理系统的管理员用户用例图,展现的是管理员用户与其各个功能之间的关系,管理员用户可以使用的功能包括图中所示全部用例信息。管理员拥有着最高权限。
在这里插入图片描述

图2.3 工厂用户用例图
图2.3所示为鞋业管理系统的工厂用户用例图,展现的是工厂用户与其各个功能之间的关系,工厂用户可以使用的功能包括图中所示全部用例信息,工厂用户主要负责处理上报的退货信息以及订单请求等。
在这里插入图片描述

图2.4 买家用户用例图
图2.4所示为本系统的买家用户中参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的用例图,表达的是买家用户与其各个功能之间的关系,买家用户可以使用的功能包括图中所示全部用例信息,从图中显示的用例关系不难看出,各功能必须登录后才可以实现。
2.2 功能需求
鞋业管理系统对于功能设计的需求主要包括工厂、买家用户、系统管理员三大用户模块设计,后面会主要介绍该系统的四个主要核心功能,下面是本系统的功能清单如表2.1所示。
表2.1 鞋业管理系统主要功能清单
功能编号 功能名称 备注
01 用户登录 所有用户功能
02 用户退出 所有用户功能
03 分页 所有用户功能
04 查看登录日志 管理员用户功能
05 添加工厂信息 管理员用户功能
06 修改工厂信息 管理员用户功能
07 删除工厂信息 管理员用户功能
08 添加买家信息 管理员用户功能
09 修改买家信息 管理员用户功能
10 删除买家信息 管理员用户功能
11 按姓名查询买家信息 管理员用户功能
12 按年龄查询买家信息 管理员用户功能
表2.1续页
功能编号 功能名称 备注
13 按性别查询买家信息 管理员用户功能
14 按订单查询买家信息 管理员用户功能
15 按主营种类查询买家信息 管理员用户功能
16 Excel导入买家信息 管理员用户功能
17 添加买家地址信息 管理员用户功能
18 修改买家地址信息 管理员用户功能
19 删除买家地址信息 管理员用户功能
20 添加买家档口信息 管理员用户功能
21 修改买家档口信息 管理员用户功能
22 删除买家档口信息 管理员用户功能
23 按买家档口名查询消息 管理员用户功能
24 按买家地址查询信息 管理员用户功能
25 删除买家订单信息 管理员用户功能
26 按买家查询订单信息 管理员用户功能
27 按买家档口查询订单信息 管理员用户功能
28 自动分配订单买家档口 管理员用户功能
29 添加买家信息 工厂用户功能
30 修改买家信息 工厂用户功能
31 删除买家信息 工厂用户功能
32 按姓名查询买家信息 工厂用户功能
33 按年龄查询买家信息 工厂用户功能
34 按性别查询买家信息 工厂用户功能
35 按订单查询买家信息 工厂用户功能
36 按主营种类查询买家信息 工厂用户功能
37 按买家查询残鞋信息 工厂用户功能
38 按买家地址查询残鞋信息 工厂用户功能
39 添加访客信息 工厂用户功能
40 修改访客信息 工厂用户功能
41 删除访客信息 工厂用户功能
42 按买家查询访客信息 工厂用户功能
43 按买家地址查询访客信息 工厂用户功能
44 添加其他信息 工厂用户功能
45 修改其他信息 工厂用户功能
46 删除其他信息 工厂用户功能
47 按买家查询其他信息 工厂用户功能
48 按日期查询其他信息 工厂用户功能
49 受理退货信息 工厂用户功能
50 审批订单信息 工厂用户功能
51 添加买家档口信息 工厂用户功能
52 修改个人信息 买家用户功能
53 查看买家地址信息 买家用户功能
54 查看买家档口信息 买家用户功能
55 添加订单信息 买家用户功能
56 申请更改订单信息 买家用户功能
表2.1续页
功能编号 功能名称 备注
57 添加残鞋信息 买家用户功能
58 添加退货信息 买家用户功能
59 查看退货信息 买家用户功能
60 导航 买家用户功能
导入信息功能即工厂用户登录后,左侧导航栏中有中人员信息管理一栏点击买家信息页面,点击导入,选择已编辑好的excel表文件,选择打开,返回到导入信息页面,点击上传按钮,excel表中的内容成上传到买家信息表中。
买家添加订单请求的功能即买家用户登录后即可进入本系统的前端主界面,买家用户点击左侧导航栏中买家信息管理中的订单信息,进入页面,可以查看、添加以及修改订单信息。更改订单功能是,点击更改订单按钮,弹出提醒框提示“修改订单信息需要通过管理员审核,是否提交?”点击确定,弹出输入框,提示需要上交订单原因,填写完成,点击确定。如果提交成功。
订单消息审批功能即工厂用户登录后进入本系统的前端主界面,工厂用户点击左侧导航栏中消息提醒菜单中的订单消息就会看到买家提交的订单消息,选中一条消息,点击审批按钮会弹出审批意见框,提问“是否接收该买家订单?”下拉列表框提示:不处理、同意、或否决,如若不处理,当买家二次申请时,会提示“您已下单,正在处理中……”。当管理员处理意见为同意时,买家用户再登录查看订单消息,原来的订单消息已经不存在。
地图导航功能为买家用户登录后进入本系统的前端主界面,买家用户点击左侧导航栏中买家档口信息页面,点击导航菜单栏,当存在不了解鞋城各个建筑物的地理位置时则可以通过地图选中你想要达到的目的地,即可从你的位置出发划定规划好的路线即可到达目的地。其次还可以通过卫星地图可以清晰明了的看到各个建筑物的地理位置,找到用户想要到达的买家位置,并且在地图上画好路线。
2.3 非功能需求
软件产品的特性也是不可忽视的一般分,当满足主要用户处理事务需要干什么后,还应有与之匹配的可服务于主要需求的特性,例如美观的界面,优越的性能,系统运行稳定等。
现在很多客户要求界面设计得美观漂亮,所以整个系统的页面应该有一个严谨的规划,这样才可以使用户操作整个系统时有良好的使用效果,不会审美疲劳以及过度劳累感。
系统采用JSP、jQuery、Ajax等技术编辑网页实现前端,采用SSH框架相关技术完成后端。页面主要使用EasyUI 前端框架,在实现功能的同时,提高用户体验,使页面更加美观,操作更加方便。本系统总体共分为三个部分进行开发,管理员功能界面与买家用户功能界面以及工厂功能界面。且管理员、买家用户、工厂界面分别在不同的系统界面展示,需通过不同账号密码进行登录,系统进行身份验证方可进入对应身份的功能界面。管理员、买家用户、工厂功能界面分离是一个Web系统在界面展示方面的基本要求,保证了系统管理员、买家用户、工厂互不干涉却又进行业务上的交流。
2.4 本章小结
本章介绍了鞋业管理系统在软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法的过程,其中还包括功能解析、系统功能关系视图分析和系统特性分析[11]。经过这一阶段的工作,对整个系统的运作有了一个具体的思路和方法,使整个项目变得清晰,为接下来的工作打下了基础,可用于开展该项目的处理方案、开发并运行程序进行自查找错误的工作。

3 系统设计

系统设计可分为在编码之前做的准备工作和系统开发之后进行的细化工作两个阶段。系统总体策划的主要目的是从总体上确定系统的设计方案、组成系统的模块以及模块之间的关系。与此同时,数据库设计、系统实现计划和测试计划等也要一同进行。详细设计的主要目的是确定每个软件元素应该如何被详细实现,包括软件过程设计等等。为了在编码阶段完成软件程序代码的实现,需要准确描述目标系统。
3.1 系统概要设计
对于系统架构的整体设计就是将一个整体的大模块分割成其所属的子模块,在将一个一个的子模块拼凑起来就是一个完整的系统功能设计。项目开发者对系统的需求有了完整、准确、具体的理解和描述。在整个设计过程中,为了确定每个小目标可能的具体场景,我们必须首先了解每个小目标的一些相关需求分析信息。然后,根据系统的要求,进行初步的功能设计,逐步完善系统,最后得出具体的可行的系统框架。
3.1.1 系统功能结构
对于系统架构的整体设计就是将一个整体的大模块分割成其所属的子模块,在将一个一个的简单的子模块组合连接使其变成完整的系统功能设计。在整个过程中,开发着一定要对需求分析的信息进行详细的了解,尽可能的掌握每一个功能,即使再小的功能,再掌握了方案后就针对系统需求进行初步的功能设计,再对其进行逐步完善改进,最后得出具体的可行的系统框架。鞋业管理系统的功能按照使用人员功能分类可划分为管理员功能、工厂用户、买家用户功能三大用户模块。再由三个大模块划分成管理员负责的系统信息管理、人员信息管理、买家信息管理;工厂负责的人员信息管理、买家地址信息管理、消息提醒;以及买家用户的人员信息模块、买家档口信息模块等具体的功能。
如图3.1所示,为鞋业管理系统功能结构图,其中,在系统功能中分为管理员、买家以及工厂三种权限的功能,关于管理员用户的功能,除了基础的功能以外,管理员还可以用excel导入买家信息,自动分配买家档口的功能,增删改查买家档口信息,增删改查工厂信息以及买家信息。工厂用户可以对残鞋信息,访客信息,其他信息进行管理,以及对买家用户上报的退货信息以及订单请求进行审批,买家用户则是对个人信息,买家档口信息进行查看修改等操作,以及添加退货消息,订单请求等功能。
在这里插入图片描述

图3.1系统结构图
总的来说,买家功能模块和管理员功能模块通过信息管理功能连接起来,形成一个更大的完整并且严谨的功能模块,实现了鞋业管理系统的需求,而管理员,以及工厂用户通过对各种信息的管理实现对整个系统的管理和维护,能提高本系统的稳定性以及安全性。这样的功能结构设计能够完成需求分析中对整个系统功能需求的实现,也能达到需求分析中对系统的可重用性、可扩展性、安全性、负载量等等非功能需求的要求。
3.1.2 软件体系结构
本设计采用JSP+SSH实现系统架构设计。JSP负责浏览器界面与用户交互,支柱2负责处理用户请求。Service是将Dao层方法进一步封装,实现多个Dao层方法调用。Dao层则是实现了HibernateDaoSupport接口,对实体类进行操作,Dao层是与DB交互设计。
使用下记开发模型,为了使视图、控制器和模型的完全分开,且完成了业务逻辑层和持久层的分离,不管前端如何变化,前端也不会受数据库的变化而发生改变,而模型层只需小小的改动就行,这样会很大程度上来提高系统的可重用性[12]。此外,因为模块及模块之间参数依赖的标准小,对于开发的队友协力工作很有好处,很大程度上提高了开发效率。如图3.2所示即为本系统的系统架构图。
在这里插入图片描述

图3.2系统架构图
3.2 系统详细设计
详细设计是对系统架构设计中最重要的部分,最主要的是在系统需求和架构设计的最深处,对系统用例中使用的类和对象进行进一步的精化,确定每一个类的属性和方法[13]。
3.2.1 数据库设计
数据库设计重点是在选定好的数据库管理系统内,根据使用者需要来规划数据库构造和创建数据库的过程。数据库管理与项目开发是紧密相连的,只有设计好数据库才能顺利并且快捷地做出项目的设计规划[14]。
数据库管理与项目开发是紧密相连的,只有设计好数据库,才能顺利做出项目的设计规划,完善的数据库设计能够使系统设计条例清晰,层次分明,分配好数据表存储的内容并且设计好主外键之间的联系,就可以在设计具体的项目时节省许多的时间和精力。根据需求分析及买家档口管理系统的要求得到了一个E-R模型,此模型有20个关键抽象概念,每个关键抽象之间的联系如图3.3所示。
在这里插入图片描述

图3.3系统总E-R图
设计数据库需要考虑全面,再策划数据库,进行系统开发。在建表之前要考虑充分各个表之间的关联。然后,当需求发生变化,功能后来扩大时,就会产生不必要的问题,许多任务就会再次执行。
鞋业管理系统的管理员信息表是本平台数据库设计中字段最少的一张表,该表的作用是用来存储管理员用户数据,在数据库中唯一一个慎重删除的表,一旦删除,系统最高权限便无法登入系统,该表的字段主要包括管理员编号、管理员名、密码、以及状态等信息字段。管理员权限最高,由系统设置好,且不可修改。如表3.1所示。
表3.1 t_admin管理员信息表
列名 数据类型 长度 主键 说明
adminId int 11 是 管理员编号
adminName varchar 50 否 管理员名
adminPassword varchar 20 否 密码
type varchar 5 否 状态
鞋业管理系统的订单信息表,订单信息表包含编号、买家编号、买家姓名、买家档口编号以及买家档口名等字段。对于订单信息表,买家档口和买家间具有一对多的关系。如表3.2所示。
表3.2 order订单信息表
列名 数据类型 长度 主键 说明
orderId int 11 是 编号
userId int 11 否 买家ID
userXingming varchar 50 否 买家姓名
stallId int 11 否 买家档口ID
stallName varchar 50 否 买家档口名
买家信息表,其中该表主要包含9个字段。管理员和工厂可以通过该表查询到买家信息,以及买家信息相关的买家档口信息,订单信息甚至是来访信息等。如表3.3所示。
表3.3 user买家信息表
列名 数据类型 长度 主键 说明
userId int 11 是 买家ID
userName varchar 50 否 姓名
userPassword varchar 20 否 密码
userXingming varchar 50 否 买家
userAge int 4 否 年龄
userSex varchar 2 否 性别
userType int 2 否 状态
userDep varchar 100 否 具体类型
userMajor varchar 100 否 主营种类
工厂信息表,工厂信息表主要包含7个字段。其中工厂编号作为该表的主键。管理员负责添加维护工厂信息,可以通过该表查询到对应工厂的详细信息。如表3.4所示。
表3.4 factory工厂信息表
列名 数据类型 长度 主键 说明
factoryId int 11 是 编号
factoryName varchar 50 否 工厂名
factoryPassword varchar 20 否 密码
factoryType varchar 11 否 工厂类型
tel varchar 15 否 电话
addressId varchar 11 否 买家地址编号
sex varchar 11 否 性别
鞋业管理系统的订单信息表,订单信息表包含订单编号、姓名、买家ID、买家档口名、原因、时间、类型、状态等信息字段。这个是最重要的表单之一,因为对于鞋业来说下单是最重要的,其中买家编号作为该表的主键。如表3.5所示。
表3.5 forder订单信息表
列名 数据类型 长度 主键 说明
forderId int 11 是 订单编号
xingming varchar 50 否 姓名
userId int 11 否 买家ID
stallName varchar 50 否 买家档口名
reason varchar 255 否 原因
creatDate varchar 100 否 时间
type varchar 20 否 类型
state varchar 10 否 状态
3.2.2 系统功能设计
本章详细设计了系统的核心功能。在此过程中,需要绘制出核心功能操作的时序图,并且描述清楚每个核心功能的实现方法。以下展示了该系统的四个核心功能,即管理员导入买家信息的功能、买家上传订单请求的功能等,其中管理员导入买家信息的功能具体如下。
工厂用户导入买家信息功能,工厂用户登录,点击左侧导航栏中买家信息列表中的的导入按钮,进入导入页面,点击浏览button,选择已编辑好的excel表文件,选择打开,返回到导入信息页面,点击上传button,excel表中的内容上传成功至买家信息表中。管理员和工厂都有权限可以批量管理买家信息。如图3.4所示为管理员导入买家信息的功能时序图。
在这里插入图片描述

图3.4导入买家信息功能时序图
根据图3.4所示的时序图能够看出导入买家信息功能的详细业务流程,管理员用户首先访问导入信息页面(userExcel.jsp),点击“浏览”按钮,加载文件完成后,会到导入信息页面(userExcel.jsp),然后点击“上传”按钮,接着业务逻辑层(UserAction.java)的导入Excel方法(excelInto())验证版块,为了能使数据插入进数据库,会对其进行验证然后改正成正确的格式,然后由数据库接口(UserDao.java)的爬取数据信息方法(queryByUser())获取导入的买家信息并写入数据库,最后跳转回到导入信息页面(userExcel.jsp)提示导入成功。设计过程描述如表3.6所示。
表3.6 导入功能描述
编号 类名 功能描述
1 userExcel.jsp 点击首页导入信息页面的浏览按钮。
2 userExcel.jsp 在该页面点击上传按钮。
3 UserAction.Java 通过excelInto()判断excel单元格内容的格式,并对其进行转换。
4 UserDao.java 通过queryByUser()方法,向数据库中获取导入的买家信息列表信息。
5 userExcel.jsp 返回我导入信息页面。
买家更改订单信息功能,买家用户登录后台管理界面后进入买家信息页面,然后选择左侧导航栏订单信息管理,选择订单信息,在有买家信息的前提下,可以申请订单请求,然后点击列表左上方的“更改订单”按钮,在弹出框内填入订单的原因,点击确定按钮,等待管理员审核,当管理员审核通过后,可以重新添加订单信息。买家用户申请订单功能的时序图如图3.5所示。

在这里插入图片描述

图3.5 更改订单功能时序图
根据图3.5所示的时序图能够看出更改订单信息的详细业务流程,买家用户首先访问订单信息列表页面(order.jsp),然后点击“更改订单”按钮,弹出提示框提示“修改订单需要通过工厂审核,是否提交?”点击确定,弹出输入框,提示请输入更改订单原因,填写完成,点击确定。接着业务逻辑层(orderAction.java)的添加订单信息方法(changeStallAjax ())先根据userId,拿到买家的状态,判断是否订单,按照条件查询,然后由数据库接口(ForderDao.java)中的方法(query())获取添加的订单信息并写入数据库,最后跳转回订单信息列表页面(order.jsp)。提交成功,等待工厂审批,如果工厂审批通过即可以更改订单。设计过程描述如表3.7所示。
表3.7更改订单信息功能描述
编号 类名 功能描述
1 order.jsp 点击订单信息列表中更改订单按钮。
2 order.jsp 在该页面输入订单原因,提交给管理员审核。
3 orderAction 通过changeStallAjax ()方法录入添加的订单信息。
4 ForderDao 通过query ()方法,向数据库中写入姓名,电话,性别,密码以及所属买家地址等信息。
5 order.jsp 返回订单信息列表。
3.3 本章小结
本章主要介绍了鞋业管理系统的系统设计部分,主要写了系统概要设计和系统详细设计两大部分[15]。系统总体设计介绍了系统的功能结构和软件架构,并根据功能结构图和软件架构图进行了分析。系统详细设计则分别介绍数据库设计,系统功能设计,通过E-R图、以及时序图进行了分析,接下来将根据设计的情况完成本项目的系统实现。

4 系统实现

系统最终能否成功实现取决于代码的成功编写以及系统开发环境的优化。系统开发的软件环境以及硬件环境都会对项目能否顺利运行起着决定性的作用。除了环境之外,对于系统的结构设计,模块设计,代码设计以及代码开发规范对于系统的实现也是至关重要的。
4.1 开发环境
本系统使用了Windows 10 企业版 64-bit操作系统,该操作系统为目前主流操作系统,界面简约好看,操作不复杂,操作环境好。本系统开发环境为CPU即Intel® Core™ i7-5500U CPU @ 2.40GHz 2.40GHz,内存即8GB RAM,硬盘即931.51GB HDD,浏览器即Google Chrome;鞋业管理系统的开发工具为Eclipse 4.6.3,然后使用Tomcat 9.0来进行程序的运行,又装了MySQL数据库进行信息操作与交互,整个鞋业管理系统使用了SSH框架,因为他的封装特性让基础功能的调用变得更加方便。
4.2 开发规范
代码的规范性和一致性能够使项目更好的进行团队协作开发并提高代码的浏览和理解的清晰程度以及改进系统的难易程度。代码的程序结构以及命名风格是开发系统时的重要环节,决定一个项目是否成立的关键一步。本节将对本系统的命名规范做一个大致的介绍[16]。类的命名方法采纳单词首字母大写的方式命名。整个管理系统项目命名使用Java通用命名规范,包名分别为com.*(action、dao、model、service和util)。
4.3 数据库实现
MySQL作为本系统的开发数据库,数据表明为mydb,根据需求分析共建20个表,分别为管理员信息表(admin)、买家信息表(user)、工厂信息表(factory)、日志信息表(rizhi)、买家档口信息表(stall)、买家地址信息表(address)、园区信息表(dorm)、订单信息表(order)、具体类型信息表(major)、主营种类信息表(dep)、其他信息表(queqin)、访客信息表(fangke)、残鞋信息表(broken)、订单信息表(forder)、评分信息表(score)、退货信息表(damage)、检查卫生信息表(hygiene)、房间信息表(room)、用户权限信息表(role)、通知信息表(message)数据库表单如图4.1所示。
在这里插入图片描述

图4.1数据库实现界面
4.4 核心功能实现
4.4.1 导入买家信息功能
如图4.2是系统导入功能的流程图。当有大批量买家信息需要管理时,工厂可以不逐条添加,这时候管理员或工厂可以从Excel表中直接导入买家信息。
在这里插入图片描述

图4.2导入买家信息流程图
如图4.3所示为人员信息页面的实现图,其中导入信息功能即管理员用户登录后,点击左侧导航栏中买家信息管理页面中的导入按钮,进入导入信息页面,点击浏览按钮,选择已编辑好的excel表文件,选择打开,返回到导入信息页面,点击上传按钮,excel表中的内容上传成功至买家信息表中。本功能的核心代码如下文所示。
在这里插入图片描述

图4.3 人员信息页面
String directory = “/file”;
String targetDirectory = ServletActionContext.getServletContext().getRealPath(directory);
FileType type = FileTypeJudge.getType(uploadFile);// XLS_DOC
if (!type.name().equals(“XLS_DOC”)) {
return “exception”;
}File target = UploadFile.Upload(uploadFile, uploadFileFileName, targetDirectory);
System.out.println(“uploadFile:” + uploadFile);
System.out.println(“uploadFileFileName:” + uploadFileFileName);
System.out.println(“targetDirectory:” + targetDirectory);
excelFile = new FileInputStream(target);
Workbook wb = new HSSFWorkbook(excelFile);
Sheet sheet = wb.getSheetAt(0);
int rowNum = sheet.getLastRowNum() + 1;
for (int i = 1; i < rowNum; i++) {
User user = new User();
Row row = sheet.getRow(i);
int cellNum = row.getLastCellNum();
for (int j = 0; j < cellNum; j++) {
Cell cell = row.getCell(j);
String cellValue = null;
// 判断excel单元格内容的格式并对其进行转换,以便插入数据库
switch (cell.getCellType()) {
case 0:
cellValue = String.valueOf((int) cell.getNumericCellValue());
break;
case 1:
cellValue = cell.getStringCellValue();
break;
case 2:
cellValue = cell.getStringCellValue();
break;
case 3:
cellValue = cell.getStringCellValue();
break;
case 4:
cellValue = cell.getStringCellValue();
break;
case 5:
cellValue = cell.getStringCellValue();
break;
case 6:
cellValue = cell.getStringCellValue();
break;
case 7:
cellValue = cell.getStringCellValue();
break;
}
4.4.2 申请订单功能
买家因为一些问题需要订单,通过提交申请来进行订单。若已经提交过,但是管理员未处理,则不能再次提交,避免数据重复。若未提交,则添加一条记录。如上图4.4所示为订单请求的流程图。
在这里插入图片描述

图4.4 订单流程图
买家用户登录后即可进入本系统的前端主界面,买家点击左侧导航栏中买家信息管理的订单信息页面,进入页面查看自己的订单信息,如果没有订单信息,需要添加订单信息,然后点击更改订单按钮,弹出提醒框提示“修改订单需要通过工厂审核,是否提交?”点击确定,弹出输入框,提示需要上交订单原因,填写完成,点击确定。提交成功,等待工厂审批,工厂用户登录点击消息提醒页面,选中需要处理的信息,点击审批按钮,提示是否同意该买家订单(不处理,同意,或者否决)?当工厂审批通过后即可以再次下单。如图4.5所示为界面实现图,核心代码如下文所示:
在这里插入图片描述

图4.5订单信息页面
JSONObject result = new JSONObject();
String userId = getParam(“userId”);
String reason = getParam(“reason”);
// 先根据userId,拿到买家的状态,判断是否订单
User user = userService.getUser(Integer.parseInt(userId));
if (user.getUserType().equals(0)) {
result.accumulate(“msg”, “您还未选宿,订单?不存在的”);
ResponseUtil.write(response, result);
return;
}
List list = ForderService.getList();
for (Qianchu qianchu2 : list) {
if (qianchu2.getUserId().equals(Integer.parseInt(userId))) {
if (qianchu2.getState().equals(“0”)) {
result.accumulate(“msg”, “你已提交过申请,正在处理中…”);
ResponseUtil.write(response, result);
return;
}
}
}
Qianchu qianchu = new Qianchu();
qianchu.setCreatDate(DateUtil.formatDate(new Date(), “YYYY-MM-dd HH:mm”));
qianchu.setReason(reason);
qianchu.setType(“未处理”);
qianchu.setUserId(user.getUserId());
qianchu.setXingming(user.getUserXingming());
qianchu.setState(“0”);
List one = orderService.getOne(user.getUserId());
qianchu.setSsStallName(one.get(0).getSsStallName());
ForderService.save(qianchu);
result.accumulate(“msg”, “提交成功”);
ResponseUtil.write(response, result);
4.4.3 地图导航功能
当买家用户或者外来人员还不是很熟悉鞋城、工厂等周围建筑物的地理位置时可以查看导航路线,点击地图定位上的标致性建筑物,您可以在页面上方点击要去到的位置,系统会自动提供路线图供参考,按照路线就会到达指定地点。该系统还提供卫星地图,如图4.5所示为界面实现图,4.6所示为卫星地图,核心代码如下文所示。
在这里插入图片描述

图4.5 界面实现图
在这里插入图片描述

图4.6 卫星地图
var walking = new BMap.WalkingRoute(map, {renderOptions:{map: map, autoViewport: true}});
function showInfo(e){
walking.search(new BMap.Point(123.545966, 41.63094),new BMap.Point(e.point.lng, e.point.lat));}
map.addEventListener(“click”, showInfo);
var point = new Array(); //存放标注点经纬信息的数组
var marker = new Array(); //存放标注点对象的数组
var info = new Array(); //存放提示信息窗口对象的数组
var searchInfoWindow = new Array();//存放检索信息窗口对象的数组
for (var i = 0; i < markerArr.length; i++) {
var p0 = markerArr[i].point.split(“,”)[0];
var p1 = markerArr[i].point.split(“,”)[1];
point[i] = new window.BMap.Point(p0, p1); //循环生成新的地图点
marker[i] = new window.BMap.Marker(point[i]); //按照地图点坐标生成标记
map.addOverlay(marker[i]);
marker[i].setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
//显示marker的title,marker多的话可以注释掉
var label = new window.BMap.Label(markerArr[i].title, {
offset : new window.BMap.Size(20, -10)});
marker[i].setLabel(label);
info[i] = “

” + “简介:”

  • markerArr[i].description;
    //创建百度样式检索信息窗口对象
    searchInfoWindow[i] = new BMapLib.SearchInfoWindow(map,
    info[i], {
    title : markerArr[i].title, //标题
    width : 290, //宽度
    height : 100, //高度
    panel : “panel”, //检索结果面板
    enableAutoPan : true, //自动平移
    searchTypes : [ BMAPLIB_TAB_SEARCH, //周边检索
    BMAPLIB_TAB_TO_HERE, //到这里去
    BMAPLIB_TAB_FROM_HERE //从这里出发
    ]
    });
    marker[i].addEventListener(“click”, (function(k) {//添加点击事件
    return function() {// js 闭包
    map.centerAndZoom(point[k], 18); //将被点击marker置为中心
    searchInfoWindow[k].open(marker[k]);} //在marker上打开检索信息窗口
    })(i));}}
    function map_load() {//异步调用百度js
    var load = document.createElement(“script”);
    load.src = “http://api.map.baidu.com/api?v=2.0&ak=CzIotL4b13pVEF9wdFY2Y1farP1tUqA1&callback=map_init”;
    document.body.appendChild(load);
    }window.onload = map_load;
    4.5 本章小结
    本章主要详细介绍了项目开发阶段的开发环境及编码规范,并列举展示了部分核心功能如更改订单信息功能、申请退货信息功能的操作流程、实现界面及核心代码。对于整个项目的实现到这里已经圆满的完成,接下来将开始项目测试的工作。

5 系统测试

测验不局限于系统开发的一个阶段。在系统开发中开始运转。据调查,测试速度越快,测试执行的频率越高,软件开发的成本越低,极端的刺激也把实验提升到了极限。所有的软件开发活动都必须从最初开始制定测试代码。
性能评估是系统的重要功能。然而,必须记住,软件测试是站在用户的位置为出发点。一般来说,在保证系统品质和可用性的前提下,为了满足用户的使用要求,有必要提升系统的使用感[18]。本章对鞋业管理系统的功能模块进行了测试,来确保系统运行平稳,让使用者感到满意。
5.1 测试计划
在鞋业管理系统研发完成后,需要对系统进行全面的测试以验收系统的质量。在开发系统的过程中,语句语法错误、标点符号的错误都有可能出现,当系统正常运行时会给出提示,并请求解决,这些问题在编程的过程中,是容易被发现的。但是有的错误隐蔽性强,因此需要对整个系统进行详细的系统测试。
首先对系统的系统信息管理进行测试,其次对人员信息管理进行测试,再对买家订单信息管理进行测试,最后对消息提醒功能进行测试。为了测试鞋业管理系统的完善性,在系统测试过程中,对系统的功能进行了详细的测试,以真实反映系统的功能。经过重复测试和调试,对隐藏的问题进行了测试,且提高了系统的稳定性。
5.2 测试用例
在系统开发的过程中,可能会面对很多之前自己从未遇到过的问题,所以在开发过程中,明明第一次用的时候是好的,但是下次再用就会出现很多不可预想的问题。所以必须要进行测试的目的就是:发现错误而执行一个程序的过程。此系统可以在本地服务器上进行运行和调试,在调试的过程中发现错误,以便于改正存在得错误。此系统的测试阶段信息流程如
下图所示:
在这里插入图片描述

图5.1 测试阶段信息流程图
系统进行信息的添加时,需要输入信息,系统才提示添加成功。当不想要这条信息时按删除button即清除该条信息。点击修改button可以修改当条信息。选择查找的信息条件即可查找到要查找的信息。系统的增删改查功能测试方法和结果如表5.1所示。
表5.1 系统增删改查测试
测试序号 用例说明 预期结果 测试结果
1 添加信息时,填入必需填写的信息 提示添加成功 通过
2 添加信息时,未填入必需填写的信息 提示填写的信息内容不能为空 通过
3 添加信息时,填入的信息名称重复 提示同名信息已存在 通过
4 修改信息时,填入想要修改的信息内容 提示保存成功 通过
5 删除信息时,点击删除按钮,出现删除提示后点击确定 提示删除成功 通过
6 查找信息时,输入想要查询的条件 显示出符合条件所有信息 通过
经过测试系统的各个功能,验证了该鞋业管理系统能够为用户提供信息管理服务,从表中所示的功能测试用例及结果可以分析出,关于鞋业管理系统的各项功能实现以及输入验证,其实际结果都能够达到预期结果,说明这些功能能够满足需求分析所设计的功能需求。其次还要在不同环境和大量的数据量下测试一下系统在具体功能实现时所表现的状态如何。
性能测试主要是针对当系统承受了一定规模的数据量以及在极特殊环境中指标。性能测试主要是考验系统在极限环境下进行运行时的效率情况,主要针对当遇到数据量更大的时候系统的运行效率。下表5.2为鞋业管理系统性能测试用例表[19]。

表5.2 系统性能测试用例表
序号 考察项 响应时间 结果
1 打开系统页面时间 <0.5s 通过
2 跳转页面响应时间 <1s 通过
3 对模板的增删查改响应时间 <0.5s 通过
4 CPU使用率 <70% 通过
5 内存使用率 <90% 通过
5.3 压力测试
本文选择使用Apache JMeter作为鞋业管理系统的压力测试工具,其内置了许多各式不同的组件,再把各个组件相互搭配使用可以测试很多的功能。
在配置好Apache JMeter后,使用Apache JMeter的添加图形组件,此组件可以清晰地显示出系统吞吐量、平均值、中值等数据,其他监听器组件可自由添加。完成基本配置后开始测试。等待测试线程数量达到1000,即所有线程均已开始测试工作,并且曲线稳定后才观测结果,其压力测试图如图5.2所示。

在这里插入图片描述

图5.2 系统压力测试图
随着时间的增加,偏离量会逐渐偏高,吞吐量快开始为上升,当到达一定界限后也会下降,但是依照图来看总体吞吐量还是非常可观的。经过多次测试,得到结论为大概50000线程时系统吞吐量会急剧下降。但是这个结果还受限于网络、用户操作等因素,只是理论值,不过此符合需求。
5.4 测试结果
“鞋业管理系统”压力测试图形结果反映出的是系统响应时间情况。本次测试总共向服务器发出的请求数目是3000,服务器最后一个响应的时间为68ms,系统平均响应时间为64886ms,偏离值即代表离散程度测量值的大小(数据分布)为69086ms,服务器每分钟处理的请求数目为825.177,响应时间中值为32982ms,系统有一半的服务器响应时间低于该值而另一半高于该值。严格测试系统功能的各个模块来确认系统可以正常运行,在特定环境下也需要考虑周全对其进行测试,每个功能板块测试的效果都满足了用户的需求,该系统完全通过测试并运行平稳,用户可以放心使用[20]。
5.5 本章小结
本章主要叙述了本系统在检查调试过程中需要完成的工作,主要是介绍该管理系统的测试的范围,方法以及需要提前做的准备工作、还有在测试过程中的测试输入、条件、以及测试最后所达到的效果,经过系统检查调试使系统符合用户的需求,且能稳定可靠地运行,能适应市场竞争需要,应用前景非常广泛。

结 论

随着我国市场经济的蓬勃发展和计算机技术的日益更新,鞋业管理系统的开发已经成为规范管理鞋业信息的重要组成部分,其方便快捷的执行对于鞋业信息管理有重要的意义。因此,本文针对各企业对鞋业管理等相关系统的迫切需求,完成设计了鞋业管理系统的设计。本文所讲述的鞋业管理系统虽然是基于现实环境所编写,但是尚未应用在现实中,不过已完全满足毕业设计的要求。
本系统在设计与实现的过程中充分考虑了本系统在未来所发展的方向以及所有能用到的功能,扩展了其系统的事物处理,考虑了该系统的全面性和可发展性。在未来开发中代码可以二次利用,可应用技术效果好。实际应用效果说明了鞋业管理系统功能设计的有效性。
本系统的设计与实现有效的提高了社会应用的控制成本管理,增强了可持续性发展的特点,对于相关鞋业管理方法具有广泛的借鉴意义和参考价值。因为涉猎社会范围较少,经验不足的原因,本文系统还需要继续完善,弥补系统的不足之处,比如上传残鞋相关图片信息方面还存在缺陷,后续可对信息资源共享中存在的网络风险进行评估分析。

致 谢

论文写到了最后,也意味着我的大学生涯即将结束,今年对毕业生来说,真的是特殊的一年,关于梧桐大街2号,始于2016年秋,终于2020年盛夏,纵有万般遗憾,但仍值得铭记。
首先,我要对我的指导老师李朋老师以及王凤伟表示衷心的感谢,从开始论文选题直到完成论文,我从两位老师那里受益颇深,他对我热情有耐心,精心指导。特别是李老师,他博学多识、严谨认真、敏锐,对学术研究和专业知识有很大的造诣。我从李老师身上看见了他精益求精的治学态度,给我很大鼓励,对我学习产生了积极影响。同样,我也要感谢我的班主任陈思老师,作为我班学委,我与陈思老师接触的算是比较多的,令我印象深刻的是她的认真、负责、贴心以及温柔的询问同学们的学习和生活情况等令我们心里总有一股暖流的关心话语,她真的是一个我们什么事情都愿意与她分享的好老师。
其次,感谢辅导员杨东旭老师对我在四年学习、工作和生活中的关心和教诲,每当我工作和生活中出现困难或失落时,杨老师总是会耐心开导我,这使我瞬间豁然开朗,在此特向杨东旭老师表示我深深的敬意和感谢。同时,也对学院全体领导以及教研室所有老师表示衷心的感谢,感谢老师们在大学四年期间的照顾和关心。
最后,感谢父母,给予我生命,养育我长大,在我生命中的每个重要时刻陪伴左右,包容我的一切。
凛冬已过,皓月长明。疫情终时,仍见人间烟火。山河无恙,终会再见。

参考文献

[1]陈曦.企业成本管理存在的问题及对策——以辽阳某鞋业有限公司为例[J].营销界,2019,8(43):147-149
[2]魏书楷.SciMES智能生产管理系统在制鞋企业的应用[J].中国橡胶,2017,23(01):22-24
[3]顾恒明.广州AL鞋业有限公司发展战略研究[D].华中科技大学,2010
[4]吕小雷.深意鞋业数据库营销研究[D].兰州大学,2008
[5]陈建勇.基于Web Services的鞋业ERP系统的开发与研究[D].浙江工业大学,2007
[6]陈胜文.基于面向对象的鞋业ERP软件开发研究[D].广东工业大学,2005
[7]于淼.基于ASP.NET技术的某鞋业电子商务系统的设计与实现[D].吉林大学,2016
[8]金梅.鞋业集团财务管理的问题及对策探析[J].财经界,2019,26(05),147-149
[9]郭婧.SR鞋业公司战略管理研究[D].青岛科技大学,2016
[10]秦季冬.制鞋业管理中存在的问题及对策[J].广西大学学报(哲学社会科学版),2008,34(S2),240-241
[11]伯书玉.舆情数据抓取系统研究与实现[D].辽宁大学,2017.
[12]基于SSM的毕业设计管理系统设计与实现[J].肖祥林.电子科技. 2016(10)
[13]曹雪雪.基于贪心算法的智能买家档口分配方法[J].计算机与现代化,2018(01):23-26+31.
[14]张少应,陈庆荣.基于Spring的数据库访问技术研究[J].信息技术,2016(10):81-84
[15]程颢.海洋管理知识助手软件的设计与开发[D].大连理工大学,2016.
[16]蔡创.计算机软件开发中JAVA编程语言的分析和思考[J].信息技术与信息化,2017
[17]彭玲玲,李诗莹,冯爽.基于前端的Web性能优化[J].电子技术与软件工程,2017
[18]亢福瑞.计算机科学与技术发展趋势的探讨[J].中国新通信,2017
[19]郭宇卓.计算机科学与技术的发展趋势[J].电子技术与软件工程,2017
[20]Nouf M.Aljabri, Zhiping Lai, Kuo-Wei Huang Selective catalytic transformation of polystyrene into ethylbenzene over Fe-Cu-Co/Alumina[J].Journal of Saudi Chemical Society,2020, 24(03),22-26
[21]Yunhan Yang, Huimin Shao, Qiuli Wu et al. Lipid metabolic response to polystyrene particles in nematode Caenorhabditis elegans[J].Environmental Pollution, 2020, 256(02),147-149
[22]LicongWang, Chengying Shen, Yuhua Cao Large admicelles on superparamagnetic polystyrene nanoparticles as a novel adsorbent[J].Journal of Physics and Chemistry of Solids,2020,139(01),65-66
[23]Xiaoman Xie, Ting Deng, Jiufei Duan et al. Exposure to polystyrene microplastics causes reproductive toxicity through oxidative stress and activation of the p38 MAPK signaling pathway[J] Ecotoxicology and Environmental Safety, 2020, 190(05),190-191
[24]Batdulam Battulga, Masayuki Kawahigashi, Bolormaa Oyuntsetseg Behavior and distribution of polystyrene foams on the shore of Tuul River in Mongolia[J].Environmental Pollution, 2020, 260(06),260-261
[25]Hammed Oluwaseyi Musibau,Agboola Hammed Yusuf,Kafilah Lola Gold. Endogenous specification of foreign capital inflows, human capital development and economic growth[J]. International Journal of Social Economics,2019,46(3).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BigDecimal可以用equals方法做等值比较吗?

结论是不可以&#xff0c;BigDecimal的equals方法不仅会比较值&#xff0c;还会比较精度&#xff0c;比如1.0和1.00虽然值是一样的&#xff0c;我们也倾向于认为是相同的&#xff0c;但是因为精度不同&#xff0c;最终得到的结论是false。 代码如下&#xff1a; Test public v…

Ansible Inventory主机清单和playbook 剧本

Ansible Inventory主机清单playbook 剧本一、inventory主机清单管理1、主机与组2、变量2.1 主机变量2.2 组变量2.3 组嵌套2.4 别名 3、inventory 中的变量 二、Ansible 的脚本 --- playbook 剧本1、playbook的组成2、如何定义playbook &#xff1f;2.1 基本格式2.2 语句的横向/…

云计算科学与工程实践指南--章节引言收集

云计算科学与工程实践指南–章节引言收集 //本文收集 【云计算科学与工程实践指南】 书中每一章节的引言。 我已厌倦了在一本书中阅读云的定义。难道你不失望吗&#xff1f;你正在阅读一个很好的故事&#xff0c;突然间作者必须停下来介绍云。谁在乎云是什么&#xff1f; 通…

使用 Mendix 中的 OIDC 模块集成 Azure AD SSO

前言 在当今快速发展的数字化世界中&#xff0c;企业追求高效率和灵活性已成为常态。Mendix&#xff0c;作为一个先进的低代码开发平台&#xff0c;正是企业快速响应市场需求、加速数字化转型过程的利器。通过其直观的可视化开发环境&#xff0c;即使是非技术背景的用户也能设…

技术小知识:云计算服务下的IaaS,PaaS,SaaS⑥

一、云计算 云计算起源仿照天空的云朵聚集&#xff0c;意为对大量服务器的远程管理。以便能对服务器做空间、资源的最大动态协调利用和降低操作执行命令的复杂度。 二、云计算衍生下的服务 在服务器以一种云的形式存在&#xff0c;衍生除了很多服务提供&#xff0c;以便用户可以…

crossover2023激活码分享crossover免费升级2024 crossover24更新内容

CrossOver是一款功能强大的系统兼容软件&#xff0c;它能够让Mac和Linux用户在不安装Windows操作系统的情况下直接运行Windows应用程序。以下是关于CrossOver的更多信息&#xff1a; 一、工作原理 CrossOver的工作原理是通过在Mac或Linux系统上模拟Windows应用程序所需的运行…

循序渐进丨MogDB 数据库新特性之SQL PATCH绑定执行计划

1 SQL PATCH 熟悉 Oracle 的DBA都知道&#xff0c;生产系统出现性能问题时&#xff0c;往往是SQL走错了执行计划&#xff0c;紧急情况下&#xff0c;无法及时修改应用代码&#xff0c;DBA可以采用多种方式针对于某类SQL进行执行计划绑定&#xff0c;比如SQL Profile、SPM、SQL …

Python基础三

一、模块&#xff08;model&#xff09; 1、定义 以.py 结尾的文件&#xff0c;包含了Python对象定义和Python语句 如下&#xff1a;包含了两个模块&#xff0c;分别为 main.py 和 model.py 2、特点 模块让你能够有逻辑地组织你的Python 代码段。把相关的代码分配到一个模块…

Linux: 预备

计算机结构基础 操作系统: 内核 (管理软硬件) shell(给用户使用操作系统的方式) 操作系统的目标 对硬件抽象 原因:操作系统是对软硬件资源管理的应用软件抽象:内存管理, 进程管理, 文件管理, 驱动管理软件:驱动程序(给软件提供访问硬件的软件)硬件:磁盘(对应文件), 网卡等隔离…

基于SpringBoot的医疗资源共享平台设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 SpringBoot框架 3 1.2 MyBatis框架 3 1.3 WebSocket技术 4 1.4 Selenium技术 5 1.5 EL-ADMIN技术 5 1.6 Ajax技术 5 1.7 本章小结 6 2 系统分析 7 2.1 功能需求分析 7 2.2 非功能需求 9 2.3 本章小结 10 3 系统设计 11 3.…

解锁安卓开发利器:深度探析ADB【安卓开发】

引言 在安卓开发与维护过程中&#xff0c;我们经常会遇到一些限制&#xff0c;比如无法直接访问某些系统功能&#xff0c;或者在某些定制系统中 受到限制 。为了解决这些问题&#xff0c;我们需要一种有效的工具来管理和调试安卓设备&#xff0c;而这时候ADB&#xff08;Andro…

poetry库:依赖管理和打包工具

这个工具是在群里看见别人说好用的&#xff0c;所以了解一下。 1.poetry初始 官网&#xff1a;https://python-poetry.org/ 项目仓库&#xff1a;https://github.com/python-poetry 或 https://github.com/python-poetry/poetry 教程&#xff1a;https://python-poetry.org/…

css学习心得

css 通过内嵌样式表来选择文本字体的大小和颜色 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title><style>p{font-size:16px;color: blue;}</style></head><body><!-- px 像素…

如何在Linux系统安装SVN并配置固定公网地址远程访问【内网穿透】

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

牛客小白月赛88

E.多重映射 解题思路 对集合进行整体操作&#xff0c;集合大小只增不减&#xff0c;问最后集合标号维护集合&#xff0c;考虑并查集但直接用并差集维护会有以下问题&#xff1a;当前集合变标号&#xff0c;可能会和之前标号相同&#xff0c;则进行并查集操作时&#xff0c;会接…

ai语音克隆:用AI大模型开发点亮你的创作天地!

在当今快速发展的科技时代&#xff0c;人工智能技术已经深入到我们生活的方方面面。AI语音克隆作为其中的一种应用&#xff0c;正在逐渐走进人们的视野&#xff0c;为人们的创作提供了全新的可能性。 人类创作的过程往往是一个灵感迸发、思绪飞扬的过程。但有时候&#xff0c;…

数据结构——堆的应用 堆排序详解

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

网上近来都有哪些有关李小璐及其女儿甜馨的恶评?作为网民应怎样规避恶语中伤或网暴?

网上近来都有哪些有关李小璐及其女儿甜馨的恶评&#xff1f;作为网民应怎样规避恶语中伤或网暴&#xff1f; 近日&#xff0c;#李小璐发文鼓励女儿甜馨不要受恶评影响#登上热搜&#xff0c;网上都有哪些关于李小璐及其女儿的恶评&#xff1f;作为普通网民应怎样规避恶评或网暴&…

JVM——执行引擎

文章目录 1、概述2、计算机语言的发展史2.1、机器码2.2、汇编语言2.3、高级语言2.4、字节码 3、Java代码编译和执行过程4、解释器5、JIT编译器5.1、为什么HotSpot VM同时存在JIT编译器和解释器5.2、热点代码探测确定何时JIT5.3、设置执行模式5.4、C1编译器和C2编译器 6、AOT编译…

搜狐新闻Hybrid AI引擎端侧离线大语言模型探索

本文字数&#xff1a;3027字 预计阅读时间&#xff1a;20分钟 01 一、导读 • LLM 以及移动平台落地趋势 • 搜狐AI引擎内建集成离线可运行的GPT模型 • Keras 定制预训练模型 • TensorFlow Lite converter 迁移到移动设备 02 二、LLM 1.1什么是LLM L…