项目功能规格说明书

项目功能规格说明书

1. 引言

1.1 编写目的

此功能规格说明书目的在于将网站想法具体化,并规划开发方向,明确功能需求,以提高开发效率。
本说明书仅供北航“烫烫烫烫烫”团队(hotcode5)参考。

1.2 项目背景

在北航的每一学期开始时,微信群中总是闪现着同学们要课件的身影;在北航的每一学期结束时,QQ群中总是充斥着同学们求考题的辛酸。北航目前最主要的课程资源平台——“课程中心”,由于全权交给授课教师管理,而学生并没有上传资源的权限,导致大部分课程的课件、考题等资源并没有出现在上面。一批批热爱学习的北航学子只得穿梭于各个Q群,四处问询课件和复习资料的踪迹,年复一年。2017年的秋天,在北航压抑了两年的老学长们,终于在一门名叫“软件工程基础”的课上明确了自己的价值——我们需要一个稳定的课程资源共享平台!

1.3 开发意图

该平台主旨在于“营造一个优良的课程学习环境”,提供资源共享、博文撰写等功能,让同学们更简单地取得提高成绩的途径,向学霸看齐。

1.4 用户群体

该平台面向北航在读的全体学生,无论知识层次或能力如何,都能在该平台找到自己的存在感。

2. 典型用户

A君:所谓大佬

不屑于学院安排的课程,对课外知识涉猎更多,利用平台进行知识与经验的分享。

用户信息 用户情况
姓名 A君
用户身份 某学院大三学生
知识层次和能力 大牛,在某一学科有一定深入的见解
生活工作情况 投入大量精力学习,对学习充满兴趣
用户动机 渴望将自己的收获分享给大家
用户困难 目前找不到针对北航学生的学习资源分享平台
典型场景 发布博文,整理自己的学习经验,并将自己的一些成果以资源的形式发布,共大家学习
用户偏好 可以有其他同学在博文下评论,起到交流的作用,让更多同学看到自己的成果
用户比例 3%左右

B君:普通学生

平时还算用功,单纯希望期末考个好成绩,对得起这一学期的努力。

用户信息 用户情况
姓名 B君
用户身份 某学院大一学生
知识层次和能力 成绩中等,不算太好也不算太差
生活工作情况 学习娱乐两不误
用户动机 期末考试取得高分
用户困难 大班群里资源太有限
典型场景 下载考题,准备期末考试,并看一看大神总结
用户偏好 要是有题解就更好了
用户比例 40%左右

C君:成绩较差

平时浪太多,期末压力大,利用平台进行知识恶补。

用户信息 用户情况
姓名 C君
用户身份 某学院大一学生
知识层次和能力 能力较差,对知识掌握不牢固
生活工作情况 基础很薄弱,跟不上老师进度,挂科近在咫尺
用户动机 想要及格
用户困难 要考试了,可是翻课件也太难理解了,只怪自己基础太薄弱
典型场景 通过阅读学长总结的笔记,以及部分同学针对专项总结的解题技巧,对考试有很大帮助
用户偏好 希望能够有一些深入浅出的讲解,一定狠狠地赞
用户比例 8%左右

D君:考研选手

即将面临研究生考试,有些方,希望能在平台上得到比较靠谱的指点。

用户信息 用户情况
姓名 D君
用户身份 某学院大四学生
知识层次和能力 成绩中等,不算太好也不算太差
生活工作情况 抓紧时间,复习考研
用户动机 考研想取得不错的成绩
用户困难 手头资源有限,也不知如何高效复习,也不懂考试技巧是什么,希望能有过来人替我讲讲
典型场景 在考研相关课程上下载考研资源,阅读学长总结的考研心得
用户偏好 希望能有一些标签,帮助我识别哪些是考研用的,哪些是平时或期末考试用的
用户比例 30%左右

E君:刻苦学霸

学习很努力,善于做笔记,记录自己学习的点滴收获

用户信息 用户情况
姓名 E君
用户身份 某学院大三学生
知识层次和能力 成绩优良,中等偏上,不属于顶尖学神阵营
生活工作情况 将学习放在第一位,认真完成作业,及时总结
用户动机 想要把学习过程中遇到的问题总结一下,一来以后复习的时候可以再回顾,二来供其他同学参考
用户困难 只能自我总结,也不知道自己总结得有没有道理
典型场景 将总结的学习笔记以资源或博文的形式发布到平台上
用户偏好 希望能得到认可或是中肯的评价
用户比例 8%左右

3. 产品界面原型设计

3.1 预定实现功能

  • 核心功能
  • 课程的分类
  • 课程资源的上传和下载
  • 课程基本信息的获取
  • 用户贡献点及其排行
  • Alpha阶段拓展功能
  • 课程的搜索
  • 添加课程
  • 课程资源标签
  • 课程资源的收藏和点赞
  • 课程资源的审核与举报
  • 用户登录/注册
  • 个人资料的获取与编辑
  • 首页公告栏
  • 联系我们
  • Beta阶段拓展功能
  • 课程资源评论区
  • 博文相关功能
  • 私信/消息功能
  • 关注用户
  • 获取用户最近动态
  • 首页推送热门博文

3.2 界面原型设计(Alpha)

我们使用MockPlus绘制了Alpha阶段的原型设计,该设计包含所有Alpha阶段中计划实现的功能,并包含少量Beta阶段中计划实现的功能。

3.2.1 菜单栏

菜单栏原型设计如下图所示:

菜单栏位于页面的最上端,供用户在首页课程联系我们三个页面之间相互切换。
此时菜单栏处于未登录状态,因此最右边的按钮为“登录/注册”,登录后该位置按钮会变为用户昵称“注销”
主要功能如下表所示:

元素 功能 验收标准
登录/注册 弹出登录/注册窗口 在当前界面弹出登录/注册窗口,点击窗口外部窗口消失
用户名(若登录,出现在登录/注册位置) 进入个人主页 通过新窗口进入用户个人中心
注销(若登录,出现在登录/注册位置) 注销账号 界面刷新,账号注销
首页 进入首页 界面切换到首页
课程 进入课程相关页面 界面切换到选择课程界面
联系我们 进入联系我们页面 界面切换到联系我们界面

3.2.2 首页

首页原型设计如下图所示:
首页
其中,公告栏后面为一张背景图片。在Alpha阶段,我们力求首页的简介,因此首页除了公告栏以外不设置其它功能。
主要功能如下表所示:

元素 功能 验收标准
公告栏的某一个公告 查看公告详情 点击后弹出公告窗口,再点击窗口外面的部分窗口关闭

3.2.3 选择课程界面

我们点击课程进入选择课程界面。
选择课程界面原型设计如下图所示:

其中,“添加课程”功能我们决定暂时不实现。
主要功能如下表所示:

元素 功能 验收标准
课程类别 显示所有课程分类 1.来回点击“开设院系”和“课程类别”,保证切换正常;2.在“课程类别”打开状态下点击“课程类别”,课程类别栏折叠
开设院系 显示学院列表 同上
一般专业类(核心通识、学院同理) 1.显示该类别所有课程 在“核心通识类”和“一般专业类”之前切换,保证显示对应的课程;2.点击同一个类别两次,课程不发生变化;3.课程默认按照用户访问热度进行排序
课程列表中的课程 进入该课程界面 进入该课程界面
添加课程 (暂时不实现) (暂时不实现)
搜索 在下拉菜单中选择搜索方式,并在输入框中键入关键字,点击搜索即可进行全局课程搜索 1.尝试不同搜索方式,搜索结果正确;2.如果不键入关键字,需弹出模态对话框,告知用户需键入关键字

3.2.4 课程界面

在上图中点击软件工程基础,进入软工课程的界面。
课程界面原型设计如下图所示:

该界面为Alpha阶段界面,而Beta阶段要实现的博文功能在课程资源的下方,暂时没有体现在原型图中。
课程信息中的图片可以为该课程所使用的教材封面,增加课程识别度。
主要功能如下表所示:

元素 功能 验收标准
“返回选课界面”按钮 返回到选择课程界面 返回到选择课程界面
授课教师的名字 返回到选择课程界面,并以该教师名字为关键字进行课程搜索 搜索结果正确
我来补充 对课程简介进行修改或补充 弹出课程简介修改窗口
贡献度排行中的用户名 进入到该用户的个人中心 1.能以打开新窗口的方式正常进入该用户个人中心;2.测试姓名相同,但用户名不同的情况
课程资源栏中的某一个资源 弹出课程资源窗口 弹出课程资源窗口
课程资源后的“查看全部” 进入到课程资源分类界面 进入到课程资源分类界面

3.2.5 课程资源分类界面

我们点击“查看全部”,进入课程资源分类界面。
课程资源原型设计如下图所示:

其中资源中的“♡”表示收藏量(感觉用“☆”代替会更好),如果这个资源被收藏了,那么“♡”会变为“♥”。
主要功能如下表所示:

元素 功能 验收标准
任意资源 点击后会弹出资源窗口 1.无论点击“♡”还是用户名,均需弹出资源窗口;2.点击资源窗口外部,资源窗口消失
“返回课程界面”按钮 返回软工课程界面 返回的课程界面要正确,不能跑到别的课程界面去
资源类别(课件、考题、习题……) 查看不同类别的资源 1.点击其他的资源类型,课件会有所改变;2.如果没有对应类型的资源,则需告知用户“没有该类型的资源”;3.点击当前的资源类型,没有任何变化,不会刷新一遍。
升序、降序排序 在左侧下拉菜单中选择排序方式,点击升序排序或降序排序对该类别资源进行排序 测试多种排序方式,结果正确
搜索资源 在左侧输入框里键入资源名称关键词,点击“搜索资源”进行全局搜索(全局的体现值得再深入设计) 1.搜索结果完整且正确;2.如果不键入关键字,需弹出模态对话框,告知用户需键入关键字

3.2.6 资源窗口

点击上图中的全部课件,弹出该课件的资源窗口。
资源窗口原型设计如下图所示:

对于图片文件,窗口中的图片元素可以是文件的预览图;而对于一般文件,窗口中的图片元素为该文件类型的图标。
评论功能为Beta阶段范畴,在Alpha阶段中暂时不做考虑。
主要功能如下表所示:

元素 功能 验收标准
举报 弹出举报窗口 点击举报窗口外部,窗口消失
“点击下载”或标签下方“↓”图标 下载课件,下载量+1 1.下载量可以不即时变更,但关闭窗口后再打开一定要有所变化;2.同一个用户多次下载同一资源,下载量不会多次增加
标签下方“♡”图标 收藏资源,同时图标变为“❤”,收藏量+1,再点击一次则为取消资源 1.测试收藏与取消功能皆正常(Alpha阶段暂不实现查看所有已收藏资源,因此只要有图标变化就好);2.收藏或取消收藏后,关闭资源窗口,回到课程资源界面,刷新,图标和收藏量需有所变化
好评/差评(在实际版本中用相应图标替代“好评”和“差评”文字) 对资源进行评价,并更新评价数据 1.若未评价,点击好评或差评可以进行评价;2.若已评价,点击未选择的评价可以切换评价;3.若已评价,点击已选择的评价可以取消评价;4.对评价的变更需即时体现在数字上
上传者后面的用户名 进入该用户个人中心 通过新窗口的形式进入该用户个人中心,原窗口不变

3.2.7 举报窗口

我们发现这个zip文件里面是空的,原来是一个骗下载量的资源[滑稽],这时候我们点击右上方的举报,弹出举报窗口。

这里的功能就不必赘述了,选择举报的原因为“无意义资源”,并在详细原因下方写明“空zip文件”,并点击“举报”按钮,相关信息就会发送至管理员,等待管理员的处理。

3.2.8 登录/注册窗口

点击右上角的“登录/注册”按钮,弹出登录/注册窗口。


点击“登录”按钮和“注册”按钮可以在两个窗口之间进行切换。
忘记密码功能属于Beta阶段的范畴,在Alpha阶段不做考虑。
注册窗口中的邮箱暂定只能使用北航的邮箱,这是为了保证一名同学只拥有一个账号,且校外的同学无法获取校内的资源。

元素 验收标准
登录/注册切换 1.在“登录”窗口时,“登录”为蓝色状态,在“注册”窗口时,“注册”为蓝色状态;2.不同时存在登录和注册两个窗口
登录密码 输入内容以暗文显示
登录按钮 窗口关闭,界面刷新为已登录状态
注册用户名 1.合法用户名为英文/数字/下划线,长度在12个字符以内,否则为不合法用户名,大小写不敏感;2.若用户输入的用户名不合法,或用户名已被注册,则需要在输入框下方即时进行提示
注册密码 1.合法密码为英文/数字/下划线,长度在8~20个字符内,否则为不合法密码,大小写敏感;2.若用户输入的密码不合法,则需要在输入框下方即时进行提示;3.输入内容以暗文显示
注册确认密码 1.若确认密码和密码不符,则需要在输入框下方即时进行提示;2.输入内容以暗文显示
注册北航邮箱 1.需检测是否为北航邮箱,否则需要在输入框下方即时进行提示;2.需检测该邮箱是否已经被注册过,否则也要提示
注册按钮 界面会提示用户“确认邮件”,系统会向该北航邮箱发送一封邮件,用户点击邮件上的链接,页面跳转到登录状态的首页,用户信息方存入数据库

3.2.9 个人中心

登录成功后,在原“登录/注册”位置会显示用户的头像与昵称,点击即可进入个人中心。
个人中心原型设计如下图所示:

在Alpha阶段暂时只实现个人资料主要贡献两个功能。点击“编辑资料”可以变更用户资料,这一功能在访问其他用户的个人中心时是不存在的。

4. 副作用分析

感觉最大的副作用还是管理的成本问题:

  • 尽管贡献分这个功能在一定程度上起到了鼓励用户分享资源的作用,但也有可能导致出现一批刷分用户,由此为管理带来许多成本。
  • 一些不允许公布的资源(如部分课程的考题)也可能出现在这个网站上,该如何界定这些资源,如何处理这些资源,是一个值得讨论的问题
  • 上传资源的审核成本较大,要是用户上传了恶意程序该怎么办?如果管理员以身试险,那么管理员恐怕就要遭殃了。如何尽可能减少受害者的出现?
posted @ 2017-10-26 00:18  hotcode5  阅读(7125)  评论(2编辑  收藏  举报