第5章 系统实现5.1小程序前台模块实现首先双击打开小程序客户端连上网络之后会显示出本系统的登录界面这是进入小程序的初始页面“登录”能成功进入到该登录界面则代表小程序的开启是成功的接下来就可以操作本系统所带有的其他所有的功能。登录界面如图5-1所示。图5-1 登录界面第一次使用本小程序的使用者首先是要进行注册点击“注册”然后就会进入到注册的页面里面将员工/供应商信息录入注册表确认信息正确后系统才会进入登录界面员工/供应商登录成功后可使用本小程序所提供的所有功能。员工注册界面如图5-2所示。供应商注册界面如图5-3所示。图5-2 员工注册界面图5-3供应商注册界面第2章开发技术2.1微服务架构微服务架构(Micro Services Architecture, MSA)最早由软件开发工程师Martin Fowler和James Lewis于2014年正式提出是一种新兴的软件架构设计风格与组织模式。微服务架构从业务逻辑角度对传统的单体式应用程序进行了严格的拆分从而得到多个职责单一、可独立部署与运行、开放RESTfuI风格接口的细粒度服务不同服务之间通过超文本传输协议(Hypertext Transfer Protocol, HTTP)或远程过程调用(Remote ProcedureCall, RPC)机制进行通信最终形成一个高内聚、低祸合的软件结构体系。2.2微服务架构的优势相较于SOA等传统应用架构微服务架构的优势总结如下:(1)开发效率高:微服务架构使得整个系统开发工作的分工更加明确每个开发团队只需专注于实现自己负责的服务真正实现了协同、并行开发大大缩短了开发周期。(2)可拓展性高:当应用程序出现新的功能需求时可针对各个服务进行独立拓展快速发布新版本而不是整体重新发布。(3)低祸合:每个服务高度自治且高度隔离可独立开发、测试、部署和运维。(4)技术栈灵活:不同服务可根据业务需求自由选择最契合的技术来解决实际问题。(5)可复用性高:每个服务都对外提供RESTfuI风格的接口专为某项功能所编写的服务模块也可以作为其他功能的构建块开发人员可以重复利用现有代码以创建新功育旨。(6)高可用性:得益于微服务治理框架所提供的强大服务治理能力和容错机制当服务需求激增时也能保持可用性。2.3 JAVA语言Java 语言是一门受众很广的语言来自Sun Microsystems公司Java可运行在很多平台相较于C语言不仅吸收了C很多优点还摈弃了里面许多晦涩难懂的概念Java的优点很多可面向对象开发平台多样性以及可移植性很高目前市面上很多大型网站项目都使用Java编写由此可知Java的受欢迎程度很高。2.4 springboot框架Spring Boot是由Pivotal团队提供的轻量级框架其“开箱即用”及“约定优于配置”的策略可以使开发者全身心的投入到业务逻辑代码的编写中极大地提高了软件开发项目的效率。相比于Spring框架而言Spring Boot框架更加能够节省程序员配置XML的时间Spring Boot项目允许开发者使用它的所有模块和开发功能此外 Spring Boot内置了服务器简化了开发者启用服务器的整体流程Spring Boot还可以自动适配不同类型的数据库以满足用户快速连接后台数据库管理的需求这极大地方便了用户快速搭建应用程序的实现过程。 2014年4月Spring Boot 1.0.0发布截止到2022年2月发布的Spring Boot版本为Spring Boot 3.0.0-M1。在系统的设计与开发中为了能够快速搭建软件后台服务的开发环境从技术实现的难度以及平台开发的成本两个方面考虑Spring Boot框架能够使开发者更关注平台功能的业务逻辑代码实现可采用Spring Boot框架搭建系统为前端电子商城App提供数据服务。因此本案例项目后台开发选择Spring Boot框架。2.5 MYSQL数据库技术数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库一类是以(OracleDB2SQL ServerMySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去在成熟的数据库技术的帮助下计算机网络实现了对网络中的各种数据的有效管理用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如关系型数据库就存储在磁盘中非关系型数据库则存储在内存中。典型的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库Microsoft AccessSQLite中型关系型数据库SQL ServerMysql大型关系型数据库OracleDB2。大家常用的其他关系形数据库系统大多是MySQL AB公司开发的其中MySQL也是由这家开发的所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构而且用这个系统建造的数据库具有很强的适用性用C和C编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和java结合。不同的API函数针对不同的语言(C,C,JAVA等)来处理不同数据为了更好地支持多CPU多线程通过使用核心线程来实现提供的存储机制分为事务和非事务存储机制MySQL采用双重许可不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。MySQL作为数据库拥有很多优点其中由于是开放源码所以使用成本特别低而它体积小的特点决定了速度快的特性。因此My Sql具有开放性多线程支持多种API可跨数据库连接国际化数据库体积巨大等特点。简单的来说 MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。选用MySQL作为数据库的其中一个原因就是支持多线程支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径但是没有东西是完美无缺的即便MySQL也如此虽说它有着众多优点但其功能不够强大规模也相对较小无法应对大型数据哭的处理。但是对于本系统来说选用MySQL作为数据库其功能性能已绰绰有余如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述MySQL是作为本系统数据库的最优选择。2.6 B/S结构简介使用B/S结构的系统是通过有网络的计算机进行使用它最大的优点是不需要安装专门的软件最先计算机浏览器向服务器发送要求随后服务器解决要求并将信息回到给计算机浏览器。不用再次计算数据或进行存取只管负责显示数据来降低要求。与C/S构架对比B/S构架与C/S架构的较大差别取决于B/S构架的系统软件以web计算机浏览器为服务平台与消费者实现互动如下图2-1所显示而C/S则必须开发专业的运用。图2-1 B/S结构图第3章 系统分析3.1系统总体分析本系统采取了一系列的设计原则主要目的是为了系统的功能设计还有管理人员在后期对系统维护时的方便以及使用户能够简易的操作。最重要的设计原则包括简单性、针对性、实用性、一致性、先进性。1简单性在该系统中功能模块实现的同时让用户操作起来简单明了很快找到所需资源是最直接的目的。2针对性该系统是根据设计需求为导向来开发仓储管理系统的设计所以针对性较强。3实用性该设计能够满足仓储管理系统的实际的功能需求能够在实际中让用户真正使用到具有实际的应用价值。4一致性系统整体的页面布局在不同的界面之间img里的图片的放置位置以及大小都应该有严格的一致性。变量命名规则应该具有统一性。5先进性本系统采用java作为开发技术、B/C结构和 MySQL作为系统数据库它们被软件设计者们广泛使用。3.2可行性分析根据系统所包含其功能的使用情况通过对经济、技术和管理方式来进行全方面的可行性进行分析来提供准确的可行性依据。本系统的可行性分析有经济可行性系统采用的是JAVA技术来实现相应的功能的开发综合就是一个比较基础的系统开发设计所以所用到的有开源的开发环境所构成。而且可以利用现有的设备不用进行另外的硬件设备购买。用户通过使用仓储管理系统很大程度减小了人员成本极大提高了管理的效率。目前的由人员管理的方式存在很多不足首先是人工成本大并且工作效率比较低然后是存在着很多信息流失的问题。在结合仓储管理系统的特点还有一些记录和统计仓储管理系统杜绝了以上的问题提高了仓储信息的安全性。经济可行性是主要计算项目的开发成本还有项目成功后可能带来的有效收益。很多的项目只有开发成本能控制在企业有可能接受的范围内的情况下这样的项目才会被批准开发。然而本次系统的开发在上述所有的问题的情况下是可以完成相关的系统设计。技术可行性本管理系统采用JAVA技术和B/S结构进行设计通过分层分包的方法有利于日常的维护同时降低了代码之间的耦合。管理可行性本小程序所需要的管理难度低只需要一个管理员便能进行个人中心、供应商管理、员工管理、商品分类管理、商品信息管理、商品入库管理、商品出库管理、供应商货物管理、货物采购管理、在线沟通管理、系统管理等功能的管理。3.3系统功能分析系统功能需求包含业务需求、功能需求用户需求系统功能需求分析是在了解用户习惯、开发人员技术和实力等各个因素的前提下对其进行深入分析了解系统基本需求后基本功能如下本课题要求实现优质的仓储管理系统就一定要包含有前台页面和后端数据库、服务器相联系从而实现系统的功能运转。系统分为前台员工模块、供应商模块和后台管理员模块三部分1、员工进入系统可以实现首页、商品信息、供应商货物、我的等功能在我的页面可以对商品信息、商品入库、商品出库、供应商货物、货物采购、在线沟通、个人中心等进行操作。员工用例如下图3-1 员工用例图