关于软件产品开发的一点总结

关于软件产品开发的一点总结

经过1个多月的问题收集、问题分析汇总、研究同类产品、进行初级结构设计、绘制原始界面原型、就设计稿进行讨论、更改设计框架、更改界面原型、撰写功能需求报告,在这过程中经过多次讨论,终于,于前天把CMS的需求分析部分工作基本完成。由于也算是算一次全心做这个工作,也是第一次正式编写《需求分析报告》,正工作过程中,我也阅读了许多相关文章,(例如《需求分析》就是一本不错的书,建议有志于此的同学如果没看的话可以看看......)以便更好的完成工作。

昨天,基本没什么事,我就再看看我们现有的产品体系,大致都看了一遍。今天早上来,我接着看,在看其中的参与的一个产品——《考评王》时,我觉得很有必要总结一下这个产品失败的原因,算是对我自己做产品经验总结,同时也把经验分享给公司所有同事,希望我们在未来的产品开发过程中能起一点积极意义。

第一、任何产品在编码之前,务必要写《需求分析报告》。需求分析报告如果详细和正式的话,应包含产品开发的原因;现在市场同类产品的基本情况以及将要开发的产品可能在哪些地方胜过同类产品;对于具体的功能,还要定义清楚需要哪些功能模块,并对每一项功能块的功能作清晰的说明和定义;同时,对于软件的具体功能,我认为还很有必要绘制界面原型图。

以上只是经验的总结,我总结《考评王》的例子说明问题。首先,《考评王》没有《需求分析报告》,没有任何需求方面的文档。当然,作为对原有系统的改造(C/S的改成B/S的),功能等模块等可以参照原型。但是,由于每个人对产品的理解角度、深度等不同,产品预计开发同期将严重受损,同时,对于产品的开发周期可控性也很不确定,这点从《考评王》的开发周期来看就很清楚。

就算开发周期长点,也是可以理解的。由于没有对具体的功能模块明确定义,在开发过程中,可能因为一时技术问题,就某些功能进行简划了或干脆给取消了。这往往是极其危险的


。产品不能达到预期功能和性能,尤其可能涉及到关键指标,那不等于己经失败?这点也举例说明一下。《考评王》C/S版本有着很好的试题添加及编辑功能(word)控件,但由于B/S实现这方面有较大难道,在产品完成后,居然没有试题编辑功能,添加试题也非常不方便(不支持图片及任何符号及公式),添加过程也很麻烦。就这一项来说,其它先不用谈,这个产品命运就危险了。还有,对于这个产品的功能定位也不是很明确,对具体的考试方式的定义也不明确,要命的是没有文档,我由于后期快完成时进入该项目,没有文档,也无法理解这样设计的原因,没法对整个系统的设计进行较全面的了解。

第二、技术分析是建立在需求分析的基础之上的。技术是满足于需求而实行产品预期目标。
如果说做《考评王》时没讨论,那不可能。但是,对于B/S实现网页编辑可能带来的问题,或者通用某种技术来解决这个问题,就是技术分析的事了。例如瑞和科源的题卷系统就很好的解决这个问题。所以说,技术分析一旦决策错误,那将要花费巨大的代价,甚至是失败。关于这个例子,我在内部论坛里也发了一篇文章(见《一个优秀的系统分析员应该具备的三个素质》)。如何解决这个问题?首先需要我们更重视这个环节,更注重沟通交流。多听多想一些其它办法,是不是可能更好的减小这种错误呢?

第三、UI设计也要充分重视。关于UI设计的文章,我在内部论坛上也发过几篇文章。再引用一句来说:"对大多数人来说,用户界面就是软件本身"(见《用户界面设计的技巧与技术》)。我们要允分认识到界面的作用。界面不光是把界面做的漂亮一些、花哨一些,它更是一项专业的技术。至于怎么个专业法,我不是专业人员,我也说不清,各位自己到网上搜一搜看吧。
由于《考评王》是"二代"早期产品,所以在界面上现在看来也是不理想。例如对某些按钮、配色、使用习惯及统一性等等方面都不是很好。

可能还有更多的原因我没有发现,但是,作为曾经的过去,做一些必要的总结,对自己、对大家、对后来者,都是一件有意义的事。希望大家给予指导与批评,我再总结......。