APP下载

校园失物招领APP的设计与开发

2020-02-02康耀龙张景安冯丽露

电子技术与软件工程 2020年17期
关键词:失物失物招领功能模块

康耀龙 张景安 冯丽露

(1.山西大同大学计算机与网络工程学院 山西省大同市 037009 2.山西大同大学网络信息中心 山西省大同市 037009)

(3.山西大同大学教育科学与技术学院 山西省大同市 037009)

1 引言

高校校园人口密集,经常会有同学和教师遗失课本、钥匙、准考证、U 盘、雨伞以及钱包等物品的现象。失主丢失了物品往往苦于难寻,寻找的方式虽有多种,有的借助朋友圈,有的在校园广播站进行广播,有的校园里也有规范的失物招领处,但物品想要及时归还给失主还是多有不便。随着移动网络的发展,APP 的应用越来越广泛[1,2],校园失物招领APP 简化了失物招领信息的发布和浏览,提高了失物的找回率,提升了校园生活的便捷性。

2 系统分析

教师和学生在校园里丢失物品,首先要有发布功能模块,其次,他们可以通过浏览页面找寻信息,就需要浏览功能模块,如果要浏览指定的信息,这里就要有搜索功能模块,如果想进行评论,就要有评论功能模块。还有就是基本功能模块,这里有注册、登录、注销、密码的修改等。失物招领系统使用者一类是管理员,一类是用户,用户包括教师和学生。

本系统采用的是Django 框架,Django 是一个开放源代码的应用框架,由Python 写成[3]。Django 框架包含了开发中的一些组件,这样使用这个框架进行开发的话,我们就可以把时间多放在我们的逻辑上面。例如,登录时候的验证、URL 的分发、模板系统、对象关系映射(ORM)和数据库迁移等功能都已包含在Django 框架中。Django 使用的是MTV 模式架构。Django 框架模式如图1所示。

3 系统详细设计

3.1 系统总体架构设计

该系统是基于B/S 架构,分为三层,分别是前端、后端、数据库。前端包括Html、CSS 等,后端是使用python 语言和Django 框架进行相关逻辑功能的实现。数据库是采用了MySQL 数据库,使用ORM 进行数据的更新和查找。经过前期需求分析,确定该APP主要有9 个功能模块,分别为注册模块、登录模块、失物招领信息浏览、失物招领信息筛选、寻物信息发布、招领信息发布、失物信息的评论、用户注销和密码修改、信息的审核。

3.2 系统数据库的设计

该系统采用关系型数据库管理系统MySQL[4],其体积小、速度快、总体拥有成本低[5],本系统中的表有用户表、寻物表、招领表、评论表、地点表、物品类型表。该系统的数据表如表1所示。

用户表(UserProfile):用户和管理员共用的一个表,用来存储基本信息。其中主键为id 唯一标识一条记录、password 存储的是经过加密处理后的密码、Is_staff 用于判断该用户是否可以登录到后台。

图1:Django 框架模式

寻物表(Seek):用来存储发布的寻物信息。title 字段用于显示主要的信息和模糊查询、pub_time 用于对寻物信息进行排序、lost_time 用于精确查询的条件进行筛选、status 用于管理员的审核。

评论表(Comments):用来记录用户在某一寻物信息下的评论,author 记录的是用户名、content 记录的是用户发表的评论内容、comment_msg_id 记录的是在某一条寻物信息下发表的评论。

4 系统实现

4.1 平台架构

该系统是基于B/S 架构,分为三层,分别是前端、后端、数据库。前端包括Html、CSS 等,后端是使用Python 语言和Django 框架进行相关逻辑功能的实现。数据库是采用了MySQL 数据库,使用ORM 进行数据的更新和查找。其中数据库在setting.py 中进行配置;wsgi.py 是一个基于WSGI 的服务站点;urls.py 是负责把URL映射到应用程序;名字为SWZL 的App 负责后台功能的实现。

4.2 注册登录功能

注册页面的入口是在登录页面中,注册模块中的form 表单样式是使用了框架中的样式。用户需要填写用户名、密码、确认密码、学号、名字信息,然后进行注册。

表1:数据表

用户如果登录成功后在对应的views 视图函数中调用Django框架自带的认证系统把用户登录的信息在后端生成相关的session数据。之后会返回到首页页面,由模板渲染显示。

用户名和密码的匹配使用了auth 组件,核心代码如下:

4.3 失物招领模块

失物招领模块分为失物招领信息的浏览和失物招领信息的筛选。失物招领信息的浏览和筛选不需要用户进行登录,用户以浏览的方式可以查看网站上的失物信息,失物招领信息的筛选用来帮助用户进行多余信息的快速过滤,帮助用户找到自己需要的失物信息,缩短了用户在查找信息过程中的时间,提高了查找效率。

views 视图核心代码如下:

4.4 寻物信息模块

寻物信息模块用于用户进行发布寻物信息,只有用户登陆了才能进行发布,否则会跳到登录界面要求登录。用户点击发布寻物信息,会跳转至一个表单页面,通过填写表单进行信息发布。用户发布成功后信息处于非审核状态,需要管理员进行审核才能被用户浏览到。另外,还设计了寻物信息的评论功能,评论可以帮助发布者了解到丢失物品的信息,提高了找失物的效率,有利于信息的快速散布,大大提高找到失物的几率。页面有评论输入框来支持用户的输入,然后进行发布。

4.5 审核信息模块的设计

用户发布了失物招领信息,发布成功后,并不能立即在浏览页面看到这条信息,需要管理员进行审核。管理员登录后台对未审核的信息进行查看,把它们的状态改为已审核,则用户才能查看到发布的信息。

5 总结

本系统使用的Django 开发框架模式,通过MySQL 数据库管理后台数据信息。失物招领APP 围绕五个方面,设计并实现了用户注册、用户登录、失物招领信息浏览、失物招领信息筛选、寻物信息发布、招领信息发布、失物信息评论、用户的注销和密码的修改、后台信息的审核9 个具体功能。为校园用户提供了一个操作简便、浏览快捷的移动式“失物招领处”,该APP 的开发为全方位提升校园科技服务提供了更多技术借鉴。

猜你喜欢

失物失物招领功能模块
失物招领处
不要随便怀疑别人
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
M市石油装备公服平台网站主要功能模块设计与实现
功能模块的设计与应用研究