第三章:三思而后行

1.前期准备的重要性

  项目分为前中后期,其中前期工作对于整个成功与否占比相当大,前期的充足准备能给整体项目的正常推行保驾护航,能将风险降低到最小。

  准备不充分,就开始编码这是极其不负责任的做法,因为你的靶心错了,你怎么可能到达得了目的地呢。或许老板让你立刻马上就必须进行编码,那么我觉得你可以教育你的老板,让他明白需求的重要性.或许你可以增加世界上脱盲的老板的人数也说不定。

  构建之前,必须做前期准备,有以下论据:

诉诸逻辑:

  进入有效编程的要领之一:准备工作很重要,再开始一个大项目之前,应该为这个项目制定计划,这是很有意义的。做计划能防止浪费钱建造错误的东西。有时候用户自身也不清楚想要的是什么,但是值得花费比理想情况下更多的力气,找出他们真正想要的东西,这比做一个错误的东西,重头开始的成本来的要低廉得多。

诉诸类比:

  好比建造房子,房子地基打错了,肯定危险系数极大,甚至崩塌。所以软件项目也是如此,确定好前期要做的工作,并花费力气去做好,项目至少不会全盘皆输。

诉诸数据:

  惠普,IBM,休斯飞机公司,TRW的研究人员发现,在开始编码之前清除一个错误,那么返工的成本会随着项目的推进成反比的趋势。

  数据表明前期工作的充分性,预示着你是否能更轻松的完成这个项目。

2.辨明你所从事的软件类型

  一般软件系统类型分为三个大部分:(1) 商业系统 (2)使命相关的系统(3)性命攸关的嵌入式系统

这些软件的生命周期有以下6点:

1.计划与管理 2.需求的调研 3.设计 4.构建 5.测试与QA 6.部署

  而三种系统之间又有着微妙的差距:

(1)商业系统更加适合于高速迭代开发的模式,毕竟需求变更较快,版本发布的节奏较快,还是以速度为王。

(2)使命攸关和性命攸关更适合于需求稳定,超高等级的可靠性,此种开发方法引申出序列式开发方法

前期准备在迭代开发和序列化开发之间的表现.

  不论在迭代开发还是序列化开发之间,前期准备都能有效降低后期弥补错误的成本。实际我们平时开发系统用到的大多数开发模式还是迭代开发,因为现实生活中的需求总是不确定的。

问题定义的先决条件

  问题定义就是对这个系统要解决的问题做出清楚的陈述,这有时称为"产品设想","设想陈述","任务陈述"或者"产品定义"。问题定义一般在具体的需求分析工作之前,而需求分析是对所定义的问题的深入调查。问题定义要以客户的角度去描述。如果没有好的问题定义,你努力解决的可能是一个错误的问题。

需求的先决条件

  需求是软件系统应该做什么,达成解决方案的第一步。需求活动分为以下:需求开发,需求分析,分析,需求定义,软件需求,规格书,功能规格书,规格

一套明确的需求,是软件系统的指南针,不会让你跑偏,同时也可以在内部有效解决意见不一致的问题,可以查看书面的需求,以解决分歧,不用因为一个确定的问题和别人进行费口舌。

在构建期间处理需求变更,使用需求核对表来评估你的需求的质量,确保每一个人都知道需求变更的代价,建立一套变更控制程序,使用能适应变更的开发方法,放弃这个项目,注意项目的商业案例

架构的先决条件

  这里只用一句话进行概括即可:离开了良好的软件架构,你可能瞄准了正确的问题,但却使用了错误的解决方案,也许完全不可能有成功的构建。足以证明架构对于整个项目的支撑所达成的重要性

架构={

程序组织(Program organization)

+主要的类(Major Classes)

+数据设计(Data Design)

+业务规则(Busines Rules)

+用户界面设计(User Interface Design)

+资源管理(Resource Management)

+安全性(Security)

+性能(Performance)

+可伸缩性(Scalability)

+互用性(Interoperability)

+国际化(Localization)

+输入输出

+错误的处理

+容错性

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值