APP下载

基于个人动态优化算法的墓行记平台的设计和实现

2018-01-19纪恒慈李强林芷涵何丽珊

科技创新与应用 2018年1期

纪恒慈+李强+林芷涵+何丽珊

摘 要:在中国传统文化的传承下,特别是广东等岭南地区,每到清明时节回乡祭祖扫墓出现一路难行的新状况,为了解决祭祖需求和出行交通困难的矛盾,文章提出设计和实现墓行记APP,提供客户发布祭祖扫墓的代理需求,服务人员接单服务等核心功能,同时提供辅助的商品购买功能,解决在清明时节段行路难的问题。

关键词:墓行;接单服务;个人动态优化

中图分类号:TP311.56 文献标志码:A 文章编号:2095-2945(2018)01-0044-02

Abstract: Influenced by the inheritance of traditional Chinese culture, many places, especially Guangdong and other Lingnan areas, have the situation that every time when the Tomb-sweeping Festival comes, traffic becomes hard for people who are to visit their ancestral tombs. In order to solve the contradiction between the demand for ancestor worship and the difficult transportation, the paper puts forward the design and implementation of the tomb line record APP, providing the customer with the proxy demand of ancestral tomb visit and service people receive orders and other core functions, while providing auxiliary commodity purchase function to solve the problem of difficult travel during the Tomb-sweeping Festival.

Keywords: tomb journey; receiving order service; personal dynamic optimization

引言

墓行是一款为解决清明时节人们尽孝祭祖会出现的诸多问题而研发的系统,它的主要功能是雇人来帮忙扫墓,同时还开发特色模块,包括预约扫墓祭祀用品打包送货上门,下单付款,科普与扫墓相关的传统文化并提示当地风俗的宜忌事物,对被雇佣者进行服务后评价,记录亲人逝世日期。本文设计与实现的墓行系统采用Android开发模式,采用Android编程技术,后台选用SQLite得以实现。

1 系统的总体设计

系统以SQLite作为后台数据库,后台主要采用html动态网页进行开发,配合MCV框架,确保网页的稳定性。前台则采用 Android编程开发,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现, 数据库的访问通过ODBC(开放数据库)访问,用sql实现,用户间将采用视图的模式,确保数据的安全性和完整性。

1.1 工作流程与功能模块

在墓行系统中,墓行记的工作流程分为:(1)雇主发布需求;(2)雇员接单;(3)雇员确认服务完成;(4)雇主评价四个阶段;购物商城的工作流程分为:(1)管理员上架商

品;(2)用户下单;(3)商品發货;(4)用户确认收货;(5)商品评价五个阶段。

墓行系统实现雇人来帮忙扫墓,预约扫墓祭祀用品打包送货上门,下单付款,对被雇佣者进行服务后评价,记录亲人逝世日期等多项功能。

该系统既能解决清明时节人们尽孝祭祖会出现的诸多问题,又能缓解节假日交通问题,这样既能让子女尽孝道,又能弘扬传统文化。

系统中主要设置了五个模块,分别为:登录模块、发布需求模块、帮忙扫墓模块、购物商城模块、个人动态模块,每个模块又具有各项多种功能。管理系统结构图如图1所示。

根据基本工作流程和各功能模块,该系统的用户分类和权限设置以以下三个角色进行区分,包括:系统管理员、雇主、服务人员这三类。具体的权限控制请见下文中的1.3。

1.2 数据库的设计

本系统在设计过程中,尽量考虑到各个模块中的相似之处,减少表格数量,提高表格的关联程度,以及减少数据库中数据的冗余。根据数据的流程和功能需求,数据库主要包含以下工作表:

(1)用户表:存放用户的基本信息,数据项包括用户账号、用户昵称、姓名、身份证号、联系电话、登录密码、电子邮箱,家庭住址。

(2)订单表:存放雇主发布的扫墓信息,数据项包括服务流水号、雇主账号、墓地地址、起始时间、终止时间、需求、金额、备注。

(3)墓行信息表:存放墓行的所有信息,数据项包括服务流水号、雇主账号、雇员账号、墓地地址、起始时间、终止时间、需求、金额、备注、完成度、评价。

(4)商品类型表:存放商品的类型,数据项包括类型编号、类型名称。

(5)商品信息表:存放商品信息,数据项包括商品编号、商品名称、类型编号、商品单价、库存量、最高库存量、最低库存量、商品备注。

(6)商品订单主表:存放商品订单,数据项包括订单编号、用户账号、销售日期、总金额、订单状态。

(7)商品订单明细表:存放商品订单的明细,数据项包括订单编号、商品编号、销售单价、销售数量、备注。

1.3 数据库访问控制的实现endprint

為了实现用户权限管理控制等安全问题,根据业务的需求,本系统通过两种方式来进行权限控制:

首先通过用户角色和模块权限功能的对应关系来控制,设计了以下7个相关的表格。

(1)账户表:账号名、密码;(2)角色信息表:角色名、用途说明;(3)用户所属角色关系:角色名、账号名;(4)基本表:基本表名、基本表说明;(5)子功能模块表:子功能代码、功能说明;(6)功能模块访问权限表:子功能代码、角色名;(7)操作访问权限表:操作权限、角色名、基本表名、权限说明。

其次通过保护SQLite数据库来提高整个系统的安全性。在个人动态接单的管理中,用户可以查看自己个人信息,但是不能查看和更改其他用户一些相关信息。除此之外,攻击者可能会利用操作系统、数据库漏洞、或者物理接触计算机来直接接触数据库系统文件,从而绕过前面的用户登录身份认证和存取控制从而窃取或篡改数据库内容。所以我们采用对数据库文件进行加密的方法来保护数据目前已有的SQLite加密基本都是通过对数据库文件进行加密这种方式来实现的,因此我们采用这种方式来加强对数据的保护。目前流行的开源SQLite加密工具SQLCipher,微信也在使用。用户通过编辑器看不到任何有用的数据,用户使用sqlite browser软件也无法打开文件查看数据,保证了数据安全。

2 系统的主要功能实现

系统通过Android开发实现墓行管理和购物管理等模块,采用浏览器、app和数据库的三层结构,当用户通过app登陆界面登录时,向服务器发出请求,服务器访问用户的指令后开始执行程序,根据请求从数据库中取出相应的数据,并将数据以一定格式返回到相应的界面。

2.1 墓行记的实现

每个用户通过输入账号和密码,选择角色登录到主页,点击墓行记模块,如果以雇主的身份登录,系统将会跳出扫墓信息表格给雇主填写,提交后可以在个人动态即墓行记首页看到自己提交的扫墓信息表。如果以雇员的身份登录,系统会跳转到墓行信息的页面,供雇员选择想要帮助的订单。对于权限控制,雇主可以填写扫墓表格,但是不能进行接单,雇员反之。

2.2 个人动态的实现

当用户通过账号和密码登录时,在个人动态的模块就可以看到自己曾经发过的单和接过的单,在订单模块处,会记录用户最新提交的扫墓信息表的数据,以及是否有人来接单,如果有人接单,用户可以选择是否允许接单,如果用户拒绝接单,这个单将会重新挂到墓行记首页等待下一个人来接单,如果允许接单,这个墓行信息就会显示在付款记录里面,待完成后雇主点击付款即可,付款完成后会跳转到评价页面进行评价。在接单记录模块,可以看到自己接过的订单,点击完成后,在工作记录,就可以看到客户对自己的评价。

假定允许接单处,一个雇员要考虑接单数和信用度等问题,则采用调度算法,假定将信用度和接单数作为优先级,则假定信用度为p(1<=p<=5),接单数为x,假定接单的每次得分是pi,及每个人的信用度 ,信用度越高,优先级越高,接到单的可能性越大。此外,考虑到时间因子的存在,在工作记录等板块,我们将时间作为优先级,时间越早,则优先级越大,按照优先级的高低顺序进行排列。

2.3 购物模块的实现

用户进入购物商城,点击想要购买的东西,选择购买的数量,填写收货地址,提交订单,等待卖家发货,用户确认收货后进行商品评价。

3 结束语

该系统结合Android开发技术和MVC模式,实现了墓行阶段从商品购物、请人扫墓、帮忙扫墓等方面的服务的一个系统平台。根据目前的管理思路主要存在的问题以及下一步需要改进的:(1)实现商品后台的财务报表分析功

能;(2)实现科普与扫墓相关的传统文化宣传的版块。

参考文献:

[1]赵静.Android系统架构及应用程序开发研究[J].自动化与仪器仪表,2017(1):86-87.

[2]陶慧.软件工程及J2EE体系统架构研究与分析[J].卷宗,2017(13).

[3]杨雅志,杨开洪.母婴乐园APP设计与实现[J].科技创新与应用,2017(29):112-113.endprint