1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,/10,项目实战,APP,信息管理平台,线上线下,平台预习,2,/79,训练的技能点,使用Git进行项目代码的版本管理,使用Bootstrap前端框架,实现响应式设计,使用SSM框架开发程序功能,使用三层架构组织程序代码,3,/,79,需求分析,2-1,APP,信息管理平台,企业级的,CMS,系统,针对,Android,应用市场,,,开发的后台管理平台,主要,进行,APP,应用的维护管理工作,系统角色,APP,开发者平台,B2C,的管理平台,也是一个开放平台,允许,开发者入驻进,行,自行操作,如:上传,A
2、PP,及,版本,发布和,维护等,后台管理系统,负责后台数据的维护和管理,如:,APP,审核、开发者账号的审核等,超级,管理员,开发者,4,/,79,需求分析,2-2,系统功能框图,演示:,APP,信息管理平台,5,/,79,用例图,2-1,APP,开发者平台用例图,演示:,APP,开发者平台,6,/,79,用例图,2-2,后台管理系统,用例图,演示:后台管理系统,7,/,79,APP,开发者平台活动图,8-1,新增,APP,基础信息,演示:新增,APP,基础信息,8,/,79,APP,开发者平台活动图,8-2,修改,APP,基础信息,演示:修改,APP,基础信息,9,/,79,APP,开发者平
3、台活动图,8-3,新增,APP,版本信息,演示:新增,APP,版本信息,10,/,79,APP,开发者平台活动图,8-4,修改,APP,版本信息,演示:修改,APP,版本信息,11,/,79,APP,开发者平台活动图,8-5,查看,APP,信息,演示:查看,APP,信息,12,/,79,APP,开发者平台活动图,8-6,删除,APP,信息,演示:删除,APP,信息,13,/,79,APP,开发者平台活动图,8-7,APP,上架,演示:,APP,上架,14,/,79,APP,开发者平台活动图,8-8,APP,下架,演示:,APP,下架,15,/,79,后台管理系统活动图,APP,审核,演示:,A
4、PP,审核,16,/,79,架构设计,系统架构(,SSM,),MyBatis,Spring,Spring MVC,前端框架,-,Bootstrap,版本管理,Git,17,/,79,数据库设计,2-1,数据库表结构,在实际的项目开发中,不会通过建立外键的方式实现表关联,一般都是通过逻辑外键进行逻辑关联来描述表与表之间的关联关系,!,注意,18,/,79,数据库设计,2-2,数据字典,APP,状态,1,待审核,2,审核通过,3,审核未通过,4,已上架,5,已下架,所属平台,1,手机,2,平板,3,通用,版本的发布状态,1,不发布,2,已发布,3,预发布,19,/,79,问题分析,1,:整体开发思
5、路,系统开发步骤,需求分析,总体设计,系统架构设计,数据库设计,功能模块设计,明确,编码规范,搭建环境,开发环境准备,创建,Web Project,,,集成框架,版本控制工具(,Git,),编码,测试,上线,试运行,20,/,79,问题分析,2,:界面交互设计,界面交互设计的原则,统一性原则,界面风格统一,用相同方式展现相同类型的数据,如:日期类型,交互风格统一,用相同方式完成相同类型的操作,如:录入日期,美观性原则,界面简洁、大方,易用性原则,操作方式自然、易理解,由于我们使用,Bootstrap,前端框架来实现系统界面开发,故其,免费主题模板:,gentelella-master,完全可以
6、满足以上原则需求,21,/,79,问题分析,3,:技术分析,技术实现中需要考虑的问题,如何分层,每层的职责,?,需要设计工具类有哪些,?,鉴于系统安全性的考虑,,是否需要自定义拦截器的设计,,以实现对于当前用户身份的相关验证,?,如何分页、报错(处理异常)、管理事务、,严格遵守编码规范,在实际项目中如何灵活应用,Bootstrap,框架?,APP,所属分类,(,共三级分类,),,在操作时如何进行,联动,显示?,所属分类,描述,一级分类,动态获取下拉列表,列表数据来源于分类表,二级分类,动态获取下拉列表,列表数据来源于分类表,二级分类列表将根据用户选择的一级分类进行联动查询显示,三级分类,动态获
7、取下拉列表,列表数据来源于分类表,,三,级分类列表将根据用户选择的,二,级分类进行联动查询显示,22,/,79,难点分析,1,:理解业务,数据隔离,APP,开发者平台,-,APP信息列表,后台管理系统,-APP,信息列表,待审核状态,操作:审核,APP,状态,操作,待审核、审核未通过,新增版本、修改版本,(已有版本),、修改、删除、查看,审核通过、已下架,新增版本,、修改版本、修改、,删除,、,查看,、,上架,审核通过、已上架,新增版本,、修改版本、修改、,删除,、,查看,、,下,架,演示:,APP,信息列表,APP,数据,的,5,种状态,1,待审核,2,审核通过,3,审核未通过,4,已上架,
8、5,已下架,23,/,79,开发计划,2-1,项目准备:搭建系统框架,50,分钟,APP,开发者平台,用例,1,:,登录、注销,50,分钟,用例,2,:,根据条件查询APP信息列表,200,分钟,用例,3,:,新增APP基础信息,100,分钟,用例,4,:,修改APP基础信息,100,分钟,用例,5,:,新增,APP,版本信息,200,分钟,用例,6,:,修改,APP,最新版本信息,100,分钟,用例,7,:查看,APP,信息,50,分钟,用例8:删除APP,50,分钟,用例,9,:,APP,上,/,下架操作,50,分钟,24,/,79,开发计划,2-2,后台管理系统,用例,1,:,登录、注销
9、30,分钟,用例,2,:,根据条件查询待审核,APP,信息列表,50,分钟,用例,3,:,审核,APP,操作,50,分钟,25,/,79,项目准备:搭建系统框架,需求说明,新建,Web Project,,搭建,SSM,框架,AppInfoSystem,结构,要求:框架搭建并测试,完成,之后,,,push,代码到,Git,服务器上,完成时间:,50,分钟,26,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,27,/,79,用例,1,:登录、注销,2-1,需求说明,进入系统首页后,选择入口:,开发者平台,输入用户名和密码进行登录操作,若输入错误,进行相
10、应的信息提示,点击,Log Out,或者界面左下方的,退出图标进行注销操作,返回,系统登录页,完成时间:,50,分钟,28,/,79,用例,1,:登录、注销,2-2,输入数据库,dev_user,中的数据是否正确登录,输入空值是否提示重新输入用户名,输入非空的错误数据是否出现错误提示并继续输入用户名,登录成功进入系统后,测试注销功能,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,演示案例:登录注销功能(,APP,开发者平台),功能测试,29,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,30
11、/,79,用例,2,:根据条件查询,APP,信息列表,4-1,需求说明,APP开发者平台,APP应用管理,APP维护,进入APP查询列表界面,完成时间:,50,分钟,31,/,79,用例,2,:根据条件查询,APP,信息列表,4-2,需求说明,查询条件,50,分钟,软件名称,:,模糊查询,APP,状态,:,动态获取,所属平台,:,动态获取,一级分类:动态获取,二级分类:动态获取,三级分类:动态获取,根据条件查询出相应结果列表,50,分钟,分类列表,均,根据用户选择的,上,级分类进行联动查询显示,完成时间:,100,分钟,32,/,79,用例,2,:根据条件查询,APP,信息列表,4-3,需求
12、说明,“,点击操作,”,下,拉列表,新增版本,修改版本,修改,查看,删除,上架,下架,完成时间:,50,分钟,33,/,79,用例,2,:根据条件查询,APP,信息列表,4-4,进入APP查询列表界面,,输入查询条件进行查询操作,查询结果是否满足条件并正确分页显示,查询条件,输入软件名称是否支持模糊查询,验证所属平台、,APP,状态的下拉列表数据是否动态获取,并正确显示,验证一级分类、二级分类、三级分类的联动效果是否正确显示,“点击操作”下拉列表数据显示是否正确,若无法操作,是否给予相应的信息提示,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,
13、服务器上,功能测试,演示案例:根据条件查询,APP,信息列表,34,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,35,/,79,用例,3,:新增,APP,基础信息,3-1,需求说明,在,APP查询列表,页面点击新增,APP,基础信息,进入新增,界面,注:须进行异步验证唯一性,注:只能输入数字,注:上传图片格式限定为,jpg,、,jpeg,、,png,;上传图片大小不能超过,50k,注:新增时,默认为待审核状态,注,:,动态获取下拉列表数据,36,/,79,用例,3,:新增,APP,基础信息,3-2,需求说明,要求:,所有输入字段均须做非空验证,50
14、分钟,实现新增数据,保存,并,返回,APP,列表页面,可查看到新增的数据,50,分钟,完成时间:,100,分钟,37,/,79,用例,3,:新增,APP,基础信息,3-3,输入信息进行新增操作,检查是否正确存入数据库,输入信息的验证,输入,APK,名称是否进行唯一性验证,验证所属平台、一级分类、二级分类、三级分类的下拉列表数据是否动态获取,并正确显示,验证一级分类、二级分类、三级分类的联动效果是否正确显示,输入软件大小、下载次数是否只能输入数字,上传图片操作,验证图片的大小、类型是否满足需求,所有输入是否都进行了非空验证,功能测试,演示案例:新增,APP,基础,信息(,APP,开发者平台),
15、38,/,79,用例,3,:新增,APP,基础信息,3-3,保存成功后,返回列表页是否可查看到新增数据,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:新增,APP,基础,信息(,APP,开发者平台),39,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,40,/,79,用例,4,:修改,APP,基础信息,3-1,需求说明,在,APP查询列表,页面选择要修改的目标数据,待审核、审核未通过,的数据才可以进行修改操作,否则将给予不可修改的信息提示,41,/,79,用例,4,:修改
16、APP,基础信息,3-2,需求说明,修改界面,待审核状态,50,分钟,审核未通过,50,分钟,要求,所有输入字段均须做非空验证,保存后,返回,APP,列表页,可查看到新增的数据,完成时间:,100,分钟,42,/,79,用例,4,:修改,APP,基础信息,3-3,输入信息进行修改操作,检查是否正确存入数据库,输入信息的验证,验证所属平台、一级分类、二级分类、三级分类的下拉列表数据是否动态获取,并正确显示,验证一级分类、二级分类、三级分类的联动效果是否正确显示,输入软件大小、下载次数是否只能输入数字,上传图片操作,验证图片的大小、类型是否满足需求,所有输入是否都进行了非空验证,保存成功后,返回
17、列表页是否可查看到修改数据,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:修改,APP,基础信息,(,APP,开发者平台),43,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,44,/,79,用例,5,:新增,APP,版本信息,3-1,需求说明,新增版本信息界面,历史版本列表,50,分钟,新增版本信息,50,分钟,注,:,上传文件格式限定为,apk,;上传文件大小不能超过,500m,45,/,79,用例,5,:新增,APP,版本信息,3-2,需求说明,所有输入字段均须做非
18、空验证,50,分钟,保存之后,返回,APP,列表页面,50,分钟,更新,APP,版本表,更新,APP,基础信息表的,viersion_id,字段,(该字段记录最新的,APP,版本号),完成时间:,200,分钟,46,/,79,用例,5,:新增,APP,版本信息,3-3,输入信息进行修改操作,检查是否正确存入数据库,输入信息的验证,输入软件大小是否只能输入数字,上传,APK,文件操作,验证上传文件的大小、类型是否满足需求,所有输入是否都进行了非空验证,保存成功后,返回列表页是否更新最新版本号,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上
19、功能测试,演示案例:新增,APP,版本信息,(,APP,开发者平台),47,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,48,/,79,用例,6,:修改,APP,最新版本信息,3-1,需求说明,修改,APP,最新版本信息,50,分钟,若还未上传版本,则不能修改,并给予信息提示,APP,状态为:,审核通过、已上架、已下架,信息,提示,不可修改,APP,状态为:,审核未通过,、,待审核,可,修改,完成时间,:,50,分钟,49,/,79,用例,6,:修改,APP,最新版本信息,3-2,需求说明,要求:,所有输入字段均须做非空验证,50,分钟,保存之后
20、返回,APP,列表页面,完成时间:,50,分钟,50,/,79,用例,6,:修改,APP,最新版本信息,3-3,APP,不同状态下,点击修改操作,是否进行相应的操作提示,以及操作限制,输入信息进行修改操作,检查是否正确存入数据库,输入信息的验证,输入软件大小是否只能输入数字,上传,APK,文件操作,验证上传文件的大小、类型是否满足需求,所有输入是否都进行了非空验证,保存成功后,返回列表页是否更新最新版本号,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:修改,APP,最新版本信息,(,APP,开发者平台),51,/
21、79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,52,/,79,用例,7,:查看,APP,信息,2-1,需求说明,查看APP基础信息以及所有的历史版本信息列表,完成时间:,50,分钟,53,/,79,用例,7,:查看,APP,信息,2-2,选择目标数据后点击查看,是否正确进行数据的展现,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:查看,APP,信息,(,APP,开发者平台),54,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,55
22、/,79,用例,8,:删除,APP2-1,需求说明,根据,APP,的,ID,删除,APP基础信息以及该APP的所有历史版本,完成时间:,50,分钟,56,/,79,用例,8,:删除,APP2-2,选择目标数据后点击删除,是否正确进行数据的删除,更新,APP,基础信息表(,app_info,),更新,APP,版本信息表(,app_version,),要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:删除,APP,(,APP,开发者平台,57,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问
23、题集中讲解,58,/,79,用例,9,:,APP,上,/,下架,2-1,需求说明,上架操作,APP状态为:,审核通过、下架,下架操作,APP状态为,:,上架,要求:,Ajax,异步实现上,/,下架操作,完成时间:,50,分钟,59,/,79,用例,9,:,APP,上,/,下架,2-2,选择目标数据后点击上,/,下架,是否正确进行数据的上下架,并且列表页面正确显示当前,APP,状态,验证不同的,APP,状态下是否可进行上,/,下架操作,并给予相应提示信息,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:,APP,上,/
24、下架,(,APP,开发者平台),60,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,61,/,79,用例,10,:登录、注销,2-1,需求说明,进入系统首页后,选择入口:,后台管理系统,输入用户名和密码进行登录操作,若输入错误,进行相应的信息提示,点击,Log Out,或者界面左下方的,退出图标进行注销操作,返回系统登录页,完成时间:,30,分钟,62,/,79,用例,10,:登录、注销,2-2,输入数据库,backend_user,中的数据是否正确登录,输入空值是否提示重新输入用户名,输入非空的错误数据是否出现错误提示并继续输入用户名,登录成功进
25、入系统后,测试注销功能,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:登录注销功能(后台管理系统),63,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,64,/,79,用例,11,:查询待审核,APP,信息列表,2-1,需求说明,后台管理系统,APP管理,APP,审核,,进入APP,待审核,列表界面,查询条件,软件名称,:,模糊查询,APP,状态,:,动态获取,所属平台,:,动态获取,一级分类:动态获取,二级分类:动态获取,三级分类:动态,获取,查询结果分页显示,注:,A
26、PP,审核列表中的,APP,状态均为待审核,分类列表,均,根据用户选择的,上,级分类进行联动查询显示,65,/,79,完成时间,:,50,分钟,用例,11,:查询待审核,APP,信息列表,2-2,进入APP查询列表界面,,输入条件进行查询操作,查询结果是否满足条件,并正确分页显示,查询条件,输入软件名称是否支持模糊查询,验证所属平台、,APP,状态的下拉列表数据是否动态获取,并正确显示,验证一级分类、二级分类、三级分类的联动效果是否正确显示,验证,APP,审核列表中的,APP,状态,是否,均为,“,待审核,”,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码
27、到,Git,服务器上,功能测试,演示案例:根据条件查询,待审核,APP,信息列表,66,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,67,/,79,用例,13,:审核,APP2-1,需求说明,选择目标数据,,进行审核操作,若没有上传最新版本,则不能进行审核操作,并给予信息提示,若已上传最新版本,则进入审核页面,进行审核操作,完成时间:,50,分钟,68,/,79,用例,13,:审核,APP2-2,选择目标数据后点击审核,是否正确进行数据的审核操作(审核通过、审核未通过),正确更新,APP,基础信息表(,app_info,)的,APP,状态,根据是否
28、上传最新版本,验证是否可进行审核操作,并进行相应的信息提示,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:审核,APP,(后台管理系统),69,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,70,/,79,系统拦截器,2-1,需求说明,鉴于系统安全性的考虑,需要设计,session,验证的自定义拦截器,以实现对于当前用户身份的相关,验证,要求:,session,过期或者用户非法访问,则跳转到,403,界面,完成时间:,15,分钟,71,/,79,系统拦截器,2-2,不登录
29、系统,直接通过,URL,地址进行平台的访问,验证拦截器是否进行拦截,用户登录后,,session,过期,继续在平台内进行业务操作,验证拦截器是否进行拦截,要求,互相验证完成的程序功能,小组长检查本组完成情况,测试完成之后,,push,代码到,Git,服务器上,功能测试,演示案例:系统拦截器,72,/,79,共性问题集中讲解,常见问题及解决办法,代码规范问题,调试技巧,共性问题集中讲解,73,/,79,项目总结,讲解要点,完成情况、技能总结、经验分享、项目收获,表达要求,清晰流畅、有条理、重点突出,74,/,79,技能总结,技术实现,SSM,框架集成,Bootstrap,前端框架的项目实际应用,使用,Git,进行项目代码的版本管理,业务知识,CMS,系统,数据隔离,项目流程,需求分析,设计(系统架构设计、概要设计、数据库设计),功能,开发,测试、,部署,上线运行,75,/,79,技能总结,技术实现,SSM,框架集成,Bootstrap,前端框架的项目实际应用,使用,Git,进行项目代码的版本管理,业务知识,CMS,系统,数据隔离,76,/,79,技能总结,项目流程,需求分析,设计(系统架构设计、概要设计、数据库设计),功能,开发,测试、,部署,上线运行,77,/,79,问题及作业,集中问题,&,课后作业,78,/79,扫我有更多精彩课程呦,






