项目管理-生存期模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目管理之
生存期及开发模型
课程安排
生存期模型定义 常用生存期模型 户联网时代的软件特点
建筑工程类项目典型生存期模型
3
软件生存期模型
软件开发的一种框架。 说明了软件的活动和进行软件开发的过程 这个模型可以是以活动为中心,可以以产品 为中心的
4
软件的生存周期
问题定义
软件定义 系统分析 需求分析 概要设计 软件开发
–开发项目:选模型\生存期裁剪\开发计划\开发软件
6
瀑布模型
1、瀑布模型(Waterfall Model)(流水式过程模型) • 生存周期由需求分析、规格说明、设计、编程 、测试、发布、维护组成 • 每个阶段是瀑布中的一个台阶,软件生存过程 在这些台阶中由上向下地奔流。 • 开发人员按照阶段开发,管理人员按照阶段管 理。 2、特点: (1) 里程碑或基线驱动,或者说文档驱动; (2) 过程逆转性很差,或者说不可逆转
传统的瀑布模型
7
瀑布模型(续)
3、选择模型的条件: (1)在开发时间内需求没有或很少变化。
(2)分析设计人员对应用领域很熟悉。
(3)低风险项目(对目标、环境很熟悉)。 (4)用户使用环境很稳定。
(5)用户除提出需求以外,很少参与开发。
8
瀑布模型(续)
4、优点模型的优点:阶段清晰
5、模型的缺点: (1)由于逆转性很差,所以返工会造成重大 损失。 (2)错误的传递,会采取发散扩大的方式。 • 改进 微软:严格的里程碑管理制度 CMM:阶段评审和不符合项的动态跟踪制度, 只有前一阶段的不符合项全部改正后,才允 许开发人员进入后一阶段的工作。
第N次 第1块 集成 积木
1、模型本意 • 软件产品看作一组增量构件,每次设计、实现、集成、测试和交付
一块构件,直到所有构件全部实现为止。
• 先开发其中的一个核心模块,再开发其他模块,这样一个个模块地 增加上去,直至整个系统开发完毕为止。
12
增量模型(续)
2、特点: (1) 任务或功能模块驱动,可以分阶段提交产品;
5、要求项目组成员具有很高的水平并掌握先进的开发工具
21
XP模型
• 1.模型的本意
• XP模型,即极限编程模型,它本来是敏捷企业文化现象,
但是不少人将它当作一种软件开发模型。 • XP模型属于轻量级开发模型,它由一组简单规则(需求、 实现、重构、测试、发布)组成,既保持开发人员的自由 创造性,又保持对需求变动的适应性,即使在开发的后期, 也不怕用户需求的变更。XP模型的迭代开发过程,如下 图所示。
可行性研究
系统设计
详细设计
编码和单元测试 综合测试 系统实现
运行维护
运行维护
5
软件生存期模型特征
描述了开发的主要阶段 定义了每一个阶段要完成的主要过程和活动 规范了每一个阶段的输入和输出
提供了一个框架,可以将必要的活动映射到该框架中
软件的生存期与开发模型有关
–不同模型:开发阶段划分、评审次数、基线标准
4
5 6 7
原型模型
螺旋模型 喷泉模型 XP模型
开发速度快
需求可变 提高开发效率 提高开发效率
不利于创新
建设周期长
已有产品的原型
庞大、复杂、高风险项 目
不利于项目的管理 面向对象开发 不适合大团队、大 小团队,小项目 项目
27
户联网时代的软件开发
28
户联网时代的软件开发
特点: (1)以快吃慢,如微信和米聊 (2)迭代发布,1-2周发布一个小版本 (3)关注用户行为和体验
31
你们好
Thank you for your time..
Any questions?
• 开发人员应对软件工程的核心过程:系统建模、需求分析、系统设计、系统
实现、项目管理、配置管理、测试等比较熟悉。 • 面向对象技术比较适合采用迭代的开发方式来进行
19
迭代模型(续)
3、迭代式分为以下4个阶段 • 初始阶段:确定系统的业务用例(Use Case)和定义项 目的范围 • 精化阶段:分析问题域,细化产品定义,定义系统的构 架并建立基线,为构建阶段的设计和实施工作提供一个 稳定的基础 • 构建阶段:反复开发,完善产品,达到用户的要求 • 移交阶段:产品交付,包括安装、培训、交付、维护等
15
原型模型(续)
3、选择模型的条件: (1)已有产品或产品的原型,只需客户化的项目。 (2)简单而熟悉的行业或领域。 (3)有快速原型开发工具。 (4)进行产品移植或升级。 4、优点 • 开发速度快 • 实时反馈用户意见 5、模型的缺点:不利于开发人员的创新
部署交付和 反馈 交流 快速计划 快速设计方式 建模
17
快速原型法(续)
• 选择条件
–项目组中有数据库分析和设计的专家 –有面向对象编程的专家
–文档制作有成熟的模板
–系统或项目又不是非常大
规划 分析
传统开发 设计 构建 测试 后置
压缩
规划
快速应用 开发
后置
18
迭代模型
1、模型本意 • 为使项目能够比较顺利地进行,一种较灵活的方法:多次执行各个开发工作 流程,达到更好地理解需求,设计出更为强壮的软件构架,逐步提高开发组 织能力,最终交付一系列逐步完善的实施成果。 2、特点 • 迭代循环驱动,每一次迭代循环,均要走完初始(先启)、精化、构建、移交4 个阶段。 • 开发人员应对迭代的开发方式比较熟悉,并具有丰富的软件工程知识和实施 经验。
20
迭代模型(续)
3、选择模型的条件: (1)项目开发早期需求可能有所变化
(2)分析、设计人员熟悉行业或领域
(3)高风险项目 (4)用户参与整个项目的开发过程
(5)使用面向对象的语言或UML
(6)使用CASE工具 4、优点
• 初期不要求有一个相近的原型。几乎适用于所有的项目
开发 • 实时反馈用户意见
25
XP模型(续)
• 5.模型的缺点
• XP模型作为一种新的模型,在实际应用中还存在
着一些问题,引起了许多争议。
• 它只适用于小型项目、小型项目组,不大适用于大
型项目、大型项目组。 • 同时,它与ISO9001、CMMI的精神也存在冲突。
26
各种模型比较
序号 1 2 3 模型名 称 瀑布模型 增量模型 迭代模型 优 点 简单好学 可以分阶段 提交 需求可变 缺 点 逆转性差 有时用户不同意 风险大 适用范围 面向过程开发 系统可拆卸和组装 有高素质软件团队
实际瀑布模型
9
V模型
10
V模型模型适合的项目
项目的需求在项目开始前很明确
解决方案在项目开始前也很明确
对系统的性能安全很严格的项目 类似的项目如:
航天飞机等
公司的财务系统
11
增量模型
第1次 集成
第2次 集成 第3次 集成 第4次 集成
第1块 积木
第1块 积木 第1块 积木 第1块 积木 第2块 积木 第2块 第3块 积木 积木 第2块 积木 第2块 积木 第3块 积木 第3块 积木 第4块 积木 第4块 积木 第N块 积木
22
23
XP模型(续)
• 2.模型的特点 • 在需求、实现、重构、测试、发布的迭代过程中,XP模型有四条核心 原则:“交流” 、“简单” 、“反馈” 和“进取” 。 • XP开发小组不仅包括开发人员,还包括管理人员和客户。 • XP模型强调小组内成员之间要经常进行“交流”,结对编程,在尽量 保证质量的前提下力求过程和代码的“简单”化。 • 来自客户、开发人员和最终用户的具体“反馈”意见,可以提供更多
构建原型
16
快速原型法(没有原型的原型法)
• 基本思路: –面向数据的方法,用Power Designer等数据库分析和设计工具
,快速建立信息系统的概念数据模型CDM和物理数据模型PDM
–面向对象的编程工具,在软件企业强大的类库、构件库的支撑 下,快速地实现需求分析中确认的流程、功能、性能和接口
–交付给用户试用,反复循环几次,直到客户确认满意为止。
13
增量模型(续)
4、优点:大系统分解为小系统,降低开发难度 5、缺点: • 不适合组装和拆卸性不强的软件系统
• 开发人员全局把握水平不高(没有数据库设计专
家进行系统集成)
• 客户不同意分阶段提交产品
14
原型模型
1、模型本意
• 以某个软件原型为参照模型的开发方法,叫做原型法。
• 在初步需求分析之后,马上向客户展示一个软件产品原型, 对客户进行培训,让客户试用,在试用中收集客户意见,修 改原型,再让客户试用,反复循环几次,直到客户确认为止 。 2、特点 • 原型驱动 • 开发者必须先有一个原型,至少要有一个原型的核心。
(4)需求变化快
(5)小步快跑
29
户联网时代的软件开发
开发模型:迭代 • 大多数采用敏捷开发,将项目分成了若干个迭代周期
,每个迭代周期结束都能立即反馈。
• 研发快速迭代、快速试错 • 版本碎片化
• 客户端逻辑尽可能灵活
• 团队成员的市场敏感度
30
本章小结
1.进入IT企业参与软件开发或软件管理时,首先要明确:当前的项目或产 品开发到底采用什么开发模型,由此确定软件的生存周期和当前的软件 开发进度;合理安排项目组成员的工作。迅速适应IT企业文化,并很快 进入角色。 2.瀑布模型、增量模型、原型模型。因为3个模型各有所长,所以它们有各 自的生存空间。因为它们各有所短,所示才会产生相互竞争,共同构成 一个丰富多彩的多个模型竞争的世界。 3.一个成熟的软件组织,通过裁减逐渐形成适合本单位的生存周期模型。 4. 从根基上看,目前各种开发模型都是瀑布模型和迭代模型的变种,或者 是两者的混合
的机会来调整设计,保证把握正确的开发方向。
• 在XP模型中,采取讲“用户场景故事”的方法,来代替传统模型中的 需求分析。
24
XP模型(续)
• 3.选择模型的条件 • XP模型克服了传统模型不灵活机动的缺陷,是一种面向客户场景的 轻量级模型。它只适合于中小型开发小组。实践表明,XP模型特别 适合于情投意合的青年人群的小项目。 • 4.模型的优点 • (1).由于采用简单策略,不需要长期计划和复杂管理,因而开发周 期短; • (2).由于采用迭代增量开发、反馈修正和反复测试的方法,因而软 件质量有保证; • (3).由于适应用户需求的变化,因而与用户关系和谐。
(2Байду номын сангаас 有多个任务单,这些多个任务单的集合,构成项目的
一个总《任务书》(总《用户需求报告》/《需求规格说 明书》)。
3、选择模型的条件:
(1)在项目开发过程中,客户接受分阶段交付。 (2)开发人员对应用领域不熟悉,难以一步到位。
(3)工期过紧的中等或高风险项目。
(4)用户可参与到整个软件开发过程中。 (5)使用面向对象语言。 (6)软件公司自己有较好的类库、构件库。
相关文档
最新文档