1、简答题
- 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点
- 从项目特点、风险特征、人力资源利用角度思考
答:
-
瀑布模型:
-
优点:
- 能降低软件开发的复杂程度,提高软件开发过程的透明性,提高软件开发过程的可管理性。
- 在一个阶段完成之后,我们只需要关注后续阶段。
- 为软件开发过程提供了一个模板,这个模板使得分析、设计、编码、测试和维护有一个共同的指导。
- 有了这个指导,能及时发现开发过程中存在的缺陷
-
缺点:
- 强调每一个过程活动的线性顺序,不够灵活
- 风险控制能力比较弱
- 其中的软件活动都是文档控制的,当有过多的文档工作的时候,会极大的增加系统的工作量
- 当开发过程中,用户需求发生变化,瀑布模型不容易去适应这样的变化
-
-
增量模型:
- 优点:
- 将待开发的软件模块化,可以分批次的提交软件产品,让用户及时的了解软件项目进展。
- 以组件为单位开发,可以降低软件开发的风险,如果一个组件发生了错误,不会影响整体系统。
- 有一个比较灵活的开发顺序,方便在开发过程中适当的调整组件开发顺序。
- 缺点:
- 由于组件一个一个添加到系统中的,所以需要这个系统必须在每个组件加入之后不能破坏已有的结构
- 当开发过程中遇到用户需求改变的时候,虽然增量模型比瀑布模型有更好的灵活性,但是容易退化为边做边改模型,让软件开发过程失去整体性。
- 如果增量包之间相互重复的地方没有处理好,则需要对系统进行全面的分析
- 优点:
-
螺旋模型(含原型方法):
- 优点:
- 设计上比较灵活,可以在开发的各个阶段进行更改
- 每个大的系统由小的分段构成,让成本比较容易计算
- 客户可以参与每个阶段的开发,这样能减少需求修改的次数,保证项目的稳定性
- 客户和开发人员也有比较好的沟通
- 缺点:
- 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
- 过多的迭代次数会增加开发成本,延迟提交时间。
- 优点:
-
简述统一过程三大特点,与面向对象的方法有什么关系?
三大特点如下:- 统一过程是用例驱动的:所有的用户和用例组合在一起就是用例模型,它描述了系统的全部功能。用例图不仅能确定用户的需求,还可以驱动系统设计、实现和测试的进行,也就是说用例可以驱动开发过程。
- 统一过程是以构架为中心的:综合考虑软件系统的各个方面并优先解决软件系统中的主要问题,同时创建常见问题的通用解决方案,解决软件项目的主要风险。
- 统一过程是迭代和增量的过程:将这些项目划分为切实可行并能够产生一个增量的迭代过程,迭代过程就是用来处理一组用例的,迭代过程要解决最突出的风险问题。
和面向对象的方法关系:
统一过程是基于构件的,它采用新的可视化建模标准,即统一建模语言(UML),它依赖三个关键概念——用例驱动、以构架为中心及迭代和增量式的开发。为了使这些概念能够发挥作用,需要一个包括多个方面的过程,而统一过程就是一个考虑到生命周期、阶段、工作流、风险缓解、质量监控、项目管理和配置管理的软件开发过程。其中也是面向功能类编程,架构设计接口,符合面向对象方法的特征。
-
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
UP四个阶段的划分准则是初始阶段(Inception)、精化阶段(Elaboration)、构建阶段 (Construction) 和产品交付阶段(Transition)。 每个阶段结束于一个主要的里程碑(Major Milestone),并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。- 初始阶段的里程碑:生命周期目标(Lifecycle Objective) 里程碑,包括一些重要的文档,如原始业务案例等。需要对这些 文档进行评审,以确定正确理解用例需求、项目风险评估合理、 阶段计划可行等。
- 精化阶段的里程碑:生命周期体系结构(Lifecycle Architecture) 里程碑。包 括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构 已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。
- 构建阶段的里程碑:初始运行能力里程碑。 包括可以运行的软件产品、用户手册等,它决定了产品是否可 以在测试环境中进行部署。此刻,要确定软件、环境、用户是 否可以开始系统的运行。
- 交付阶段的里程碑:产品发布里程碑。确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在 一些情况下这个里程碑可能与下一个周期的初始阶段的相重合。
- 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
因为统一过程模型中,各个阶段的生命周期是有固定长度的, 因此在产品的的迭代开发过程有较为明确的时间限制的。可以让企业能够及时的交付产品,减少耗费的时间金钱,通过迭代开发逐渐地完善产品。
博客主要探讨软件开发模型和统一过程。简述了瀑布、增量、螺旋模型优缺点,分析统一过程三大特点及与面向对象方法关系,介绍其四个阶段划分准则和关键里程碑,还说明了软件企业按固定节奏生产、发布产品的原因及对项目管理的好处。
2万+

被折叠的 条评论
为什么被折叠?



