基于MVC 模式的便民服务系统设计与实现
——以石家庄市牛山村为例

2023-04-14 03:00钟若飞
湖北畜牧兽医 2023年1期
关键词:管理员页面商家

王 楚,陈 蜜,钟若飞

(首都师范大学资源环境与旅游学院,北京 100048)

2022年1月,中央一号文件明确指出要大力推进数字乡村建设,推进智慧农业发展,促进信息技术与农机农艺融合应用,以数字技术赋能乡村公共服务,着眼解决实际问题,拓展农业农村大数据应用场景。目前研究人员已开发出诸多农村系统,张智勇[1]通过对农村电子政务系统及其审批系统进行研究,设计并实现了一个行政审批服务系统,提高了行政审批效率。花玉萍[2]从农村商业银行信贷管理的角度,设计并实现了一个可以完成客户管理和资产管理等功能的系统。此外,众多学者还针对农村图书管理[3,4]、农业咨询[5,6]、农村土地管理[7-9]、农村电子商务[10,11]和农村留守儿童[12]等不同角度实现了相应的系统。但是大多数学者针对全国农村范围进行调研并设计系统,而真正具有地方特色的农村便民系统较少。

牛山村位于石家庄市鹿泉区,西南傍山,东接平原,属于太行山东路川口处较典型的半山区村庄,周边邻村众多。通过调研发现,在村民的日常生活和村委会事务处理过程中有很多需要改善的方面,例如村内信息传递仍然采用传统的大喇叭广播,不利于居住远、家里隔音不好或在外务工的村民及时获取村内信息;村民家中书籍、农用器具等物品闲置率较高,资源未能合理利用;在农产品等商品销售的过程中,多采用集市、实体店销售形式,亟需一种更加方便快捷的销售形式;在村内走街串巷卖东西的人群需要合理生产、销售的问题;村委会亟需高效管理村内事务等问题。因为农村的众多事务还在使用比较落后的处理方式,效率较低,而互联网的发展是改变传统处理方式的契机,这让村民拥有一个便民且具有本村特色的系统成为可能。

本研究通过分析牛山村中出现的问题,尝试从“互联网+”农村的角度,通过需求分析、系统设计、系统实现、系统测试的过程,结合SSH2(Struts 2+Spring+Hibernate)框架技术和MVC 模式来设计并实现一个综合性的区域农村便民服务系统。相对于传统的农村网站而言,牛山村便民服务系统立足于解决实际问题,突显当地特色,更贴近村民的日常生活。

1 主要技术介绍

1.1 SSH2 框架技术

SSH2 为Struts 2+Spring+Hibernate 的一个集成框架,是较流行的一种应用程序开源框架[13]。Struts 2是以WebWork 的设计思想为核心,吸收Struts 优点而形成的[14,15],在MVC 设计模式中,Struts 2 作为控制器(Controller)来建立模型与视图的数据交互,优化了MVC 开发模式,能够从整体上减轻Web 应用的负担。Spring 框架是一个分层的Java SE∕EE 一站式轻量级开源框架,主要负责业务层功能的实现,方便解耦,简化开发过程。Hibernate 框架主要负责JDBC的封装,将Java 对象与数据库表之间建立自动映射关系,支持包括SQL Server、MySQL、Oracle 在内的多种数据库,通过提供一系列数据访问接口,可以方便地使用面向对象思想对数据库进行操作。图1 是SSH2 的全整合架构。

图1 SSH2 全整合架构

1.2 MVC 模式

MVC 3 个模块各自的职能及相互关系如图2 所示。MVC 是一种通用的Web 软件设计模式,能够将应用程序的数据处理、数据展示和流程控制分开,增加程序的可扩展性、维护性、可移植性以及可重复利用等特性[16]。MVC 3 个字母分别是Model(模型)、View(视图)、Control(控制器)的缩写[17]。

图2 MVC 设计模式

此外,本系统采用Eclipse 作为主要开发工具,使用SQL Server 2008 数据库管理系统,以JAVA 作为主要开发语言,JAVAEE 作为体系架构,同时结合HTML5、CSS、Ajax 等常用的网站开发技术对系统进行设计和开发。

2 需求分析

系统的使用对象包括村民、商家、管理员。

1)村民需求。村民是指在本村长期居住或暂住的用户群体。主要需求有,查看大喇叭广播中的信息,方便及时获得村内的动态;可以管理个人发布的物品互助信息,例如书籍、农用器具等;可以预约滞销或普通的商品并下订单,一方面方便商家及时生产和进货,另一方面为滞销农产品打开网上销售渠道;查看便民电话,便于应对生活中的突发情况;对平台、村委会、其他村民等留言;对个人信息进行管理;查看国家政策、会议和知识科普类的文章;浏览村庄信息;党员可以查看党务相关信息。

2)商家需求。商家是指村民中有商品需要销售的用户群体。主要需求有,管理个人网上店铺的商品和订单,前提是需要进行商家认证。

3)管理员需求。管理员是指对系统进行管理的人员。主要需求有,管理系统中出现的各种信息,例如村民的留言信息、大喇叭中广播的信息、商家的商品信息、村民和商家个人信息、商品类型信息、文章信息、村民发布的物品互助信息、村庄信息等。

此外,为了方便网站的管理,系统所有用户需要有注册账号以及登录、退出系统的功能。

3 系统设计

3.1 系统体系结构设计

根据用户需求将牛山村便民服务系统分为2 个子系统,即前台用户系统和后台管理系统。前台用户系统主要供商家和村民使用,模块设计如图3 所示。

图3 前台用户系统主要功能模块

在前台用户系统中,村民可以在注册、登录系统后进行查看。商家可以在注册商家账号后登录前台系统,对店铺的商品和订单信息进行相应的操作。

后台管理系统只能由管理员使用,模块设计如图4 所示。管理员在登录系统之后可以对用户信息、村庄信息等进行管理和维护,根据每个模块不同的特点设置不同的功能,具体如表1 所示。

表1 后台管理系统模块功能说明

图4 后台管理系统主要功能模块

3.2 系统数据库设计

数据库设计采用了概念结构设计、逻辑结构设计和数据库表设计方法,并使用数据库管理系统SQL Server2008 实现表的创建与管理。概念模型设计是将得到的牛山村村民的需求抽象为信息结构,并使用E-R 图来描述。逻辑结构设计是将E-R 图转换为相应的关系模型。数据库表设计则是根据关系模型将具体的表在SQL Server2008中设计并实现。

通过数据库设计最终得到了10 张表,分别为前台用户表、管理员表、大喇叭信息表、村庄信息表、留言表、订单表,商品表、商品类型表、文章表、互助表。系统的E-R 模型如图5 所示。

图5 牛山村便民服务系统E-R 模型

4 系统实现

经过需求分析和系统设计后,基于MVC 模式和SSH2 框架对系统进行代码实现。当用户在页面触发相应的按钮后,系统的Struts 2 核心控制器就会接收到请求并将其转发给相应的Action 来处理,Action会调用相应的Service 层,Service 层调用相应的Dao层来操作SQL Server2008 数据库管理系统中相应的表,之后再依次返回结果。代码调用的流程如图6所示。

图6 代码调用流程

本研究选择前台用户系统的村庄互助模块、商家商品管理模块,以后台管理系统的文章管理模块为代表来详细叙述各个功能的实现过程及页面展示。

4.1 系统前台村庄互助模块实现

为了实现系统前台村庄互助模块的功能,需要利用Spring 框架的IOC 容器进行类间依赖关系的管理。在applicationContext.xml 中进行配置的部分代码如下。

村民在村庄互助馆可以进行书籍、农用器具等分享互助,可以上传互助物品以及对分享的用户进行留言。如图7 所示,村庄互助馆页面可以通过点击“书籍互助”“农用器具互助”“其他”等按钮来切换不同的互助页面,也可以点击“我要上传”按钮切换到上传互助物品信息页面。在不同互助类型页面的左侧框展示各自类型的介绍,右侧的每种互助物品都有对应的图片、互助时间、简介和目前状态。目前状态有“已借走”和“可分享”2 种形式。通过点击互助的物品展示框可以跳转到用户留言处。

图7 村庄互助馆首页

如图8 所示,在用户留言处可以通过给分享者留言获得物品的临时使用权。

图8 村庄互助馆留言页面

4.2 后台文章管理模块功能实现

文章管理功能对应ArticalService 部分代码如下所示。

如图9 所示,在文章管理主页面可以进行文章查看、查询、添加、删除、修改等操作。在上侧搜索栏输入类型关键字可以进行同种类型文章查询,查询结果按照时间顺序排列。点击“如果需要添加文章,请单击此处!”可以跳转到文章添加页面进行文章信息添加。在相应的文章后点击“修改”,就可以进入修改页面进行修改,也可以点击“删除”和“批量删除”对文章信息进行删除操作。

图9 文章管理页面

如图10 所示的添加文章页面,通过输入文章主题、内容和类别即可发表文章。文章类型设置3 种,即会议、政策和知识科普,分别对应系统前台的会议纪要、政策简读和知识科普内容板块。

图10 添加文章页面

如图11 所示,在删除或批量删除文章时,系统会提示用户“你确定删除这些文章吗”,点击“确定”按钮即可删除。

图11 删除文章提示页面

4.3 商家商品管理

商家可以在商品管理主页面对商品和订单进行管理。以商品管理为例,商家可以进行自家商品的查看、查询、添加、删除、修改等操作,如图12 所示。通过点击“修改”可以跳转到商品信息修改页面,如图13 所示,商家可以对商品类型、商品名字、商品价格、商品数量、商品照片进行修改,商品号、商家地址和商家电话为不可修改项。

图12 商家商品管理页面

图13 商家商品修改页面

商品管理功能的CommodityDao继承了BaseDao,在BaseDao 中使用了SessionFactory 来初始化Hibernate,充当数据存储源的代理,并负责创建Session 对象。BaseDao 部分代码如下所示。

5 系统测试

根据系统中各个模块的特点采用了不同的测试方法。以管理员登录等价类测试和管理员大喇叭管理功能测试为例,介绍系统测试过程。

5.1 管理员登录等价类测试

1)输入数据要求。管理员需要输入用户名和密码进行登录。 用户名要求为3~12 位,只能包含数字和字母。密码要求为6~12 位的任何字符。

2)等价类划分。管理员登录等价类划分见表2。

表2 管理员登录等价类划分

该等价类的测试用例如表3 所示。

表3 管理员登录等价类测试用例

5.2 管理员大喇叭管理功能测试

在大喇叭管理模块有查看、添加、删除、查询大喇叭广播信息的功能。此模块功能测试的内容如表4所示,测试操作如表5 所示。

表4 管理员大喇叭管理功能测试内容

表5 管理员大喇叭管理功能测试操作

系统还从功能、性能和兼容性等角度进行了多次反复的测试。结果表明,牛山村便民服务系统功能较为完善,性能良好且浏览器兼容性较好,基本满足了牛山村便民服务系统的设计要求。

6 小结

本研究通过分析牛山村村民日常生活中出现的诸多问题,设计并开发了一个农村区域便民服务系统。系统基于MVC 模式和SSH2 框架技术实现了包括大喇叭广播、滞销帮扶和物品互助在内的诸多功能,方便村民及时掌握村中动态,增加日常商品销售的收益,提高物品利用率,增进邻里感情。该系统也为其他乡村提供了“互联网+农村”的新思路,助力乡村振兴,对未来农村区域便民服务系统的发展具有一定的实际应用价值。系统界面简洁,维护方便,具有较好的可用性。

本系统虽然满足了村民的一些功能需求,但是还有很多需要改进的地方。比如村民需求尚需要深入挖掘;一些功能模块有待设计与开发,如村委会内部事务管理、数据分析模块等;已经开发出的功能模块还需要进一步丰富完善,如在大喇叭广播和留言后能够及时推送提醒消息等。此外,该系统能否进一步做到模块灵活选择,以便适应不同农村区域的现实需求也是一个值得探索的问题。

猜你喜欢
管理员页面商家
刷新生活的页面
中国人不骗中国人
我是小小午餐管理员
我是图书管理员
我是图书管理员
商家出售假冒商品,消费者获十倍赔偿
可疑的管理员
春节黄金周陕西省商家揽金二百一十亿元
易淘食进驻百度钱包中小商家盼低费率
网站结构在SEO中的研究与应用