软件需求是开发者与用户交互的一个过程,任何一方的不投入都会导致项目的失败.当然,由于用户不是专业人士,开发者有权利告诉用户应该采用何种态度来对待项目的需求.所有最成功的项目都有一个重要的特性:用户非常的支持.
大师说:"没有不变的需求,世上的软件都改动过3次以上,唯一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路上." 【程序编程相关:DEV-CPP中生成和使用DLL的方法】
评判一个软件项目成功的标准是看它是否解决了用户的问题,而用户的问题就是体现为用户的需求,需求也就顺理成章的成为项目的成功标准.而需求阶段的一个不慎都有可能导致软件实现阶段的大量返工,而需求的不慎不是说你小心就可以的,因为很多需求是隐性的,连用户都不清楚自己的需求.这时候就需要一种科学的方法来帮助软件组织实施需求过程. 【推荐阅读:VC编程中几个值得思考和注意的问题】
需求是不稳定的,那么需求之中是不是没有稳定的东西呢?有的,就是对象.世界都是由对象组成的,而对象都是持久的,例如动物.植物已经有相当长的时间.虽然对象也在变化,动物,植物也在不断的进化.但对象在一个相当长的时期内都存在,动植物的存在时间肯定比任何一家企业长久.面向对象的开发方法的精髓就是从企业的不稳定需求中分析出企业的稳定对象,以企业对象为基础来组织需求.构架系统.这样得出的系统就会比传统的系统要稳定得多,因为企业的模式一旦变化,只需要将稳定的企业对象重新组织就行了.这种开发的方法就被称为ooad(object orient analysis & design 面向对象的分析与设计),而分析出的企业对象就被称为common business object. 【扩展信息:全面分析MIDP通信API和外部系统交互】
需求是什么? 在rup中定义了需求工作流程的工作目的: 1/客户与其他涉众*在系统的工作内容方面达成并保持一致. 2/使系统开发人员能够更清楚地了解系统需求. 3/定义系统边界(限定). 4/为计划迭代的技术内容提供基础. 5/为估算开发系统所需成本与时间提供基础. 6/定义系统的用户界面,重点是用户的需要与目标. * 涉众:涉众是所有会受到项目结果重大影响的人.如客户(或客户代表)用户(或用户代表) .投资者 .股东 .生产经理 .买方 .设计员.测试员 .文档编写员等很多人认为需求管理的目的是为了控制需求过程,这是没有错,但是在rup的思想中,更重要的思想是迭代*.迭代的目的是为了发展,为了进化,为了完善.所以rup中的软件生命周期是分为多个迭代周期的(软件生命周期将会在下文讨论).... 下一页