【基于Android的勤业外勤管理APP的设计与实现12000字(论文)】_第1页
【基于Android的勤业外勤管理APP的设计与实现12000字(论文)】_第2页
【基于Android的勤业外勤管理APP的设计与实现12000字(论文)】_第3页
【基于Android的勤业外勤管理APP的设计与实现12000字(论文)】_第4页
【基于Android的勤业外勤管理APP的设计与实现12000字(论文)】_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[14],SQLite数据库主要用于android客户端存储数据,MySQL数据库主要用于服务器端存储数据,且给出了各功能模块实现的具体程序流程图。4.1概要设计本系统分为两部分包括客户端的功能模块和服务端管理员的各个功能模块。框架图如4.1所示。图4.1外勤管理App主体框架图图4.2客户端子系统详细框架图客户端子系统主要包括的功能如上图4.2所示,此客户端子系统详细框架图展示了客户端子系统所包含的各个主要功能模块和这些主要功能模块下所需要实现的子模块。图4.3管理员详细功能框架图服务器端子系统详细功能框架图主要展示了服务器端子系统各个功能模块所包含的子功能模块,主要实现各个子功能模块的添加、删除、修改、查看的功能,如上图4.3所示。4.2数据库设计数据库设计主要包含两种即SQLite数据库和MySQL数据库,SQLite数据库主要用于android客户端存储数据,MySQL数据库主要用于服务器端存储数据使用MySQL数据库存储,共有八张表,其详细的表结构如下。4.2.1SQLyog数据库存储表设计(1)考勤主表考勤主表主要包含用户id、签到日期、是否签到、签到时间、签到地点、签到照片、签退时间、签退结果、签退地点、签退照片等字段。通过员工签到的实时位置来查看员工是否在职工作,更好的帮助管理者查看员工出勤状态。表4.1考勤主表字段名称数据类别数据长度相关说明约束条件attence_idvarchar50主键主键,非空user_idvarchar50用户id非空attence_datavarchar50日期非空attence_timevarchar50时间非空attence_statusvarchar50类型非空attence_resultvarchar50结果非空attence_placevarchar100地点非空(2)业务上报表业务上报表包括业务上报的日期、上报时间、任务的内容、类型、上报的d地点、照片及订单额等字段。管理员通过查看上报任务类型、内容、订单额来管理员工业务。表4.2业务上报表字段名称数据类别数据长度相关说明约束条件br_idvarchar50主键主键,非空user_idvarchar50用户id非空br_datavarchar50日期非空br_timevarchar50时间非空br_namevarchar100主题非空br_contentvarchar100内容非空br_statusvarchar50类型非空br_placevarchar100地点非空br_photovarchar100照片非空br_moneyvarchar100订单额非空(3)跟单表此表包含跟单日期时间、单子的主题及主要内容、类型、跟单地点、跟单照片、订单额度、客户id等字段。管理员可通过用户实时上传的定位图片来查看员工跟单状态。表4.3跟单表字段名称数据类别数据长度相关说明约束条件bl_idvarchar50主键主键,非空user_idvarchar50用户id非空bl_datavarchar50日期非空bl_timevarchar50时间非空bl_namevarchar100主题非空bl_contentvarchar100内容非空bl_statusvarchar50类型非空bl_placevarchar100地点非空bl_photovarchar100照片非空bl_moneyvarchar100订单额非空(4)客户表客户表主要包含客户姓名、电话、公司名称、位置、性别、婚姻状态、手机号码、生日及生日提醒、爱好、客户类型、客户职位等字段。通过此表来储存客户信息方便用户和管理员查看。表4.4客户表字段名称数据类别数据长度相关说明约束条件customer_idvarchar50主键主键,非空user_idvarchar50用户id非空customer_completevarchar50状态非空customer_namevarchar50客户姓名非空customer_phonevarchar50电话非空customer_companyvarchar50公司非空customer_addressvarchar100位置非空customer_sexvarchar50性别非空customer_marryvarchar50婚姻状态非空customer_allmoneyvarchar50累计金额非空customer_mobilevarchar50手机非空customer_birthdayvarchar50生日非空customer_birvarchar50生日提醒非空customer_birdatevarchar50提前天数非空customer_likevarchar100爱好非空customer_statusvarchar50客户类型非空customer_jobvarchar50职位非空(5)工作计划表这个表主要包括用户id、工作计划主题、类型、建立计划的时间以及计划的开始日期和结束日期。通过此表用户可以储存自己的工作计划,管理员可以查看用户的工作计划。表4.5工作计划表字段名称数据类别数据长度相关说明约束条件jp_idvarchar50主键主键,非空user_idvarchar50用户id非空jp_datavarchar50记录日期非空jp_timevarchar50时间非空jp_time1varchar50开始日期非空jp_time2varchar50结束日期非空jp_titlevarchar50主题非空jp_remarkvarchar100描述非空(6)损耗表损耗表包括用户id、任务主题、损耗费用、损耗类型、结束状态等字段。用户通过此表存储有损耗的业务信息,管理员通过此表查看损耗情况。表4.6损耗表字段名称数据类别数据长度相关说明约束条件loss_idvarchar50主键主键,非空user_idvarchar50用户id非空loss_namevarchar100主题非空loss_moneyvarchar50费用非空loss_statusvarchar50类型非空loss_endvarchar50结束状态非空(7)消息表消息表主要包含用户id、标题、消息的内容、发布消息的时间、阅读量等字段。用户登录app后可查看公司发布的消息通知,管理员通过此表存储发布消息。表4.7消息表字段名称数据类别数据长度相关说明约束条件message_idvarchar50主键主键,非空user_idvarchar50用户id非空message_namevarchar50标题非空message_contentvarchar100内容非空message_timevarchar50时间非空message_readvarchar50阅读非空(8)任务表任务表存储员工执行的任务,主要包括任务主题、任务时间、发布任务的月份、业绩指标、拜访指标、执行任务的部门、包含的人员、创建任务的时间等字段,管理员和用户登录APP后可查看任务信息。表4.8任务表字段名称数据类别数据长度相关说明约束条件task_idvarchar50主键主键,非空task_titlevarchar50主题非空task_datevarchar50任务时间非空task_monthvarchar50月份非空task_moneyvarchar50业绩指标非空task_doorvarchar50拜访指标非空task_remarkvarchar100备注非空task_partvarchar50部门非空task_personvarchar100包含人员非空user_idvarchar50用户id非空task_addtimevarchar50创建时间非空4.3详细设计4.3.1客户端设计主要包括考勤、任务上报、跟单、客户、工作计划、业务上报、损耗报表、消息、系统设置九个模块。(1)登录模块登录模块首先需要管理员在后端添加好员工的信息,接收到信息后判断是否和数据库中的信息匹配,若匹配则员工可以直接登录前端APP,登录模块的流程图如图4.3.1所示。图4.3.1登录功能流程图(2)任务上报功能任务上报模块是外勤助手APP的核心功能模块,包括“新建任务”、“任务上传”、“任务查看”等功能。其中“新建任务”可根据不同类型的任务进行上报,还可以根据任务的类型查看对应分类中的任务详情。流程图如图4.3.2所示。图4.3.2任务上报功能流程图(3)工作计划功能模块工作计划模块主要是实现员工将自己一个阶段的工作计划上传至数据库中存储并且详细信息显示在查看工作计划界面的功能。员工可以通过此功能制定一阶段的目标计划,管理员可以通过此功能查看员工的具体工作计划。工作计划模块的流程图如图4.3.3所示.图4.3.3工作计划功能流程图(4)跟单功能模块跟单模块主要所用的技术为百度地图技术,跟单模块主要是员工利用百度地图定位将正在进行的订单上传到数据库,包括订单状态、主题以及正在跟单所处的位置方便管理员查看员工工作状态。如果订单未上传成功,怎返回上传订单继续上传。跟单模块流程图如图4.3.4所示。图4.3.4跟单模块功能流程图(5)导航功能导航功能主要是基于百度地图开发版SDK来实现的,可通过此模块实现外勤人员出勤导航功能。具体流程图如图4.3.5所示。图4.3.5导航模块功能流程图4.4本章小结本章对系统进行详细分析,分析需要实现的功能模块,并且画出主要模块实现的数据流图,以便后续更容易实现系统。并且对系统所需数据库进行设计。5系统实现5.1客户端实现(1)主界面的实现打开App后,显示主界面(如图5.1),登录后,显示首页界面(如图5.2)。整个App的框架设计使用Fragment+TextView实现。顶部中间使用TextView用来显示外勤助手。APP主要包含九个功能模块及考勤、任务上报、跟单模块、客户管理模块、工作计划、业务分析、损耗报表、消息、设置。底部用TextView显示出导航和录音模块员工可以实时导航和录音。登录界面的实现:员工不能进行注册,只能通过管理员录入的员工信息进行登录(图5.1)。图5.1登录页面图5.2主页面(2)考勤功能模块的实现因为签到功能设计前端APP与后台使用java开发的服务器程序进行数据交换,所以需要定义接口进行数据传输。定义接口传输数据使用的是xUtils框架和Gson工具进行接口解析,完成前后台数据交换。“外勤助手”APP中Gson主要用于对服务器返回的数据进行解析。使用xUtils框架的HttpUtils模块实现上传签到数据,其中HttpUtils请求需要上传三个主要参数:第一个是网址(url);第二个是要上传数据的参数(params);第三个是请求的方法POST请求。Url是将数据传到服务器的接口。Params为参数的集合,可以把须上传服务器的参数全部添加到params中,一并上传。而POST请求则为一种请求形式。请求形式有两种,一种是POST请求,另一种是GET请求,两者的主要区别分别是POST请求需要上传参数,而GET请求不需要上传参数。将需要上传的数据提取出来,需要注意的是提取出来的参数要和服务器的参数一致。上传成功后,后台将返回相应信息,返回值不同代表相应结果也不同。如果返回‘t’则表示打卡成功,返回的不是‘t’表示打卡失败。日历中的日期都是在网格中实现的,“外勤助手”中的日历也采用网格的格式。通过嵌套的线性布局和相对布局的实现,日期设置在每个格子的中心位置,字体颜色设置为固定值。图5.3考勤图5.4任务上报(3)任务上报模块实现“任务上报”功能使用的是xUtils框架与Gson解析工具,与考勤签到模块上传数据的方法一致,只是使用接口的参数不同而已。在“任务上报”模块中除了查看签到记录使用Volley框架外,其他的模块从服务器获取数据均采用xUtils框架完成。“任务上报”需要给出服务器上传的用户id以及查看任务的类型。将用户id和任务类型添加到上传的参数(params)中,通过调用httpUtilsConnection(ul,params,HttpMethod.POST)方法获取服务器的数据,利用Gson将获取到的服务器数据解析并且显示出来。(4)业务分析模块在业务分析模块中,分析数据所使用的线形图与饼状图均来源于hellocharts-library.jar包。在集成此jar包后,便可在程序中绘制柱状图、线形图、饼状图等图形。本程序采用饼状图分析并且显示订单状态数据,饼状图对应的订单状态分别为拜访单、赢单、失败单、进行单。其中,拜访单为总订单量,由赢单、失败单、进行单共同组成。通过PieChartView分析后台返回的数据,绘制出与之对应的饼状图。图5.5订单分析图5.6记录损耗明细(5)客户及工作计划模块获取后台用户信息并且在界面列表中展示客户姓名、数据存储时间以及备注。并且可以新增客户的信息包括姓名、生日、电话等,并且还可以设置在客户生日前多少天提醒以方便在客户生日当天送上生日祝福。工作计划模块主要包括三个功能,及新增计划、查看计划内容和任务指标。可以添加新的计划到工作计划中,添加新计划的字段包括主题、起始时间、结束时间以计划的简单描述存储于数据库中并且显示在查看计划的页面。图5.7新增客户图5.8新增工作计划图5.9客户信息界面图5.10工作计划界面图5.11跟单界面(6)跟单、消息和设置模块跟单模块主要是看员工自己所带项目进行到订单完成还是继续跟进两种状态。可以查看正在跟进的订单和已经完成的订单包括订单主题、业务类型(单子是否成功)、订单主要内容、回访的时间和订单生成或结束的位置信息。还可以新增正在跟进的订单。消息模块主要是为了方便员工查看公司内部的重大消息,及管理员发布后显示在消息页面。设置模块主要包括退出登录功能和接收消息通知的设置,及设置是否接收公司内部消息。用户可通过退出登录功能退出外迁助手APP。图5.12消息界面图5.13设置界面(7)导航功能模块导航功能模块主要使用了百度地图技术。需要在百度地图API官网申请百度地图开发者账号,通过开发文档来获取开发百度地图所需要用到的所有jar包且下载到本地。然后通过开发文档的指引申请开发者密钥,此密钥用于我们使用百度地图开发者技术。申请密钥后在程序中适当的位置导入下载好的jar包便可以开始使用百度地图。此功能模块主要是为了方便员工出外勤时导航所需要到达的外勤公司实时位置,可跟着导航出发节省了员工的时间,提高了工作效率。图5.14导航界面图5.15录音界面5.2服务器端实现当以管理员身份登录系统后,会出现服务器端主界面,主要由四个功能模块组成,分别为组织机构管理、用户管理、角色管理及功能管理四个模块。利用SpringMVC框架连接到数据库,从数据库中拿出数据显示在界面。机构管理模块主要存储了与公司合作的组织机构的基本信息以及本公司的机构信息。可以设置要合作的公司的组织机构的基本信息,存储到数据库中。个人公司的组织机构信息可进行修改、删除、添加子部门等操作。图5.16服务器端登录界面图5.17服务器端主页面图5.18新增组织机构信息图5.19个人组织机构信息菜单管理和资源管理属于功能管理模块。菜单管理模块的主要功能是管理员可以实时添加子菜单目录和跟菜单目录,还可以对添加的菜单进行修改和删除的操作。资源里管理主要利用SpringMVC框架将资源数据存储到数据库中并且显示出来,可以进行添加新资源、对老旧的资源进行删除和修改的操作,所用到的还有分页技术,及如果我们是通过JDBC的方式访问的数据库,那么就需要根据数据库类型采取不同的SQL分页语句,对于MySQL数据库,我们可以采用了limit语句进行分页。本系统分页实现方法为

Limit后的两个参数中,参数m是起始下标,它从0开始;参数n是返回的记录数。我们需要分页的话指定这两个值即可。图5.20菜单管理界面图5.21资源管理界面用户管理和角色管理分为两个不同的功能,及用户管理是对所有的用户信息进行存储管理,并且可以通过从数据库中现实的用户信息查看用户属于哪一个部门以及是否还是在职人员。可以对不在职的用户禁用其账户,当用户职位不同时可以利用添加角色功能赋予普通用户管理员的角色,还可以修改用户登录的密码。角色管理分为用户角色和管理员角色将用户进行区分,两个模块都是用了分页技术,管理员和用户角色模块都可以进行新增、修改、删除及关联用户的操作,还可以查看他们的基本信息。图5.22用户管理界面图5.23角色管理管理员角色界面图5.24角色管理用户角色界面考勤管理模块和任务管理模块是当手机用户在客户端上传任务或者进行打卡签到时可直接上传至数据库中保存起来,而这两个模块其中考勤管理模块是管理员通过登录服务端来查看员工打卡签到的情况,包括打卡签到的时间、地点、相应的用户、是否签到、签退等;任务管理模块是管理员可查看员工上报的任务类型、上报时间、业绩指标、以及执行此任务的部门和部门所包括的人员等。界面展示如图5.25,图5.26.图5.25查看员工考勤签到界面图5.26查看员工考上报任务界面工作计划、损耗报表和业务分析管理模块主要针对管理员进行查看员工出外勤所做的工作计划,任务完成后员工对此次任务的分析以及员工所记录的报表损耗信息。这三个模块主要获取用户通过客户端上传至数据库中的信息显示于这三个界面。图5.27查看员工考上报损耗界面图5.28查看员工考上报计划界面图5.29查看员工考上报业务分析界面5.3本章小结本章实现客户端和服务器端界面,记录了详细实现过程,并且给出了实现界面截图。6系统测试本章节主要采用的是黑盒测试方法,主要从以下方面进行测试:客户端测试对客户端各个功能模块进行测试,测试结果符合预期结果。接口测试对系统所需要的各个接口进行测试,测试结果符合预期结果。服务器端测试对服务器端各个功能模块进行测试,测试结果符合预期结果。6.1运行环境处理器:Intel(R)Core(TM)i3-6006HCPU@2.00GHz,1.99GHz;内存:4GB;安卓版本:Android8.0;设计数据库:SQLite数据库,MySQL数据库;服务器:Tomcat8.0,jdk1.7,MySQLServer5.7.18;开发工具:Eclipse5.14.0,AndroidStudio5.4.1,SQLyog。6.2客户端功能测试客户端测试是对客户端模块的各个功能是否达到预期结果进行的测试。功能测试用例表如下,各个功能测试结果符合预期结果。表6.1App功能测试用例编号输入数据类型具体操作预期输出测试结果1考勤、打卡、位置信息时间打卡、记录实时位置打卡是否成功提示达到预期2客户姓名、职位等信息新增客户信息客户信息显示达到预期3跟单、获取定位信息添加跟单状态、位置显示单子状态和地址达到预期4任务上报时间、位置信息上报任务信息、位置任务显示达到预期表6.1App功能测试用例(续表)编号输入数据类型具体操作预期输出测试结果5上报任务名称查询上报任务状态显示上报任务状态达到预期6公司名称地图搜索、点击导航显示地图覆盖物信息、语音播报正常、显示导航路线达到预期6.3接口测试本次接口测试所使用到的工具是谷歌浏览器自带的开发者工具,它通过抓取数据报,查看其中的报头和内容判断数据传送是否成功。测试接口用例如下表,各个功能测试结果符合预期结果。表6.2接口测试编号名称测试方法结果1客户信息录入接口request请求测试成功2订单信息接口request请求测试成功3任务信息接口request请求测试成功4工作计划接口request请求测试成功6.4服务器端测试服务端主要用于管理员登录并且管理员工及公司信息。主要包括四个功能及菜单管理、资源管理、用户管理、组织机构管理各个功能模块的测试如表6.3所示,各个功能测试结果符合预期结果。表6.3服务器端管理测试编号功能模块子功能模块测试结果1管理菜单添加子菜单成功2查询子菜单成功3删除菜单成功4管理资源添加成功5查询成功6删除成功7管理用户查看用户信息查询成功8管理组织机构查看组织机构信息查询成功9管理考勤查看员工考勤情况查询成功10管理任务查看员工上报的任务查询成功6.5本章小结本章对系统进行了客户端、服务器端以及接口的测试,记录了测试过程和测试结果。

总结与展望本系统是一个外勤人员管理系统,力求解决外勤人员的管理难题,优化管理流程,规范化管理方式。使得管理人员更加方便快捷的实现对外勤工作人员的管理。本系统的主要功能有考勤签到、任务上报、工作计划、导航、消息、客户管理、业务分析、系统设置、跟单模块。通过本系统的各个功能模块实现管理员对外勤人员的管控。本文主要完成的工作如下:外勤管理APP研究的背景和意义。要实现此系统我们首先要从外勤管理APP的发展现状和研究背景入手了解此类系统的研究可行性。通过了解我们知道企业管理人员需要通过外勤管理APP对外勤管理人员进行相应的管理。相关理论介绍。通过此章节我们了解到了外勤管理APP所需要的基本技术有Android系统、Android百度地图技术、Json数据交换、MVC框架技术和LBS位置定位技术。对系统进行功能需求分析包括客户端和服务器端两部分。客户端主要所需功能有考勤、任务上报、工作计划、导航、消息、客户管理、业务分析、系统设置、跟单;服务器端主要所需功能有用户管理、组织机构管理、考勤管理、资源管理、任务上报管理、计划上报管理等。从概要设计出发利用框架图展示本系统的设计思路,首先是总体框架图展示了本系统分为客户端和服务器端两部分,其次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论