当前位置: 代码迷 >> Android >> 【Android应用开发】-(十)一个应用程序开发的蜕变过程
  详细解决方案

【Android应用开发】-(十)一个应用程序开发的蜕变过程

热度:102   发布时间:2016-05-01 20:55:30.0
【Android应用开发】-(10)一个应用程序开发的蜕变过程

    因为首先是个人开发者,而不是团队开发。开发的过程中就没有那么规范,没有详细的需求,没有界面设计,也没有详细的开发计划等。所以一个应用程序的开发要经过很多次蜕变才能变得完美或者说取得更好的用户体验。当然了,这一切都是根据自己的开发技巧和技术层次而定的。

    下文是我在开发过程中遇到的一些有意思也很无奈的事。是看客的笑话也好,共鸣也好,我也都愿意将它记录下来,以飨看客。

    我们公司应用开发就我一个人,其余的就是底层驱动开发和硬件开发人员。 一天我接到上级的一个开发需求,只简单描述了需要实现的功能,说是用于产品批量生产时用来测试的。没有需求文档,没有UI设计。一般在这种情况下我会将需要实现的功能用文档列出来,再附上简单的开发计划。对于UI设计,也只是简单的用PS或者就用Word画个大体的设计,对于没有艺术细胞的我也是在是有点难为,哈哈……

    根据简单的需求,然后将各个功能列举出来,发现有18个小功能:WifiBT3GMICCamera等,因为是用来测试的应用程序,所以尽量做到自动,界面尽量能一目了然,比如:测试通过的为绿色,未通过的为红色。下面就可以进行开发了

    首先,项目的命名有点意思。我大致改了一下几个,最项目命名为Test,第一个基本版本做出来之后看上去是在不爽,Test?怎么看怎么不爽,因为平时做一些小功能的测试Demo都是命名为TestXXX。这下好了,于是下定决心改为Testing,当时还是满意的,等第二个优化版本开发完了之后又不爽了,Test总有阴影。于是再改为FunctionTest。这下好了,功能测试,能很好的表达这个应用程序的意思。也就暂时搁下了,不久新的功能再次被提出,需要再加入一个拷贝安装的应用程序,没辙新建一个工程名字命为:CopyAndInstall,好难为我。同样的,我再次感到不爽,但由于项目的紧急,也就放下了。终于这两个简单的应用程序要在产品批量生产时使用了。其实对于这两个程序还存在着顾虑,但也没办法,硬着头皮上了,最后事情还是发生了?

    我们都知道无论是出口还是在国内,客户对自己确认过的UI肯定也是严格把关的。客户确认过的UI上面没有一个叫做CopyAndInstall的应用程序,这下被抽检人员给看到了,解释半天,最终的结论是必须给他们发升级软件。

    先说说我的CopyAndInstall隐藏的原理,CopyAndInstall会自动检测一个配置文件,配置文件中有需要操作的命令,是拷贝还是安装,CopyAndroidInstall读取并执行操作,当操作执行完毕之后就自动隐藏了,但在生产的流水线上,由于测试人员疏忽,忘记了这一步操作,于是悲剧就这样产生了。

    一怒之下,我将两个应用程序合并,并重新命名为FactoryUse,默认隐藏,通过特殊的方式将其显示,操作完成之后自动卸载!这下好了。全世界都安静了。当然,我不得不声明,没一种实现方案都有其优缺点,这之间取一个最优的方案最为重要。

    再次,应用程序UI的改变也经历了几次大变动。18项功能,首先肯定不会在界面上排上18个按钮,然后逐个实现点击事件,并实现其功能。那么怎么办?第一个版本使用ListView实现了,感觉还是很好的,一个页面就显示完了,而且测试的过程中可以看到各个项的测试状态。然而当这个节目拿到测试人员手里的时候,都说不好用,比如说我只想测试其中的几项功能,难道要全部测试一遍?我只测试一项却需要先选中,再点击测试按钮才能进入测试?为什么要多一个操作呢?不能点击就执行?……&*(¥#%#!!还是要冷静,程序猿嘛。于是我加入了全选反选等功能再次给测试人员。“这一行都这么窄,总是点不中啊”,都知道18项功能在ListView中显示,如果作为手机那么行多窄可想而知。MID也同样,所测试人员都是女孩子可谓是芊芊玉指。在“狭缝”中游荡也不是好受的,尤其是无数无数的“缝”就更人感觉恐怖了。这下好了,该宽一页显示不完。怎么办,于是被迫将界面改为GridView显示。从此很有效的暂时地止住了“流言蜚语”!

    这就是软件的开发,或者说是人类不断进步的需求所需要的,需要不断优化不断改变。我很觊觎这种改变,但也很害怕这种改变,因为它能让我不断提高自己,无论是从设计还是纯粹技术上都提高了,带来的问题也很显然,需求没完没了,版本没完没了。这时候项目经理会说,你把它做好了不就没事了!是这样吗?你懂的

    上面提到的情况,其实不然。一个项目都是一个阶段一个阶段进行设计的。所以也必须经历这样一个从零开始到比较完美的过程。回过头来,其实重要的还是过程,为了避免这个过程中繁复的迭代,很有必要在设计之初经过精心的准备,充分的调查,深层次应用程序的含义挖掘。

    基于这些情况,在项目的开发过程中列举出以下原则。

1、给项目取一个好名字。艺人为什么要改名?不就因为好听、好记又有艺术感吗?当然,我建议还是通俗易懂,合理贴切就好。

2、给项目一个好看的界面。无论是一个软件还是一个人,给别人留下最深印象的还是第一感觉,第一感觉最主要的就是人的脸、外貌,软件的界面。

3、永远首先考虑用户体验。跳出思想的框框。跳出设计者的角色,以多个客户的体验来评价自己的设计。并且尝试为好的体验

4、非必要情况下尽量使用现有的控件实现需求。

5、其他的就是《软件工程》的了。

PS:这篇文中提到的应用程序第一版请看:http://blog.csdn.net/tangcheng_ok/article/details/6684646

原创文章,转载请注明出处:http://blog.csdn.net/tangcheng_ok

  相关解决方案