团队项目功能规格说明书
#功能规格说明书 [TOC]
##定义相关概念 | | 概念 | | -------- | :----------------------------------------------------------: | | 消息提醒 | 不同于博客园中的系统通知,仅针对班级博客和小组的用户,在客户端中向用户发送消息提醒作业,评论,回复等消息,用户可设置接受的消息类型。 | | 副本 | 本地保存的草稿内容,可以在无网络时编辑 |
##定义典型用户 | 用户 | 用户T2 | | ------------- | ------------------------------------------------------------ | | 身份 | 某计算机专业某专业课程的教师 | | 年龄 | 35岁 | | 重要性 | 非常重要,所占比例不大,通常是班级博客的组织者,是产生其他用户的基础 | | 使用场景 | 组建班级,进行某专业课程的教学,添加助教,发布作业、投票 | | 使用环境 | 主要是教室、实验室、办公室或家中 | | 生活/工作 | 承担某专业课的教学工作,此外有自己的工程、研究工作 | | 知识层次/能力 | 熟悉计算机的专业知识,具有熟练的编程技能,通常精通某一专业课程 | | 动机/目的 | 组件班级进行某专业课程的教学 | | 用户偏好 | 希望能够更加方便的管理班级 | | 用户 | 用户A2 | | ------------- | ------------------------------------------------------------ | | 身份 | 某计算机专业高年级学生 | | 年龄 | 22岁 | | 重要性 | 比较重要,通常由教师指定,通常是班级成员的管理者,作业和投票等发布者。 | | 使用场景 | 在教室的安排下添加班级成员、发布作业,对学生的作业进行评论、打分,统计投票结果 | | 使用环境 | 主要是教室、宿舍、图书馆或家中 | | 生活/工作 | 即将毕业,完成了专业课的学习,正在为下一步的发展作准备 | | 知识层次/能力 | 较熟练地掌握计算机专业知识,曾学习过某专业课程并取得较好成绩 | | 动机/目的 | 协助教师组织、管理班级,进行教师和学生之间的沟通 | | 用户偏好 | 希望能够方便的看到学生提交的作业和投票情况并对评论进行的反馈 | | 用户 | 用户S2 | | ------------- | ------------------------------------------------------------ | | 身份 | 某计算机专业学生,正在学习某专业课程 | | 年龄 | 20岁 | | 重要性 | 相对比较重要,占比例最大,是班级博文的主要贡献者。 | | 使用场景 | 编辑,提交作业 | | 使用环境 | 主要是教室、宿舍、图书馆或家中 | | 生活/工作 | 在校学生,主要任务是学习 | | 知识层次/能力 | 掌握基本的计算机知识包括基本的语言、算法、数据结构,有简单程序的开发经验 | | 动机/目的 | 使用班级博客进行某门专业课程的学习 | | 用户偏好 | 主要使用班级博客编辑(写)提交作业,希望能够及时收到与作业有关的消息 |
##界面原型设计
| 页面 | 描述 | 原型 |
| ---------------- | ------------------------------------------------------------ | ---- |
| 用户信息页面 | 显示用户信息、头像、地址
日程提醒可显示作业截止日期
加入小组可搜索小组并加入
点击退出按钮退出登录 ||
| 加入小组页面 | 列表展示热门小组
上方可搜索小组名
右下方可创建小组 ||
| 我的博客页面 | 列表展示三个选项
提供查看已有博客,草稿箱,新建随笔功能 ||
| 草稿箱页面 | 列表展示已保存的草稿
提供继续编辑和删除功能 ||
| 写博客页面 | 点击编辑草稿和新建随笔进入
可以选择发布选项
提供保存和发布功能 ||
| 班级小组列表页面 | 列表展示已加入的班级和小组
点击进入指定班级小组页面 ||
| 指定班级页面 | 点击班级成员按钮显示所有成员
点击所有作业按钮显示已发布的作业
点击所有投票显示已发布的投票列表 ||
| 投票列表页面 | 列表展示所有投票
点击进入投票详情
点击右下角创建新的投票 ||
| 投票详情页面 | 列表展示所有选项
点击选项进行投票
直方图展示投票情况 ||
| 指定小组页面 | 点击小组成员按钮显示所有成员
点击所有话题按钮显示已发布的话题 ||
| 话题列表页面 | 与投票页面相似 | |
| 话题详情页面 | 展示已发布的讨论
添加回复可参与话题或回复指定用户 ||
##使用场景
| 用户们的故事 |
| ------------------------------------------------------------ |
| 讲一个用户T2的故事……
新学期很快就要开始了,用户T2在得知去年T1使用班级博客进行教学效果很不错后,也决定利用班级博客,加深学生对这门课的理解,同时自己观察和品位学生们的心得体会,于是T2打算在班级博客上创建自己这门课的班级。
用户T2打开班级博客的客户端,输入账号密码,客户端记住他的密码方便他下次使用。在T1老师的指导下,他完成了创建班级和拉取助教A3的工作,将工作安排给A3后,T2老师想在班级中发布第一篇博客。
打开自己的博客列表后他发现之前的一篇博客因为年代久远已经不具备指导性,索性删掉了它。浏览时又看到上个学期的前导博客写的已经比较完善,所以他打开编辑功能,稍作修改后将其发布。
想到有几位对这门课的教学提出建设性建议的教师,用户T2把他们也以教师的身份加入到班级中来。用户T2希望学生能够在正式开始授课之前对这门课有一定的思考和理解,于是在发布了第零次作业。此后用户T2也在关注学生们作业的完成情况,看学生们写的随笔,并且给学生们一些评论或是建议,也时常会发布几篇与教学相关的随笔。为了了解学生们的想法,T2还会时不时发布一些投票,来改进自己的授课方式。 |
| 讲一个用户A2的故事……
用户A2在去年的这个时候学习了用户T2的这门课,并且取得了很不错的成绩。新学期很快就要开始了,用户T2将用户A2任命为助教,用户A2在班级中拥有了助教身份。
用户A2在学生们创建账号和博客后,发送加入班级的链接。学生们陆陆续续的加入到班级中来,看到了T2发布的第零次作业。很快学生们提交了第零次作业,发表了对课程、专业的一些认识和理解,用户A2也在学生的随笔下面进行评论,提出一些问题或是建议,对于学生们的回复,用户A2有时也会再次回复。用户A2担当着发布作业,发布和整理投票,提醒学生ddl的重任,觉得如果系统能够提醒学生完成作业的时间可能会方便的多。
忙于实习和毕设的A2,有时候连写完一篇完整的指导博客的时间都没有。他在地铁上,电梯里这些网络信号不强的地方,都在编辑自己草稿箱中的指导博客,等到编辑好时再发布。
开学几天后,有些学生出于各种考虑退选了这门课,为了便于班级的管理,用户A2将这些用户踢出了班级。 |
| 讲一个用户S2的故事……
S2是一个健忘而且鶸的学生。看到第零次作业发布后,他诚惶诚恐地在已经提交的班级作业看着其他大佬们的博客,吸取经验。吸取了一点之后,他决定自己试着写一写,于是在客户端新建一篇随笔,不料写了半行就写不下去了。打算再次进入班级页面的他发现有新的投票,于是他随便点了一个选项就退出了。挺尸了一会发现作业截止时间要到了,只能硬着头皮把自己的草稿提交为了作业。
一周后团队作业发布,大佬们为了方便交流并记录开发经历,在博客园新建了一个小组。然而S2存在感太低没有被拉进小组,S2就在手机端自己搜索并加入了小组。看到组内的大佬们在新话题里们交流高深的技术,S2只能在安排工作时回复几句好的、嗯,连个emoji都没有。一想到强制换人,他就忧从中来。 |
##功能描述及验收验证标准
|功能||功能描述|验收验证标准|
|:--|:--|:--|:--|
|用户|认证|用户登录(可能需要验证码)<br>退出<br>新用户注册<br>找回密码<br>记住用户登陆状态<br>记住密码|能够正常登录(可能需要验证码)、退出、注册新用户、找回密码、记住登陆状态
能够对错误的输入进行提醒
能够在选择账号后自动填充密码|
||个人信息|查看个人信息、个人所在班级列表、个人博客地址、个人日程表
修改个人信息|能够显示正确的个人信息,能够正常修改个人信息,修改后的个人信息能及时更新
能够保证修改后信息的合法性|
||加入小组|搜索小组和加入|正常显示小组,可以加入群组|
||消息提醒|收到关于作业发布、截止日期的消息提醒
收到关于评论/回复的消息提醒(包括来源、文章、上下文)
收到关于小组话题的消息和新投票提醒|能够及时收到正确信息|
|个人博客|博文|按照不同标准对博文进行分类显示
按照不同标准对个人博客中的博文进行排序
浏览博文内容
编辑博文和保存草稿|博文能够正常分类、分页、排序
博文内容正常显示
博文可以编辑,草稿可以保存和发布|
||评论/回复|在自己的博客中回复他人的评论
在他人的博客中对他人的博文进行评论|能够添加评论、回复|
|班级博客|查看所有班级博客|支持按照不同标准排序
支持关键词搜索|正常显示、排列班级
正确的关键词能够搜索到相应结果|
||进入班级|查看班级内容:博文、成员、作业、投票
关注其他班级
管理员设置班级成员信息权限|正常显示班级内容
能够关注其他班级,不能关注所在班级
非管理员不能设置权限,管理员能正常设置权限|
||博文|按照不同标准进行分类、筛选查看|能够正常分类、筛选、显示|
||日程表|将作业投票发布、作业提交和投票截止等事件显示在日程表中|事件能够正确显示,事件添加或更新后能够随之更新|
||作业|学生提交作业
教师助教发布个人作业、团队作业
支持教师、助教删除作业
管理员可对作业进行评分|能够提交作业,并更新提交列表
管理员能够发布/删除个人作业、团队作业,对作业评分
非管理员不能对作业进行除查看、提交体外的操作|
||投票|学生参与投票
教师助教发布投票
支持教师、助教删除投票|能够选择投票选项,并更新投票情况
管理员能够发布/删除投票
非管理员不能对投票进行除查看、选择选项外的操作|
||成员|非班级成员提出申请加入班级
教师、助教添加/删除学生、团队
班级成员离开班级|能够收到申请并对申请进行处理
管理员能够添加/删除学生、团队,非管理员不能
班级成员可以离开班级|
||创建班级|有管理员身份的用户创建新班级|有管理员身份的用户可以创建新班级,并在班级博客首页显示|
|小组|成员|非小组成员提出申请加入小组
组员拉取非组员进入小组
组员离开小组|能够加入小组和拉取非组员进入小组
组员可以离开小组|
||话题|在话题中进行评论
在他人的评论进行回复|能够添加评论、回复|
##潜在副作用
1.客户端要求用户先进行登录才能看到具体内容以及进行下一步操作,可能会流失一部分新用户;且对于只需要浏览内容且不愿意记住登录状态和保存密码的用户来说会造成一些不便
2.消息提醒功能中涉及到的可能有用户并不关心的消息,有用的消息混杂在里面,起不到应有的作用
3.由于设备原因,可能会出现客户端写博客的体验不佳。