1、简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。
瀑布模型:
优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
缺点:
1)开发过程一般不能逆转,否则代价太大;
2)实际的项目开发很难严格按该模型进行;
3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
增量模型
优点:人员分配灵活,刚开始不用投入大量人力资源。如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。
缺点:
1)由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
2)在开发过程中,需求的变化是不可避免的。增 量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
3)如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。
螺旋模型
优点:灵活性,可以在项目的各个阶段进行变更.计算变得简单容易;客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性.
缺点:需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;会增加开发成本,延迟提交时间。
2、简述统一过程三大特点,与面向对象的方法有什么关系?
统一过程的三大特点是:用例驱动、以构架为中心、迭代和增量的软件过程框架。
用例驱动即在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。以构架为中心即开发围绕架构展开。迭代和增量的软件过程框架即不断地进行重复反馈活动,为产品添加新的功能。
统一过程模型由UML方法和工具支持,因此它是面向对象的开发方法。
3、简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
统一过程在软件生命周期上依据时间分为四个阶段,里程碑的出现标志了阶段进入尾声。
1)初始阶段(inception):大体上的构想,业务案例,范围,和模糊评估。定义系统的业务模型,确定系统的范围。完成后建立目标里程碑
2)细化阶段(elaboration):已精化的构想、核心架构的迭代实现、高风险的解决、确定大多数需求和范围以及进行更为实际的评估。完成系统的体系结构设计,完成系统开发计划。建立结构里程碑
3)构建阶段(construction):对遗留下的风险较低和比较简单的元素进行迭代实现,准备部署。构造产品,并继续演进需求、体系结构和计划,直到产品完成
4)移交阶段(transition):进行系统部署,系统测试,最终移交给用户。最后建立发布里程碑
4、软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
因为RUP利用软件产品范围的弹性,合理规划范围(20%业务决定80%满意度),使得软件生产按固定节奏运行,固定迭代周期、固定开发周期、固定升级周期。
它的好处在于令企业能及时提交项目产品,并通过迭代、增量开发不断完善产品。