new软件工程5-3ppt课件

上传人:ZJ****3 文档编号:56919485 上传时间:2018-10-17 格式:PPT 页数:93 大小:878.01KB
返回 下载 相关 举报
new软件工程5-3ppt课件_第1页
第1页 / 共93页
new软件工程5-3ppt课件_第2页
第2页 / 共93页
new软件工程5-3ppt课件_第3页
第3页 / 共93页
new软件工程5-3ppt课件_第4页
第4页 / 共93页
new软件工程5-3ppt课件_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《new软件工程5-3ppt课件》由会员分享,可在线阅读,更多相关《new软件工程5-3ppt课件(93页珍藏版)》请在金锄头文库上搜索。

1、5.3 软件工程基础,第 2 /88页,问题的提出,什么是软件工程? 软件工程主要研究哪些问题? 为什么提出软件工程? ,“软件工程是一种描述规范。”Michael Jackson,软件工程?,了解并掌握软件的开发步骤、方法、准则。,为什么学习软件工程?,第 5 /88页,1理解软件的概念及软件的特征 2了解软件生产的历史 3软件危机及项目失败的原因 4了解软件的生命周期概念 5了解软件开发活动 6了解软件工程的基本概念、基本原则 7理解软件工程的主要定义 8理解软件过程及模型,第 6 /88页,关于软件工程学,软件工程是包含软件开发一切流程的学科。它又是一门交叉学科;包括计算机科学、数学、工

2、程学和管理等学科。主要研究: 克服、解决“软件危机” 改进“软件生产”的方法、工具 提高软件的生产率,第 7 /88页,软件 软件特征 软件分类 软件的发展 软件危机 软件工程的概念,第 8 /88页,1. 软件(Software),随着信息化、网络化和数字化时代的到来,社会对“软件”的需求激增。如今,世界发达国家都把软件列为国家发展的关键技术领域。 美国国家关键技术委员会将软件列为六大关键技术之一;美国最近在24项高科技领域中调查结果表明,其中18项与软件有关。 欧洲共同体将“软件和信息处理”列为关键技术; 我国把信息产业放在优先发展的地位,看作是中国发展高新技术、赶超世界先进水平的一次千载

3、难逢的机遇。,第 9 /88页,软件的基本概念,什么是软件? 计算机系统由计算机硬件和软件构成。 计算机神奇的功能是在软件的“指挥”下创造出来的。 软件是计算机程序和有关资料的总称。 程序是: 为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合 人们求解问题的逻辑思维活动的代码化描述 程序的最重要目的是: 便于阅读、交流,第 10 /88页,5.3.1 软件工程基本概念,1软件定义与特点 1)软件定义 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。 程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列

4、。 数据是使程序能正常操纵信息的数据结构。 文档是与程序开发、维护和使用有关的图文资料及相关文档的完整集合。,第 11 /88页,2)软件的特点:(1)软件是一种逻辑实体,而不是物理实体,具有抽象性。 (2)软件的生产与硬件不同,它没有明显的制作过程。一旦研制成功,可以拷贝。 (3)软件在运行、使用期间不存在磨损、老化问题。 (4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。 (5)软件复杂性高,成本昂贵。 (6)软件开发涉及许多的社会因素。,第 12 /88页,3)软件分类从不同角度出发,对软件可以进行不同的分类。按软件功能来划分可以分为:应用软件、系统软件和支撑软件(也叫工

5、具软件)。按照软件规模来划分可以分为:微型、小型、中型、大型及特大型软件等。按照软件工作方式来划分可以分为:实时处理软件、交互式工作软件和分时工作软件等。,第 13 /88页,软件是逻辑产品,软件产品: 具有产值、价格、质量和功能的特性 看不见,是逻辑的、无形的 是脑力劳动的结晶,第 14 /88页,软件产品质量体现方式不同,质量体现方式不同: 实用、可靠、可操作性; 可维护性强 方便用户 不会折旧、损坏、老化,第 15 /88页,软件产品不存在同类零件替换,当硬件产品中某个部件损坏后,可以用相同的备用部件更换,使硬件系统恢复正常工作。 而软件产品却没有相同的备用部件可言,因为软件出现的每一个

6、故障,要么是由于设计考虑不周造成的,要么是编程错误造成的。 由于软件无备用部件可供更换,因而软件维护比硬件维护要复杂得多,成本也高得多。,第 16 /88页,软件的4个属性,软件必须具备可维护性(Maintainability)独立性(Dependability)效率性(Efficiency)可用性(Usability),第 17 /88页,3. 软件分类,软件按不同方式可以划分为不同的类型: 按功能划分 按规模划分,第 18 /88页, 按功能划分软件分类,软件,系统软件,应用软件,操作系统 网络系统 语言编译器 工具软件,管理软件 实时软件 科学计算、数据处理 嵌入式软件 人工智能软件 专

7、用领域软件,第 19 /88页, 按规模划分软件分类,分类 程序规模 模块数 开发时间 开发人数,极小 500行以下 1020 14周 1人小 1K2K行 2550 16月 1人中 5K50K行 2501000 12年 25人 大 50K100K行 1000以上 23年 520人 甚大 1M行 45年 1001000人 极大 1M10M行 510年 20005000,第 20 /88页,4. 软件的发展,软件伴随计算机技术的发展经历了4个阶段: 程序设计阶段 程序系统阶段 软件工程阶段() 软件工程阶段(),第 21 /88页,软件生产历史简表,第 22 /88页,程序设计阶段,程序设计阶段(

8、1946年1956年)特点: 尚无软件的概念,程序设计主要围绕硬件进行开发 个体生产方式、工具简单 无明确分工(开发者和用户) 程序设计追求节省空间和编程技巧,无文档资料 主要是用于科学计算,第 23 /88页,程序系统阶段,程序系统阶段(1956年1968年)特点: 硬件环境相对稳定,出现“软件作坊”的开发组织形式 开始使用产品软件(可购买),从而建立了软件的概念 系统规模越来越庞大,高级编程语言层出不穷,应用领域不断拓宽 开发者和用户有了明确分工,社会对软件的需求量剧增 但是软件开发技术没有重大突破,生产效率低下,从而导致“软件危机”产生。,第 24 /88页,结构化方法阶段,软件工程阶段

9、(1968年1989年)由于软件危机的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。从此软件生产进入软件工程时代。 特点: 微机、LAN 硬件向“四化”(巨型、微型、网络、智能)发展。 结构化程序设计方法成熟并取得伟绩。 软件工程学科的基本科学体系趋于成熟。,第 25 /88页,面向对象方法阶段,软件工程阶段(1989年-至今)随着应用领域的不断拓宽,传统程序设计方法受到挑战,它不是万能的。面向对象方法应运、而生。 特点: 网络技术成熟并广泛应用 分布式技术应用 人工智能、专家系统 现有的软件系统大多数采用面向对象技术开发。,第 26 /88页,软件危机是指在计算机软件的开发和维

10、护过程中所遇到的一系列严重问题。这些严重的问题阻碍着软件生产的规模化、商品化以及生产效率。使得软件的开发和生产成为制约软件产业发展的“瓶径”。,5软件危机,第 27 /88页,2软件危机与软件工程,软件工程概念的出现源自软件危机。 1)软件危机 在软件开发和维护过程中,软件危机主要表现在以下几个方面: (1)增长的软件需求得不到解决,用户对系统不满意的情况时有发生。 (2)软件开发成本和进度无法控制。开发成本超出预算,开发周期经常超过规定日期。 (3)软件质量难以保证。 (4)软件不可维护或维护程度非常低。 (5)软件开发成本不断提高。 (6)软件开发生产率的提高赶不上硬件的发展和应用需求的增

11、长。,第 28 /88页,软件危机的由来,硬件生产率大幅提高 软件规模越来越大 软件生产率很低 硬、软件供需失衡 矛盾引发“软件危机”,第 29 /88页,硬件生产率大幅提高,如今,计算机的发展已进入一个新的历史阶段。 硬件产品已系列化、标准化,“即插即用”。 硬件产品的生产可以采用最高精尖的现代化工具和手段、自动成批生产。生产效率几百万倍的提高。 生产能力过剩。,第 30 /88页,软件生产复杂度随规模增大,以美国宇航局的软件系统为例: 1963年 水星计划系统 200万条指令 1967年 双子星座计划系统 400万条指令 1973年 阿波罗计划系统 1000万条指令 1979年哥伦比亚航天

12、飞机系统 4000万条指令假设1个人一年生产一万条有效指令,那么是否4000人生产一年,或400人生产10年就能完成任务呢?答案是否定的。一万条指令的复杂度决不仅仅是100条指令复杂度的100倍。,第 31 /88页,软件生产率很低,伴随计算机的普及,整个社会对计算机应用的需求越来越大。但软件的生产却还沿用“手工作坊”的生产方式,人工编程生产。生产效率仅提高了几倍。生产能力极其低下。,返 回,第 32 /88页,硬、软件供需失衡,社会大量需求,生产成本高,生产过程控制复杂,生产效率低等等因素构成软件生产的恶性循环。由此产生“软件危机”。,返 回,第 33 /88页,软件危机的具体体现,(1)软

13、件开发进度难以预测 (2)软件开发成本难以控制 (3)用户对软件功能难以满足 (4)软件产品质量无法保证 (5)软件产品难以维护 (6)软件通常缺少适当的文档资料,第 34 /88页,软件开发进度难以预测,拖延工期几个月甚至几年的现象并不罕见,这种现象降低了软件开发组织的信誉。 以丹佛新国际机场为例 该机场规模是曼哈顿机场的两倍,宽为希思机场的10倍,可以全天侯同时起降三架喷气式客机; 投资1.93亿美元建立了一个地下行李传送系统,总长21英里,有4000台遥控车,可按不同线路在20家不同的航空公司柜台、登机门和行李领取处之间发送和传递行李; 支持该系统的是5000个电子眼、400台无线电接受

14、机、56台条形码扫描仪和100台计算机 按原定计划要在1993年万圣节前启用,但一直到1994年6月,机场的计划者还无法预测行李系统何时能达到可用的稳定程度。,第 35 /88页,软件开发成本难以控制,投资一再追加,令人难于置信。往往是实际成本比预算成本高出一个数量级。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量,从而不可避免地会引起用户的不满。,第 36 /88页,用户对产品功能难以满足,开发人员和用户之间很难沟通、矛盾很难统一。往往是软件开发人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。在双方互不充分了

15、解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这种“闭门造车”的开发方式必然导致最终的产品不符合用户的实际需要。,第 37 /88页,软件产品质量无法保证,系统中的错误难以消除。软件是逻辑产品,质量问题很难以统一的标准度量,因而造成质量控制困难。软件产品并不是没有错误,而是盲目检测很难发现错误,而隐藏下来的错误往往是造成重大事故的隐患。,第 38 /88页,软件产品难以维护,软件产品本质上是开发人员的代码化的逻辑思维活动,他人难以替代。除非是开发者本人,否则很难及时检测、排除系统故障。为使系统适应新的硬件环境,或根据用户的需要在原系统中增加一些新的功能,又有可能增加系统中的错误。,第 39 /88页,软件缺少适当的文档资料,文档资料是软件的重要组成部分。实际上,软件的文档资料是开发组织和用户的之间权利和义务的合同书,是系统管理者、总体设计者向开发人员下达的任务书,是系统维护人员的技术指导手册,是用户的操作说明书。缺乏必要的文档资料或者文档资料不合格,将给软件开发和维护带来许多严重的困难和问题。,第 40 /88页,典型失败系统的例子,IBM公司开发OS/360系统,共有4000多个模块,约100万条指令,投入5000人年,耗资数亿美元,结果还是延期交付。在交付使用后的系统中仍发现大量(2000个以上)的错误。,第 41 /88页,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号