团队博客作业-功能规格说明书
XuebaOnLine项目功能规格说明书
引言
编写目的
此功能规格说明书的主要目的是:
使用户确认Xueba系统的主要功能,并了解如何使用。
便于工程团队与用户在需求上达成一致,作为进一步详细设计软件的基础。
为团队的开发完善工作设定大纲。
项目背景
项目名称: XuebaOnline在线系统
项目面向用户:具备使用通用搜索引擎(百度、谷歌等)的能力,对计算机科学,软件工程两个学科有一定的知识需求。
项目开发背景:对BugPhobia团队开发的XuebaOnLine系统进行修改和进一步的完善。
总体描述
基本目标
网站能够采集专业化社区中的问答数据、高质量课程资源、专业技术文档中的内容,为使用者提供一体化的、精准的、高质量的搜索内容。
用户能够通过网站间接参与到上游社区的讨论中,接触行业大牛,了解更多尖端知识和技术。
典型用户分析
◇ 张飞:对计算机科学具有浓厚的兴趣,但是基础十分薄弱
姓名 | 张飞 |
年龄 | 19岁 |
学历 | 某专业大一新生(含计算机专业) |
计算机知识层次和能力 | 对计算机科学和编程具有浓厚的兴趣,但基础十分薄弱,基础知识几乎没有 |
生活学习情况 | 想要自学编程,但是一头雾水,不知从何处下手 |
用户比例 | 约占总用户量的40% |
使用动机 | 想要在网络中查找一些教程,帮助自己从零开始系统学习编程。 |
使用困难 | 很多搜索结果介绍的不够深入,系统性不强,计算机小白上手很困难,很难形成知识体系。 |
用户重要程度 | 十分重要 |
典型使用场景 |
张飞想要自学C语言,想要在网络上搜索较全面的对C语言的讲解,包括练习题 |
用户偏好 | 界面简洁,广告少,查找得到的学习资料门槛较低 |
◇ 刘备:具有一定基础的计算机专业大三学生
姓名 | 刘备 |
年龄 | 21岁 |
学历 | 计算机专业大三学生 |
计算机知识层次和能力 | 具有一定的代码基础,具有较熟练的编程能力,同学眼中的“大神”。 |
生活学习情况 | 在工作中经常需要查阅大量的相关技术和概念,对未知领域,行业的尖端技术具有强烈的渴望。 |
用户比例 | 约占总用户量的30% |
使用动机 | 在网络中高速高效的查找需要使用的相关专业知识,同时对行业内的新技术想要有一定的了解 |
使用困难 | 网络搜索得到结果过于繁多,鱼龙混杂,很难精准定位。 |
用户重要程度 | 十分重要 |
典型使用场景 |
刘备正在完成选修课《软件工程》的编程作业,需要查询相关技术文档 上课前,刘备拿出手机,想了解一下最近十分火爆的机器学习技术 |
用户偏好 | 界面简洁美观,内容一针见血 |
◇ 关羽:想要报考计算机二级考试,对计算机科学没有深入了解的需求,只要满足考试要求即可
姓名 | 关羽 |
年龄 | 20岁 |
学历 | 金融专业大二学生 |
计算机知识层次和能力 | 可以使用计算机中的常用软件,但是参加计算机二级考试,心里还有点没底 |
生活学习情况 | 正在紧张准备计算机二级考试,但是写程序的确是关羽同学的短板。 |
用户比例 | 约占总用户量的10% |
使用动机 | 想要对编程进行快速入门,掌握一些简短程序的编写 |
使用困难 | 网上搜索得到的结果通常只有代码,少有注释,也没有正确性保证,学习效率低 |
用户重要程度 | 比较重要 |
典型使用场景 |
关羽同学想写一个求最大公约数的程序,但是网上搜索得到的结果很难理解,感觉束手无策 |
用户偏好 | 查找得到的内容详细,易于理解 |
◇ 赵云:计算机专业从业者,有两年的工作经验
姓名 | 赵云 |
年龄 | 24岁 |
学历 | 计算机本科毕业 |
计算机知识层次和能力 | 有较为丰富的开发经验,具有熟练编程能力。 |
生活学习情况 | 在工作中经常需要查阅大量的相关技术和概念 |
用户比例 | 约占总用户量的10% |
使用动机 | 快速高效的解决自己在开发中遇到的问题,能和其他程序猿进行交流 |
使用困难 | 网上得到的解决方案不够专业 |
用户重要程度 | 十分重要 |
典型使用场景 |
赵云在开发前端界面时时遇到了瓶颈,想要上网查找一下解决方法 |
用户偏好 | 界面简洁美观,实用性强 |
◇ 诸葛亮:计算机领域的大神,具有很强的编程能力,对计算机科学有着深入的了解
姓名 | 诸葛亮 |
年龄 | 35岁 |
学历 | 某互联网公司高层 |
计算机知识层次和能力 | 具有很强的编程能力,对计算机科学有深入的了解,工作经验丰富 |
生活学习情况 | 工作中需要和其他行业大牛进行交流和思维碰撞 |
用户比例 | 约占总用户量的10% |
使用动机 | 想要和其他业内的大牛多多交流,也愿意为行业内的后辈提供帮助 |
使用困难 | 渠道和平台太多,无法兼顾 |
用户重要程度 | 非常重要,是很多高质量资料的源头 |
典型使用场景 |
诸葛亮在工作之余看到论坛上一个年轻人的提问,于是为他答疑解惑 |
用户偏好 | 界面美观,平台稳定 |
用户需求:
张飞:希望能提供较为系统的学习计算机科学的学习资料,便于形成知识体系。
刘备:希望能准确的高效的得到自己想要查找的专业资料。
关羽:对得到的资料不求高端复杂,希望能详细易懂。
孙权:希望能通过网站解决自己工作中遇到的问题,与同行进行讨论。
诸葛亮:希望有一个为后辈答疑解惑的平台,并与其他的行业大牛进行思维碰撞。
副作用分析及约束条件
tag的分类难以控制,分类过多会导致标签冗余,增大工作量却没有效果,但标签太少,搜索的准确性减小,用户体验不佳。
技术约束: 大部分小组成员在相关技术水平方面存在一定欠缺,缺乏相关项目经验。文档编制能力也有待提升。
时间约束: 本系统开发周期较短,时间相对紧张。
其他约束: 由于在开发期间,小组成员还有其他科目的学习任务,将对项目进度造成不小的影响。
界面展示
首页:
涉及的按钮与层次如下:
主页面:
按钮 |
功能 |
实现情况 |
Home |
返回至主页面,同时保留用户的登陆的状态(STA) |
已实现 |
Course |
点击后可进入课程页面,课程页面将设置推荐课程、用户经常浏览的课程和用户课程的搜索结果 |
已实现 |
Questions |
点击后可进入问答页面,问答页面将设置推荐问答、用户经常浏览的问答和用户问答的搜索结果 |
已实现 |
User |
点击后进入用户管理页面,用户页面将反应用户的活动状态、个人资料和设置,若用户处于非登陆状态将转至登陆页面 |
已实现 |
Register |
点击后进入注册页面 |
已实现 |
Login |
点击后进入登陆页面 |
已实现 |
Logout |
点击后登出页面,用户将由登陆状态转换为非登陆状态 |
已实现 |
主页面的子栏:
按钮 |
功能 |
实现情况 |
Approve |
点击后用户能够查看此课程的详细信息,即自动跳转至此课程的展示页面 |
未实现 |
Change |
点击后将此课程Card更改为其他主题的课程Card |
未实现 |
Search(上) |
在用户输入搜索内容后点击Search按钮(或在搜索栏内按下Enter),会跳转到搜索结果展示页将结果全部展示 |
已实现 |
Search(下) |
输入搜索的用户后点击Search按钮(或在搜索栏内按下Enter),会跳转到搜索到的用户的主界面 |
未实现 |
FeedBack/ReadMe |
点击后会分别跳转到Feed页面和ReadMe页面,用户能够查看此网站的功能规格说明书方便用户使用 |
未实现 |
弹性修改功能:
按钮 |
功能 |
实现情况 |
Language | 选择网页的显示语言,包括英文和中文格式 |
未实现 |
注册页面:
按钮 |
功能 |
实现情况 |
Create |
当用户填写完全部的input信息后,点击Create按钮完成注册,若注册成功则页面自动跳转至Log In页面;若因信息缺失或格式错误而导致注册失败,则会在Create下方弹出Warning信息 |
已实现 |
Log In |
用户可以点击此按钮后可跳转至Log In页面(当用户误点Sign Up按钮或注册成功但没有成功跳转) |
已实现 |
Warning Message |
若用户注册信息不全,或填写时格式错误,会弹出此消息并给出具体的说明指出是哪几部分出现问题 |
已实现 |
Input |
用户将具体信息填写在此框中,placeholder内是提供给用户的填写提示信息 |
已实现 |
登陆页面:
按钮 |
功能 |
实现情况 |
Login |
当用户填写完全部的input信息后,点击Login按钮完成登陆,若登陆成功则页面自动跳转至User页面;若因用户名和密码错误而导致登陆失败,则会在Login下方弹出Warning信息 |
已实现 |
Sign Up |
用户可以点击此按钮后可跳转至Sign Up页面(当用户误点Log In按钮) |
已实现 |
Warning Message |
若用户注册信息不全,或填写时格式错误,会弹出此消息并给出具体的说明指出是哪几部分出现问题 |
已实现 |
Input |
用户将具体信息填写在此框中,placeholder内是提供给用户的填写提示信息 |
已实现
|
用户页面:
在User页面的Profile子页面的设计中,涉及的按钮与层次可罗列与下表
按钮 |
功能 |
实现情况 |
Ask Questions |
用户点击后能够跳转至Questions页面,此页面提供“提问”的功能,用户可以编辑问题的标题和具体信息完成提问 |
未实现 |
Course Name |
用户点击后能够跳转至Course页面,此页面提供“查看”的功能,用户能够查看此课程的具体信息,如课程的起始时间、具体讲义等 |
未实现 |
Question’s news |
用户点击后能够跳转至Question页面,此页面提供“查看”的功能,用户能够查看此问题的具体信息,如他人回答、回复等 |
未实现 |
Details |
用户点击后,将查看与Tag标签相关联的全部信息(如课程、问答、资源等),即跳转至Tag的展示结果页 |
未实现 |
Reference |
用户点击后,将查看此课程所对应的源链接(如伯克利的课程页面) |
未实现 |
Upload file |
用户点击后,可用于上传文件 |
未实现 |
在User页面的Activity子页面的设计中,涉及的按钮与层次可罗列与下表
按钮 |
功能 |
实现情况 |
%d like |
用户点击此按钮后表示用户对此消息表示赞同或鼓励,同时%d增加 |
未实现 |
Reference |
用户点击后,将查看此课程所对应的源链接(如伯克利的课程页面) |
未实现 |
Question’s news |
用户点击后能够跳转至Question页面,此页面提供“查看”的功能,用户能够查看此问题的具体信息,如他人回答、回复等 |
未实现 |
Edit |
用户点击后,对于问题,不能修改此问题的标题,但能够修改此问题的详细信息;而对于回答,则能够修改个人回答的具体信息 |
未实现 |
Delete |
用户点击后能够删除问题和个人的回答 |
未实现 |
在User页面的Settings子页面的设计中,涉及的按钮与层次可罗列与下表
按钮 |
功能 |
实现情况 |
Edit Profile |
用户点击此按钮后将刷新此Settings子界面,在此界面中用户能够编辑用户的基本个人信息 |
未完全实现(未构造链接) |
Icon Edit |
点击后将弹出此segment的modal弹窗,用户能够在此弹窗中修改信息并进行保存 |
已实现 |
Input |
用户将具体信息填写在此框中,placeholder内是提供给用户的填写提示信息 |
已实现 |
Work|School|Other |
用户点击任一按钮,将根据用户所选择的按钮弹出其他选项令用户进一步填写其他信息 |
未完全实现(未构造链接行为js)
|
系统功能总体描述
网站能够采集专业化社区中的问答数据、高质量课程资源、专业技术文档中的内容,为使用者提供一体化的、精准的、高质量的搜索内容。
用户能够通过网站间接参与到上游社区的讨论中。
用户能将网站作为平台,与自己的同专业,同行业的其他人进行交流。
整理:韩慧敏