(新)软件系统开发与软件工程方法.ppt
《(新)软件系统开发与软件工程方法.ppt》由会员分享,可在线阅读,更多相关《(新)软件系统开发与软件工程方法.ppt(45页珍藏版)》请在第壹文秘上搜索。
1、第七章 软件系统开发与软件工程方法软件系统开发与软件工程方法 19601970198019902000 早期早期 第二阶段第二阶段 第三阶段第三阶段 第四第四阶段阶段面向批处理面向批处理 多用户多用户 分布式系统分布式系统 强大的桌面系统强大的桌面系统有限的分布有限的分布 实时实时 嵌入嵌入“智能智能” ” 面向对象技术面向对象技术自定义软件自定义软件 数据库数据库 低成本硬件低成本硬件 专家系专家系统 开发者开发者= =使用者使用者 软件产品软件产品 人工神经网络人工神经网络 并行计算并行计算 网络计算机网络计算机 1 1)案例思考)案例思考1 1FAA的失败项目的失败项目 20世纪世纪80
2、年代中期,更换空中交通控制系统已成为美国联邦航空管理局(年代中期,更换空中交通控制系统已成为美国联邦航空管理局(FAA)非常优先的任务。非常优先的任务。1989年年IBM公司获得更换该系统的合同,截止期为公司获得更换该系统的合同,截止期为2001年,预年,预计投入计投入25亿美元。由于面临着极苛刻的需求,该软件项目是已进行的最复杂的项亿美元。由于面临着极苛刻的需求,该软件项目是已进行的最复杂的项目之一。例如,交通控制系统必须具备全局完整性并且每周目之一。例如,交通控制系统必须具备全局完整性并且每周7天,每天天,每天24小时不小时不能停止工作,甚至在升级时或正常维护时,也不允许有停顿时间。任何错
3、误的数能停止工作,甚至在升级时或正常维护时,也不允许有停顿时间。任何错误的数据都会引起重大伤亡,任何停机均会导致世界范围的出行延误或潜在的危险。该据都会引起重大伤亡,任何停机均会导致世界范围的出行延误或潜在的危险。该系统的反应时间不能超过系统的反应时间不能超过2-3秒。此外,该系统设计时必须考虑到允许私人飞机秒。此外,该系统设计时必须考虑到允许私人飞机驾驶员继续使用旧设备,并要求软件能在未来移植到更新的硬件设备上。当驾驶员继续使用旧设备,并要求软件能在未来移植到更新的硬件设备上。当IBM获得该合同后,该系统的主要花费为软件开发,用于硬件的投入仅为获得该合同后,该系统的主要花费为软件开发,用于硬
4、件的投入仅为8万美元。万美元。1993年,负责该项目的年,负责该项目的IBM子公司子公司IBM联邦系统公司被联邦系统公司被IBM卖给了卖给了Loral公公司。到司。到1994年,该系统已花费了年,该系统已花费了23亿美元,但尚未提交系统的任何程序段,而此亿美元,但尚未提交系统的任何程序段,而此时估算整个系统的花费将增至时估算整个系统的花费将增至50亿美元。亿美元。1994年底,年底,FAA不得不承认该项目失败不得不承认该项目失败并进行调查。作为调查的结果,并进行调查。作为调查的结果,FAA取消或修改了系统的四个主要部分。面临当取消或修改了系统的四个主要部分。面临当前空中控制系统存在的隐患,前空
5、中控制系统存在的隐患,FAA不得不订购了一套作为权宜之计的系统,由另不得不订购了一套作为权宜之计的系统,由另一家公司开发。一家公司开发。你认为该项目的失败反映了什么问题?失败的主要原因可能是什么?你认为该项目的失败反映了什么问题?失败的主要原因可能是什么?FAA为什么选择取消和修改的方式而不是增加资源和生产力的方式?为什么选择取消和修改的方式而不是增加资源和生产力的方式?FAA对此项目调查总结出的原因为以下几条:FAA并没有明确掌握某些系统功能的需求。制定了过于急躁的开发和实现计划(包括费用与进度的估计)在给定的软件复杂度下,没有考虑到开发商的生产力,尤其是早期阶段需要投入的资源。在人月神话一
6、书中,在人月神话一书中,Brooks将过去将过去30年大型软件项目的开发比年大型软件项目的开发比喻为史前陷入沥青坑的巨兽。恐龙、猛犸、剑齿虎等动物在焦油中挣喻为史前陷入沥青坑的巨兽。恐龙、猛犸、剑齿虎等动物在焦油中挣扎,然而挣扎得越激烈,就陷得越快,最终都沉到了坑底。过去的大扎,然而挣扎得越激烈,就陷得越快,最终都沉到了坑底。过去的大型软件项目中,大多数开发出了可运行的系统型软件项目中,大多数开发出了可运行的系统不过只有极少数满不过只有极少数满足了目标、进度和预算的要求。表面上看起来没有任何一个单独的问足了目标、进度和预算的要求。表面上看起来没有任何一个单独的问题会导致困难,每个问题都能获得解
7、决,但这些问题纠缠和积累在一题会导致困难,每个问题都能获得解决,但这些问题纠缠和积累在一起时,团队的行动就越来越慢,并且很难再看清问题的本质。起时,团队的行动就越来越慢,并且很难再看清问题的本质。1995年美国的商业软件失败统计:成功失败延期 案例思考案例思考2 2遗传信息库建设遗传信息库建设 在正在建设的遗传信息库如,假设你要开发一个管理软在正在建设的遗传信息库如,假设你要开发一个管理软件。你并不是一个生物遗传方面的专家,甚至对此方面件。你并不是一个生物遗传方面的专家,甚至对此方面的知识一窍不通,你该如何入手?要使该项目成功,你的知识一窍不通,你该如何入手?要使该项目成功,你认为应该有哪些保
8、障条件?认为应该有哪些保障条件?你的问题是什么:对遗传信息的管理需要什么条件:了解遗传信息的表示和管理流程如何实现:与遗传领域的专家交流。障碍是什么:难以沟通与交流。可能因误解产生错误的需求描述。 软件项目为什么会失败?软件项目为什么会失败? 软件项目失败的核心问题在哪里?答案只有一个:复杂性。软件要解决的问题本身是复杂的开发人员一般不是该问题领域的专家软件规模要求多人参与,而不同专业领域的人的交流是困难的软件规模使得既要理解系统整体结构又要把握细节比较困难。n例例: :Windows9595有有10001000万行万行代码代码 Windows20002000有有50005000万行万行代码代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 系统 开发 软件工程 方法