软件开发各步骤之略谈| 逗豆的吾记之谈

一、需求分析:

需求分析在整个开发过程中占的工作量不大,但是产生的影响巨大。既然需求分析如此重要,照理说应该安 排最强的人来做。但实际情况往往不是如此:很多公司负责需求分析的人并不胜任这项工作。我 经历过几个不太成功的项目,其问题的根源都和需求分析有关。

需求分析最要紧的是:

1.搞清楚用户到底想要什么?

如果这个问题搞了、搞了,后面的步骤做得再好也是白搭(比如客户想要一个文本编辑器,结果你搞了个图形编辑器给 他)。

在搞清楚用户想要什么之后,接着要整理出功能列表(也有叫Feature List),并筛选出大约20%的重点功能。这个步骤和后续的各项开发 密切相关。

一般来说,功能筛选的依据有如下几个:

1用户经常用的功能(比如savecopycutpaste);

2宣传的卖点(要能够超出同类软件,吸引眼球);

3和用户利益密切相关的功能(这种功能不允许出错,比如存盘功能);

这个筛选的过程要尽早完成,而且{zh0}是产品人员、开发人员、测试人员三方的头头一起讨论,以保证立场 客观、观点全面。筛选出重要功能点后,其他人员的工作安排要"以重点功能为纲",有所侧重。

 

二、项目管理:

如果你是个项目经理,在排项目计划时,就得尽量优先安排重点功能的开发与测试,而且要安排能力强的人 员来完成。按照我以前的做法,重点功能排计划至少得留出1/3的时间余量,以防万一(事实证明,几乎每个 稍大点的项目都会出现万一)。

至于重点功能,尽量排到后 面,安排能力一般的人开发/测试。

然后,在项目进行过程中,肯定要有定期的例会。作为项目经理,你应该主要关注重点功能的进度情况和风 险情况。

一旦项目有延期的风险,就从非重点功能开始裁减(俗称砍功能)。由于是裁减重点功能,不至于产生致命的影响。

 

三、设计界面:

设计界面时,你得保证所有的常用功能都放在显著的位置(比如工具条);还得保证它 们用起来方便(比如提供快捷键和右键菜单支持)。

对于卖点,它不一定是常用功能,它的目的是激起用户的购买欲望和使用欲望。因此你要把它们设计得比较 酷,有噱头。

对于利益相关的功能,大部分情况下都是侧重于业务逻辑实现。如果它既不是常用功能、也不是卖点,那么 界面设计方面倒不一定要额外花大力气。

其它的重点功能,只要按照常 规方法设计,不用花太大精力。

 

四、编写代码:

我发现很多开发人员都有的几个习惯:

先做有趣或容易的功能,然后再做无聊或者繁琐的功能;

对自己有兴趣的功能投入精力多,对自己没兴趣的简单应付。

正确做法应该如下:

首先得用主要精力完成上述所说的重点功能, 而且要保证它们的代码质量尽可能好,尽可能方便维护(重点功能往往是经常有需求变更,经常被修改的)。

对于重点功能中的“常 用功能”,要保证时间性能够好(能快速响应)。对于“用户利益相关的功能”,要保证bug尽可能少(尤其是影响安全性、稳定性、健壮 性的bug

至于其它的重点功能,只要不出明显bug, 有点小缺陷无伤大雅。

 

五、测试:

如果你是个测试人员,你同样要把主要精力用于测试那些重点功能。对于“用户利益相关的功能”,多进行一些健壮性测试、稳定性、安全 性等测试(比如测试保存大文件是否会出错)。对于常用功能,主要进行易用性和性能测试(比如拷贝、粘贴是否易用)。

至于其它功能,只要进行普通的测试,保证它不出现明显和严重bug即 可。要知道Windows 2000发布的时候,尚遗留上千个未修复的bug(当然都是低优先级的),微软不也照样 发布。

 

六、产品演示:

有些软件开发完之后,会搞一些Demo进行宣传。如果你是负责进行Demo的 人,你肯定要把主要的Demo时间用来秀软件的卖点,这样给客户的印象最深刻,效果{zh0};至于卖点的功能,都未必 要提及。

郑重声明:资讯 【软件开发各步骤之略谈| 逗豆的吾记之谈】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——