第7-9章 作业

 前言:本次题目博客地址https://edu.cnblogs.com/campus/tju/2016SCSMaster-TJU/homework/104

第一题.对四则运算软件需求的获取方式进行实践,例如使用调查问卷访问相关关系人等。--By梁旭晖

我们采用调查问卷的形式,取得我们想要的结果

 

 

第二题.采用四象限法将你小组的四则运算软件的需求功能进行分类。阐述其优势与不足。--By侯伟婷

  1.四象限法

  首先四象限法是将要做的事情按照紧急、不紧急、重要、不重要的排列组合分成四个象限,这四个象限的划分有利于我们对时间进行深刻的认识,并且有效地对项目在时间上进行管理。

  

  如图所示,第一象限包含的是紧急而重要的事情,这一类事情无法回避也不能拖延,必须优先解决;第二象限包含的是紧急但不重要的事,不具有时间上的紧迫性;第三象限的事件是紧急但不重要的事,有时候这一象限的事情会因为它的紧急占据人们很多宝贵的时间;第四象限的事件大多是琐碎的杂事,没有时间的紧迫性,也没有任何的重要性。

  2.四则运算功能需求

  四则运算的功能性需求如下所示:

  a)随机生成题目

  需求详解:可随机生成预满足条件的算术表达式。

  b)题目要求

  需求详解:一次性可以批量给出100道以上的题目,且不会重复。

  c)年级选择

  需求详解:按照小学具体情况,共设置6个年级的题目,不同年级的学生选择本年级的题目。

  d)难度选择

  需求详解:针对同一年级学生的水平也会出现高低不同的情况,将为用户设定自测题目,之后根据用户的水平层次来分配难易题目。

  e)年级排行榜

  需求详解:为提高同学的学习动力,设置年级排行榜,根据答题总题目,正确答题数,答题速度等各项指标对同学答题成绩进行排行。

  f)每周竞赛

  需求详解:设置每周一次的数学答题竞赛,给同学们一个良性的竞争环境。

  g)用户答题要求

  需求详解:答题者计算算式值并填写最终计算结果最简形式,其中分数采用真分数或假分数的形式表示。

  h)答题结果分析

  需求详解:分析答题结果,显示所有答对和答错的题目数量,并指出具体答对、答错的题目编号。

  i)题目存储

  答题结束后,允许用户人工选择是否存储题目及正确答案到文件中去。

  根据四象限法则进行划分的话,结果如下:

  

  优势:在能够为学生提供题目的基础上,为了提高学生的答题成绩,从学生角度设计了多种方式来让学生提高学习兴趣并获得锻炼。

  不足:可能竞赛或者排名会对成绩较差的学生产生了消极懈怠的心理,这就需要家长和老师帮助进行心理疏导;软件也可以从家长或者老师的角度出发,帮助达到提高学生成绩的目的。

 

第三题.尝试把四则运算软件需求进行分解,变为每个小组成员可执行的积压工作项,分配这些工作项到小组成员,并预算完成时间(以小时为单位)。并在完成后填入实际用时。--By林培文

    1.经过小组讨论后,制定最终版小学生四则运算需求。对比小组当前的工作进度后,余下未完成的工作项大致有如下几个方面

剩余工作项
界面设计 界面线稿、低保真设计、界面交互设计及界面原型设计
数据库 本地数据库SQLite设计及接口实现、后台数据库MySQL设计与实现
Android客户端 依年级自动生成运算题、依用户需求自动生成运算题、界面的代码实现及相应动画
后台服务器 服务器后台搭建

    2.依据小组成员的特长和前期的工作内容分配对应的工作项,小组成员的人物分配如下:

成员任务分配
郭青云

本地数据库SQLite的表设计及相应功能接口实现;

Android客户端自动生成运算题、各功能接口;

后台服务器功能编写;

梁旭辉

SQLite后台数据表设计及相应功能接口代码实现;

后台服务器框架搭建;

林培文

界面线稿、低保真设计、界面交互设计及界面原型设计;

Android客户端界面代码实现;

侯伟婷

后台服务器的框架搭建;

需求分析;

  3.将具体积压的工作项细化并分配完成后,为保证项目的进展,制定出对应的工作时间,每个小组成员按照该时间表完成对应工作,表格如下

任务完成时间表
任务 具体内容 预算完成时间 实际完成时间
需求分析 设计问卷调查表、利用各问卷服务平台投放问卷 20h 18h
界面设计 界面线稿、低保真设计、界面交互设计及界面原型设计 50h 进行中
数据库 本地数据库SQLite设计及接口实现、后台数据库MySQL设计与实现 15h 进行中
Android客户端 Android客户端自动生成运算题、Android客户端各功能接口、Android客户端界面代码实现 60h 进行中
后台服务器 后台服务器的框架搭建、后台服务器功能编写 60h 未开始

第四题.总结近5周以来的github上的工作情况,以图表方式分析你小组的工作情况、存在的问题及解决的方案。--By郭青云

1.GitHub总体工作内容详情

(a)小组成员更新github网络折线图

 

(b)小组成员github代码贡献走势图


2.任务详情小组成员大致任务分工与完成进度如下图所示:

3.出现的问题及解决方案

在工作过程中确实遇到过很多大大小小的问题,通常我们遵循“小问题个人解决、大问题集体解决“的原则来处理。这种解决问题的方法屡试不爽,即保质也能保量的完成任务。由于问题太多,下面仅列举了我们遇到的三个示例: 

(a)批量生成题目时的重复性检测

解决方法(算法):

1.算式生成之后计算出它的值,并于其它已生成的互不重复的算式的值做比较。
2.如果相同的值已存在则对这两个具有相同值的算式进行分析,否则两个算式不重复。
3.如果上一步获得的两个算式各自包含的运算符一一匹配,则进一步分析它们的各自包含的数值。否则可以判断这两个算式不重复。
4.如果两个算式各自包含的数值一一匹配,则可以判断这两个算式是重复的,否则不重复。       

(b)分式计算问题

解决方法:在计算分式值的过程中,将除号看作分数线,整数以分母为1的分式对待,从而计算整个分式的值。分式求值方法与整式求值方法相同,均采用后缀表达式来计算。最后约分,以真分数或假分数的形式显示计算结果。


(c)github提交冲突问题

解决方法:

方法一:手动修改。把<<<<那些都删除,整理出一个版本,保存。这是手动merge了。

方法二:采用git命令解决冲突。

4.总结

小组成员的任务分工原则是:个人实际能力和开发经验。比如林培文擅长PS,做过游戏场景开发,因此本组的UI设计任务由他来主导;再比如侯伟婷语言组织能力强,因此本组的文档撰写工作大部分由她来担当;还有梁旭晖等......概括起来就是各取所长,各显神通,所以本组的任务分配称得上科学合理。尽管分工有合理的分工,但是开发过程中不可避免地遇到了一些短时间内难解决的问题,这里我们采用“小问题个人解决、大问题集体解决“的原则来处理,也达到了很好的预期效果。组员们对工作内容既充满信心也怀有浓厚的工作热情,主要体现:1.在每周的课程作业发布下来之后都能积极去承担任务,保质保量的完成任务并发表了博客;2.小组成员积极地参与到了Git上的项目,并多次提交个人最新的工作内容(参照本体第一点的工作折线图);3.小组讨论时均能踊跃地参与到讨论中来,针对不同的问题都提出了自己的见解与建议,为项目的顺利进行铺平了道路(参考上周作业的小组讨论内容截图)。相信在本组成员的共同努力下,最终一定能拿出一个令人满意的作品!

posted @ 2016-10-08 16:36  ghll_coder  阅读(349)  评论(0编辑  收藏  举报