简单题
简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。
- 瀑布模型优缺点
- 优点:由于瀑布模型要求软件开发严格按照需求->分析->设计->编码->测试的阶段进行, 因此这种模型方法可以保证整个软件产品较高的质量,缺陷能够提前被发现和解决。同时,采用瀑布模型可以保证系统在整体上的充分把握,使系统具备良好的扩展性和可维护性。该模型方法有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究。
- 缺点:如果前期的需求不明确,又不能在短时间内明确项目,则很难利用好瀑布模型;开发过程中如果出现逆转,代价非常大;软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。。
- 增量模型的优缺点
- 优点:人员分配灵活,刚开始不用投入大量的人力资源;可以先发布部分功能给客户,起到镇定客户的作用;能够比较好地控制前期的风险。
- 缺点:并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;需要一个很好的架构师,因为每次迭代的内容和要到达的目标,验证相关的交付和产出;增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
- 螺旋模型的优缺点
- 优点:整个开发过程是迭代和风险驱动的,它通过将瀑布模型的多个阶段转化到多个迭代过程中,减少项目的风险;在设计上比较灵活,可以在项目的各个阶段进行变更;客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
- 缺点:采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;过多的迭代次数会增加开发成本,延迟提交时间。
简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?
UP(Unified Process)统一过程的三大特点是:用例驱动、以体系结构为核心、迭代及增量。
用户驱动的开发由用例驱动来体现,开发过程中用例和场景的使用被证明是捕获功能性需求的卓越方法,并确保由它们来驱动设计、实现和软件的测试,使最终系统更能满足最终用户的需要。
风险驱动的开发体现在以架构为中心的迭代开发。因为没有稳固的架构就会带来高风险。
UP 四个阶段的划分准则是什么?关键的里程碑是什么?
Up的四个阶段:
- 初始(Inception):大体上的构想、业务案例、范围和模糊评估。
- 细化(Elaboration):已精化的构想、核心架构的迭代实现、高风险的解决、确定大多数需求和范围以及进行更为实际的评估。
- 构造(Construction):对遗留下来的风险较低和比较简单的元素进行迭代实现、准备部署。
- 移交(Transition):进行beta测试和部署。
关键的里程碑在细化阶段之后,这是迭代的结束点,此时有重要决策或评估产生。
IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的?
因为在一个IT项目中,工期是合同明确签订的,不能随意更改。而质量是产品接收方来验收的,不达到质量对方就不接收这个产品。而范围/内容是团队能够在基本要求下自行发挥的,因此范围/内容比较容易由项目团队来进行控制。
为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?
UP的软件生命周期从时间上分为四个阶段,每个阶段包括一个主要的里程碑。阶段是两个主要里程碑的分隔,在各个阶段结束时,执行评估阶段目标是否满足以决定是否进入下一个阶段。因此UP提供了固定节奏的生产。
UP是一个风险驱动的生命周期模型,为了有效地控制风险,UP以渐进的方式进行演进,首先解决高风险的问题,这主要是通过迭代来实现。在软件生命周期中,每个阶段可以划分为多个迭代,每个迭代确定一个内部里程碑(或一个发布)。因此,UP也为固定周期发布软件产品提供了依据。