[软工顶级理解组] 功能规格说明书
项目 | 内容 |
---|---|
班级:2020春季计算机学院软件工程(罗杰 任健) | 博客园班级博客 |
作业:功能规格说明书 | 功能规格说明书 |
一、项目简介
-
项目名称:北航教务助手
-
项目内容:设计开发一款基于手机客户端的小工具,能够自动从北航教务获取课表、空教室、成绩等信息,以及课程中心的DDL等信息,并显示在客户端上。目前我们开发的是Android前端,基于Android SDK进行开发,能够让学生无需访问教务网站或北航小程序,就能方便、快捷地查询到自己想要的信息。
-
项目开发者:软工顶级理解团队
-
概念说明:
概念 解释 爬虫 使用自动化浏览器访问教务网站,实现登录、跳转、抓取等一系列过程的工具。未必会使用现在流行的爬虫框架。
二、典型用户
-
北航普通学生
用户信息 用户情况 姓名 吉良吉影 用户身份 北航一位普普通通的学生党 用户动机 希望能有一个美观、迅速且无需手动导入的软件来查询课表、空教室、成绩等信息 用户困难 教务系统需要电脑操作,且界面透露出过时的气息,手机端的北航小程序运行速度慢 典型场景 通过手机查询自己的课表等信息 用户比例 40% -
经常忘记DDL的冒失同学
用户信息 用户情况 姓名 广濑康一 用户身份 经常忘记课程中心作业截止时间的同学 用户动机 希望能有一款产品时刻查看、提醒自己作业DDL,且无需手动导入 用户困难 课程中心没有手机相关的适配,且电脑端访问课程中心比较麻烦 典型场景 通过手机端直接收到了作业DDL的截止信息,立马投入工作 用户比例 40% -
对定制化有要求的同学
用户信息 用户情况 姓名 岸边露伴 用户身份 对软件的自定义有一定偏好的同学 用户动机 希望教务软件能够按照自己的需求进行一定的定制 用户困难 北航小程序过于死板,市面上也没有相关软件 典型场景 上课周将主界面设置为课表,考试周结束后将主界面自定义为成绩 用户比例 20%
三、原型设计与交互步骤
在APP中,我们准备使用底部导航栏的形式。底部导航栏共有三个按钮,从左至右为“主页”、“教务功能汇总”、“个人中心”。其中主页用户可以自定义设置显示某一教务功能页面,如课表查询页面、成绩查询页面。我们默认设置主页为课表查询页面,用户可通过“个人中心”的“主页选择”入口重新选择主页功能。“教务功能汇总”界面提供了各个教务功能的入口,如课表查询、课程中心查询、空教室查询等。以下表格为我们的每个界面的原型设计。
页面 | 功能描述 | UI原型 |
---|---|---|
登录 | 1.在“账号”、“密码”框中输入统一认证的账号、密码,然后点击“登录”按钮,会跳转到首页。 | |
自定义主页 | 1.在登录后,首先跳转到主页,主页默认显示本周课表。 2.主页可以自定义设计,即用户可以选择显示:课表页面、课程中心DDL页面或课程成绩页面。 |
|
个人中心 | 1.点击下方导航栏最右侧按钮,可以跳转到“个人中心”。 2. 最上方显示用户的姓名和自定义头像,点击“查看和编辑”跳转到“编辑用户信息”页面。 3.点击“主页设计”,跳转到“主页选择”页面,用户在“主页选择”页面可以自定义主页。 4.点击“帮助中心”,跳转到“帮助中心”页面(暂定,未进行设计,不计划在alpha实现),用户在帮助中心查看一些使用帮助。 5.点击“设置”,跳转到“设置”页面。 6.由于我们使用统一认证登录,所以没有提供“忘记密码”、“修改密码”之类的功能。 |
|
主页选择 | 1.用户在该页面可以自定义主页。 | |
设置 | 1.目前主要功能为开启或关闭APP推送。由于我们准备提供课程中心DDL的推送服务,所以如果用户需要这一功能则必须开启“通知”功能。 | |
教务功能汇总 | 1.点击下方导航栏中间按钮,跳转到“教务功能汇总”页面。 2.此页面,用户可以选择自己需要的功能,点击相应按钮,即可进入对应功能页面。 3.目前我们主要设计了如右图所示的五个功能,其中,“课程评价“功能目前暂未设计,我们规划在alpha阶段完成其他功能的情况下,再考虑这一功能的开发,或者将这一功能的开发放在beta阶段。 4.如果之后新增功能,目前规划是在这个界面实现功能入口,如查询校历、校车等。 |
|
课程中心 | 1.在教务功能汇总页面,点击”课程中心查询“,进入该页面。 2.页面中显示本学期用户所修课程,当用户点击某一特定课程时,同步课程中心显示该课程的作业、测验的DDL。 3.同时,我们计划提供课程中心DDL推送服务。用户可以在作业截止前半天收到我们的推送提醒。 |
|
空教室查询 | 1.在教务功能汇总页面,点击”空教室查询“,进入该页面。 2.在日期选择框选好日期,课程节数选择框选择好时间后,下方可以显示所选时段的空教室分布。 |
|
成绩查询 | 1.在教务功能汇总页面,点击”成绩查询“,进入该页面。 2.页面显示用户课程成绩,以及分数。 3.支持用户点击“搜索”进行特定课程的成绩查询。 |
|
课表查询 | 1.在教务功能汇总页面,点击”课表查询“,进入该页面。 2.点击最上方下拉框,可选择显示学期内其他周的课表。 3.由于我们采用爬虫从教务获取课表数据,所以更新可能不太及时,用户可以点击下方“update”手动进行课表更新。 |
四、功能描述验收标准
页面 | 功能介绍 | 验收标准 |
---|---|---|
登录 | 支持用户的登录 | 1.输入统一认证账户、密码后,若正确,可以成功登录。 2.若账户不存在或密码错误,则返回错误信息。 |
个人中心 | 各种设置界面的导航页 | 1. 最上方显示用户的姓名和自定义头像 2.点击“查看和编辑”,跳转到“编辑用户信息”页面。 3.点击“主页设计”,跳转到“主页选择”页面 4.点击“帮助中心”,跳转到“帮助中心”页面 5.点击“设置”,跳转到“设置”页面。 |
主页选择 | 对主页显示的内容进行定制 | 1.主页可以自定义为课表页面、课程中心DDL页面或课程成绩页面。 |
设置 | 对APP的相关内容进行设置 | 1.目前主要功能为开启或关闭APP推送。由于我们准备提供课程中心DDL的推送服务,所以如果用户需要这一功能则必须开启“通知”功能。 |
教务功能汇总 | 跳转到相应的功能界面 | 1.点击相应按钮,可进入对应功能页面。 |
课程中心 | 显示课程中心相关的信息 | 1.当用户点击某一特定课程时,同步课程中心显示该课程的作业、测验的DDL。 2.用户可以在作业截止前半天收到DDL提醒推送。 |
空教室查询 | 显示空教室信息 | 1.在日期选择框选好日期,课程节数选择框选择好时间后,下方可以显示所选时段的空教室分布。 |
成绩查询 | 显示成绩信息 | 1.页面显示用户课程成绩,以及分数。 2.支持用户点击“搜索”进行特定课程的成绩查询。 |
课表查询 | 显示课表 | 1.在教务功能汇总页面,点击”课表查询“,进入该页面。 2.点击最上方下拉框,可选择显示学期内其他周的课表。 3.点击下方“update”,可以手动进行课表更新。 |
五、可能的副作用
- 随着用户量的增大,因为服务器性能的限制,爬虫的效率必然会受到影响,转而影响所有同学的查询速度。
- 用户将统一认证用户名和密码交付给我们的产品,可能不安全。