集群注册的公司可以做网站备案,上海市企业,wordpress能建论坛么,邯郸百姓网摘要 随着信息技术的快速发展#xff0c;计算机应用已经进入成千上万的家庭。随着物资数量的增加#xff0c;物资库存管理也存在许多问题。物资数据的处理量正在迅速增加#xff0c;原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析#xff0c;减… 摘要 随着信息技术的快速发展计算机应用已经进入成千上万的家庭。随着物资数量的增加物资库存管理也存在许多问题。物资数据的处理量正在迅速增加原来的手工管理模式不适合这种形式。使用计算机可以完成数据收集、处理和分析减少人力和物力的浪费。需要建立爱心捐赠物资维护系统为物资管理提供信息管理和动态管理提高物资管理的质量和效率。 在爱心捐赠物资维护系统的设计中采用java编程语言和SSM技术在MVVM的模式下并使用MySQL作为系统的数据库。该系统设计了强大的功能模块考虑了物资管理的各个方面。这些主要功能模块分别是首页、系统用户管理员、注册用户模块管理物资仓库、物资类型、物资入库、申领物资、确认出库、申领物资、用户签收、明细公告等功能模块。最后通过系统需求分析和系统设计方法验证结果表明该设计具有实用价值因此从软件设计的角度对研究理论、基础、总体系统布局和具体系统设计进行了详细研究。 关键词java编程语言SSM技术软件设计 Ssm caring donation material maintenance system Events ABSTRACT With the rapid development of information technology, computer applications have entered thousands of households. With the increase of material quantity, there are many problems in material inventory management. The processing volume of material data is rapidly increasing, and the original manual management mode is not suitable for this form. Using computers can complete data collection, processing, and analysis, reducing the waste of human and material resources. It is necessary to establish a caring donation material maintenance system to provide information management and dynamic management for material management, and improve the quality and efficiency of material management. In the design of the charity donation material maintenance system, the Java programming language and SSM technology are used, under the MVVM mode, and MySQL is used as the system database. The system has designed powerful functional modules that take into account all aspects of material management. These main functional modules are the home page, system user (administrator, registered user) module management (material warehouse, material type, material warehousing, applying for materials, confirming outbound delivery, applying for materials, user signing in, detailed announcement), and other functional modules. Finally, through system requirements analysis and system design method validation, the results show that the design has practical value. Therefore, from the perspective of software design, the research theory, foundation, overall system layout, and specific system design were studied in detail. Key words: Java programming language; SSM technology; software design 目 录 第1章绪论 1.1开发背景与意义 1.2国内外研究现状 1.3论文组成结构 第2章开发工具及相关技术介绍 2.1开发环境 2.3MVVM模式介绍 2.4开发技术 2.4.1MVC模式 2.4.2ssm框架介绍 第3章系统分析 3.1可行性分析 2.1经济可行性 2.2技术可行性 2.3操作可行性 3.2需求分析 3.3业务流程分析 3.4数据流程分析 第4章系统设计 4.1系统设计的原理 4.2系统功能设计 4.3数据库设计 4.3.1概念模型设计 4.3.2逻辑结构设计 第5章系统实现 5.1用户管理功能模块实现 5.2用户管理功能模块实现 5.3物资管理功能模块实现 5.4库存管理功能模块实现 第6章系统测试 6.1测试目的 6.2测试方法 6.3测试过程 6.3.1系统测试计划 6.3.2系统测试用例 6.4测试结果 第7章结论 参考文献 致 谢 第1章绪论 1.1开发背景与意义 随着市场经济的发展市场竞争压力加大爱心捐赠物资要生存发展就必须在各个方面加强管理并要求爱心捐赠物资更高的信息化集成能够对爱心捐赠的整体资源进行集成管理。爱心捐赠间的竞争是综合实力的竞争要求爱心捐赠管有更强的资金实力更快的市场响应速度。这就要求爱心捐赠各个部门之间统一计划协调生产步骤汇总信息实现既要独立又要统一的资源共享管理。随着信息技术的发展为了提高爱心捐赠仓库管理的管理效率加快爱心捐赠管的运转速度决定开发“爱心捐赠物资维护系统”。 1.2国内外研究现状 爱心捐赠物资维护系统是一项复杂而必要的工作。主管们需要每天处理大量的文档和数据。为了及时结算每个业务账户检查库存数量和货物进出和出库情况确保的正常运营和财产安全经理需要花费大量的人力、物力和时间来做数据记录和统计。 在发达国家计算机化库存管理水平非常高自动化管理模式已经实现。尽管国内在这方面有很强的意识和很大的进步包括物资管理但在管理方面仍然存在一些问题。在一些库存管理仍然是手工和半手工的。从物资购买登记开始到物资出库结束所有操作基本上都是书面记录。库存管理是由库存管理人员编写的统计是用计算器完成的。这种方法不仅管理复杂、效率低下而且缺乏一些基本的库存管理工具如库存状态统计、查询经济订货量的计算等。这也在一定程度上导致了管理落后、竞争落后以及经济效益的损失。 1.3论文组成结构 论文整体分为六个章节模块引言部分介绍研究背景以及意义第二章主要是介绍采用的相关技术还有使用的开发方法第三章描述的是前期调查分析第四章的系统的功能等设计第五章主要是整个系统的实现过程及关键代码最后一章是系统测试方法以及测试结果的记录与描述。 第2章开发工具及相关技术介绍 2.1开发环境 开发环境主要就是包括以下几个类型 1、操作系统Microsoft Windows10Pro1709 2、开发工具Pycharm 3、服务器Tomcat7.0 4、数据库MySQL5.6、MySQL For Navicat可视化界面管理客户端 2.2操作系统 Windows10和Windows以后的版本关于Windows10微软宣布它将以比以前更快的节奏更新Windows将不会有官方的“Windows11”相反WindowsUpdate或另一个服务模型会将现有的Windows10更新为新版本。在编写此书时已经有两个这样的更新发生在2015年11月也称为版本1511指服务年和月份和2016年7月版本1607也因为周年更新的营销名称所知[5]。 Windows10和“一个内核”多年来几种不同类型的Windows已经发展起来。除了在PC上运行的主流Windows之外还有Xbox360游戏控制台它运行一个分叉Windows2000。WindowsPhone7基于WindowsCE微软的实时操作系统运行的一个变体[6]。维护和扩展所有这些代码库显然是困难的。因此微软决定将内核和基础平台支持的二进制文件聚合为一个。这开始于Windows8和Windows电话8其中共享内核Windows8.1和Windows电话8.1具有聚合的Windows运行时API。使用Windows10融合就完成了,这个共享平台被称为Onecore它运行在PC、电话、XboxOne游戏控制台、全息屏和物联网IoT设备如树莓Pi2上[7]。 2.3MVVM模式介绍 MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验如Silverlight、音频、视频、3D、动画……这导致了软件UI层更加细节化、可定制化。同时在技术层面WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVMModel-View-ViewModel框架的由来便是MVPModel-View-Presenter模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去以应对客户日益复杂的需求变化。 2.4开发技术 2.4.1MVC模式 爱心捐赠物资维护系统采用的是MVC模式进行编写的。MVC英文即Model-View-Controller即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离这样一个应用被分成三个层即模型层、视图层、控制层[11]。 视图View代表用户交互界面在Web应用之中可以说是HTML的界面也有可能包括了XML、XHTML或者是Applet等。随着技术还有需求的发展Web应用的复杂程度还有规模也在增加因此处理的难度也在增加。一个Web应用就可能有很多的界面在MVC模式中视图仅仅处理的只有数据采集、处理还有用户的请求并不包括业务流程的处理业务流程由模型Model来处理。 模型Model就是业务流程/状态的处理及业务规则的制定。模型处理业务流程的过程其它层是无法看见了的它就像黑箱子在接受视图请求的数据之后然后返回最终的处理结果。MVC最主要的核心就是业务模型的设计一个典型的应用例子就是目前流行的EJB模型它从应用技术实现的角度对模型做了进一步的划分以便充分利用现有的组件但是它不能作为应用设计模型的框架。 控制器Controller可以理解为接收用户的请求然后视图和模型匹配在一起一起再完成用户请求。它有非常明显的作用在划分控制层上可以很清晰地告诉你它就是一个分发器选择什么样的模型、视图可以完成用户的什么样的请求。控制层不做所有的数据处理比如说用户点击一个连接控制层接受到请求之后并不处理业务信息它只是向模型传递用户的信息同时告诉模型做什么然后选择符合需求的视图返回给用户[12][13]。 2.4.2ssm框架介绍 SSMSpringSpringMVCMyBatis框架集由Spring、MyBatis两个开源框架整合而成SpringMVC是Spring中的部分内容。常作为数据源较简单的web项目的框架。 1.6.1 Spring Spring就像是整个项目中装配bean的大工厂在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。 Spring的核心思想是IoC控制反转即不再需要程序员去显式地new一个对象而是让Spring框架帮你来完成这一切。 1.6.2 SpringMVC SpringMVC在项目中拦截用户请求它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责将用户请求通过HandlerMapping去匹配ControllerController就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。 1.6.3 mybatis mybatis是对jdbc的封装它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时通过sqlSessionFactory拿到一个sqlSession再执行sql命令。 页面发送请求给控制器控制器调用业务层处理逻辑逻辑层向持久层发送请求持久层与数据库交互后将结果返回给业务层业务层将处理逻辑发送给控制器控制器再调用视图展现数据。 第3章系统分析 3.1可行性分析 可行性分析是项目开发前期评估的一个重要环节通常是在项目开发的最初进行的主要从多个角度来分析项目开发是否可行。 2.1经济可行性 经济可行性分析主要是考虑在系统开发的过程中所涉及到的费用问题从全方位角度分析费用主要涉及人力资本费用相关设备费用以及维护费用等。本次系统开发的整体规模都比较小涉及到的费用较低对于个人来讲都可以承受为此经济可行性的分析也是行得通的。 2.2技术可行性 技术可行性分析主要通过对现有技术的判断来预测系统的实际开发是否存在可能性是整个分析过程中最为关键的一个环节决定系统的实际成功率。因此系统在技术可行性上做出详细的分析。首先系统采用的是SSM开发技术这项技术比较全面实用广泛没有实现不了的功能需求其次数据库采用的是MySQL作为存储数据这种数据库稳定性极高也是大众实用的数据库最后开发工具采用的是Pycharm工具中具有框架函数等可以直接引用通过三年多的学习与实践对本系统的使用技术掌握已经熟练并对相应的技术种类有一定的了解主要运用的语言是java。 2.3操作可行性 操作本系统所采用的是Web浏览器并且浏览器是大家熟悉的浏览方式Web浏览器主要是为了实现客户端的请求以及管理服务器端口组件并对数据库的数据进行处理以及返还结果。数据库的建立是为了将数据进行整理并储存从而保证了数据的完整性一旦需要对数据进行相关操作那么工作会变得较为容易减少了工作量。所有操作都由系统自行控制完成。解放了生产力、加快工作效率的同时也降低了错误率保证了系统的稳定性。本系统为了使整体操作更加轻松便捷使用了JS动态交互技术在操作人员进行操作过程中就不要相关的数据库等资料进行了解保证了核心数据的安全性。整个系统都是可视化操作通过鼠标点击就可完成不需要太多的数据处理因此操作可行性是可以行得通的。 通过上述分析可以确定该系统具有实际开发的价值和可能性。 3.2需求分析 通过用户需求的调查与了解系统主要提供的功能如下 1.管理员账户的基本信息管理。主要提供管理员账户的基本信息录入、删除、维护和查询等功能包括 管理员录入管理员账户基本信息 管理员更新、增加及删除管理员账户基本信息 用户根据管理员账户ID查询基本信息 系统管理员更改个人密码 2.用户的基本信息管理。主要提供用户的基本信息录入、删除、维护和查询等功能包括 管理员录入用户基本信息 管理员更新、增加及删除用户基本信息 管理员根据用户ID查询基本信息 用户用户更改个人密码 3.物资的基本信息管理。主要提供物资的基本信息录入、修改和查询功能包括 管理员录入物资基本信息 管理员更新、增加及删除物资基本信息 管理员根据物资ID查询基本信息 4.仓库的基本信息管理。主要是提供库房的基本信息录入、维护和查询功能包括 管理员录入库房基本信息 管理员更新、增加及删除库房基本信息 管理员根据库房ID查询库房基本信息 5.入库的基本信息管理。主要提供入库的基本信息录入、删除、维护和查询功能包括 管理员录入物资入库信息 管理员更新、增加物资入库基本信息 管理员根据物资ID查询物资入库基本信息 用户根据个人信息导航栏查询个人入库信息 6.出库的基本信息管理。主要提供出库的基本信息录入、删除、维护和查询功能包括 管理员录入物资出库信息 管理员更新、增加物资出库基本信息 管理员根据物资ID查询物资出库基本信息 用户根据个人信息导航栏查询个人出库信息 3.3业务流程分析 爱心捐赠物资维护系统的主要构成分为两部分一是物资的入库管理操作另一个是物资的出库管理操作。围绕这两大部分爱心捐赠物资维护系统的全部功能将展开。如下图中的传统业务流程图所描述操作员进行入库然后归类汇总。当物资库存满足要求时进行正常的出库处理当物资库存量低于出库量则要填写缺货单进行物资入库从而进行着传统规模中正常的库存管理业务流程。 系统业务流程图如下所示。 图3-1系统业务流程图 3.4数据流程分析 1数据流图0层0层数据流图是由普通用户、管理员及爱心捐赠物资维护系统组成的用户可以向系统提入库信息、出库信息、配送信息信息管理员可以向系统提供入库信息、统计信息、物资信息管理员把物资信息传给系统系统会把物资信息提供给用户。 本系统的数据流图0层如下图所示。 图3-2系统的0层数据流图 2数据流图1层管理员可以对库存进行管理产生库存信息表把库存信息传递给物资信息管理产生物资信息表在把物资信息传给统计管理对信息进行统计也会把统计的信息传给管理员用户还可以通过物资信息管理查看物资库存信息。 系统的数据流图1层如下图所示。 图3-3系统1层数据流图 3库存管理数据流图2层管理员可以对入库进行管理产生入库信息表物资信息表也可以提供信息给入库管理入库信息表可以把信息传给出库管理管理员对出库进行管理产生出库信息表库存管理分解2层数据流图如下图所示。 图3-4库存管理分解2层数据流图 第4章系统设计 4.1系统设计的原理 系统设计原理包括 模块化。模块化就是把整个程序划分为多个模块每个模块有自己的名字并可以被独立访问。所有模块的功能集合起来就可以满足用户需求。抽象。抽象是暂时忽略软件的细节集中精力将软件的本质特征提取出来。逐步求精。总体设计需要先解决主要问题再将问题一步步细化。局部化和信息隐藏。不同模块之间信息相互不能访问是不能访问的并且应该在相近的物理地址上放置关系较密切的软件元素。模块独立。模块之间应该遵循高内聚低耦合的原则。 4.2系统功能设计 爱心捐赠物资维护系统从实际应用角度来说可以分成用户管理模块、系统模块、主要功能模块三大模块。 1.系统用户管理模块可以分成用户管理、个人信息管理和权限管理模块。用户管理是对用户的相关信息进行查阅、修改删除等操作。个人信息管理可以对个人信息的情况进行添加、修改信息删除、个人信息修改和个人信息查询。 2.主要功能管理模块包括首页、模块管理物资仓库、申领物资、确认出库、用户签收、明细公告。 3.系统管理模块系统管理模块分为数据备份。 系统的功能模块图如下图所示。 图4-1系统功能结构图 4.3数据库设计 数据库设计(DatabaseDesign)是指对一个给定的环境构造良好的数据库模式建立数据库系统使之能够最有效地存储数据满足各类用户的需求即处理要求和信息要求。在数据库应用范围内经常把使用数据库的系统称为数据库的应用系统。 4.3.1概念模型设计 E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。E-R图由实体、属性、联系三部分组成。它有两个优点即接近于人的思维容易理解与计算机无关用户容易接受。 系统的主要实体间关系E-R图如下图所示 图4-2系统E-R图 实体间可建立某种联系大致可分为三种1实体间一对一联系这种关系可以独立也可与其他合并2实体间是一对多联系实体与另一个n端实体发生联系3实体间为多对多联系两个实体间存在某种关系。每个实体上码所具有的属性就是关系属性实体码的组合就是关系码。 基于以上原则可将图转换为关系模型。 物资信息表{物资名称、分类、图片数量、所在库房}入库信息表{物资编号、名称、分类、入库日期、数量、备注、账号、姓名}出库信息表{物资编号、名称、分类、出库日期、数量、备注、账号姓名}配送信息信息表{库房名称、物资名称、物资数量、分站库房名称、调配日期、账号、姓名}。 4.3.2逻辑结构设计 根据E-R模型爱心捐赠物资维护系统建立了以下逻辑数据结构下面是各数据表的详细说明。 表access_token (登陆访问时长) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 token_id int 10 0 N Y 临时访问牌ID 2 token varchar 64 0 Y N 临时访问牌 3 info text 65535 0 Y N 4 maxage int 10 0 N N 2 最大寿命默认2小时 5 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间 6 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 7 user_id int 10 0 N N 0 用户编号: 表apply_for_materials (申领物资) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 apply_for_materials_id int 10 0 N Y 申领物资ID 2 application_no varchar 64 0 Y N 申领号 3 item_no varchar 64 0 Y N 物资序号 4 item_name varchar 64 0 Y N 物资名称 5 material_type varchar 64 0 Y N 物资类型 6 material_specifications varchar 64 0 Y N 物资规格 7 material_unit varchar 64 0 Y N 物资单位 8 ordinary_users int 10 0 Y N 0 普通用户 9 user_name varchar 64 0 Y N 用户姓名 10 application_quantity int 10 0 Y N 0 申领数量 11 application_date date 10 0 Y N 申领日期 12 reason_for_application longtext 2147483647 0 Y N 申领原因 13 examine_state varchar 16 0 N N 未审核 审核状态 14 examine_reply varchar 16 0 Y N 审核回复 15 recommend int 10 0 N N 0 智能推荐 16 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 17 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表auth (用户权限管理) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 auth_id int 10 0 N Y 授权ID 2 user_group varchar 64 0 Y N 用户组 3 mod_name varchar 64 0 Y N 模块名 4 table_name varchar 64 0 Y N 表名 5 page_title varchar 255 0 Y N 页面标题 6 path varchar 255 0 Y N 路由路径 7 position varchar 32 0 Y N 位置 8 mode varchar 32 0 N N _blank 跳转方式 9 add tinyint 3 0 N N 1 是否可增加 10 del tinyint 3 0 N N 1 是否可删除 11 set tinyint 3 0 N N 1 是否可修改 12 get tinyint 3 0 N N 1 是否可查看 13 field_add text 65535 0 Y N 添加字段 14 field_set text 65535 0 Y N 修改字段 15 field_get text 65535 0 Y N 查询字段 16 table_nav_name varchar 500 0 Y N 跨表导航名称 17 table_nav varchar 500 0 Y N 跨表导航 18 option text 65535 0 Y N 配置 19 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间 20 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表confirm_delivery (确认出库) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 confirm_delivery_id int 10 0 N Y 确认出库ID 2 application_no varchar 64 0 N N 申领号 3 item_no varchar 64 0 Y N 物资序号 4 item_name varchar 64 0 Y N 物资名称 5 material_type varchar 64 0 Y N 物资类型 6 material_specifications varchar 64 0 Y N 物资规格 7 material_unit varchar 64 0 Y N 物资单位 8 ordinary_users int 10 0 Y N 0 普通用户 9 user_name varchar 64 0 Y N 用户姓名 10 application_quantity int 10 0 Y N 0 申领数量 11 application_date date 10 0 Y N 申领日期 12 recommend int 10 0 N N 0 智能推荐 13 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 14 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表detailed_announcement (明细公告) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 detailed_announcement_id int 10 0 N Y 明细公告ID 2 application_no varchar 64 0 N N 申领号 3 item_no varchar 64 0 Y N 物资序号 4 item_name varchar 64 0 Y N 物资名称 5 material_type varchar 64 0 Y N 物资类型 6 material_specifications varchar 64 0 Y N 物资规格 7 material_unit varchar 64 0 Y N 物资单位 8 user_name varchar 64 0 Y N 用户姓名 9 application_quantity int 10 0 Y N 0 申领数量 10 date_of_publication date 10 0 Y N 公布日期 11 announcement_content longtext 2147483647 0 Y N 公布内容 12 recommend int 10 0 N N 0 智能推荐 13 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 14 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表hits (用户点击) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 hits_id int 10 0 N Y 点赞ID 2 user_id int 10 0 N N 0 点赞人 3 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间 4 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 5 source_table varchar 255 0 Y N 来源表 6 source_field varchar 255 0 Y N 来源字段 7 source_id int 10 0 N N 0 来源ID 表material_type (物资类型) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 material_type_id int 10 0 N Y 物资类型ID 2 material_type varchar 64 0 Y N 物资类型 3 recommend int 10 0 N N 0 智能推荐 4 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 5 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表material_warehouse (物资仓库) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 material_warehouse_id int 10 0 N Y 物资仓库ID 2 item_no varchar 64 0 Y N 物资序号 3 item_name varchar 64 0 Y N 物资名称 4 material_type varchar 64 0 Y N 物资类型 5 material_specifications varchar 64 0 Y N 物资规格 6 material_unit varchar 64 0 Y N 物资单位 7 inventory_quantity int 10 0 Y N 0 库存数量 8 material_details longtext 2147483647 0 Y N 物资详情 9 recommend int 10 0 N N 0 智能推荐 10 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 11 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表material_warehousing (物资入库) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 material_warehousing_id int 10 0 N Y 物资入库ID 2 warehousing_no varchar 64 0 Y N 入库号 3 item_no varchar 64 0 Y N 物资序号 4 item_name varchar 64 0 Y N 物资名称 5 material_type varchar 64 0 Y N 物资类型 6 material_specifications varchar 64 0 Y N 物资规格 7 material_unit varchar 64 0 Y N 物资单位 8 receipt_quantity int 10 0 Y N 0 入库数量 9 warehousing_date date 10 0 Y N 入库日期 10 recommend int 10 0 N N 0 智能推荐 11 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 12 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表ordinary_users (普通用户) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 ordinary_users_id int 10 0 N Y 普通用户ID 2 user_name varchar 64 0 Y N 用户姓名 3 gender varchar 64 0 Y N 性别 4 examine_state varchar 16 0 N N 已通过 审核状态 5 recommend int 10 0 N N 0 智能推荐 6 user_id int 10 0 N N 0 用户ID 7 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 8 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表upload (文件上传) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 upload_id int 10 0 N Y 上传ID 2 name varchar 64 0 Y N 文件名 3 path varchar 255 0 Y N 访问路径 4 file varchar 255 0 Y N 文件路径 5 display varchar 255 0 Y N 显示顺序 6 father_id int 10 0 Y N 0 父级ID 7 dir varchar 255 0 Y N 文件夹 8 type varchar 32 0 Y N 文件类型 表user (用户账户用于保存用户登录信息) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 user_id mediumint 8 0 N Y 用户ID[0,8388607]用户获取其他与用户相关的数据 2 state smallint 5 0 N N 1 账户状态[0,10](1可用|2异常|3已冻结|4已注销) 3 user_group varchar 32 0 Y N 所在用户组[0,32767]决定用户身份和权限 4 login_time timestamp 19 0 N N CURRENT_TIMESTAMP 上次登录时间 5 phone varchar 11 0 Y N 手机号码[0,11]用户的手机号码用于找回密码时或登录时 6 phone_state smallint 5 0 N N 0 手机认证[0,1](0未认证|1审核中|2已认证) 7 username varchar 16 0 N N 用户名[0,16]用户登录时所用的账户名称 8 nickname varchar 16 0 Y N 昵称[0,16] 9 password varchar 64 0 N N 密码[0,32]用户登录所需的密码由6-16位数字或英文组成 10 email varchar 64 0 Y N 邮箱[0,64]用户的邮箱用于找回密码时或登录时 11 email_state smallint 5 0 N N 0 邮箱认证[0,1](0未认证|1审核中|2已认证) 12 avatar varchar 255 0 Y N 头像地址[0,255] 13 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间 表user_group (用户组用于用户前端身份和鉴权) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 group_id mediumint 8 0 N Y 用户组ID[0,8388607] 2 display smallint 5 0 N N 100 显示顺序[0,1000] 3 name varchar 16 0 N N 名称[0,16] 4 description varchar 255 0 Y N 描述[0,255]描述该用户组的特点或权限范围 5 source_table varchar 255 0 Y N 来源表 6 source_field varchar 255 0 Y N 来源字段 7 source_id int 10 0 N N 0 来源ID 8 register smallint 5 0 Y N 0 注册位置: 9 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间 10 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 表user_sign_in (用户签收) 编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明 1 user_sign_in_id int 10 0 N Y 用户签收ID 2 application_no varchar 64 0 N N 申领号 3 item_no varchar 64 0 Y N 物资序号 4 item_name varchar 64 0 Y N 物资名称 5 material_type varchar 64 0 Y N 物资类型 6 material_specifications varchar 64 0 Y N 物资规格 7 material_unit varchar 64 0 Y N 物资单位 8 ordinary_users int 10 0 Y N 0 普通用户 9 user_name varchar 64 0 Y N 用户姓名 10 application_quantity int 10 0 Y N 0 申领数量 11 signing_date date 10 0 Y N 签收日期 12 remarks text 65535 0 Y N 备注 13 examine_state varchar 16 0 N N 未审核 审核状态 14 examine_reply varchar 16 0 Y N 审核回复 15 recommend int 10 0 N N 0 智能推荐 16 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间 17 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间 第5章系统实现 5.1用户管理功能模块实现 1登录模块用户管理员可以通过登录进入该系统如果输入正确则可以进入该系统显示的结果如下。 用户登录界面如下图所示。 图5-1登录模块界面 2用户注册某个人员进入该系统则注册该用户的信息如果注册成功就可以进入该系统显示的结果如下。 注册用户界面如下图所示。 图5-2注册用户界面 3创建用户流程首先获取用户的基本信息然后将姓名转换为拼音做为用户名默认密码是admin向数据库添加一条记录。 创建用户流程图如下图所示。 图5-3创建用户流程图 5.2用户管理功能模块实现 1用户注册审核用户注册信息主要页面是yuangongxinxi_add.html文件通过调用add()方法将用户参数传入实现用户信息的添加。 用户添加页面如下图所示。 图5-4用户添加页面 2用户修改管理员可以修改已存在的用户信息除主键的ID不能修改外其他属性基本都能修主要页面是yuangongxinxi_update.html通过调用update()方法将用户参数传入实现用户信息的修改。 3用户查询用户添加之后可以进行用户查询输入用户编号可以查询出该用户的所有信息。包括用户编号、用户名称和电话。 4用户删除用对不需要的用户或者输入错误的用户信息管理员可以对其进删除通过调用delete()方法将用户参数传入实现用户信息的删除。 5用户添加流程开始输入用户信息在程序中验证输入的信息是否规范如果规范就输入成功如果不规范将重新进行输入。 用户添加流程图如下图所示。 图5-6用户添加流程图 5.3物资管理功能模块实现 1物资添加管理员添加物资信息主要页面是wuzi_add.html文件通过调用commDao类的add()方法将物资参数传入实现物资信息的添加。 物资添加页面如下图所示。 图5-7物资添加页面 2物资修改管理员可以修改已存在的物资信息除主键的ID不能修改外其他属性基本都能修改主要页面是wuzi_update.html通过调用commDao类的update()方法将物资参数传入实现物资信息的修改。 3物资查询物资添加之后可以进行物资查询输入物资编号可以查询出该物资的所有信息。包括物资编号、物资名称、物资价格。 物资查询界面如下图所示。 图5-8物资查询页面 4物资删除对不需要的物资或者输入错误的物资信息管理员可以对其进删除通过调用commDao类的delete()方法将物资参数传入实现物资信息的删除。 5.4库存管理功能模块实现 1物资入库如果管理员想进行物资入库物资入库之前须要对物资进行登记登记完之后进行物资入库物资入库之后生成入库记录物资的当前库存量入库前的数量加上入库数量在库存在会显示入库的物资,入库配送信息则将已入库的物资数量去除则从库存数量减去配送信息数量得到库存总数量。 物资入库页面如下图所示。 图5-9物资入库页面 物资入库流程图如下图所示。 图5-10物资入库流程图 2物资出库和物资入库相反的是物资出库物资的出库和出库上架都是对物资进行出库物资出库之后生成出库记录物资的当前库存量出库前的数量-出库数量如果当前库存量小于出库量则出库失败物资出库配送信息则去除出库出去的物资物资的库存量加上配送信息量得到物资现在的库存总量。 物资出库页面如下图所示。 图5-11物资出库页面 3库存查询用户点击该功能后系统自动列出所有物资的信息和当前库存量所有物资的总量进行计算。 物资查询界面如下图所示。 图5-12库存查询页面 4用户签收信息页面可查看申请号、物资库号、申领数量、用户姓名、申领数量、物资名称、物资规格等信息进行增删改查等操作。 图5-13用户签收页面 第6章系统测试 6.1测试目的 测试的目的不仅要如何去组织测试通过分析错误的产生原因以及结果以便改进。在系统测试中第一个目的就是检验系统在完成过程中的逻辑问题和系统可能存在的问题。然后通过测试修正原本的错误提高系统的质量。第二个目的就是检测系统的安全性、可靠性也就是说系统的内容是不是安全的会不会出现遗失等情况系统是否能很好的正常的运行。 从爱心捐赠物资维护系统的实际情况来考虑系统测试的根本就是各项功能是否能够正常运行不同的用户可以通过系统都做出哪些操作。能否对系统的数据进行调用对表的增删改查操作并且系统数据和数据库的数据是否一致。 6.2测试方法 一个业务模块应该由许多功能单元共同实现黑盒测试针对业务功能是否能按计划完成并且不考虑系统内部的结构和效率问题白盒测试的要求就是要尽可能的测试到所有的组成结构即要尽量包含所有的功能模块、覆盖全部路径。这种测试要求测试人员必须完全了解系统的业务逻辑及处理过程。但是完成上面的要求是一件很难的事并且若程序中含有循环之后路径的数量会越来越大执行每一条路径都将会变得极不现实。 6.3测试过程 6.3.1系统测试计划 通过这个测试体现了此系统的功能比较完善系统运行比较稳定足以证明此系统具有安全性和完整性。测试计划进度表在测试之前用来计划测试目的于测试的范围并且计划出测试的方法以及测试的时间。软件的质量是我们的追求所以测试的过程是十分重要的测试计划因此也成为了测试工作的基础。 系统测试计划如下表所示。 表6-1系统测试计划表 测试任务 工作描述 计划开始日期 计划结束日期 测试策划阶段 制定测试的计划、时间和预测效果 测试设计阶段 选定测试用例回顾测试覆盖 测试实现阶段 开发测试用例/脚本 测试执行阶段 测试用例/脚本执行 测试总结阶段 生成测试和缺陷填写报告 6.3.2系统测试用例 1用户登录模块测试用例用户登录系统时须要输入用户名和密码用户名和密码输入正确则登录成功否则将会给会相应提示。对用户登录输入用户名和密码设计详细测试用例。 用户登录测试用例如下表所示。 表6-2用户登录测试用例表 设计人 测试人 功能编号 1 功能组 登录界面 功能点 用户登录 测试日期 测试环境及前提 测试条件 已添加用户A用户1密码: B用户2,密码: 测试项目及内容 测试步骤 输入项 预期输出项 实际输出 1 空值/空值 提示“用户名或密码不能为空” 提示“用户名或密码不能为空” 2 空值/123 3 123/空值 4 1/1 成功登录到主程序“系统设置”菜单中拥有所有权限 成功登录到主程序“系统设置”菜单中拥有所有权限 111/1 提示“用户名或密码错误请重新输入” 提示“用户名或密码错误请重新输入” 5 2/2 成功登录到主程序在“系统设置”菜单中只能修改自己的密码 成功登录到主程序在“系统设置”菜单中只能修改自己的密码 测试结论 用户登录功能可以正常使用 总体结论 基本通过 测试结论 功能可正常使用 总体结论 基本通过 2用户管理测试用例添加用户时须要输入用户的详细信息当用户信息输入正确时则输入成功当用户信息输入不正确时则给出相应提示。 添加用户测试用例表如下表所示。 表6-3用户管理测试用例表 设计人 测试人 功能编号 2 功能组 系统设置 功能点 添加用户 测试日期 测试环境及前提 测试条件 系统中存在欲创建人的基本信息 测试项目及内容 测试步骤 输入项 预期输出项 实际输出 1 选择一条记录点击创建用户按钮 提示“用户创建成功” 提示“用户创建成功” 2 使用管理员权限登录为刚刚创建的用户授权 提示“授权成功” 提示“授权成功” 3 实用刚刚创建的用户登录系统 提示“登录成功” 提示“登录成功” 测试结论 添加用户功能可以正常使用 总体结论 基本通过 3物资管理测试用例对物资管理功能模块进行增删改查的测试。 物资管理测试用例如下表所示。 表6-4添加物资测试用例 设计人 测试人 功能编号 3 功能组 物资管理界面 功能点 添加物资 测试日期 测试环境及前提 测试条件 进入物资管理模块 测试项目及内容 测试步骤 输入项 预期输出项 实际输出 1 添加物资时没有输入任何物资信息 提示“物资添加失败” 提示“物资添加失败” 2 添加物资时输入带*号的文本框并且符合格式要求 提示“物资添加成功” 提示“物资添加成功” 3 添加物资时输入所有文本框并且格式符合要求 提示“物资添加成功” 提示“物资添加成功” 4 添加物资时只输入没有带*号的文本框 提示“物资添加失败” 提示“物资添加失败” 4物资入库管理测试用例物资入库测试物资入库情况可以选择一个物资进行入库可以选则多个物资进行入库。 物资入库用例表如下表所示。 表6-5物资入库管理测试用例表 设计人 测试人 功能编号 4 功能组 入库 功能点 物资入库 测试日期 测试环境及前提 测试条件 已录入物资信息 测试项目及内容 测试步骤 输入项 预期输出项 实际输出 1 选择一个物资点击入库按钮输入该物资入库数量 入库成功 入库成功 2 选择一个物资点击入库按钮没有输入该物资入库数量 请输入入库数量 请输入入库数量 测试结论 物资入库功能可以正常使用 总体结论 基本通过 6.4测试结果 测试结果包括界面及功能测试和代码测试两部分本系统对每个功能点做了详细的测试测试结果正常。 测试结果表如下表所示。 表6-6系统功能测试结果表 序号 测试模块 功能点 质量保证标准 问题属性 测试结果 F1 系统用户管理模块 修改密码 正确性 故障 正常 权限设置 正确性 故障 正常 角色管理 正确性 缺陷 正常 用户信息添加 正确性 故障 正常 用户信息修改 正确性 故障 正常 用户信息查询 正确性 故障 正常 用户信息删除 正确性 故障 正常 退出系统 正确性 故障 正常 F2 功能管理模块 物资信息添加 正确性 故障 正常 物资信息修改 正确性 故障 正常 物资信息删除 正确性 故障 正常 入库信息添加 正确性 故障 正常 入库信息修改 正确性 故障 正常 入库信息删除 正确性 故障 正常 出库信息添加 正确性 故障 正常 出库信息修改 正确性 故障 正常 出库信息删除 正确性 故障 正常 签收信息添加 正确性 故障 正常 签收信息修改 正确性 故障 正常 签收信息删除 正确性 故障 正常 第7章结论 本系统是通过计算机技术结合物资管理的需求研制出的一套用于各个的爱心捐赠物资维护系统。该系统能够为的物资管理提供方便能够帮助对其进行信息化管理能够为对各方面的管理提高工作效率。本系统还能够将各个资料录入让管理层在网上查询所需要的资料这样一来就能够省去了专门负责库存管理人的工作量也为库存管理工作提供了便利。 在对本系统进行了详细的分析以及一系列的可行性研究之后根据该系统的设计构想对本软件进行了开发设计。在确定了本系统具有较高的可行性以后通过对系统的数据库的分析和总体的功能模块的设计本系统前台采用的是java开发技术以MySQL作为后台数据库连接开发。在对系统进行详细的需求分析后针对不同的需求设立不同的板块发挥各部分不同的作用。根据该系统的功能结构图展示出了系统内各功能模块之间的业务逻辑结构。并且通过所设计的E-R图表示出系统各个部分的功能涉及到系统中各部分的联系可以让读者能够清晰的了解到本系统的运行流程并能够进一步的了解到系统各功能模块的相关信息。 参考文献 [1]李秀红,徐介新,吕兰兰,王勍.基于SSM的高校实验室管理系统的设计与实现[J].软件工程,2017,20(06):24-26. [2]袁斌.基于SSM的图书商城系统设计t初探[J].经营管理者,2017,(18):268-269. [3]陈倩.基于SSM的OA办公平台[J].经贸实践,2017,(12):223. [4]施万里.从ESP到SSM:专门用途日语教师专业发展研究[J].旅游纵览(下半月),2017,(08):247249. [5]李俊.基于jsp的数据库开发技术研究[J].才智,2017,(20):265. [6]周江,李月.一种基于SSM技术的网页表格组件的设计与实现[J].现代计算机(专业版),2017,(21):48-51. [7]韩银锋.SSM实现网站访问次数计数累计[J].数字技术与应用,2017,(06):205208. [8]袁永彦.基于SSM技术的体育用品管理系统设计与实现[J].电子设计工程,2017,25(14):172-174178. [9]周文华,胡玉欣,周嘉雯,张之江.SSMServletjavaBean开发的登录系统[J].工业控制计算机,2017,30(08):132-133147. [10]张继东.MySQL数据库基于SSM的访问技术[J].电子技术与软件工程,2017,(15):169. [11]黄小根.基于SSMMVC模式的个人博客系统设计[J].电脑编程技巧与维护,2017,(16):24-2532. [12]陈娟.基于SSM的校园二手物品交易系统的设计与实现[J].计算机产品与流通,2018(11):140-141. [13]刘欣华.基于jsp技术的网络考试系统的研究与设计[J].现代职业教育,2017,(05):80. [14]AbbasMrAnsar,EliyanaProfAnis,EkowatiDrDian,SaudMrMuhammad,RazaMrAli,WardaniMsRatna.Datasetoncopingstrategiesinthedigitalage:Theroleofpsychologicalwell-beingandsocialcapitalamonguniversitystudentsinjavaTimor,Surabaya,Indonesia.[J].Datainbrief,2020,30. [15]PatríciaAmorim,PedroSousa,ErnestoJardim,ManuelaAzevedo,GuiM.Menezes.Length-frequencydataapproachestoevaluatesnapperandgrouperfisheriesinthejavaSea,Indonesia[J].FisheriesResearch,2020,229. [16]Mr.AnsarAbbas,Prof.AnisEliyana,Dr.DianEkowati,Mr.MuhammadSaud,Mr.AliRaza,Ms.RatnaWardani.Datasetoncopingstrategiesinthedigitalage:Theroleofpsychologicalwell-beingandsocialcapitalamonguniversitystudentsinjavaTimor,Surabaya,Indonesia[J].DatainBrief,2020,30. [17]PengxiangZhou,ShaohongXia.Effectsoftheheterogeneoussubductingplateonseismicity:Constraintsfromb-valuesintheAndaman–Sumatra–javasubductionzone[J].PhysicsoftheEarthandPlanetaryInteriors,2020. [18]FranciscoAleixo,SeánA.O’Callaghan,LuísDuclaSoares,PauloNunes,RuiPrieto.AragoJ:Afree,open‐sourcesoftwaretoaidsinglecameraphotogrammetrystudies[J].MethodsinEcologyandEvolution,2020,11(5). [19]BelénRíos-Sánchez,DavidCosta-daSilva,NataliaMartín-Yuste,CarmenSánchez-?vila.Deeplearningforfacerecognitiononmobiledevices[J].IETBiometrics,2020,9(3). [20]MoeljadiMoeljadi,TriningsihSriSupriyati,SherlindaOctaYuniarsa.PersonalMotivationalFactorstoAligningInnovationCulture:EvidenceonTrenggalek,Eastjava,Indonesia[J].SHSWebofConferences,2020,76. 致 谢
经历了近三个多月的动手实践及老师辛勤的指导和同学朋友热心的帮助下本人的毕业设计爱心捐赠物资维护系统的基本功能也基本完成。
此次设计中通过不断的探讨与学习使我熟悉、使我初步了解了SSM相关技术。我做的是一个B/S结构的爱心捐赠物资维护系统使我对做网站所需要及运行的环境有了初步的了解在此次设计中我翻阅了较多的书籍在有限的时间了丰富了对爱心捐赠物资维护系统技术的知识也积累了少许的经验。起初对java的初步认识通过这次设计更进一步的了解了其工作原理懂得了配置服务器环境连接数据库源在设计过程中也学会了用Pycharm设计一个简单的页面增强了动手的能力激发了在此方面的兴趣。
但是由于时间、基础及缺乏实践等多方面的问题还有诸多需要解决的问题依然存在设计中很多方面考虑不够周全或者考虑不到。
非常感谢我的老师我的同学我的朋友并希望在今后的学习生活中不断陪养多方面的兴趣不断学习进步从而能够实现独立完成。设计中存在的诸多缺点诚肯老师的原谅。 免费领取项目源码请关注❥点赞收藏并私信博主谢谢~