答辩PPT
论文
node.js物资管理系统
摘 要
随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,物资管理系统当然也不能排除在外。物资管理系统是以实际运用为开发背景,运用软件工程开发方法,采用互联网技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括模块实现的关键代码,系统数据库访问和主要功能模块的具体实现等。最后对系统进行功能测试,并对测试结果进行分析总结,及时改进系统中存在的不足,为以后的系统维护提供了方便,也为今后开发类似系统提供了借鉴和帮助。
物资管理系统采取Mysql作为后台数据的主要存储单元,运用软件工程原理和开发方法,采用node.js的koa技术构建的一个管理系统,实现了本系统的全部功能。完成系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户管理、物品分类、库存物资、供应商管理、客户管理、物资入库、物资出库、入库质检、通知公告等功能的实现过程。
关键词:物资管理系统; Node.js;
node. JS material management system
Abstract
With the rapid development of science and technology, all aspects of society and all walks of life are trying to integrate with modern advanced technology and improve their own advantages through scientific and technological means. Of course, the material management system can not be excluded. Material management system is a management system based on practical application, software engineering development method and Internet technology. The whole development process first analyzes the requirements of the software system and obtains the main functions of the system. Then the overall design and detailed design of the system are carried out. The overall design mainly includes the overall system structure design, system data structure design, system function design and system security design; The detailed design mainly includes the key code of module implementation, system database access and the specific implementation of main function modules. Finally, the function of the system is tested, and the test results are analyzed and summarized to improve the shortcomings of the system in time, which not only provides convenience for future system maintenance, but also provides reference and help for the development of similar systems in the future.
The material management system adopts MySQL as the main storage unit of background data, uses software engineering principles and development methods, and adopts node JS koa technology to build a management system, to achieve all the functions of the system. Complete the page design and function realization of the main modules of the system. This paper shows the implementation effect of the home page, and introduces the implementation process of user management, item classification, inventory materials, supplier management, customer management, material warehousing, material outbound, warehousing quality inspection, notice and announcement through the code and page.
Key words: Material management system; Node.js;
目 录
随着人类历史的发展,人类社会已经经历了几千年的历史时光,在这几千年的时光里,由于多种因素的影响,各种各样的突发公共事件在不停地出现、发展直至消亡,这是一个不断循环的过程。所谓的突发公共事件包括很多种,有自然产生的,如各种自然灾害、疾病冲突等,有人为产生的,如国家动乱、种族冲突等。尤其是西方国家工业革命的爆发,使得社会工业技术急速发展,造成更多公共突发事件的产生,包括交通事故、技术事故、环境事故、医疗事故以及恐怖袭击等等。无论社会发展成何种地步,突发事件都不可避免,这就要求人们必须提高对突发事件的认识,做好应对突发事件的准备。
当前,我国现代化建设正在迈入新的阶段,国家的政策改革和经济发展都处于敏感时期,在这种敏感时期内,影响国家、社会和人民群众公共安全的因素逐渐增多,导致各类突发公共事件时有发生。如何利用先进的信息化技术和应用系统,来提高我国对于突发事件的管理协调能力、应急反应能力和事件处理效率,物资管理与分配系统是针对突发事件的实际需求,从实际工作出发,在分析目前物资管理系统中存在的问题的基础上,结合管理系统开发的概念、结构及系统开发的基本原理和方法,并利用计算机运算速度快、存储信息容量大、处理逻辑问题强、功能强的优势,采用B/S结构,针对物资基本信息、物资申请、物资分类等管理需求开发出来的。从查询与修改信息的管理需求出发,针对性比较强,基本应用功能比较齐全,旨在通过该系统实现物资管理分配的信息化、网络化,以提高物资管理系统的效率。
1.2开发现状
随着国内经济形势的不断发展,中国互联网进入了一个难得的高峰发展时期,这使得中外资本家纷纷转向互联网市场。然而,许多管理领域的不合理结构,人员不足以及管理需求的增加使得更多的人具备了互联网管理的意识。
在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。 “物资管理系统”是基于Mysql数据库,在node.js的koa技术程序设计的基础上实现的。为确保中国经济的持续发展,信息时代日益更新,蓬勃发展。同时,随着信息社会的快速发展,物资管理系统面临着越来越多的信息,因此很难获得他们对高效信息的需求,如何使用方便快捷的方式使查询者在广阔的海洋信息中查询,存储,管理和共享信息方面有效,对我们的工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——物资管理系统诞生了。
-
- 论文组成结构
根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出物资管理系统。
本文共有七章,如下所示。
第一章概述了物资管理系统的研究目的和意义;精炼地总结了国内外在内的领域研究情况和未来的研究趋势,最后给出了论文的组成结构。
第二章简要概述了本文所用的开发技术和工具。
第三章简要对系统各业务流程进行需求分析、可行性分析。
第四章对物资管理系统进行设计。
第五章对物资管理系统进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。
第六章对物资管理系统采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。
第七章总结全文并对未来的研究做出展望。
Node.js是一个异步的世界,官方API支持的都是callback形式的异步编程模型,这会带来许多问题,例如:1、callback嵌套问题;2、异步函数中可能同步调用callback返回数据,带来不一致性。为了解决以上问题Koa出现了。
koa是由Express原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的Web框架。使用koa编写web应用,可以免除重复繁琐的回调函数嵌套,并极大地提升错误处理的效率。koa不在内核方法中绑定任何中间件,它仅仅提供了一个轻量优雅的函数库,使得编写Web应用变得得心应手。开发思路和express差不多,最大的特点就是可以避免异步嵌套。
阿里内部就在使用Koa框架,并在Koa基础上面做了一些扩展和封装。并且基于koa开发了一个开源框架egg。
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
2.3 MVVM模式介绍:
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.4 B/S体系工作原理:
B/S架构采取浏览器请求,服务器响应的工作模式。
用户可以通过浏览器去访问Internet上由Web服务器产生的文本、数据、图片、动画、视频点播和声音等信息;
而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中;
从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Internet。
在 B/S 模式中,用户是通过浏览器针对许多分布于网络上的服务器进行请求访问的,浏览器的请求通过服务器进行处理,并将处理结果以及相应的信息返回给浏览器,其他的数据加工、请求全部都是由Web Server完成的。通过该框架结构以及植入于操作系统内部的浏览器,该结构已经成为了当今软件应用的主流结构模式。
2.5 MySQL数据库
Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。
Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。
数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。
- 系统分析
本系统将在经济、技术、操作这三个角度上进行可行性分析。
整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。
技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于VUE框架,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用Mysql数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。
物资管理系统的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用Node.js技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。
(1)用户管理:主要包括用户列表、用户数据管理等功能。
(2)库存物资模块:主要包括物资编号、物资编号、物品类别、库存、图片、备注等功能。
(3)供应商模块:主要包括供应商名称、负责人、主供物资、联系电话、地址等功能。
(4)客户模块:主要包括客户名称、地址、联系电话、备注等功能。
(5)物资入库管理:主要包括物资编号、物资名称、入库数量、抽检数量、供应商名称、合格数量、合格率等功能。
(6)物资出库模块:主要包括物资名称、物资编号、客户名称、出库数量、单价、总金额、出库日期等功能。
系统用例图如下所示。
图3-1系统用例图
物品分类用例描述如下表所示。
表3-1物品分类用例描述
用例名称 |
添加物品分类 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行添加物品分类操作 |
|
前置条件 |
管理员添加物品分类前必须登录系统 |
|
后置条件 |
系统中添加一个物品分类 |
|
基本事件流 |
参与者动作 |
系统响应 |
4、管理员填写物品分类信息,点击“添加”按钮。 |
2、系统打开添加新职位界面。 3、系统检查管理员输入的职位信息是正确有效的。 5、系统将物品分类到数据库中。 6、系统提示“操作成功”。 7、系统跳转到物品分类管理界面。 |
|
其他事件流 |
1、系统验证管理员输入的职位名为空,则提示“*请填写职位名称!”。 2、系统验证管理员输入的价格不是货币格式,则提示“*价格必须是货币格式!” |
库存物资删除用例描述如下表所示。
表3-2库存物资删除用例描述
用例名称 |
删除订单 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行删除库存物资操作 |
|
前置条件 |
管理员删除库存物资前必须登录系统 |
|
后置条件 |
系统中删除一个库存物资 |
|
基本事件流 |
参与者动作 |
系统响应 |
1、管理员在后台主界面选择“订单管理”。 4、管理员选择一个库存物资,点击“删除”按钮。 6、管理员点击“确定”按钮。 |
2、系统从数据库中获取订单信息列表 3、系统打开订单列表界面。 5、系统提示“你确定要删除吗?”。 7、系统将库存物资从数据库中删除。 8、系统提示“删除成功”。 9、系统跳转到订单管理界面。 |
|
其他事件流 |
无 |
客户管理用例描述如下表所示。
表3-3客户管理用例描述
用例名称 |
客户管理 |
|
参与者 |
管理员 |
|
用例概述 |
本用例用于管理员进行客户管理操作 |
|
前置条件 < |