为什么要软件方法学

来源:互联网 发布:淘宝怎么买网盘资源 编辑:程序博客网 时间:2024/04/30 04:54

从基本上来说

1.方法学有助于对编码设置规则。

2.即使是了解方法学的基本步骤,也能增进对问题的理解,提高解决方案的质量。

3.编写代码只是软件开发的许多活动中的一个,完成其他活动有助于在提交源代码之前找出概念错误和实践错误。

4.在每个阶段,方法学都指定了下一步的工作,我们不会为下一步要干什么而烦恼。

5.方法学有助于编写出扩展性更好(容易修改)、可靠性更高(可用于解决其他问题)、更容易于调试(因为有较多的说明)的代码。

6.大型项目的开发还得益于:

6.1文档说明:所有的方法学都在开发的每个阶段提供了全面说明,所以完成的系统不会艰涩难懂。

6.2等待时间减少:由于工作流、活动、任务和相互依赖性更容易理解,所以人力(和其他)资源的等待工作的可能性减少了。

6.3工作能及时交付,且不超过预算。

6.4用户、销售员、经理和开发人员之间有更好的交流:好的方法学建立在逻辑和常识的基础之上,所有的参与者比较容易抓住其根本,因此,开发更有序,误解和浪费资源的情况也较少。

6.5可重复性:因为我们有准确定义的活动,多以类似的项目就应该在类似的时间期限内交付,成本也类似。如果多次为不同的用户开发类似的系统(例如电子商务购物前端),就可以是生产过程变成流水线,只关注最新开发的独特方面。最终就可以使开发的某些部分自动化,甚至把这些自动化部分卖给第三方(例如,把购物前端打包的产品)。

6.6更准确的成本:在被提问及价额时,回答“你要多少钱的产品”的可能性就会降低。

优秀的方法学至少能解决如下问题:

1.规划:确定需要做什么。

2.调度:确定完成工作的时间。

3.分配资源:估计和获得人力、软件、硬件和其他需要的资源。

4.工作流:较大开发工作中的子过程(例如,设计系统体系机构、给问题域建模,规则开发过程)。

5.活动:工作流中的各个任务,例如测试组件、绘制类图,或详细列出使用情况,这任务本身都比较小,不能定义为工作流。

6.任务:方法学中由人(开发人员、测试人员或销售人员)完成的部分。

7.制品:开发成果:软件、设计文档、培训计划和手册。

8.教育:如果有必要,确定如何培训人员,以完成他们的任务,确定最终用户(职员、客户、销售人员)如何学习使用新系统的方法。