WINCE应用的UI实现方案 —— 下篇:代码一小步,项目进度管理一大步

时间:2021-11-23 21:51:22

当我试验SetWindowPos成功时,我感觉到对我这个应用开发组来说,这是一次革命了。项目进度上的革命。

按照目前的进度安排方式,事业部发布设计需求后各部门的工作状态时这样的:
(1) 软件研发,首先去确定底层接口,比如要调用BSP的哪些DeviceIoControl,要用哪些协议栈,要约定哪些注册表键值,约定各应用的进程间通信。
(2) 工业设计中心, 同步开始设计UI图片。
(3) 测试组,同步开始编写测试例

而三者之中,工业设计中心是最慢的,界面风格需要多次评审和修改,而且主观因素很强,领导说不好看,就得继续改,随便调整一下就是一两天。以我做几个项目的经历来看,往往是软件研发人员和测试都完成第一步了,工业设计中心还没发出切割图,然后大家就傻在那里等资源。等工业设计中心正式发布切割图后,软件研发才开始埋头苦干,这时候测试组又继续闲着,等到出了ALPHA版才开始测试工作。

以我当前这个项目为例,工业设计用两个人花了足足一个月的时间才完成一级界面和二级界面,所以应用组的人也不紧不慢地花了一个月的时间来作底层接口的研究和确定,慢慢地看文档。实际上如果都是该领域的熟手,并且效率够高的话,这些事情最多两周就能做完了。

而如果用了GWES的API,加上SetWindowPos的做法之后,项目进度上的优势是非常明显的:
(1) 软件研发:确定底层接口后,立刻建立起DIALOG和BUTTON,EDITOR等控件,根本不用关心UI最后设计成什么样。重点是上层的数据结构和逻辑,和编写代码对底层接口进行调用测试。UI并不再会成为瓶颈,只要随便拖几个控件出来就行了,坐标和长宽也是随意的,只要把功能做对了。
(2) 工业设计中心:可以慢慢地做图片,一轮一轮地慢慢评审。由于叠加图片的方式已经很明确,并且程序员写绘图代码时可以同时指定坐标和长宽,直接修正原型开发时乱拼凑的界面,所以切割图在软件BETA RELEASE前两三天发布就来得及了。
(3) 测试组:由于软件研发可以很快地把界面丑陋、但功能实现好的ALPHA版程序发布,所以测试组可以大大提前手工测试的开始时间点。并且尽早开始BUG反馈。甚至于在UI图片出来之前,就可以改几轮BUG了。在UI图片出来之前完成ALPHA版,并且改过几轮BUG,这种情况在以前是从来不能想象的,应用工程师肯定会说:图片都还没有,怎么写代码?写了也白写,反正还要改。
(4) 图片发布后,每个应用程序最多花两天工夫作图片叠加,而且原先写的代码在图片叠加的工作中完全不用改动。
(2) 由于功能实现的代码段没有因为图片叠加而改动,所以之前测试的BUG仍然全部有效,并且因为图片叠加而产生的高级别BUG可能性很小。

OHYE,事情想象得真美妙。
难道是我年少无知,其实其他公司早就是这么开发应用软件的?我今天造的新词很适合形容现在的心情:泪奔一百里。GO ON~嗯~嗯~一百里啊一百里~