大师兄的信息化项目管理学习笔记(四):信息系统项目的生命周期
大师兄的信息化项目管理学习笔记(六):单个项目的管理过程
一、软件开发模型
- 瀑布模型
- 增量模型
- 迭代模型
- 螺旋模型
- 喷泉模型
- RUP
- V模型
- 原型化模型
- 敏捷开发模型
1. 瀑布模型
-
瀑布模型的适用范围:适合需求明确的结构化系统
- 特点:
- 阶段的顺序性和依赖性
- 推迟实现的观点
- 适合质量保证
- 存在问题:
- 不适合需求模糊的系统
二、增量模型
- 增量模型是一种非整体开发的模型。它是瀑布模型的顺序特征和快速原型模型的迭代特征相结合的产物。
- 该模型具有较大的灵活性,适用于软件需求不明确、设计方案有一定风险的软件项目。
- 每次多一点。
三、迭代模型
- 迭代包括产生产品发布的全部开发活动和要使用该发布必须的所有其它外围元素。
- 开发迭代是一次完整地经过所有工作流程的过程:包括需求工作流程、分析设计工作流程、实施工作流程和测试工作流程等。
- 每次好一点。
四、RUP
- RUP(RationalUnifiedProcess)统一软件开发过程是开发软件的工程方法,描述了如何有效地利用商业的可靠的方法部署软件。
-
RUP中一次迭代是一个完整的开发循环,以可执行的产品版本结束。
五、螺旋模型
- 螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特性以及瀑布模型的系统化与严格监控。
- 引入了其它模型不具备的风险分析以减小损失,在每个迭代阶段构件原型。
-特点:
- 瀑布模型 + 快速原型 + 风险分析
- 迭代过程
五、喷泉模型
- 喷泉模型是属于面向对象方法学的,是一种以用户需求为动力,以对象作为驱动的模型。
- 喷泉模型适合面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
- 喷泉模型使开发过程具有迭代性和无间隙性,系统某些部分常常重用工作多次,相关功能在每次迭代中随之加入演化的系统。
-
无间隙指在分析、设计和实现等开发活动之间不存在明显的边界。
- 特点:
- 开发过程有分析、系统设计、软件设计和实现四个阶段
- 各阶段相互重叠,它反映了软件过程并行性的特点
- 以分析为基础,资源消耗成塔型
- 反映了软件过程迭代性的自然特性,从高层返回低层无资源消耗
- 强调增量开发,整个过程是一个迭代的逐步提炼的过程
- 喷泉模式是对象驱动的过程,对象是所有活动作用的实体,也是项目管理的基本内容
六、V模型
- 特点:
- 开发和测试同等重要。
- 每个阶段都有对应的测试级别。
- 适合于需求明确、很少变更的项目。
-
测试应该包括在整个开发和维护过程中,它本身是实际产品构造的一个重要部分。
七、敏捷开发模型
- 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。
- 特点:
- 强调程序员团队与业务专家之间的紧密协作。
- 面对面沟通(极限编程,XP)
- 频繁交付新的软件版本
- 紧凑而自我组织型的团队
- 能够很好地适应需求变化的代码编写和团队组织防范
- f更注重软件开发中人的作用
1. SCRUM方法
- Scrum是使用最广泛的敏捷方法。
- Scrum中定义了三种重要角色:
- 产品负责人(Produce Owner):通过定义项目愿景、需求和优先事项,对项目的成功负责。
- 敏捷主管(Scrum Master):对团队负责,消除阻止他们实现产品负责人目标的障碍。
- 团队成员(Team Member):团队是自组织的,由不同角色的成员组成,共同决定如何最好地满足产品负责人的目标。