项目概述
如今,如何让学生的学习与生活更加便捷是我们一个重要的课题,为此,很多开发者开发出了诸如掌上校园、圈圈校院之类的APP,但我们组认为这些APP并不完善,无法真正做到便利学生。
本小组拟开发的APP主要服务对象为学生,主要功能有三个:日历查询、个人课程查询、空教室查询。
普通用户通过学号登录系统。
登录系统时,一旦用户得到管理员认证通过,APP中用户的个人信息(姓名、学院、出生年月)、课程信息将与学校教务处的信息进行同步。用户仍可在个人信息栏更改自己的一些其他信息,诸如:密码、邮箱、昵称、头像。
课程信息与日历信息界面系统根据具体的日期做实时变更,在教学期间,界面中以教学周为主,日历信息嵌套其中,若想专门查看日历,也可点击日历详情;在放假期间,界面中只有日历,若想查看下学期课程,也可点击下学期课程进行查询。
用户在APP中选择空教室查询,输入查询时间、查询教室号即可得到教室的空闲状态。
管理员通过专用账号登陆系统,在其个人信息中只有管理员编号。管理员可增删改查用户信息。
由于本系统的主要服务对象为学生,因此用户的数量十分有保障,并且本系统功能实用、操作简单,易受学生的青睐,前景十分乐观。
学习生活生活小帮手的功能
对于本系统的用户功能,可以分为普通用户和管理人员两个方面。
普通用户功能主要包括注册、登录系统,个人信息修改,日历查询、课程查询、教室状态查询;
管理人员功能包括注册、登录系统,审核、修改、查询普通用户的信息;
用户特征和水平
本系统的用户主要为在校大学生,他们受教育水平高,对于各类软件的基本操作和使用都较为熟悉。他们人手一部手机已成现实,可以随时随地登录本系统来进行在线操作。
运行环境
运行于Android 系统4.0及以上版本。
需求分析
数据需求
顶层数据流图
类图

用例图
功能需求
功能划分
普通用户登录APP后能够根据自己的需要查询自己想了解的信息。查询日历时,可以添加待办事项提醒,可以查询一定时间内的农历、阳历、节气;查询课程时,可以按教学周数查询,可以按具体日期查询,若条件允许可以查看下学期的完整课表;查询教室状态时,根据普通用户输入的具体时间范围与教室编号显示该教室是否空闲,若该教师有课,可在低层楼房中随机推荐一个空闲教室给普通用户。
管理员登录APP后能够管理普通用户。
系统的整体功能可以根据不同的用户划分为如下几个功能:
(1)管理员:
①登录注册
②用户管理:管理用户信息(审核、修改普通用户信息)
(2)普通用户:
①登录注册
②个人信息查询与修改
③日历查询
④课程查询
⑤教室状态查询
功能划分图表如下:
功能描述
在顶层数据流图以及功能划分的基础上,我们利用第1层和第2层数据流图来具体描述系统的相关功能。
第1层DFD图
第2层DFD图

个人信息查询与修改数据流图
可行性分析
技术可行性
现有的APP开发技术已经十分成熟,手机教务处、日历等APP也有不少先例可供参考,可以节省开发时间,而且组内刚好有三人选修Java课程,可学习Android开发。另外,在技术所需的代价,如所需的开发环境,以及技术风险等方面也有所保障,因此系统在开发时间、成本等限制条件下成功的可能性很大,具备了技术可行性。
操作可行性
系统的功能和操作方式以简洁、快捷、易懂为设计宗旨,与现如今主流软件的操作方法一致,而且本系统的用户主要为大学生,该群体受教育程度较高,普遍对于APP的使用相当熟悉,所以能够做到系统的操作方式符合用户操作流程。
经济可行性
在大学生群体中,每个人都有一份属于自己的课表,他们都需要这么款便捷的手机APP来帮助他们记录自己的课程信息,因此该APP的需求量极为庞大。该项目不算太大,只需几个人即可开发完成,开发成本低。与庞大的用户群体相比较,开发成本甚至可以忽略不计,系统的经济效益一定能超过开发成本,因此具有经济可行性。
法律可行性
系统的开发过程和使用不会侵犯到他人的知识产权,符合当前法律。
性能需求
数据精确度
(1)用户在进行日历查询时,应保证星期、阳历、农历、节日等数据均正确无误;在日历中设置的待办事项到预定时间时必须按时的向用户发出提醒信号。
(2)用户在查询个人信息、课程信息时,其数据必须与该用户的学校数据一致。
(3)用户查询教室状态时,若该教室状态不为空,应在该教室附近按照临近低楼层优先的原理向用户推荐空教室。
时间特性
(1)登陆响应时间:网络流畅情况下,最好2秒钟左右完成;
(2)注册处理时间:网络流畅情况下,应保证用户在5分钟类完成注册的相关内容。
(3)数据更新时间:用户在线状态下,应保证每5分钟刷新一次数据,保证用户各方面数据的准确性。
(4)运行时间:非服务器维护期间,应保持24小时运行。
适应性
软件只能在Android 系统4.0及以上的移动端运行。
外部接口需求
硬件接口
支持一般的智能移动终端。
软件接口
运行于Android 系统4.0及以上版本
通信接口
电子邮件、网络通信协议。
系统语言
运行于Android系统时使用Java语言
故障处理
正常运行时不会发生故障;发生故障后由用户选择是否送回错误报告,错误报告包括系统故障时用户所处的界面和之前的主动操作。若用户选择不上传错误报告,则保护系统故障前已上传和下载的数据;若用户选择上传错误报告,则错误报告通过电子邮件的方式发送至开发者邮箱,同时保护系统故障前的用户数据。
数据描述
账户个人信息包括:账号、密码、昵称、邮箱、学院等;
日历信息包括:星期、节气、年、月、日;
课程信息:本节课起止时间、该课程起止周数、授课老师、学生总数、授课 教室;
教室状态:有什么课、空闲、学生组织活动、班级活动、其他;
静态数据
用户部分个人信息
普通用户课程信息
教室状态信息
日历信息
动态数据
输入数据:账号密码信息
修改部分个人信息
需要查询的教室号
日历中定制待办事项提醒
输出数据:待办事项到点提醒
智能推荐的教室号
所查询的教室状态
系统出错信息
登陆或注册时的提醒信息
数据库描述
本软件采用SQlite数据库
数据字典
总体信息数据字典
数据项条目 | |
数据项名称 | 用户个人信息 |
描述 | 用于存储用户的基本信息 |
组成 | 账号,密码,昵称、邮箱、学院、出生年月 |
数据项条目 | |
数据项名称 | 日历信息 |
描述 | 描述日历的相关信息 |
组成 | 星期、年、月、日、阳历、农历、节气 |
数据项条目 | |
数据项名称 | 用户课程 |
描述 | 课程信息 |
组成 | 课程名称、授课老师、授课教室、授课时间、课程起止时间 |