“全民点评APP”概要设计_第1页
“全民点评APP”概要设计_第2页
“全民点评APP”概要设计_第3页
“全民点评APP”概要设计_第4页
“全民点评APP”概要设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、“全名点评全名点评”APP”APP 概要设计说明书概要设计说明书组员组员: :严骞(答辩人),卫浩(组长),季兆生,李严骞(答辩人),卫浩(组长),季兆生,李红祥,李天宇红祥,李天宇目录1.引言.31.1 编写说明.31.2 背景.31.3 定义.31.4 参考资料.42.任务概述.52.1 目标.52.2 用户的特点.52.3 假定与约束.52.4 运行环境.53.总体设计.63.1 对功能的规定.63.1.1 系统设计功能层次图.63.1.2 功能模块简介.73.2 非功能性需求设计.94.运行环境要求.114.1 设备.114.2 支持软件.115. 接口设计.115.1 HTTP 接口

2、设计.115.1.1 URL 接口.115.1.2 搜索用户接口.125.2Sokect 自定义协议.135.2.1 Client 部分.156. 系统出错设计.246.1 APK 文件异常处理.246.2 UI 文件异常处理 .256.2 非软件内部问题处理措施.281.引言引言1.1 编写说明编写说明如今手机订餐、订票、订旅店的 APP 不胜枚举,这给我们生活带来了更多的方便,也在改变着我们的生活方式,而在云云之中选择一款方便、安全、功能强大的 app 则令人苦恼。因此开发这套全民点评 app 是非常有必要的。本需求的编写目的在于为系统的开发做好前面的部署,以便于我们可以开发出系统功能更加

3、全面,使用户操作起来更加的方便。1.2 背景背景随着科学与技术的发展,人们对物质生活的要求越来越高,而如何快速选择优质的社会服务,也逐渐成为社会的焦点,使今天的社会进入了以计算机为核心的社会。网络的发展给我们带来了无限的商机与便利。点评类 APP 也同样能够发挥巨大的作用那就是 APP 点评。全民点评来源于人民同时也服务于人民,用户可以根据真实情况对不同店铺做出不同评价,满足不同用户需求,采用奖励制,采集优质评价。 消费者既可以实现讲出自己消费后的内心感受,同时可以得到一定的回报。最终要达到的目的是使得人们的生活更加的便利,一方面消费者在消费完之后,通过全民点评这个软件来评价此次消费,并获得一

4、定的积分奖励,当积分到一定的程度就可以越换礼品;另一方面消费者可以通过全民点评来查看哪些地方评价较高,自己选择提供参考。此项目的主要功能就是通过消费者点赞和评价,来获取积分,并为他人的消费提供一个参考作用。1.3 定义定义本产品是为餐厅、旅店专门开发的一套点评管理系统,旨在合理化安排用户需求,给用户提供更多有效数据,同时方便消费者更加方便的就餐、住店。1.4 参考资料参考资料Karl E.Wiegers、刘伟琴、 刘洪涛,软件需求(第 2 版) .清华大学出版社 (2004-11 出版)杨丰盛Android 应用开发揭秘M.北京:机械工业出版社,2010 余志龙,陈昱勋,郑名杰Android

5、SDK 开发范例大M.北京:人民邮电出版社,2010郑建,贺超Android 和 Chrome 的发展与未来J.移动通信,2010.3 麦斯阿塞克(Leszek A.Maciaszek)、马素霞、王素琴、 谢萍,需求分析与系统设计(原书第 3 版) .机械工业出版社 (2009-09 出版) .王向辉,张国印,沈洁.Android 应用程序开发.清华大学出版社,2010 年 3月 江开耀.软件工程与开发技术(第二版).西安:电子科技大学出版社,2009.张星.网页开发三合一教程M.北京:中国宇航出版社.2009王鹏.数据库技术及其应用M.北京:人民邮电出版社.20082.任务概述任务概述2.1

6、 目标目标开发该软件系统的主要意图为针对当前超消费,以及网络消费市场的广大潜力和市场乱象,开发出一款新颖、透明、真实、准确的消费评价系统,真正实现线上线下的资源共享和无缝接轨,树立行业标杆,网络远程整治市场乱象。与其他同类软件系统相比,本软件系统严格管控企业用户和消费者信息录入,力求录入信息最大程度的真实、有效,排除虚假信息,给人们提供更加准确的消费需求。2.2 用户的特点用户的特点该软件的主要是向经常使用网络的网络订餐用户提供选择的目标,主要是通过用过餐用户的点评来为自己的选择做出指导。主要的用户群体在学生,单位工作人员。2.3 假定与约束假定与约束在系统的开发过程中,由于系统比较庞大,系统

7、和数据库之间的数据交互,还有就是客户端与服务器间的交互会成为一个很严重的问题。在多用户多线程同时提交信息的时候可能会导致系统出现卡顿现象,这是我们需要解决的。还有约束条件就是开发产品与硬件设备的兼容性问题。2.4 运行环境运行环境Android 4.0 及以上版本智能手机3.总体设计总体设计3.1 对功能的规定对功能的规定3.1.1 系统设计功能层次图系统设计功能层次图图 3-1 系统功能总图图3-2 总体流程图3.1.2 功能模块简介功能模块简介该系统分为登录页面、首页界面、赏析页面、我的界面四大模块。其中登录页面主要包括用户登录、用户注册以及找回密码。首页页面主要包括每日签到、发布信息、店

8、铺评价信息、城市切换等快捷方式。赏析界面主要包括用户评价。我的界面主要包括个人信息的查看与修改、进行每日签到、发布信息、删除已发布信息和积分。(1)主界面模块主控界面是顾客打开 APP 时,最先呈献给用户的,在功能布局进入界面是城市用 GPS 定位所在的城市,还可以切换到其他的城市(现开放城市:沛县、丰县、邳州、新沂、徐州、睢宁)、登录模块、主控模块、赏析功能和账号功能等功能模块。模块的分布还是很合理的。主控制模块上面主要是签到等功能。每个模块之间可以方便的切换。登录成功后,即进入首页界面,即主控模块,主按模块主要用以下子功能1.城市定位当您点击城市按钮时,跳转到城市切换界面上,来选择该城市的

9、消费评价信息,2.活动发布这是我们一些活动的图片,您可以通过左右滑动来查看我们的活动图片 ,当您点击图片是会自动访问网站相应活动页面,使用 webview 组件显示相应的内容。3.签到签到功能将提交用户 ID 到网站程序,由网站程序判断当日是否已经签到,如果没有签到,即对积分加 1,并更新时间,最后返回 APP 相应的信息;如果已经签到,即不对积分处理,并返回相应的信息。4.最新消费评价信息显示当前最新消费评价信息,当您对此消费信息感兴趣时,您可以点击进入进一步了解此店铺,觉得是否消费。点击店铺介绍时,会显示该店铺的一些信息,为了使您更加了解该店铺。点击店铺评价时,你会看见评价界面的所有信息框

10、架;你可以获取其他消费者的点评信息。(2)注册登录模块顾客在下载点击 APP 后可以很方便的进行用户的注册,点击注册之后,填好用户名和密码,通过手机短信的验证来实现用户的注册,这样可以防止用户的恶意注册,在注册完成之后,就可以直接登录了,十分的方便,一般注册过程不超过 20 秒,这样免去了很多的麻烦也留住了很多的客户。注册完成之后就可以进入主控制界面。(3)赏析界面模块这个模块是最主要的模块,我们主要做的就是赏析这个功能,这个功能就是在我们消费完之后,用户可以登录我们的 app,选择相应的店铺,里面有评分和说明,我们可以拍照上传进行评论。这个模块有一个非常方便的功能,就是我们在评论的地方有个定

11、位功能,我们可以直接定位到这家店铺,然后进行评论。(3)账户管理模块当您点击我的时,跳转到我的界面 ,界面中间是您的姓名和您注册时的城市,下面分别是个人信息、签到、发布、信息删除和积分。1.帐户信息维护当您第一次使用点评 app 时 您的姓名是没有的,你可以点击个人信息,完善个人的基本信息列表,在输入你的姓名时,该文本框不为空,若为空则跳出提示框告诉你该用户名姓名不可以修改;否则可以修改,这必须要点击保存信息后 事件才能告诉你,若是修改成功,自动跳转到我的界面,并且把中间部分的姓名与所在地更改。如图 3-10 所示2.积分记录主要显示相应的用户积分,显示你在什么情况下获取到积分的,获得的积分是

12、多少,以及积分的消费情况。3.签到与主模块的“签到”功能一致。4.发布评价信息发布你已消费的店铺的评价信息。5.删除曾经评价记录6.在用户界面我们可以修改密码,在输入旧密码之后就可以修改新的密码(4)管理员后台管理模块1、管理员在后台登录后,可以创建其它权限不同的管理员。2、管理员可以对餐厅全民点评 app 上的菜单进行添加、删除和修改,比如更改菜单的图片,价格,菜单的描述,更换新品,添加新菜等。3、管理员对每个菜品的评价信息进行更新和重置等等3.2 非功能性需求设计非功能性需求设计(1)方便操作,操作流程合理 尽量从用户角度出发,以方便使用本产品。如:新增用户信息时,是使用自己的手机号码来获

13、取验证码,设置自己的登录密码和所在的省市等等。(2)支持Android手机版本4.0以上版本。并且获取评价信息很简单。(3)容错能力 系统具有一定的容错和抗干扰能力,必须在有网络或无线网下,系统能够保证正常运行,并有足够的提示信息帮助用户有实现。(5)操作完成时有统一规范的提示信息 (6)服务器稳定性:保证系统的服务器具有良好的稳定性,需要实现 7*24 小时不停的运作。(7)服务器稳定性:保证系统的服务器具有良好的稳定性,需要实现 7*24 小时不停的运作。(8)数据完整准确:录入数据采用表格方式,限制录入数据类型及取值范围以保证数据的完整性及准确性。系统具有部分反悔修改功能,系统备有的修改

14、功能均可反悔。(9)系统安全:用户在身份认证、授权控制、私密性等方面的要求。(10)系统易用:系统操作界面美观、简便,通俗,便于操作。(11)系统可维护:系统在出现故障时可以及时维修,使其数据恢复。以下列表是描述 Android 手机端要显示的功能模块:模块子模块详细介绍登陆个人可以根据手机号码登陆。注:登陆一次下次使用无需再次登陆,默认上次登陆的会员注册个人可用手机号+短息验证+城市选择进行个人注册,注册成功跳转至个人信息完善和修改的页面。找回密码输入手机号码,发送短息验证码,修改新密码下菜单首页,赏析,账户城市切换进入界面是城市用 GPS 定位所在的城市,还可以切换到其他的城市(现开放城市

15、:无锡,南京,苏州,常州)活动图片展示放置最新活动,点击可查看详情主控模块推荐评价列表最新的评价信息展示店铺评价评价信息用户点赞点赞情况赏析用户评价评价信息个人中心主页展示欢迎图片+快捷入口超链接信息查看修改查看个人信息可修改签到签到,一天一次,签一次+1 积分发布信息发布评价信息删除评价信息删除已发布评价信息账户中心积分明细积分明细3.3 需求分析需求分析详情请参照需求分析文档4.运行环境要求运行环境要求4.1 设备设备外围设备:手机; 编译程序:Android studio; 操作系统:Android 操作系统;数据库支持:SQL Server 20084.2 支持软件支持软件服务器端:t

16、omcat 系统平台:Windows XP 或更高版本的操作系统 计算机语言:Java,SQL 语言,网络通信协议:TCP/IP 开发工具:Android studio5.接口设计接口设计5.1 HTTP 接口设计接口设计5.1.1 URL 接口接口(1)URL 的组成:基本的网络地址 分支节点:8080/chat 为 基本的网络地址/login 为 分支节点:8080/chat/login 组成完整的 URL当前统一的基本网络地址为 :8080/ChatServer请求方式:POST、GET、PUT(2

17、)请求消息头:键值对(key value 形式)(3)请求参数:键值对(key value 形式)(4)响应的状态码:统一的返回码为: 200 (注:只要访问服务器成功,一律返回 200)(5)响应的格式:flag:true, data:.成功的标记为 flag 为 true(6)根据具体的请求,如果需要返回值 data 节点 包含的是 返回结果不需要需要返回值 ,则没有 data 节点(6)失败:flag:false,errorCode:1,errorString:错误原因失败的标记为 flag 为 false,flag 为 false 时,必然返 errorCode 和errorStrin

18、g 节点(7)errorCode 说明了错误编码,errorString 说明错误原因。5.1.2 搜索用户接口搜索用户接口(1)分支节点 : /user/search(2)请求方式 : POST(3)请求消息头 :key类型说明(4)请求参数 :(5)响应结果 :成功: flag: true, data: account: zhangsan, name: 张三, icon: /a/b/zhangsan.png, sign: 我的个性签名, area: 徐州 失败:5.2Sokect 自定义协议自定义协议1.协议的定义accountString用户的账号tokenString用户的唯一标识ke

19、y类型说明searchString搜索的账号errorCodeerrorString200用户不存在(1)传输格式为 json(2)协议分为请求和响应(3)传输方向: client - server : 发送消息server - client : 推送消息(4)发送消息发送过程包含的两个过程:求 : client 发送消息到 server响应 : server 响应 lient 的这次消息请求两个过程 都完成才算当前消息发送成功(5)推送消息推送过程包含的两个过程:请求 : server 发送消息到 client响应 : client 响应 server 的这次消息请求两个过程都完成才算当前消

20、息发送成功(6)消息必备格式请求部分: sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: request, action: text响应部分: sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: response, flag: true sequece : 标记请求和响应,用来表明响应是针对哪次请求的type : 用来标记是请求还是响应action : 请求发送方的发送类型,由具体请求决定取值。5.2.1 Client 部分部分1.Auth 认证(1)Action : auth(2

21、)请求的 key-Valuekey类型说明typeString请求:requestsequenceString请求的序列号actionString请求的行为:authsenderString发送者账号tokenString发送者 token 标志(3)请求的 json 格式: sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: request, action: auth, sender:xxxx, token:xxxxsequence:1,type:request,action:auth,sender:iphone1,token:0dce

22、6f76ac1a29d276c0c6dabe60519c(4)响应的 json 格式:成功 : sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: response, flag: true, 失败 : sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: response, flag: false, errorCode:, errorString: (5)发送邀请Action : invitation(6)请求的 key-Valuekey类型说明typeString请求:request

23、sequenceString请求的序列号actionString请求的行为:invitationsenderString发送者账号tokenString发送者 token 标志receiverString接收者的账号(7)请求的 json 格式: sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: request, action: invitation, token:xxxx, sender:xxxx, receiver:xxxx, content:xxxxxx(8)响应的 json 格式:成功 : sequence: 9f4c696e-

24、9ab5-46cf-959c-b1e2e35200d2, type: response, flag: true, 失败 : sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: response, flag: false, errorCode:, errorString:(9)发送文本消息Action : text请求的 key-Valuekey类型说明typeString请求:requestsequenceString请求的序列号actionString请求的行为:invitationsenderString发送者账号tokenStrin

25、g发送者 token 标志receiverString接收者的账号contentString邀请的文本内容(10)请求的 json 格式: sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: request, action: text, token:xxxx, sender:xxxx, receiver:xxxx, content:xxxxxx(11)响应的 json 格式:成功 : sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: response, flag: true, 失败

26、 : sequence: 9f4c696e-9ab5-46cf-959c-b1e2e35200d2, type: response, flag: false, errorCode:, errorString:2.Server 部分(1)推送用户邀请action : invitation(2)请求的 key-Valuekey类型说明typeString请求:requestsequenceString请求的序列号actionString请求的行为:invitationsenderString发送者账号receiverString接收者的账号invitor_nameString邀请者的名字invit

27、or_iconString邀请者的头像contentString邀请的文本内容(3)请求的 json 格式: sequence:3, type:request, action:invitation, sender:iphone1, receiver:iphone2, invitor_name:iphone2, invitor_icon:/icon/iphone2.png, content:hehe(4)响应的 json 格式:成功 : sequence: 3, type: response, flag: true, 失败 : sequence: 3, type: response, flag:

28、 false, errorCode:, errorString:(5)推送用户接受邀请action : reinvitation请求的 key-Valuekey类型说明typeString请求:requestsequenceString请求的序列号actionString请求的行为:reinvitationsenderString发送者账号receiverString接收者的账号nameString接受邀请者的名字iconString接受邀请者的头像contentString邀请的文本内容(6)请求的 json 格式: sequence:3, type:request, action:text

29、, sender:iphone1, receiver:iphone2, name:iphone1, icon,/icon/iphone1.png, content:hehe(7)响应的 json 格式:成功 : sequence: 3, type: response, flag: true, 失败 : sequence: 3, type: response, flag: false, errorCode:, errorString:(8)推送文本消息action : text请求的 key-Valuekey类型说明typeString请求:requestsequenceString请求的序列号

30、actionString请求的行为:textsenderString发送者账号receiverString接收者的账号contentString邀请的文本内容(9)请求的 json 格式: sequence:3, type:request, action:text, sender:iphone1, receiver:iphone2, content:hehe(10)响应的 json 格式:成功 : sequence: 3, type: response, flag: true, 失败 : sequence: 3, type: response, flag: false, errorCode:,

31、 errorString:(11)推送用户名变更action : nameChange请求的 key-Valuekey类型说明typeString请求:requestsequenceString请求的序列号actionString请求的行为:nameChangesenderString发送者账号receiverString接收者的账号nameString发送者变更后的名字(12)请求的 json 格式: sequence:3, type:request, action:text, sender:iphone1, receiver:iphone2, content:hehe(13)响应的 jso

32、n 格式:成功 : sequence: 3, type: response, flag: true, 失败 : sequence: 3, type: response, flag: false, errorCode:, errorString:6.系统出错设计系统出错设计6.1 APK 文件异常处理文件异常处理1.更换安卓项目的库文件(即使库文件代码相同),运行工程闪退。 解决方法:将原来的 app 卸载再运行2.R 文件丢失:(一般是资源文件有错,特别是 clean 之后) 原因:res 文件夹的 xml 文件(不仅是 layout,还包括其他)缺少了必要的属性或者添加了错误的属性。3.导入

33、 library 文件没有生成“private braries”. 可能原因“v4 包重复。(特别是在新项目导入基础库的时候)4.断点调试 can not findDexFile:解决方法:把断点全部去掉重新添加断点。5.http 的 post 或者 patch 请求如果显示请求类型错误 解决方法:添加一个请求头:Content-Type,值为对应的请求体类型。6.eclipse 项目从 svn 检出后无法运行 原因:项目提交不全(首次提交全部文件,以后可忽略 classpath,bin等不需要提交的文件)7.在写入缓存文件的操作中一定要加上读写外部文件的权限。8.在一个水平 LinearLa

34、yout 中,有 Button 和 Spinner,Button 放在Spinner 的左边在执行 Activity 的 findviewById 就会奔溃。换成右边就不会。原因未知。9.将 Android 项目提交 svn 后如果改包名或者类名,提交文件会报 Illegal target 的错误。 解决方法:彻底断开 svn 连接(删除 svn 元信息),重连之后,将原来包名或者类的东西删除。 6.2 UI 文件异常处理文件异常处理对于已经受 svn 源代码管理的文件或者文件夹,若想修改名字,可以这样操作:1.选中文件或者文件夹右键TortoiseSVN改名。2.SVN 提交。3.不同的布局

35、文件的控件 id 尽量不要重复,不然在 eclipse 容易发生控件选取混乱。4.使用 evenbus 记得要添加 onEvent 方法。5.使用 android.graphics.Color 不可以画图表折线的颜色。(原因未知,只知道对应的数值为负数)6.在类定义成员变量如下 GlobalDataManager.getInstance().getSettingDataShowDay(getActivity()不能执行,原因可能是成员变量的定义先于构造函数执行,导致无法执行 getActivity();7.侧滑菜单有控件空指针,执行到返回主界面的 fragment 就奔溃。(原因未知,可能是

36、slidingMenu 的设计关联了主界面 fragment?)8.在一个 LinearLayout 中有两个控件,都是设置 height 为 0dp,weight为 1,其中一个可见一个为 gone。在代码中设置不可见的为 visible,不可见的仍然不可见。(可能是设置了权重就不可设置可见了。解决方案为动态设置布局控件的属性才为两个控件设置权重)9.ScrollView 的控件的 height 属性要为确切数字。(不然 ScrollView 不能为其安排确切的大小)10.有时候修改 xml 布局文件后出现控件类型转换错误。 解决方法:clean 一下工程一般可以解决。11.eclipse

37、安卓工程创建没反应没提示。 原因:在项目的创建目录有重复的工程名。12.viewPager 放 fragment,fragment 从 fragment 集合中删除,再添加fragment 到 fragment 集合,结果 viewPager 仍然显示删掉的 fragment。 原因:fragmentmanager 将删掉的 fragment 保存起来,又重新显示出来。13.带 CheckBox 的 ListView,CheckBox 要添加的属性: android:clickable=false android:focusable=false 当 ListView 项被按下的时候,notif

38、yDataSetChanged()刷新整个 ListView,传入的参数刷新。如果没有加这两属性,仅仅打钩 CheckBox 并没有点击到 ListView。(抢了ListView 的焦点)14.eclipse 复制一个 xml 布局文件后,在视图中修改其中一个文件控件的id,会同时修改到另一个文件对应控件的 id。15.eclipse 无法连接手机,出现 Adb connection Error:远程主机强迫关闭了一个现有的连接 错误。解决方法:DDMS 中 restart adb。16.如果计算机连接的是(可能是选择了自动获取 ip)外网 ip,则会导致svn 无法连接内网服务器。17.NetworkInfo activeInfo = manager.getActiveNetworkInfo(); activeInfo.isAvailable();(1)在广播 onReceive()方法外 activeInfo 获取不到。(2)在网络开启的时候可以使用,在网络关闭的时候程序挂掉(但放在判断语句中就可以用)。原因未知。18.在铺满 Activity 的 ImageView 中加一张尺寸足够的图片无法铺满?加渐变效果有异常跳动? 原因未知。19.尺寸比宽度小的按钮沾满屏

温馨提示

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

最新文档

评论

0/150

提交评论