软件项目特点PPT
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
增量选择的标准不同 ----- 面向进度 面向需求清晰度 面向风险 面向优先级
21
RAD
小组1
系统分析
小组2
系统分析
小组2
系统分析
软件需求分析
软件需求分析
软件需求分析
软件需求设计
软件需求设计
软件需求设计
设计 编码
设计 编码
设计 编码
测试
测试
测试
维护
维护
维
22
RAD
❖ 强调极短的开发周期(60-90天) ❖ 强调复用,以体现快速 ❖ 是瀑布模型的变种 ❖ 系统可以被适当的模块化 ❖ 主要用于信息系统应用软件的开发 ❖ 开发阶段:
9
• 软件开发模式
10
软件工程过程
❖常规过程
系统分析 软件需求分析 软件设计 编码 软件测试
❖生命周期模型
瀑布模型 (线形模型) 增量模型 RAD:Rapid Application Development 螺旋模型
11
模型介绍
系统分析 软件需求分析 软件需求设计 设计
5
The complication to develop a big software project is not less than to build the Pyramid
110,000,000 LOCS IN WINDOWS 95
6
市场需求的模糊
What to do ?
7
Change
The technology and the word of computer change too fast
本的需求,但很多补充的特性(已知和未 知)还没有发布 ❖具有迭代的特征,每一个增量均发布一个 可操作的产品
19
增量模型
❖优点
❖适应市场快速的要求 ❖可以有计划的管理技术和其他风险 ❖测试中可以得到立即的反馈
❖缺点
❖产品的整体性能易受影响 ❖1+1+1>3
20
增量模型 ---- 变种
Full System
Reqts High-Level Analysis Design
Increment 1
Detail Design
Build
Test Release
Increment 2
Detail Design
Build
Test Release
Increment 3
Detail Design
Build
Test Release
编码 测试
瀑布模型
维护
12
瀑布模型
❖ 优点
❖易于理解,广泛采用 ❖强调设计前定义和编码前设计,易于控制 ❖确定了何时交付产品以及何时评审、审查,易于管理
❖ 缺点
❖对于一个大项目来说,要看到结果需要很长的时间 ❖依赖于大家知道的、稳定的、 理解的客户需求 ❖很难跟踪需求到程序代码 ❖对于需求的错误,可能直到结束的时候才能被发现 ❖开发者经常被不必要的耽搁
basic
c
oo
EJB
java
C++
Our experience and the models become invalid quickly 8
项目管理中的问题
? 对客体目标的误解 ? 客户需求定义不够详细 ? 不切实际的主体目标 ? 无计划的任务分派 ? 没有足够的资源或必要的技术 ? 效率低下的沟通 ? 优先级相互冲突 ? 变更失控 ? 组织间的矛盾冲突
13
模型介绍
瀑布模型变种---生鱼片
系统分析 软件需求分析
软件需求设计 设计
编码
测试
维护
14
模型介绍
瀑布模型变种---XXXX
系统分析 软件需求分析 软件需求设计
设计
编码 测试
设计
编码 测试
维护
15
模型介绍
需求收集和提炼 快速设计
建立提炼原型
用户评价反馈
接受 确定需求 抛弃原型,开始设计
快速原型
Increment 1
Detail Design
Build
Test Release
Increment 2
Detail Design
Build
Test Release
Increment 3
Detail Design
Build
Test Release
18
增量模型
❖融合了瀑布模型的基本成分(重复地应用) ❖第一个增量往往是核心产品,即实现了基
3
失败的原因
– 需求 ------- 51%
– 计划和估算 --- 48%
– 新技术 ----- 45%
– 管理
----42%
– 人员(高级技术人员) --- 42%
4
软件项目特点
• 发展快 • 经验失效快 • 复杂度高 • 主要依靠人的脑力劳动 • 过程可见性差 • 结果难于测试 • 市场模式不完善
16
快速原型模型
❖优点
❖用户需求清晰,减少了误解的可能性 ❖便于后续设计和管理 ❖增强信心
❖缺点
❖原型易当产品
❖开发原型需要投入,原型的度难以把握
❖需要用户参与
❖没有较好的文挡,用户确认形式要注意
❖容易产生乐观的估计
17
增量模型
Full System
Reqts High-Level Analysis Design
Commitment Partition
Spiral Model
Cumulative
Cost
wenku.baidu.com
Risk analysis
Prototyping
Plan Next Phases
Develop, Verify Next -Level Product
25
螺旋模型
❖是一个演化的软件过程模型 ❖是一系列的增量发布 ❖分为若干的任务区域,每一区域含有一系
软件项目特点
李锋
1
失败项目案例
• 丹佛国际机场行李处理系统
•
--- 需求不清晰完整
• Xxxxx 医药股份
•
---- 需求变动
• 佛罗里达救济系统
•
---- 测试不充分
• On Technology
•
----- 计划拙劣
2
失败项目案例
• 智能电子 • F-26 • Confirm
---新技术 --- 新技术 --- 缺乏人员
业务建摸:客户和开发者一起 数据建摸 处理建摸 应用生成:可视化编程,使用计算机辅助软件工程工具
23
RAD模型
❖优点
❖开发速度快 ❖可以分割风险
❖缺点
❖小组接口定义困难 ❖需要足够的人力和技能
24
螺旋模型
Determine objectives, alternatives, constraints
列适应待开发项目的特点的工作任务
26
螺旋模型
❖优点
❖体现了开发的迭代性 ❖综合了瀑布模型和快速原型的优点
❖缺点
❖需要相当的风险评估的专门技术,其成功依赖 于这种技术
❖某些风险的忽视,将导致严重后果 ❖理解操作困难,没有广泛使用,缺乏相关范例
27
JAD