团队作业2——需求分析&原型设计

需求分析&原型设计

引言:

  软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。原型设计能够在表现层将设计合成一个逻辑整体,用户能和你一起看到未来交互的软件蓝图、功能和效果,获得较真实的感受,在不断讨论的基础上完善未来的设计思想。因此,原型设计能起到有效沟通的作用,漂亮,直观的原型图更是让人赏心悦目。

一、需求分析:

1.访问软件项目的真实用户(至少10个),确保软件真正体现用户的需求,为软件最终可用奠定基础。

调查问卷
为此,我们做了一份网上调查问卷,截止目前(2017年4月10日)我们一共收到了29份(因为本系统针对的用户对象是教师,所以我们仅邀请师范专业的同学帮忙回答,导致答卷有点少)答卷。实际上这些答卷也足以反映一些问题,比如:

从这一选项中可以看出,在给学生做测试或者练习时,有教师会选择自己出题,并且这一情况所占的比例还很大,这就说明了我们这个自由组卷评分系统的是有市场的,这个项目是有意义的。
再比如:


若自己出一套题目,不同的老师所需要的时间是不一样的,但是无论时间长或者短,都需要花费好几个小时,而我们的自由组卷评分系统会大大地提高他们的出题效率。
再比如:

分析了他们获取题目的途径之后,我们可以从这些途径当中收集题目并保存到数据库中,当用户使用我们系统组卷的时候可以选择试题来源,系统根据所选择的试题来源从数据库中选择相应题目进行组合。
再比如:

在错题处理这一问题上,我们提供了错题集的功能用于收集易错题、难题等题目,这极大地解决了用户自行记录错题时所面临的一些不必要的麻烦,同时提高了办公效率;另外,我们的系统还提供了错题导出功能,方便用户对整理出来的错题进行相关操作。
再比如:

由统计结果可知,参考答案和题目解析是必要的,方便同学们在没有老师指导的情况下对自己掌握的知识进行测试时可以检验自己的思路是否正确以及学习正确解题的方法。
再比如:


上面这张统计图反映出,这几点要求都是刚性需求,是功能分析中的第一象限的必要需求,没有几项功能,用户不会买账,所以在软件开发过程中要全力以赴地投入到这个领域。

同时,题目检索也被我们划到第一象限中,我们认为这也是用户的刚性需求
最后比如:

我认为我们的产品如果能做好,肯定能带来一笔丰厚的回报~

2.参考《软件需求规格说明书》国标规范文本,撰写对应项目的软件需求规格说明书。提供《需求规格说明书》的Git链接。

说明编写这份软件需求说明书的目的,指出预期的读者。软件需求说明书的作用在于便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据,并作为确认测试和验收的依据。附上本项目《软件需求说明说的》码市链接:

《软件需求规格说明书》

3.NABCD

N(Need,需求):我们了解到,对于小学、中学甚至大学教师来说,为了了解学生对知识的掌握和理解情况,一般是采取笔试的方式对学生进行测试。那么这就带来了一些问题:如何找到题目?如何整理找到的题目?如何选择合适的题目?如何将题目组合成试卷?如何在不耗费人力的情况下对学生给出合理的分数?等等。为此,我们小组致力于开发一款基于 WEB 的在线自由组卷评分系统,旨在为教师提供强大的功能以帮助教师更方便地对学生进行测试。
A(Approach,做法):在大的方向上,我们选择使用Java进行web版本的开发。有了开发的方向,就能进行具体地实现了:
1、基本功能的实现:这款产品的基本功能是实现在线的自由组卷,为此,必须建立一个数据库用于有序地保存和管理大量的题目,系统能按照用户要求从数据库内选取合适的题目组成一套试卷。其他所有的功能围绕基本功能开展。
2、用户刚需的实现:在前文我们有提到过用户的刚性需求,即用户认为一个好的在线组卷系统应该满足的几个要求:题目质量高,为此我们必须从各种资料中精选高质量的题目并录入数据库;找题方便,必须将题目分门别类;上手难度低,这就要求系统的交互具备较高的人性化设计,并且具备友好的界面;组题自由,必须允许用户从不同的类型、不同的来源、不同的难度、甚至不同的科目中出题组卷。
3、界面设计:这一方面就由美工来设计,设计模块的位置、颜色等等,还可以设计多种皮肤。
4、跨平台运行:如果本产品能受到用户的欢迎,我们会考虑做除了 web 以外的各种版本甚至跨 Windows 平台的版本。
B(Benefit,好处):这个产品带给用户(教师)的好处当然是显而易见的,它能大大提升用户的工作效率,如让用户花费更加少的时间出更具有针对性的题目,只要用户按照自己的想法选择不同的选项,系统就会给其推荐符合条件的题目并列出来让用户自行选择;同时,如果用户是学生,那么本系统能提供权威的例题解析,让学生对题目的理解更加透彻,从而更深层次地掌握知识点。
C(Competitors,竞争):目前我们有了解到一个网站:在线组卷网。该网站和我们本项目开展的初衷完全一致,旨在提高教师教学效率和反馈教学效果,提高学生学习自主性,而开发出来的综合考试管理平台。在线组卷网收纳了包括橡皮网、e卷通组卷系统在内的9大在线组卷平台,其功能包括支持教师/学生版本、分类出题/出卷、作业系统、名师课程等,题目涵盖小学、初中、高中甚至大学的课程。可以说我们还是比较被动的,我们的优势在于,可以根据现有成品进行分析和测试,找出需求上的空缺,做出更有针对性的产品,从而占据一定市场。
D(Delivery,交付):交付这一部分,应该由负责商业谈判的项目经理来完成,当然,我们小团队并没有固定的项目经理,大家相互督促、相互帮助。但是说到底,交付过程中最重要的一步就是宣传,广告。所以我们决定,当产品完成,我们会发动广大亲朋好友帮我们宣传,如果效果好的话会吸引一波投资商对我们的产品进行投资,这样我们就有一定的资金来进行进一步的宣传。

4.团队协作,加强分工,需要描述每个成员的具体分工及占整个文档任务的工作量比例。

在人员分配的问题上,经过团队内部的讨论,决定分配任务如下:
201421123093 何琴琴(组长):测试与需求分析,撰写《软件需求规格说明书》,占整个文档任务的工作量的15%
201421123094 翁彬妹:模块开发,占整个文档任务的工作量的20%
201421123103 黄良静:模块开发,占整个文档任务的工作量的20%
201421123119 吴世荣:测试与需求分析,占整个文档任务的工作量的15%
201421123120 祝攀峰:数据库的管理和维护,占整个文档任务的工作量的15%
201421123121 栗海辉:美工,页面布局,占整个文档任务的工作量的15%

二、原型设计:

一.不要等到所有代码写好之后再去验证需求,请用设计工具描述用户界面和需求。二、原型设计不仅要考虑主要功能的页面排布,同时也要考虑用户实际操作中的问题,提前为用户考虑得当并征求用户意见。三、系统是必须可运行的,可实际使用的——请抱着这样的同理心去考虑系统。

1、用户登录界面:当用户输入账户和密码登录系统之后,系统会判断用户的身份,也就是说教师和学生登录之后是不同的界面,使用不同的功能。

2、出题选项:教师根据提示给出选题条件,系统根据教师的输入推荐最优的结果,当教师不满意本次推荐的结果时,还可以点击“重新生成”按钮重新生成新的试题卷。

3、样卷:卷子提供题目的解析功能,当学生进行测试时能够查看解析,一方面可以快速核对答案,另一方面可以针对不懂的题目进行思路的向导。

4、评分系统:我们必须做一个评分系统,对学该次考试做出一个合理、客观的评价(评分),当然如果学生对我们的评分有疑问可以查看考试详情,不服者可以选择再考一次。

5、考试详情:在考试详情这一栏里,我们会给出得分的情况、历次考试分数记录和错题分布等等,让学生清楚自己的问题所在,更好地了解自身对知识点的掌握情况,从而进行针对性的复习或者学习。同时我们还为每个学生用户提供自己的错题集,他们可以在查看评分的时候一键将错题导入错题集。

6、等等

三、编码规范

1.代码风格:简明(该简略的简略,有的必要不要缩写)、易读(每个函数都要有注释)、无二义性(根据用途定义变量名,勿随意起名)。

2.缩进:采用Tab键

3.在复杂的条件表达式中,采用括号清楚地表示逻辑优先级。

4.条件语句中,若只有一句处理语句,换行缩进一个Tab,不加{}。

5.同一行的变量定义应相同,不要把不同的变量定义在同一行上。

posted @ 2017-04-13 22:39  vviane  阅读(507)  评论(8编辑  收藏  举报