摘 要
伴随着社会以及科学技术的发展,互联网已经渗透在人们的身边,网络慢慢的变成了人们的生活必不可少的一部分,紧接着网络飞速的发展,系统管理这一名词已不陌生,越来越多的宠物店等机构都会定制一款属于自己个性化的宠物寄存管理系统。
本毕业设计的内容是设计并且实现一个基于Node.js语言的宠物寄存管理系统。采用MYSQL为数据库开发平台,Express框架,宠物寄存管理系统的功能已基本实现,主要商家、顾客、宠物寄存、寄存信息、公告信息、系统管理等。
论文主要从系统的分析与设计 、数据库设计和系统的详细设计等几个方面来进行论述,系统分析与设计部分主要论述了系统的功能分析、系统的设计思路,数据库设计主要论述了数据库的设计,系统的详细设计部分主要论述了几个主要模块的详细设计过程。
【关键词】 宠物寄存管理系统;Node.js语言;MYSQL数据库;Express框架
Abstract
With the development of society and science and technology, the Internet has penetrated around people, and the network has slowly become an indispensable part of people's life. With the rapid development of the network, the term system management is no stranger. More and more pet stores and other institutions will customize their own personalized pet deposit management system.
The content of this graduation project is to design and implement a system based on node JS language pet deposit management system. Using MySQL as the database development platform and express framework, the functions of pet deposit management system have been basically realized, including main businesses, customers, pet deposit, deposit information, announcement information, system management, etc.
This paper mainly discusses from the aspects of system analysis and design, database design and detailed design of the system. The system analysis and design part mainly discusses the function analysis and design idea of the system. The database design mainly discusses the design of the database, and the detailed design part of the system mainly discusses the detailed design process of several main modules.
[Key words] pet deposit management system; Node. JS language; Mysql database; Express framework
目 录
[1 引言](#1 引言)
[1.1 研究的目的及意义 2](#1.1 研究的目的及意义 2)
[1.2 研究的主要内容 3](#1.2 研究的主要内容 3)
[1.3 本文的组织结构 4](#1.3 本文的组织结构 4)
[2 平台开发相关技术 5](#2 平台开发相关技术 5)
[2.1 ++++Node.js++++ ++++介绍++++ 6](#2.1 Node.js介绍 6)
[2.2 Express框架 7](#2.2 Express框架 7)
[2.3 MYSQL数据库 8](#2.3 MYSQL数据库 8)
[2.4 MySQL环境配置 9](#2.4 MySQL环境配置 9)
[2.5 B/S架构 1](#2.5 B/S架构 1)0
[3 软件系统需求及可行性分析 1](#3 软件系统需求及可行性分析 1)1
[3.1 需求分析 1](#3.1 需求分析 1)2
[3.2 系统可行性分析 1](#3.2 系统可行性分析 1)3
[3.2.1 技术可行性 1](#3.2.1 技术可行性 1)4
[3.2.2 操作可行性 1](#3.2.2 操作可行性 1)5
[3.2.3 经济可行性 1](#3.2.3 经济可行性 1)6
[4 系统软件的总体设计 1](#4 系统软件的总体设计 1)7
[4.1 系统开发流程 18](#4.1 系统开发流程 18)
[4.2 系统总体架构设计 19](#4.2 系统总体架构设计 19)
[4.2.1 总体设计 2](#4.2.1 总体设计 2)0
[4.3 系统数据库的设计 2](#4.3 系统数据库的设计 2)1
[4.3.1数据库E/R图 2](#4.3.1数据库E/R图 2)2
[4.3.2 数据库表 2](#4.3.2 数据库表 2)3
[5 系统软件功能的具体实现 2](#5 系统软件功能的具体实现 2)4
[5.1 管理员功能模块 2](#5.1 管理员功能模块 2)5
[5.2 顾客功能模块 2](#5.2 顾客功能模块 2)6
[5.3 商家功能模块 2](#5.3 商家功能模块 2)7
[5.4 前台首页功能模块 2](#5.4 前台首页功能模块 2)7
[6系统的调试和测试 2](#6系统的调试和测试 2)8
[7 结论 2](#7 结论 2)9
[7.1 收获与体会 3](#7.1 收获与体会 3)0
[参考文献 3](#参考文献 3)1
[致 谢 3](#致 谢 3)2
1 引言
1.1研究的目的及意义
科学技术日新月异的如今,计算机在生活各个领域都占有重要的作用,尤其在信息管理方面,在这样的大背景下,学习计算机知识不仅仅是为了掌握一种技能,更重要的是能够让它真正地使用到实践中去,以创新的视角去不断方便人们的生活,推动对新知识的学习,培养自学能力,锻炼动手实践的本领。以前的宠物寄存管理,也应该摆脱人工管理的模式,使用计算机技术来进行信息管理工作,于是我思考了很久,最后决定用Node.js语言开发一个宠物寄存管理系统。如今随着科技的迅速发展,Node.js语言受到了众多开发者的青睐,Node.js语言不仅简化了开发者的负担而且提高了开发效率,那么一个宠物寄存管理系统将是广大用户所需要的。所以要通过计算机胜任宠物寄存管理系统的工作,使宠物寄存管理系统更加准确、方便及快捷。
1.2 研究的主要内容
随着信息化的发展,互联网需要提供更多的服务,构造更完善的体系以满足越来越多的用户的精神与物质需求。伴随着Internet技术的日益成熟,一种建立在网络基础上的信息管理模式形成了,这便是今天为大家所熟悉的线上管理系统。
但传统的手工统计进行管理力量远远不够,所以有很多宠物店的宠物寄存管理系统工作只停留在传统的宠物寄存管理服务。同时,很多宠物店本身资金是有限再加上也缺少专业水平的工作人员,所以宠物寄存管理的管理手段较为落后,同时也就不能很好的为用户提供宠物寄存、寄存信息、公告信息等功能,于是宠物寄存管理能够为用户提供更为完善的服务。以前宠物寄存管理都是通过手动来进行管理记录及操作,不但麻烦琐碎,还经常出现错误,给广大用户带来很不便,同时也需要大量的人力、物力和财力,极大的浪费了宠物店的资源。随着服务行业的快速发展,人们慢慢地来希望宠物寄存管理系统能够提供更为合理及完善的服务。
1. 3 本文的组织结构
本文的组织结构如下:
1、绪论。综述了本文的目的及意义,分析了宠物寄存管理系统的结构;更好的从用户的角度出发,发现当今宠物寄存管理系统中的不足,同时要指出本次系统中的特色。
2、对系统主要的使用技术,开发环境、环境配置的介绍。介绍了本次开发所用的系统开发环境Vscode,还介绍了Express框架和MySql数据库。
3、系统的设计与实现。介绍了开发宠物寄存管理系统信息系统的思路并进行了需求分析,在需求分析的基础上进行了总体设计、详细设计以及数据库等相关方面介绍;该部分是全文的主旨。
4、系统功能模块具体实现。对开发中一些主要具体功能的实现进行描述。涉及到数据库、页面参数传递等相关知识。
5、总结。对整个论文及设计过程进行总结,指出系统设计过程的心得以及设计中存在的不足;后期还有待完善的地方等。
2 平台开发相关技术
2.1 Node.js 介绍
Node.jsScript 这门语言的设计虽然被很多人诟病,但是因为其占据了浏览器而且容易上手所以广泛流行。后来随着 Node.js 的出现,npm 包管理带来的强大生态更是如虎添翼(截止到 2017 年 3 月 npm 共有 43 万个包)。但是这也造成了 JS 社区变态的快速迭代,大家都直呼赶不上,框架太多,选择太多,眼花缭乱。
Node.js非常适用于Web开发,但是现在无论是一个网站,还是Web App都已经成为包括很多不同部分,如前端、数据库、业务模块、功能模块等等的大型项目,使用Node.js从零开始进行Web开发,也许大中型团队能够 胜任,但对于个人和小型团队来说是不现实的。这时候框架就成为Web开发利器,对于个人开发来说几乎是必不可少。
2.2 Express框架
Express是一个简洁而灵活的node.js web框架,提供了一系列强大特性帮助你创建各种web应用,和丰富的HTTP工具。使用Express可以快速地搭建一个完整功能的网站。
1.express框架的特性
(1)可以设置中间件来响应HTTP请求;
(2)定义了路由表用于执行不同大的HTTP请求动作;
(3)可以通过向模板传递参数来动态渲染HTML页面;
2.3 MYSQL数据库
MySQL数据库管理系统,是目前最流行的关系型数据库管理系统之一。它相对与SQLServer来说小了很多,电脑内存比较小的人用这个会比较方便而且MySQL安装起来非常方便,不需要有很多插件的安装,基本上只需要点击下一步执行,只有在最后的时候选一下数据集选项。MySQL查询起来也非常方便,连接数据库之后直接打开就可看到,对于我这种懒人来说真的非常实用。MYSQL能够以极高的效率完成各种数据库查询,并能方便的使用存储过程,同时我们一般在实用MySQL是基本上都是实用简单的可视化工具查看,界面简单清晰,以图形的形式表达用户界面易查看的,又能够使数据库管理和系统管理更加简单、直观。由于MySQL对Web端的支持,用户能轻易的在浏览器里面运行界面获取数数据关系,所以这次课题选用MySQL数据库。
2. 4 MySQL环境配置
本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.5 B/S架构
B/S的系统是通过能上网的电脑就可以使用,它最大的优点是不需要安装专门的软件,首先浏览器向服务器发出请求,然后服务器处理请求把信息再返回给浏览器。不需要再次对数据进行存取与计算数据,只要负责显示数据来降低要求,如果说客户端像个"瘦子",而服务器会越来越"胖"。B/S体系结构与C/S体系结构相比,最大的不同是:B/S体系的应用软件使用网络浏览器作为与用户交互的平台,而C/S则需要开发专用的应用程序。
当前MIS系统结构目前存在两种较为流行的结构:C/S和B/S两种。
C/S结构的系统:C/S结构就是客户机服务器结构,它可以法派任务到Client端和Server端来进行,充分利用两端硬件环境的优势,来降低系统的通讯的花费。客户端主要作用是处理人机交互,执行客户端应用程序,收集数据以及向服务器发送任务请求。服务器基本作用是执行后台程序,它主要对客户机的请求申请进行反馈,除此之外,它的作用还包括:数据服务预约储系统的共享管理、通讯管理、文件管理等等。
B/S结构的系统:这种网络结构简化了客户端,并把系统功能实现的中心集中到服务器上,在这种模式中,只需要一个浏览器就可以了。这种结构将很多的工作交于WEB服务器,只通过浏览器请求WEB服务,随后根据请求返回信息。
通常在网站网内部使用,采用C/S。而使用不仅限于内网的情况下使用B/S。考虑到本管理系统的一系列需求,所以,该系统开发使用B/S结构开发。
3 软件系统需求及可行性分析
3.1 需求分析
本次的毕业设计主要就是在基于Node.js语言平台下设计并开发一个宠物寄存管理系统软件。运用当前Google提供的Express框架来实现对宠物寄存查询功能模块和寄存信息查询功能。当然使用的数据库是mysql。尽管没有面向对象的数据库的作用强大,但是在Express框架开发上还是比较的灵活和方便的。系统功能主要介绍以下几点:
本宠物寄存管理系统主要包括三大功能模块,即顾客功能模块和管理员功能模块、商家功能模块。
(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能有:首页、个人中心、顾客管理、商家管理、宠物寄存管理、寄存信息管理、公告信息管理、系统管理等功能。管理员用例图如图3-1所示。
3.2 系统可行性分析
一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本网站来补充线下宠物寄存管理系统模式中的缺限,去解决其中的不足等,通过对本网站,不仅能使工作量不断地减少,还能使工作和管理的效率更加高。所以开发该网站能实现更大的意义和价值,网站完成后,能否达到预期效果就要通过可行性分析,分析之后,决定此系统是否开发。该宠物寄存管理系统的开发设计中,对技术、经济、操作方面进行了可行性分析;
3. 2 .1 技术可行性
本系统开发选择Node.js语言,它被研究的目的就是在于能够为网页创建等可以看到的信息。随着移动互联网技术的不断发展和创新,Express俨然已成为下一代互联网的Web标准。所以后台设计选择使用mysql数据库主要用来的建立和维护信息。后台数据库的要求则是能够建立和维护数据信息的统一性和完整性。
3. 2 .2 操作可行性
现在随着科技的飞速发展,计算机早已经进入了人们的日常生活中,人们的工作环境也不像以前有那么多的要求,不需要员工一定要到公司办公,有的工作在家也可以完成。这使得人们的工作效益有了很大的提高。操作的多样性也变高了。因此,管理的计算机化,智能化是社会发展而带来的必然趋势,各种智能的软件层出不穷,不同的软件能完成用户不同的需求,这不仅提高了工作效率还能完成一些客户特定的一些需求。本系统不仅界面简洁明了还采用可视化界面,用户只要用鼠标和键盘就可以完成对相关信息的修改,删除,添加等操作。因为这个系统的操作十分简单,方便上手,对于第一次使用系统的人,只需要很少的时间就可以上手操作。由此可见,本系统在操作上是可行的。
3. 2 .3经济可行性
基于Node.js的宠物寄存管理系统,该网站软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的宠物寄存管理系统,同时还能实现对管理资源的有效节约,该宠物寄存管理系统在经济上完全可行。
4 系统软件的总体设计
4.1 系统开发流程
(1)需求分析:初步分析用户的需求,列出功能模块。
(2)系统设计:相关数据库、各功能的设计。
(3)界面设计:根据各个模块准备素材,设计界面。
(4)代码编写:实现相关功能代码的编写。
(5)测试运行:按照规划测试软件各项功能是否正常运行。
4.2 系统总体架构设计
4. 2. 1 总体设计
宠物寄存管理系统采用了结构化开发的方法。这种开发方法的优点是控制性比较强,开发过程中采用了结构化和模块化的设计思想,自顶向下,从总体到部分,合理划分系统的结构和模块。结构化开发时使用模块式开发,各模块之间互不影响,方便系统的开发与管理。
本系统的设计是基于 B/S架构的三层体系结构,也就是浏览器和服务器结构。计算机技术发展的速度非常快,以前的设计结构都以C/S的模式为主,也就是用户端和服务端模式。但随着网页技术的发展,越来越多的用户习惯于使用浏览器。现在的网页技术可以在浏览器中实现非常漂亮的效果,以前的单一低调的用户端页面已经无法满足用户的需求。在B/S这种结构下,技术人员可以很轻松的设计出用户所需要的工作界面,页面代码通过浏览器进行解析展示,在浏览器中不做过多的事务逻辑的处理。主要的事务逻辑放在服务端进行处理。这样用户的电脑就不会承载过多的东西,只需要浏览器展示即可。对于开发人员也很方便进行系统的维护和升级。开发人员只需要在服务端进行系统的维护就可以了。使用Node.js这样的跨平台性非常好的技术,这样的开发模式更加的方便,高效。本系统合理的进行了模块划分和组合,因此由于各个模块之间基本上是相互独立的,所以每个模块都可以独立的被解释、执行、调试和修改,让繁琐的系统设计工作简单化。
如图4.1是该系统软件的功能结构图: