0429团队项目-对师姐的软件的一些改进

一、团队

 

小组团队名称:开拓者队 

团队博客地址:http://www.cnblogs.com/rightTeam/ 

团队GITHUB地址:https://github.com/rightTeam

 

 

团队成员:

 

学号:201406114205 

姓名:陈嘉慧 

个人博客链接:http://home.cnblogs.com/u/hui1005039632/ 

个人GITHUB链接:https://github.com/Sandyjiahui

 

  

学号:201406114215 

姓名:林志杰 

个人博客链接:http://www.cnblogs.com/15linzhijie/ 

个人GITHUB链接:https://github.com/hellolaona

 

  

学号:201406114228 

姓名:郑铭泽 

个人博客链接:http://www.cnblogs.com/95mz/ 

个人GITHUB链接: https://github.com/zhengmingze

 

  

学号:201406114237 

姓名:古林萍 

个人博客链接:http://www.cnblogs.com/moliny/ 

个人GITHUB链接:https://github.com/Moliny

 

二、题目:

 

 

在此基础上,进行软件的改进。

首先,我们把这个软件理解成一个投入市场的、帮助小朋友进行算术运算练习的APP。

从质量保证的角度,有哪些需要改进的BUG?

从用户的角度(把自己当成小学生或真的请小学生帮忙),需要在哪些方面进行改进?

从产品的角度(软件的市场定位、推广方式、盈利模式等),我们要对现有软件做些什么手脚?

从开发者的角度,在架构、算法、技术实现、可扩展性、代码规范等方面可以怎样优化?

......

参考但并不限于以上几条,列出你们觉得需要改进的地方及理由。(博客)

并尽可能从你们组的列表中选择两点将改进实现。(GITHUB)

截止日期:2016.4.28晚10点。

 

 

 三、改进内容:

 

(一)、从质量保证的角度,有哪些需要改进的BUG?

该程序中在运行过程中,会报错自动退出,体现在当程序由使用界面返回至主界面时。

改进如下:

一、当用户点击返回键时提示“再一次退出程序”防止用户误点。

MainActivity.java

 

二、修复游戏点击返回键报错自动退出。

 

MainActivity.java

 

 

PlayActivity.java

 

 

 

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

(二)、从用户的角度(把自己当成小学生或真的请小学生帮忙),需要在哪些方面进行改进?

(1)菜单:在进入该程序的时候,应该要有一个菜单供我们选择,比如开始测试,测试分数记录 测试难度选择,退出测试等;

(2)增加难度选择功能:这个功能可以给我们提供一个难度选择,如初级,中级,高级。不可能每一个小学生的能力都和现在软件的数学水平相等。

(3)增加每道测试时间限制的功能:这个功能也可以说是一个难度,有了时间的限制,可以让我们能更好的做好每一道题目。而且还能提高自己的计算能力。

(4)增加测试结束时查询测试结果(或者错题)的功能:这个功能能提供一个查看自己刚刚所做题目哪些是做错的题目,对自己的错题所错的地方有一个了解和改进。

(5)设置测试结束菜单(可选择返回菜单,或者继续测试):在做完所有的题目的时候应该要有一个返回菜单供我们选择,让我们继续使用该软件,而不是要用手机的返回键返回,而且用手机返回键返回还会出现闪退。

 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

(三)、从产品的角度(软件的市场定位、推广方式、盈利模式等),我们要对现有软件做些什么手脚?

(1)首先是从消费者的需求出发,小学生功课很多,现在市场也出现了很多的补习班,家长挺重视小学生的功课,市场很大,竞争者不多。而且很多运算软件都不是免费的,整体的潜在市场大;

(2) 现在推广方式有很多,微信、电子邮件、微博、博客、论坛、短信、广告、超市、路演......普遍家长能接受的有网络推广;

(3) 嵌入一些小广告,玩家可以试用一个星期,一个星期之后就会收费;

 

 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

(四)、 从开发者的角度:在架构、算法、技术实现、可扩展性、代码规范等方面可以怎样优化?

1、改进内容:

  (1)游戏成功界面跟游戏失败界面只不过是一个单词的差别,却另外做了一个界面,降低了运行效率,占多了内存空间

  (2)没有音乐开关按钮,显得不人性化

  (3)也不能提供新的一轮题目,每次运行一次就被强制退出,也不够人性化

  (4)使用的是UI设计,主要是对界面的设计,虽然UI设计者背景大多数是软件工程师,但是并不能很好地体现出软件工程的思想(使用工程化的方法)。只能说设计思路比较先进,符合潮流而已。

2、改进实现代码:

该项目主要算法:最大公约数算法

Calculator.java

 

 

 

 

 

 

 

 

 

 

 

代码优化:

 

 

 

 

 

 

 

 

 

 

这四个函数都是用于除法运算,作用小,又没按照顺序,可以放在一块

 

 

修改之后如果有必要,可以再添加四舍五入计算

 

 

 对改进的代码进行单元测试:

 

3、总结:

       这段代码又可以放在一个函数,虽然函数多有利于测试,可是这两句代码作用小,而且还特地用了两个函数,不利于阅读和审查代码

使用构造方法,这样修改的好处是calculator类只提供带形参的方法,在调用的时候可以直接把实参放进去,还方便进行junit测试。

 

4、建议:

      1、可以多使用接口interface,这样就可以提高扩展性,不用在后续的功能在还得修改前面的代码。

      2、多使用带形参的构造方法,方便组员之间阅读和使用。

      3、有意识地把每个模块进行分类,并进行说明。既有利于单元测试,又简明,减少冗余代码。

      4、在用类和方法的时候要多注意究竟是使用类还是使用方法比较合适。建议类可以要么只放着带参数的构造方法,要么可以在此基础上继承的父类。如果在使用类或者方法的时候很随意,只会让代码的结构混乱而复杂。好的代码读起来简单易读,像是艺术一样。

 

 四、资源

 

github地址:https://github.com/rightTeam

 

 五、团队评分

<1> 陈嘉慧:19

<2> 林志杰:22

<3> 郑铭泽:21

<4> 古林萍:18

 

 

 

posted on 2016-04-26 16:11  rightTeam  阅读(226)  评论(0编辑  收藏  举报

导航