长者食堂管理系统的设计与实现
摘要
随着社会流动的加速,许多老人“空巢又空心”,子女长期不在身边,无法得到及时有效的生活照料与精神慰藉。特困、独居、失能等特殊困难老年人的生活需求也要及时准确的帮扶。严峻的人口老龄化对我国养老保障体系和制度建设提出了更高的要求。另一方面,随着信息技术的发展,计算机数据库和网络通信技术、传感器等技术已得到广泛应用,这也促进了长者食堂管理系统的发展。在这样的背景下,全国各地政府不断探索新型的社区养老模式建设,“长者食堂”的社区养老模式应运而生。
长者食堂管理系统采用的开发工具主要是 hbuild、微信小程序开发工具,开发语言用Java,框架使用 uniapp,主要实现的功能包括:菜品管理、食材管理、备餐计划、活动管理、订单管理、用户管理、系统管理。
长者食堂管理系统为食堂提供便捷的管理系统,提高了食堂管理效率,实现了信息化老人管理。“长者食堂”社区养老模式所提供的助餐配餐服务,不仅可以让老年人享受政府提供的低价且营养的助餐服务,还可以加强与外界的沟通,提高老年人社会参与度,提升晚年幸福指数。
关键词:长者食堂管理系统 微信小程序 Java
2 系统技术
2.1 uniapp简介
UniApp是一个基于Vue.js框架的跨平台应用开发框架,可以用同一套代码编译成iOS、Android、H5、小程序多个端的应用,减少了开发成本和时间。UniApp可以将各个端的原生容器进行封装,以JSBridge的形式暴露出来,开发者可以通过JSBridge来调用各个端的原生能力,从而达到跨端开发的目的。UniApp同时集成了webpack打包工具和多端调试工具,方便开发和调试,接入了微信小程序开发的规范,可以通过微信小程序开发者工具进行开发、调试和发布。UniApp提供了完整的文档和示例代码库,方便开发者学习和使用[3]。
2.2 hbuild简介
Hbuilder是DCloud公司推出的一款跨平台开发工具。它支持HTML5手机应用和Hybrid App应用的开发,同时也支持微信小程序和快应用的开发。Hbuilder集成了代码编辑器、调试器、模拟器和打包发布等功能,相比其他的开发工具,它具有易用性和高效性的特点[8]。
2.3 VS Code简介
Visual Studio Code(简称VS Code)是一款由微软推出的免费的开源代码编辑器。VS Code具有很多特性,例如:自动完成、调试程序、代码片段等。它支持多种编程语言,如:C ++、HTML、CSS、JavaScript、TypeScript等等。VS Code还有一个活跃的扩展生态系统,可以在编辑器中安装各种插件,以增强开发的效率和体验。
2.4 Node.js简介
Node.js是一个基于Chrome V8引擎的开源、跨平台的JavaScript运行环境。Node.js的特点是高效、轻量、可扩展,适用于数据密集型实时应用。与传统的Web应用不同的是,Node.js在服务端运行,它可以调用一些操作系统底层的API,如:文件系统、网络、进程等。Node.js的生态系统非常丰富,有众多的社区贡献者,提供了各式各样的模块、工具和框架供开发者使用[9]。2.6
2.7 Java语言简介
Java在当今的网络环境中,以其独特的优点和良好的应用前景,实现了面向对象、分布、动态、平台无关、安全性和健壮性。Java的基础语句和 C++类似,不过 Java的面向对象技术更为全面,因为 Java需要将一切都包装在一个类别中,而将一个类当作一个基础单元。Java是纯粹的面向对象编程语言,因为它不能包含变量和方法。Java是一种基于分布式的数据分配与作业分配的语言,是一种能够同时进行 TCP/IP的基于 Web的编程语言,同时还能够为客户端/服务器提供运算方式。Java的动态化是指在运行时,可以动态地设置一个类,这样 Java就能对它进行动态的维护。Java不支援任何指针,并且使用物件执行对记忆体的一切动作,以防止在使用时容易发生的程式码,防止程式码攻击及攻击程式。
Java的编程方式类似于 C,它是 C++的主要技术,在推出以后, Java得到了快速的发展和普及,给 C的进阶带来了巨大的影响。业界将其称为“一次编译,到处执行”。Java也有其不足之处,就是在每一次编译之后,都会耗费一些时间,从而导致了性能的下降。不过,这并不妨碍Java作为本次的设计工具,因为Java语言易于掌握,编程周期较少,功能较好,并且开发人员更容易更快地学会[12]。同时Java还具有如下一些重要特征:
1.目标导向
Object有四大特征:封装,继承,多态,抽象。抽象性就是忽视问题中的小的,而把注意力集中在主干上。多态是对同一信息作出的不同回应。继承是在不更改原始父类的情况下,在原有的父类中添加自己独特的方式。
2.与平台相关
Java是通过虚拟机器直接进行的字节代码。Java程序可以在任意的环境下使用 Java虚拟机。
3.保障和安全
Java所有的存取都是由物件的执行个体变数执行,以防止在指标中发生的任何差错。
4.多线程
Java通过使用程序可以在同一时刻完成多个任务。
3.3 功能需求分析
长者食堂管理系统在功能上分为两端:用户端以及管理员端。用户端要满足的的功能需求要包含:所有菜品信息的查询,菜品的成果展示,用户个人的菜品订单信息。管理员端要满足的的功能要包含:管理员的个人中心管理,用户信息的统一管理,用户注册、微信授权登入、资讯功能、上传功能、菜品食物管理、原材料管理、社区老年人管理、订单管理。系统的顶层数据流图如图 3-1 所示。
图 3-1 系统的顶层数据流图
4 系统设计
4.1 功能模块设计
长者食堂管理系统的功能模块分为两个部分,分别为前台和后台。前台主要是用户用户使用,分为首页、分类、订单、我的。后台为管理员使用,可以对前端的微信小程序进行管理以及后台数据的处理。包含菜品管理、食材管理、备餐计划、活动管理、订单管理、用户管理、系统管理。
图 4-1 功能结构图
5.2 前台功能
5.2.1首页功能模块的实现
功能描述:本系统用户可以通过这个前端微信小程序页面进行查看首页信息,也可以根据这个页面进行相应的操作,已连接到其他不同的地址。单击进入系统,就能进入这一页当用户打开系统,第一个见到的便是界面。在这里,我们可以查看系统的导航条和话题的介绍等。系统首页界面如图5-1所示:
图5-1 系统首页界面
5.2.3 我的余额模块的实现
在我的界面,点击我的余额,可以查看我的余额,效果界面图如下图5-3所示。
图5-3 我的余额界面
5.3.3菜品管理
在菜品管理界面中首先需要使用script标签引入样式供标签进行调用。查看会员信息依赖于form标签显示会员的信息,在form标签中需要定义好CSS样式才能够让表格正常显示在界面当中,实现页面见图5-5。流程图如图5-6。
图5-5 菜品管理界面
6.3.3 菜单信息管理测试
菜单信息管理测试主要是针对菜单信息管理的测试,测试内容信息输入是否能够添加,是否能修改菜单信息信息,是否能修改以及删除菜单信息信息。菜单信息管理用例测试表如表 6-3 所示。
表 6-3 菜单信息管理用例测试表
模块测试 | 测试内容 | 预期结果 | 实际结果 | 是否通过 |
菜单信息 | 管理员想要添 | 如果输入的信息 | 输入的信息合 | 通过 |
管理的添加 | 加菜单信息的信息 | 合法并且跟数据库记 | 法并且跟数据库记 | |
输入菜单信息必填 | 录不相冲突,则能够 | 录不相冲突,则能够 | ||
的信息 | 添加初稿 | 添加初稿 | ||
菜单信息 | 管理员想要修 | 如果在输入框中 | 输入框中输入 | 通过 |
管理的修改 | 改菜单信息的信息 | 输入修改的信息不合 | 修改的信息不合法 | |
点击修改按钮 | 法或输入的信息跟数 | 或输入的信息跟数 | ||
据库记录相冲突,则 | 据库记录相冲突,则 | |||
不能够成功修改 | 不能够成功修改 | |||
菜单信息 | 管理员想要删 | 如果想要删除的 | 删除的成果展 | 通过 |
管理的删除 | 除菜单信息的信息 | 菜单信息记录跟其它 | 示记录跟其它表有 | |
点击删除按钮 | 表没有关联,那么则 | 没关联,那么能够成 | ||
能够成功删除 | 功删除 | |||
菜单信息 | 管理员想要搜 | 如果在输入框中 | 在输入框中输 | 通过 |
管理的搜索 | 索菜单信息的信息 | 输入的菜单信息名称 | 入的菜单信息名称 | |
在输入框中输入成 | 与数据库记录相符则 | 与数据库记录相符 | ||
果展示名称搜索 | 能够查找得出 | 能够查找得出 |
图6-1 菜单管理测试图
目 录