Skip to content

Latest commit

 

History

History
615 lines (502 loc) · 27.6 KB

Require-Specification.md

File metadata and controls

615 lines (502 loc) · 27.6 KB

需求规格说明文档

版本号:v1.0

修订历史:

版本号 修改说明
v1.0 将用户需求分析中的用户场景分析剥离,加入界面设计文档,形成初稿

##目录:

1. 引言

1.1 编写目的

此需求规格说明书编制目的是明确本项目的详细需求,供用户确认项目的功能和性能,和用户形成一致的理解和确认,作为进一步详细设计软件的基础。

本文档仅供软剑攻城队的项目经理、设计人员、开发人员进行参考。

1.2 项目背景

  • 项目名称: 物理实验交流平台
  • 项目面向用户:北京航空航天大学大学二年级在读生
  • 项目开发者:北京航空航天大学软工实践 软剑攻城队 小组

1.3 预期的读者和阅读建议

此需求规格说明书针对项目经理、设计人员、开发人员、用户及测试人员。本文分别介绍了产品的远景规划、用户功能及运行环境,系统的功能的具体描述。

1.4 项目范围

在北航,每年从9月份至明年1月份约有3800在校学生(大学二年级上)必修大学物理实验(上),在3月份至明年7月份约有2400在校学生(大学二年级下)必修大学物理实验(下)。由于物理实验数据计算较为繁琐,很多学生的物理实验报告得分较低且经常会被老师退回反复修改。所以需要这样一套物理实验平台帮助学生进行物理实验报告的撰写,提高得分率,降低驳回率。

1.5 参考资料

  1. 代码大全(第二版),Steve McConnel。
  2. 《构建之法》(第二版),邹欣。
  3. 《GB8567-88 计算机软件需求说明编制指南》

2. 总体描述

2.1. 目标

开发背景

北京航空航天大学的大部分二年级饱受物理实验折磨,每周被迫花比较多的时间在物理实验的数据处理上。他们缺少规范的、标准的预习报告,没有可供参考的正确度较高的实验数据处理报告。物理实验数据的处理,规范报告的撰写以及随时可能被退回的风险,对同学们造成了非常大的困扰。

开发意图

信息化的时代应当尽量利用程序来帮助我们简化很多繁杂的计算,又由于物理实验本身特殊的性质,数据处理十分繁琐,但是对于每个同学又是一套固定的流程。所以我们团队着手开发这样一款产品帮助大家解决物理实验数据处理上遇到的问题。由于实验的原始数据数量较多,并且常以表格形式进行组织,在手机客户端上输入不便,所以我们最终采用了网站的形式来呈现物理实验报告。

应用目标和作用范围

应用的目标和作用范围包括了必修物理实验的北航二年级本科生与物理实验组的所有老师。

产品前景

物理实验平台是一个新型的产品,利用比较成熟的技术的组合,实现了一项本身难度较大的功能。并且它取代了当前物理实验数据处理使用人工计算的方式,采用程序自动化计算,填入实验报告,实现了自动化处理实验报告的流程,是技术上可行的产品,造福了许多饱受数据处理折磨的同学。

2.2. 用户场景分析(User Analysis)

下面针对我们的系统主要面向的五类用户:

  • 因基础较弱对物理实验毫无办法,而实验报告因为步骤不规范而总被退回、导致重修的同学。
  • 会做一部分物理实验,但因数据误差过大而被退还报告的同学。
  • 会做绝大部分物理实验,但因一部分实验处理数据难度较大,希望得到帮助的同学
  • 负责期末物理实验考试答疑的老师
  • 负责平时物理实验报告审批的老师

下面我们通过分析典型用户场景得出各位用户的需求:

用户场景:

1.重修生小徐

名字 小徐
性别
职业 某校一般学院大三学生
物理知识层次与能力 好得我实验都重修了
生活情况 大三也要每周花将近一天时间坐地铁回沙河上物理实验,十分苦逼
动机 我真的不想再挂科了
目的 希望能够帮助自己处理好实验报告,至少能保证实验报告不因数据处理步骤不对而被老师退回。
困难 自己物理知识较弱,希望计算过程能详细又简洁。
用户偏好 简洁即可
用户比例 约占同届学生10%
典型场景 登陆实验平台,根据预习报告模板写好预习报告。在实验完成后,将数据导入网站,一键生成物理实验报告,按正确的步骤写好报告,获得及格分,通过物理实验。
典型描述 哈?你说啥?我实验报告又没过?!

2.工科学霸小松

名字 小松
性别
职业 某校计算机学院大二学生
物理知识层次与能力 你问我究竟听不听大学物理课,其实我是听的。你问我会不会做物理实验,其实我是不会的。
生活情况 计组实验,计组实验,计组实验。
动机 本学期有难到哭的计组实验,没有太多时间留给物理实验处理数据,更没有时间因为数据错误而再次抢课,从头在来。
目的 在实验课上就可以快速算出结果是否在预计误差范围内
困难 没什么困难,我能说计组实验吗
用户偏好 不是处女座,没什么严格偏好
用户比例 绝大多数,约占校人数70%
典型场景 这次选择了号称魔鬼实验的1081,课上做完实验用手机去平台检查一下数据,咦,这个数据有问题?幸亏没早走,把这个步骤再重做一次,恩,这下数据没问题了,可以去找老师签字了。
典型描述 朝荣奶奶,求手下留情

3.物理学院学霸小何

名字 小何
性别
职业 某校物理学院大二学生
物理知识层次与能力 活到老,物理学到老,物理就是我绳命。
生活情况 物理实验,物理实验,物理实验。
动机 要选修够将近60学分的物理实验,保守估计至少需要做11~12次物理实验。有些物理实验很难,不太懂其中的计算过程。
目的 希望能给出具体的计算过程,把自己方法中不太会的地方搞懂。
困难 工具简单易懂即可
用户偏好 比物理实验网站好看就行
用户比例 约占校人数8%
典型场景 处理实验数据时遇到了困难,有某个方法不太明白计算过程。在物理实验平台上通过展示出每一步的计算过程学会了方法。
典型描述 我爱物理实验,可是...它不爱我呀

4.物理实验答疑办王老师

名字 王老师
性别
职业 某校物理实验老师,没有几年教学经验
物理知识层次与能力 对物理实验的理解稍稍入门
生活情况 在期末时为学生进行物理实验考试有关答疑
动机 一到期末考试只有几天答疑时间,从上午8点答疑到晚上8点,时间紧张又累人。学生之间没有交流,大部分问题都是重复的问题。
目的 想有个在线平台可以用于物理实验考试的答疑
困难 暂时还没什么困难
用户偏好 希望自己针对某个问题回答一次,学生都可以轻易查找到
用户比例 占一部分,约占校老师人数的10%
典型场景 登陆论坛,点击进入物理实验考试答疑板块,发现学生在询问一个问题,回帖答复,感觉很满意。
典型描述 一次答复,终身使用。

5.物理实验李老师

名字 李老师
性别
职业 某校物理实验老师,有三十年教学经验
物理知识层次与能力 对物理实验的理解已经突破天际
生活情况 带领学生做实验,检查实验报告,退回不合格实验报告
动机 没法和学生进行交流,不知道学生在物理实验里问题究竟出现在哪里。
目的 想和学生就实验的难点和学生存在的问题进行探讨,并将这些知识积累下来
困难 学生都害怕我,从来没人给我打电话以及发邮件
用户偏好 没怎么用过论坛,希望简单易懂地交流
用户比例 占一部分,约占校老师人数的10%
典型场景 登陆论坛,看看学生们在讨论哪个实验,去帖子里回答一下学生的困惑,与学生更亲近。
典型描述 大家好,才是真的好

用户的需求

  1. 小徐:希望参考步骤规范的物理实验报告,让自己的物理实验报告不因步骤不规范而被退回。

  2. 小松:平台能针对手机端设计一套机制能够既方便用户输入,又能简单快速地帮助用户检查实验数据是否正确。

  3. 小何:生成物理实验报告时能够给出每一步方法的中间计算过程,方便大家学习与参考。

  4. 王老师:希望能够在实验交流平台上答疑,为同学们解答期末考试有关问题。

  5. 李老师:希望能知道学生们在实验中遇到的问题,下次上实验课时就可以更有针对性地进行授课。

注:物理实验原始数据单在课上会经老师检查签字,部分老师会录入电脑,数据基本不可更改。若因课上实验数据出错而无法通过实验报告审批,则必须重新抢实验并从头再来一遍。一次物理实验的时间一般是3~4个小时。

2.3 运行环境

网站预计将支持以下几种主流浏览器:

火狐浏览器谷歌浏览器

在IE上或以IE为内核的浏览器上主要功能可用,但是效果体验可能不如其他浏览器好: IE浏览器

2.4 假定和约束

假定

  • 可操作性:假定使用本网站的用户在经过一段时间熟悉之后,可以灵活地操作本网站来满足自己的需要。
  • 用户支持:假定在本网站在开发的各个环节中得到用户的有效支持和配合。
  • 技术支持:假定开发初期,小组成员充分认识本系统的需求,认真学好相关知识。开发过程中遇到技术问题,可以及时得到其他同学或者老师的指导与帮助。
  • 人员配合:假定小组主要成员基本不会出现变动,并且在项目开发过程中不会因为突发情况的发生而导致项目成员无法正常参与开发工作。
  • 时间限定:假定项目的截止时间不会提前。
  • 需求限定:假定项目需求基本确定之后,不会有太大改变。

约束

人员约束: 团队成员均为大三学生,共7人。 管理约束

  1. 本次开发,实行分工合作的模式进行。团队由一人担任项目经理,一名UI设计人员,一名前端逻辑开发人员,三名后端开发人员和一名测试与文档人员组成。团队开发过程中按照进度表进行,开发过程中遇到的问题通过小组会议得到一致的解决。
  2. 小组成员首次合作,需要一个磨合过程,需要明确自身责任,分清各自的任务,互相配合,遇到问题项目经理必须能够有效进行协调,才能快速、有效地完成开发过程。 技术约束
  3. 大部分小组成员在相关技术水平方面存在一定欠缺,缺乏相关项目经验。文档编制能力也有待提升。
  4. 小组成员在UI方面,能力有限,只有个别人员有前端开发能力。 时间约束: 本系统开发周期较短,时间相对紧张。 其他约束: 由于在开发期间,小组成员还有其他科目的学习任务,将对项目进度造成不小的影响。

3. 界面原型

3.1 概述

产品初稿

1、核心功能: 支持通过选择物理实验序号进入相应物理实验预习报告页面。

在本页面点击导出模版时可以得到一个关于模版的详细说明与模版标准样式。 在点击导入数据后,等待一定时间后生成一个由用户填写的带数据的已经计算完成的标准实验报告并在预习实验报告的位置显示。 这时数据库中应当包含有各大物理实验报告的模版,用户生成的实验报告不予以保留,临时存储即可。

2、进阶α版本需要功能: 增加用户在数据库中的信息:包括用户名,用户密码,用户注册邮箱, 用户的学号(查验)用户收藏的物理实验报告。 Feature: 用户可以在生成物理实验报告后将带有用户个人数据的物理实验报告收藏到用户的收藏夹,收藏夹有存储上限。 此时生成物理实验报告界面大致如下:

3、进阶β版本需要功能: 彻底解决物理实验报告中的绘图问题(FIXME:在没有之前如何解决?需要讨论) 。 增加物理实验平台交流区,不同的交流区类似于论坛样式的独立显示。交流区的编辑器只支持基本的文字编辑,加粗,加斜与图片上传即可。交流区尽量简洁优雅,不需要有评论的楼中楼回复。回复时像多说一样,只显示头像与用户名,其余不显示。

大纲说明

在本次项目中,我们尝试和使用了UXPINMockPlusMockUpBuilder工具进行了用户界面的原型设计,经过反复多次的用户原型设计修改,最终确定用户原型界面设计如下。该界面设计是针对到α版本的功能实现的主要界面的设计。因为MockUpBuilder对中文支持不佳,所以最后使用英文来展示我们的原型界面。

我们的界面框架大致如下:

3.2 界面首页

首页预览版

首页

上图为我们所设计的首页预览版原型图,涉及到的按钮与功能有:

按钮 功能
Home 如果用户已处于登录状态,则返回用户登录时的主页;如果用户处于未登录状态,则返回用户预览主页。
Community 点击后进入物理实验交流平台页面
Login 点击后进入用户登录页面
Register 点击后进入用户注册页面
Search 搜索后自动进入物理实验交流平台页面,并显示对帖子内容搜索结果返回的界面
Try it now! 如果当前用户已经登录,则自动跳转到物理实验报告生成页面;否则跳转至用户登录页面,当用户登录完成后,自动跳转到物理实验报告生成页面。
? 弹出弹窗,并显示一些物理实验的相关注意事项

注:物理实验交流平台是后期功能,将放在beta版本中进行开发

  • 在网站主体左侧是一个物理实验平台与工具的使用视频

  • 在网站主体右侧显示我们项目的特色:

  • 根据用户数据定制物理实验报告

    • 支持生成图表
    • 支持显示公式
    • 支持物理实验文档pdf导出
    • 支持用户收藏定制的物理实验报告
    • 老师与学生的互动交流平台
  • 在网站右下角显示了当前的日历与时间

首页登录版

首页

首页登录版增加的功能是: 当用户点击右上角的User welcome时,弹出一个悬浮框,有两个按钮,按钮功能如下:

按钮 功能
Personal Center 点击后进入用户的个人中心
LOG OUT 点击后退出登录状态,页面跳转向首页预览版界面。

3.3 登录

登录界面

以上是我们设计的登录界面原型图,涉及到的控件与功能有:

控件 功能
Home 返回首页预览版
Email/Name 填入用户名或邮箱以登录。输入的用户名长度限制在6-20个字符之间:如果用户名长度不符合限制或输入了非法字符,右侧的checkbox将变为错误状态;如果输入的邮箱不符合邮箱合法检查的正则表达式,右侧的checkbox将变为错误状态。其他情况,右侧checkbox处于正确状态。
Password 填入密码。输入的密码长度限制在6-15个字符之间:如果密码长度不符合限制,右侧的checkbox变为错误状态。否则checkbox处于正确状态。
Sign in! 使用填好的用户名和密码在数据库中进行查询,如果记录不为空则自动跳转到首页登录版,否则跳转到登录界面。

3.4个人中心

个人中心—个人资料

个人中心界面

以上是我们设计的个人中心—个人资料的原型图,涉及到的控件与功能有:

控件 功能
Edit Profile 更改个人资料,能更改的属性包括:Company,NickName,Introduction,Course(目前的物理实验积分情况)
Share 点击下方的分享按钮后,可以分享到新浪微博等。
Change Password 点击修改密码后,将进入修改密码的界面。
Log out 点击后进入首页预览版界面。
Profile 点击Profile时切换显示个人资料的标签页
Favorite 点击Favorite时切换显示用户收藏报告标签页

注:Course是我们考虑在beta版本中可能推出的一个物理实验课程推荐功能的基础,暂时只当作课程积分资料使用。 Share的分享功能也考虑在beta版本交流平台成熟后增设。

个人中心—用户收藏报告

以上是我们设计的个人中心—用户收藏报告的原型图,涉及到的主要是可点击的物理实验报告,用户在点击物理实验报告的链接后,会新建一个页面,显示用户在服务器上存放的特定的实验pdf文件。

3.5 生成报告

以上是我们设计的生成报告的原型图,涉及到的控件与功能有:

  • 主体左侧上方是个下拉列表框,可以选择带有实验序号和实验名称的实验。

  • 主体左侧下拉列表框在下拉时遮挡住了一个按钮Export template table即导出模版表,数据表的形式是excel,为各个实验的标准源数据记录excel模版。

  • 主体左侧下方按钮Import data table即导入数据表,数据表的形式是excel,导入后即向后台发出请求对excel进行对应实验的处理。如果导入的数据表格式不正确,则弹窗警告;否则就在后端生成PDF,并送给前端进行加载。

  • 主题左侧下方按钮Chart是指是否在实验报告中插入该实验的图表,点击变为ON的状态时生成的实验报告带有图表;点击变为OFF状态时生成的实验报告不带图表。

  • 主体右侧是物理实验报告。在导入数据表之前,它是一个预习实验报告;当导入数据表后,它是一个带有用户自己数据的定制实验报告。

  • 主体右侧下方是按钮Export,当点击该按钮时可以导出带有用户数据的PDF物理实验报告。

  • 主题右侧按钮左侧的★图标表示收藏,当点击该按钮时,首先判断用户收藏夹的pdf是否已经到达上限,如果到达上限,那么提示用户删除一部分物理实验报告;如果没有到达上限,将该pdf从临时缓存区取出存放到用户的收藏夹中,并且星星变为填充满的状态,表示已经收藏到收藏夹。

4. 系统功能描述及验收验证标准

4.1 对功能的规定

首页功能

测试功能 测试项 输入/操作 检验点 测试功能 完成情况
首页功能 初始界面 “主页”按钮颜色 黑底白字
“社区”、“服务”、“关于”按钮 可以点击
注册按钮 白字绿底而且可以点击
白字绿底而且可以点击 登录按钮颜色黑字白底而且可以点击
图片轮播功能 图片按照一定间隔自动切换
点击“PhyLab” Home键 刷新主页
点击“登录” 确认功能、结果显示 弹出登录框
点击“注册” 确认功能、结果显示 弹出注册框
点击“<” 确认功能、结果显示 切换到上一张图片
点击“>” 确认功能、结果显示 切换到下一张图片
点击“主页” 确认功能、结果显示 没有变化
点击“社区” 确认功能、结果显示 进入社区页面(β版本实现)
点击“服务” 确认功能、结果显示 出现“实验报告中心”
点击“关于” 确认功能、结果显示 出现网站信息
登录框 账号框(限制6-20位输入) 显示“请输入您的账号”,当输入长度超过20位或者少于6位的字符串时无异常
密码框(限制6-15位输入) 显示“请输入您的密码”,当输入长度超过12位或者少于6位的字符串时无异常右侧有键盘图标,点击可出现键盘框
记住密码选框 默认不勾选
登录动作 不输入信息,点击登录 确认功能、结果显示 无法登录,警告提示“请输入账号和密码”
仅输入账号或密码(输入格式正确) 确认功能、结果显示 无法登录,警告提示“请输入账号和密码”
输入账号和密码,两者之中,其一正确,其一错误 确认功能、结果显示 无法登录,警告提示“账号或密码错误”
账号或密码格式错误 确认功能、结果显示 无法登录,警告提示“账号或密码格式错误”
输入正确的账号和密码 确认功能、结果显示 登录成功,进入登录成功的界面
点击忘记密码按钮 确认功能、结果显示 进入密码找回界面
注册
页面二 点击“开始体验”按钮 确认功能、结果显示 如果已经登录,进入物理实验报告生成页面,如果没有登录,弹出登录框
页面三 点击“Join”按钮 确认功能、结果显示 如果已经登录,进入物理实验报告生成页面,如果没有登录,弹出登录框

物理实验报告生成功能

测试功能 测试项 输入/操作 检验点 测试功能 完成情况
实验报告生成 初始界面 编号输入框 显示灰色“请输入实验编号”
报告预览框 显示初始化的一篇文档,鼠标滑鼠可以下滑文档,右边有滑动条可以滑动图片,而且滑动条旁边有文本框显示当前显示的页数
实验选择框 下拉可查询所有实验,并且所有实验都可以点击
“录入实验数据”、“收藏”、“生成报告”按钮 颜色较淡而且不能点击
报告生成 点击任一实验 确认功能、结果显示 报告预览框显示该实验的预习报告
输入错误实验编号,点击Select 确认功能、结果显示 警告提示“实验编号输入错误,请重新输入”
选择任一实验,点击录入实验数据 确认功能、结果显示 弹出实验的数据采集表格
选择任一实验,点击收藏 确认功能、结果显示 弹框提示收藏成功,用户收藏夹里增加该实验,收藏按钮变为取消收藏按钮
点击取消收藏按钮 确认功能、结果显示 弹框提示取消收藏成功,用户收藏夹里相应实验删除,取消收藏按钮变为收藏
点击生成报告按钮 确认功能、结果显示 等一段时间之后,报告预览框显示生成的实验报告,在此之前,所有的选框和按钮处于禁用状态
点击“PhyLab” Home键 返回主页钮