软件项目特点

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
缺点
对于一个大项目来说,要看到结果需要很长的时间 依赖于大家知道的、稳定的、 理解的客户需求 很难跟踪需求到程序代码 对于需求的错误,可能直到结束的时候才能被发现 开发者经常被不必要的耽搁
模型介绍
瀑布模型变种---生鱼片
系统分析 软件需求分析
软件需求设计 设计
编码
测试
维护
模型介绍
瀑布模型变种---XXXX
增量模型
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
RAD模型
优点
开发速度快 可以分割风险
缺点
小组接口定义困难 需要足够的人力和技能
螺旋模型
Determine objectives, alternatives, constraints
Commitment Partition
Spiral Model
Cumulative
Cost
Risk analysis
缺点
产品的整体性能易受影响 1+1+1>3
增量模型 ---- 变种
Full System
Reqts High-Level Analysis Design
Increment 1
Detail Design
Build
Test Release
Increment 2
Detail Design
Build
缺点
需要相当的风险评估的专门技术,其成功依赖 于这种技术
某些风险的忽视,将导致严重后果 理解操作困难,没有广泛使用,缺乏相关范例
JAD
Users SWAT Team
JAD Sessions
Prototyping
Full-Scale Development
失败的原因
– 需求 ------- 51%
– 计划和估算 --- 48%
– 新技术 ----- 45%
– 管理
----42%
– 人员(高级技术人员) --- 42%
软件项目特点
发展快 经验失效快 复杂度高 主要依靠人的脑力劳动 过程可见性差 结果难于测试 市场模式不完善
The complication to develop a big software project is not less than to build the Pyramid
Test Release
Increment 3
Detail Design
Build
Test Release
增量选择的标准不同 ----- 面向进度 面向需求清晰度 面向风险 面向优先级
RAD
小组1
系统分析
小组2
系统分析
小组2
系统分析
软件需求分析
软件需求分析
软件需求分析
软件需求设计
软件需求设计
软件需求设计
生命周期模型
瀑布模型 (线形模型) 增量模型 RAD:Rapid Application Development 螺旋模型
模型介绍
系统分析 软件需求分析 软件需求设计 设计
编码 测试
瀑布模型
维护
瀑布模型
优点
易于理解,广泛采用 强调设计前定义和编码前设计,易于控制 确定了何时交付产品以及何时评审、审查,易于管理
Prototyping
Plan Next Phases
Develop, Verify Next -Level Product
螺旋模型
是一个演化的软件过程模型 是一系列的增量发布 分为若干的任务区域,每一区域含有一系
列适应待开发项目的特点的工作任务
螺旋模型
优点
体现了开发的迭代性 综合了瀑布模型和快速原型的优点
软件项目特点
李锋
失败项目案例
• 丹佛国际机场行李处理系统

--- 需求不清晰完整
• Xxxxx 医药股份

---- 需求变动
• 佛罗里达救济系统

---- 测试不充分
• On Technology

----- 计划拙劣
失败项目案例
• 智能电子 • F-26 • Confirm
---新技术 --- 新技术 --- 缺乏人员
110,000,000 LOCS IN WINDOWS 95
市场需求的模糊
What to do ?
Change
The technology and the word of computer change too fast
basic
c
oo
EJB
java
C++
Our experience and the models become invalid quickly
Build
Test Release
增量模型
融合了瀑布模型的基本成分(重复地应用 )
第一个增量往往是核心产品,即实现了基 本的需求,但很多补充的特性(已知和未 知)还没有发布
具有迭代的特征,每一个增量均发布一个 可操作的产品
Biblioteka Baidu
增量模型
优点
适应市场快速的要求 可以有计划的管理技术和其他风险 测试中可以得到立即的反馈
系统分析 软件需求分析 软件需求设计
设计
编码 测试
设计
编码 测试
维护
模型介绍
需求收集和提炼 快速设计
建立提炼原型
用户评价反馈
接受 确定需求 抛弃原型,开始设计
快速原型
快速原型模型
优点
用户需求清晰,减少了误解的可能性 便于后续设计和管理 增强信心
缺点
原型易当产品 开发原型需要投入,原型的度难以把握 需要用户参与 没有较好的文挡,用户确认形式要注意 容易产生乐观的估计
设计 编码
设计 编码
设计 编码
测试
测试
测试
维护
维护

RAD
强调极短的开发周期(60-90天) 强调复用,以体现快速 是瀑布模型的变种 系统可以被适当的模块化 主要用于信息系统应用软件的开发 开发阶段:
业务建摸:客户和开发者一起 数据建摸 处理建摸 应用生成:可视化编程,使用计算机辅助软件工程工具
项目管理中的问题
? 对客体目标的误解 ? 客户需求定义不够详细 ? 不切实际的主体目标 ? 无计划的任务分派 ? 没有足够的资源或必要的技术 ? 效率低下的沟通 ? 优先级相互冲突 ? 变更失控 ? 组织间的矛盾冲突
软件开发模式
软件工程过程
常规过程
系统分析 软件需求分析 软件设计 编码 软件测试
相关文档
最新文档