1、 第 4章 信息系统开发方法v教学目标n了解常用的信息系 统 开 发 方法n了解生命周期法的特点和开 发过 程n了解系 统 分析的任 务 和分析工具的用法n了解系 统设计 的任 务 和系 统设计 的内容n了解 速成原型法的开 发 思想n了解 面向 对 象法的 优 点第 1页 /共 80页v教学内容分为 4节,计划课时: 44.1 系统开发概述4.2 生命周期法4.3 速成原型法4.4 面向对象法第 2页 /共 80页第 4章 信息系统开发方法v教学重点和难点n重点l生命周期法n难点l数据库设计第 3页 /共 80页第 4章 信息系统开发方法4.1 系统开发概述4.2 生命周期法4.3 速成原型
2、法4.4 面向对象法第 4页 /共 80页第 4章 信息系统开发方法v软件危机 ( Software Crisis)n20 世 纪 60年代以前, 计 算机 刚刚 投入 实际 使用, 软 件 设计 往往只是 为 了一个 特定的 应 用 而在指定的 计 算机 上 进 行,采用密切依 赖 于 计 算机的机器代 码 或 汇编语 言, 软 件的 规 模比 较 小,文档 资 料通常也不存在,很少使用系 统 化的开发 方法, 设计软 件往往等同于 编 制程序,基本上是 个人 设计 、个人使用、个人操作、自 给 自足 的 私人化的 软 件 设计 方式 。n60年代中期,大容量、高速度 计 算机的出 现 ,使
3、 计 算机的 应 用范 围 迅速 扩 大, 软 件开 发 工作量急 剧 增 长 , 软 件的复 杂 程度越来越高。原来软 件 设计 方式很 难满 足要求, 软 件危机开始爆发 。4.1 系统开发概述第 5页 /共 80页n主要表现l软件开发进度难以预测p拖延工期几个月甚至几年的现象并不罕见,这种现象降低了软件开发组织的信誉。l软件开发成本难以控制p 投资一再追加,令人难于接受。往往是实际成本比预算成本高出一个数量级。l软件产品的质量低p为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量,从而不可避免地会引起用户的不满。p软件产品并不是没有错误,而是盲目检测很难发现错误,而隐藏下
4、来的错误往往是造成重大事故的隐患。 1980年,北美防空司令部曾 误报 称美国遭受 导弹袭击。差点儿引起第三次世界大 战 1999年,火星探 测 器在火星 坠 毁 , 损 失数 亿 美元4.1 系统开发概述第 6页 /共 80页l用户对产品功能难以满足p开发人员和用户之间很难沟通、矛盾很难统一,双方无法用共同熟悉的语言进行交流。p在双方互不充分了解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这种 “闭门造车 ”的开发方式必然导致最终的产品不符合用户的实际需要。 l软件产品难以维护p软件产品本质上是开发人员的代码化的逻辑思维活动,他人难以替代。除非是开发者本人,否则很难及时检测、排除系统故障
5、。p 为使系统适应新的硬件环境,或根据用户的需要在原系统中增加一些新的功能,又有可能增加系统中的错误。l软件缺少适当的文档资料p文档资料是软件必不可少的重要组成部分。实际上,软件的文档资料是开发组织和用户之间权利和义务的合同书,是系统管理者、总体设计者向开发人员下达的任务书,是系统维护人员的技术指导手册,是用户的操作说明书。4.1 系统开发概述第 7页 /共 80页n原因分析l用户需求不明确p在软件开发出来之前,用户自己也不清楚软件开发的具体需求; p用户对软件开发需求的描述不精确,可能有遗漏、有二义性、甚至有错误;p在软件开发过程中,用户还提出修改软件开发功能、界面、支撑环境等方面的要求;p
6、软件开发人员对用户需求的理解与用户本来愿望有差异。l缺乏正确的理论指导p 缺乏有力的方法学和工具方面的支持。由于软件开发不同于大多数其他工业产品,其开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智力投入。由于过分地依靠程序设计人员在软件开发过程中的 技巧和创造性 ,加剧软件开发产品的 个性化 ,也是发生软件危机的一个重要原因。4.1 系统开发概述第 8页 /共 80页l软件开发规模越来越大p软件规模扩大,其复杂性也急剧增加。由于人类智力的局限性,往往导致人们无力处理 “复杂问题 ”。n解决途径 l从管理方面入手p提出正确的理论、方法 诞生了软件工程学 l从技术方面入手p研制软件工具,以辅助系统开发 形成支持软件开发全过程的 集成开发环境 。l软件生产标准化、软件工业体系化、程序设计自动化v常用的系统开发方法n生命周期法、 速成原型法、面向 对 象法、 模型驱动 开 发 方法4.1 系统开发概述第 9页 /共 80页4.1 系统开发概述4.2 生命周期法4.3 速成原型法4.4 面向对象法第 10页 /共 80页第 4章 信息系统开发方法