标签:
项目名称: 校园生活服务系统
需求规格说明书
目 录
1. 概述............................................................................................................................................ 6
1.1 目的.................................................................................................................................................................................. 6
1.2 范围.................................................................................................................................................................................. 6
1.3 定义、首字母缩写词和缩略语.................................................................................................................................. 6
1.4 参考资料......................................................................................................................................................................... 7
2. 系统说明..................................................................................................................................... 7
2.1 产品的背景..................................................................................................................................................................... 7
2.2 产品的功能..................................................................................................................................................................... 7
2.3 用户类和特征................................................................................................................................................................. 7
2.4 运行环境......................................................................................................................................................................... 7
2.5 设 计 和 实 现 上 的 限 制...................................................................................................................................... 8
2.6 假设和依赖..................................................................................................................................................................... 8
2.7 其他条件与限制............................................................................................................................................................ 8
3. 业务流程..................................................................................................................................... 8
4. 功能描述..................................................................................................................................... 8
5. 数据描述..................................................................................................................................... 9
5.1 数据来源和数据流图.................................................................................................................................................... 9
5.2 数据库描述..................................................................................................................................................................... 9
6. 数据描述..................................................................................................................................... 9
6.1 数据精确度..................................................................................................................................................................... 9
6.2 时间特性......................................................................................................................................................................... 9
6.3 适应性.............................................................................................................................................................................. 9
7. 安全性........................................................................................................................................ 9
7.1 安全设施需求................................................................................................................................................................. 9
7.2 安全性需求................................................................................................................................................................... 10
8. 运行接口需求............................................................................................................................ 10
8.1 用户界面....................................................................................................................................................................... 10
8.2 硬件接口....................................................................................................................................................................... 10
8.3 软件接口....................................................................................................................................................................... 11
8.4 通信接口....................................................................................................................................................................... 11
9. 其他需求................................................................................................................................... 11
10. 验收标准................................................................................................................................ 11
10.1 软件质量.................................................................................................................................................................. 11
10.2 用户文档.................................................................................................................................................................. 11
1. 通过这个项目来提高自己独立开发项目的能力;
2. 测试Bmob这个平台的能力;
3. 整合湖工各类资源,服务于高校学生的衣食住行和学习;
适用于各高校内使用。
1、fileName/fileUrl:表示上传(批量上传)成功后得到的文件名/文件服务器地址。
2、effectTime:表示这个URL请求的有效时长,单位为秒,一旦超过有效时长,则该URL请求失效。
3、fileName:文件名(带后缀),这个文件名是唯一的,开发者需要记录下该文件名,方便后续下载该文件。
4、url:文件服务器地址(如果你上传的是图片类型的文件,此url地址并不能直接在浏览器查看(会出现404错误),需要经过URL
签名
得到真正的可访问的URL地址)。
为了满足高校内学生的各项生活及学习的目的。更好的服务与学生。
Bmob平台为您的移动应用提供了一个完整的后端解决方案,我们提供轻量级的SDK开发包,让开发者以最小的配置和最简单的方式使用Bmob平台提供的服务,进而完全消除开发者编写服务器代码以及维护服务器的操作。
高校学生群体.
在Bmob平台注册后,每个账户可创建多个应用程序,创建的每个应用程序都有其独自的应用程序ID,此后所有的应用程序将凭其ID进行Bmob SDK的使用。即使只有一个应用程序,也可以以不同的版本进行测试和生产。
添加数据非常简单,任何BmobObject对象都具有save
方法可以用于将当前对象的内容保存到服务端。 例如,你现在要保存一条游戏分数的记录,可以这样做:
数据的查询可能是每个应用都会频繁使用到的,BmobSDK中提供了BmobQuery类,它提供了多样的方法来实现不同条件的查询,同时它的使用也是非常的简单和方便的。
查询某个数据表中的所有数据是非常简单的查询操作,例如:查询所有人员的信息。
当我们知道某条数据的objectId时,就可以根据objectId直接获取单条数据对象。例如:查询objectId为a203eba875
的人员信息。
在查询的使用过程中,基于不同条件的查询是非常常见的,BmobQuery同样也支持不同条件的查询。
例如:如果要过滤掉特定键的值可以使用addWhereNotEqualTo
方法。比如需要查询playerName不等于“Barbie”的数据时可以这样写:
有时,在数据比较多的情况下,你希望查询出的符合要求的所有数据能按照多少条为一页来显示,这时可以使用setLimit
方法来限制查询结果的数据条数来进行分页。默认情况下,Limit的值为10,最大有效设置值1000(设置的数值超过1000还是视为1000)。
有些查询需要使用到复合“与”的查询条件,例如:你想查询出Person表中年龄在6-29岁之间且姓名以"y"或者"e"结尾的人,那么,可以采用and查询,示例代码如下:
缓存查询通常是将查询结果缓存在磁盘上。当用户的设备处于离线状态时,就可以从缓存中获取数据来显示。或者在应用界面刚刚启动,从网络获取数据还未得到结果时,先使用缓存数据来显示。这样可以让用户不必在按下某个按钮后进行枯燥的等待。 默认的查询操作是没有启用缓存的,开发者可以使用setCachePolicy方法来启用缓存功能。例如:优先从缓存获取数据,如果获取失败再从网络获取数据。
一个基于Android的移动App, 旨在整合高校的各类资源,
如兼职,宾馆,餐馆, 学习, KTV, 租车,旅游等,
通过校园学生服务管理系统建立起一个比较全面的高校生活圈。
在Bmob开发者后台创建一个应用(还不知道怎么创建应用和添加数据表的开发朋友请先移步快速入门指南查看相关教程),添加两个表,分别是Feedback(用户反馈信息表,存储用户提交的反馈信息)和Installation(设备安装表,存储需要接收推送信息的设备信息)。以下是对这两个表的数据结构的详细描述(省略对常用默认字段objectId、createAt、updateAt的描述)
Feedback表
字段名 |
类型 |
描述 |
Contact |
String |
用户的联系方式 |
deviceType |
String |
系统字段,是一个必须的字段, 必须被设置为 "ios" 或者 "android", 而且自这个对象生成以后就不能变化 |
Installation表
字段名 |
类型 |
描述 |
installationId |
String |
系统字段,是一个Bmob生成的字符串标志, 而且如果 deviceType 是 android 的话是一个必填字段, 如果是 ios 的话则可选. 它只要对象被生成了就不能发生改变, 而且对一个 app 来说是不可重复的 |
deviceToken |
String |
系统字段,是一个 Apple 生成的字符串标志, 在 deviceType 为 ios 上的设备是必须的, 而且自对象生成开始就不能改动, 对于一个 app 来说也是不可重复的 |
badge |
Number |
系统字段,表示iOS 设备最新已知的应用badge |
timeZone |
String |
系统字段,表示安装的这个设备的系统时区 |
channels |
Array |
系统字段,表示这个安装对象的订阅频道列表 |
appIdentifiter |
String |
iOS应用的Bundle identifier |
isDeveloper |
Boolean |
是否是开发者(是的话则用于接收推送信息) |
更新一个对象也是非常简单。例如:将GameScore表中objectId为0c6db13c
的游戏分数修改为77.
从服务器删除对象。例如:将GameScore表中objectId为dd8e6aff28
的数据删除。
对于数组型数据,BmobSDK提供了3种操作来原子性地更改一个数组字段: add、addAll 在一个数组字段的后面添加一些指定的对象(包装在一个数组内) addUnique、addAllUnique 只会在原本数组字段中没有这些对象的情形下才会添加入数组,插入数组的位置不固定的 removeAll 从一个数组字段的值内移除指定的数组中的所有对象
给一个数据对象中的数组类型字段添加数据可以使用以下方法添加:
举个例子,hobby(爱好)是一个数组类型的字段,那么我们可以在hobby字段中加入一些爱好,只有在hobby字段中不包含这些爱好的情况下才会被加入:
对于字段类型为数组的情况,可以查找字段中的数组值包含有xxx的对象:
数据安全是软件系统中最重要的组成部分,为了更好的保护应用数据的安全,Bmob在软件架构层面提供了传输层面、应用层次、表层次、ACL(Access Control List:访问控制列表)、角色管理(Role)、发布层次等不同粒度的权限控制的方式,确保用户数据的安全。
Bmob SDK对数据进行了加密封装,采用requestId
+ timestamp
+ Application
Key
的一次性对称加密算法和服务端主动防御的技术,确保数据在传输过程中能够不被Fiddler、Wireshark等抓包工具恶意抓取进行分析破坏。
在创建应用时Bmob会自动给每个应用分配三个Key,分别是Application Key, 、REST API Key 、Master Key(这些Key可以在开发者后台对应应用的“应用密钥”中找到)。
Application Key 应用程序Key: 主要是iOS/Android/Unity/Cocos2d-x等SDK开发测试和发布时,用于请求、数据的凭证。
REST API Key: 主要是REST API接口开发测试和发布时,用于请求数据的凭证。
Master Key: 超级权限Key,开发者内部使用,使用此Key请求数据,表、对象、ACL等其他层次的权限不起作用(请妥善保管Master Key,不要泄露)。
Bmob在表权限管理方面可以设置该表只读还是使用ACL的权限(设置方法:登录开发者后台->选择某个应用->数据浏览->选择某个需要设置权限的表->点击“更多”->点击“权限设置”,如下图)。
建立一个大的资讯平台,为学生提供第一手校园资讯
创建用户对象如下:
BmobUser user = new BmobUser();
你的应用程序可能会要求用户注册。下面的代码是一个典型的注册过程:
当用户注册成功后,您需要让他们以后能够用注册的用户名登录到他们的账户使用应用。要做到这一点,你可以使用BmobUser类的login方法。
如果用户在每次打开你的应用程序时都要登录,这将会直接影响到你应用的用户体验。为了避免这种情况,你可以使用缓存的CurrentUser对象。
每当你应用的用户注册成功或是第一次登录成功,都会在本地磁盘中有一个缓存的用户对象,这样,你可以通过获取这个缓存的用户对象来进行登录:
BmobUser bmobUser = BmobUser.getCurrentUser(this);if(bmobUser != null){
// 允许用户使用应用}else{
//缓存用户对象为空时, 可打开用户注册界面…}
在扩展了用户类的情况下获取当前登录用户,可以使用如下的示例代码(SpecialUser
类可参看上面):
BmobFile可以让你的应用程序将文件存储到服务器中,常见的文件类型都可以实现存储:比如图像文件、影像文件、音乐文件和任何其他二进制数据。 【注】以下均为SDK对文件进行操作的方法,如果你想在Web端对文件进行操作,请查看我们的帮助文档:http://docs.bmob.cn/helps/index.html?menukey=otherdoc&key=helps#index_如何在Web后台上传文件(如图片)
创建文件对象方式如下:
String picPath = "sdcard/temp.jpg";BmobFile bmobFile = new BmobFile(new File(picPath));
文件分片上传的方法非常简单,示例代码如下:
toast("上传文件失败:" + msg);
}});
BmobSDK_V3.2.7新增批量上传文件的方法,使用起来也很简单,示例代码如下:
//详细示例可查看BmobExample工程中BmobFileActivity类
标签:
原文地址:http://www.cnblogs.com/yijianzhongqing/p/4451843.html