精品课件-软件工程-软件工程-第1章第1节
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.3 软件危机
(3) 开发的软件可维护性差。开发过程没有统一的、 公认的规范,软件开发人员按各自的风格工作,各行其是 。开发过程无完整、规范的文档,发现问题后进行杂乱无 章的修改。程序结构不好,运行时发现的错误也很难修改 ,导致软件可维护性差。
(4) 开发的软件可靠性差。由于在开发过程中,没有 确保软件质量的体系和措施,在软件测试时,又没有严格 的、充分的、完全的测试,提交给用户的软件质量差,在 运行中暴露出大量的问题。这种不可靠的软件,轻者会影 响系统正常工作,重者会发生事故,造成生命财产的重大 损失。
用的三分之二,而软件开发费用只占三分之一。软件维护之 所以有如此大的花费,是因为已经运行的软件还需排除隐含 的错误,新增加的功能要加入进去,维护工作是非常困难的 ,效率又是非常低下的。因此,如何提高软件的可维护性, 减少软件维护的工作量,也是软件工程面临的主要问题之一 。 4) 软件生产率
计算机的广泛应用使得软件的需求量大幅度上升, 而软件的生产又处于手工开发的状态,软件生产率低下。所 以,如何提高软件生产率,是软件工程又一重要问题。
1.1 软件工程的产生
1.1.1 软件的特点
(1) 软件是一种逻辑产品,它与物质产品有很大的区别。软 件产品是看不见摸不着的,因而具有无形性。它是脑力劳动 的结晶。 (2) 软件产品的生产主要是研制。其成本主要体现在软件的 开发和研制上,软件开发研制完成后,通过复制就产生了大 量的软件产品。 (3) 软件产品不会用坏,不存在磨损、消耗问题,是绿色环 保产品。
1.1.3 软件危机
3.软件危机的原因 造成上述软件危机的原因概括起来有以下几方面。 (1) 软件的规模越来越大,结构越来越复杂。随
着计算机应用的日益广泛,需要开发的软件规模日益庞 大,软件结构也日益复杂。
(2) 软件开发的管理困难。由于软件规模大,结构 复杂,又具有无形性,导致管理困难,进度控制困难, 质量控制困难,可靠性无法保证。
文档资料是软件必不可少的重要组成部分。它是 开发组织和用户之间的权利与义务的合同书,是组织者向开 发人员下达的任务书,是系统维护人员的技术指导书,是软 件测试人员的工作依据,是用户的操作说明书,但是目前开 发组织不够重视。缺乏必要的文档或文档不全。
1.1.4 软件工程
3) 软件可维护性 统计数据表明,软件的维护费用占整个软件系统费
西安电子科技大学出版社
第1章 绪 论
本章概述了软件工程领域的基本内容。首先介绍了软件 生产的发展及软件危机,软件工程的特点、性质、目标、面 临的问题;然后简要介绍了软件生存周期的各阶段,各种生 存周期模型以及各种软件开发方法。
目录
1.1 软件工程的产生 软件工程的过程和软件生存
1.2 周期 1.3 软件开发方法概述
1.1.4 软件工程
1.软件工程的定义 软件工程是用科学知识和技术原理来定义、开发、
维护软件的一门学科,是计算机科学中的一个分支,其主要 思想是在软件生产中用工程化的方法代替传统手工方法。工 程化的方法借用了传统的工程设计原理的基本思想,采用了 若干科学的、现代化的方法技术来开发软件。这种工程化的 思想贯穿到需求分析、设计、实现,直到维护的整个过程。 2.软件工程的性质
1.1.3 软件危机
2.软件危机的表现 软件危机表现在以下几方面: (1) 经费预算经常突破,完成时间一再拖延。由于缺乏软 件开发的经验和软件开发数据的积累,使得开发工作的计 划很难制定。 (2) 开发的软件不能满足用户要求。开发初期对用户的要 求了解不够明确,未能得到明确表达。开发工作开始后, 软件人员和用户又未能及时交换意见,使得一些问题不能 及时解决,导致开发的软件不能满足用户的要求,使项目 失败。
1.1.2 软件生产的发展
2.程序系统时代(1956—1968年)
程序系统时代的生产方式是作坊式的小集团合作 生产,生产工具是高级语言;开发方法仍旧靠个人技巧, 但开始提出了结构化方法;
硬件特征是:速度、容量及工作可靠性有明显提高 ,价格降低,销售有爆炸性增长;软件特征是:程序员数 量猛增,其他行业人员大量进入这个行业,由于缺乏训练 ,开发人员素质差。
(3) 软件开发费用不断增加。软件生产是一种智力 劳动,它是资金密集、人力密集的产业,大型软件投入 人力多,周期长,费用上升很快。
1.1.3 软件危机
3.软件危机的原因 (4) 软件开发技术落后。在20世纪60年代,人们注重一些
计算机理论问题的研究,如编译原理、操作系统原理、数 据库原理、人工智能原理、形式语言理论等,不注重软件 开发技术的研究,用户要求的软件其复杂性与软件技术解 决复杂性的能力不相适应,它们之间的差距越来越大。 (5) 生产方式落后。软件仍然采用个体手工方式开发。根 据个人习惯和爱好工作,无章可循,无规范可依据,靠言 传身教方式工作。 (6) 开发工具落后,生产率提高缓慢。软件开发工具过于 原始,没有出现高效率的开发工具,因而软件生产率低下 。
谢谢! 西安电子科技大学出版社
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
----谢谢大家!!
软件可靠性、软件可维护性、软件生产率和软件重用等。 1) 软件费用 由于软件生产基本上仍处于手工状态,软件是知识高度密集 的技术的综合产物,人力资源远远不能适应这种迅速增长的 软件社会要求,因而软件费用上升的势头必然还将继续下去 。 2) 软件可靠性 软件可靠性是指软件系统能否在既定的环境条件下运行并实 现所期望的结果。在软件开发中,通常要花费40%的代价进 行测试和排错,即使这样还不能保证以后不再发生错误,为 了提高软件可靠性,就要付出足够的代价。
1.1.3 软件危机
1.软件危机的产生
软件发展第二阶段的末期,由于计算机硬件技术 的进步,计算机运行速度、容量和可靠性有显著的提高, 生产成本显著下降,这为计算机的广泛应用创造了良好的 条件。一些复杂的、大型的软件开发项目被提出来,但是 ,软件开发技术一直未能满足发展的要求。软件开发中遇 到的问题因找不到合适的解决办法而使问题积累起来,形 成了尖锐的矛盾,导致了软件危机。
软件工程研究的主要内容是指软件开发技术和软件 开发管理两个方面。在软件开发技术中,它主要研究软件开 发方法、软件开发过程、软件开发工具和环境。在软件开发 管理中,它主要研究软件管理学、软件经济学和软件心理学 等。
1.1.4 软件工程
5.软件工程面临的问题 软件工程有许多需要解决的棘手问题,如软件费用、
1.1.4 软件工程
5) 软件重用 提高软件的重用性,对于提高软件生产率、降低软件
成本有着重要意义。当前的软件开发存在着大量的、重复的 劳动,耗费了不少的人力资源。软件的重用有各种级别,软 件规格说明、软件模块、软件代码、软件文档等都可以是重 用的单位。软件重用是软件工程中的一个重要研究课题,软 件重用的理论和技术至今尚未彻底解决。 6) 软件文档
1.wk.baidu.com 软件工程的产生
1.1.2 软件生产的发展 1.程序设计时代 (1946—1956年)
程序设计时代的生产方式是个体手工劳动,使用的 工具是机器语言、汇编语言;开发方法是追求编程技巧, 追求程序运行效率,因此程序难读、难懂、难修改;硬件 特征是价格高、存储容量小、运行可靠性差;软件特征是 只有程序、程序设计概念,不重视程序设计方法。
这时已意识到软件开发的重要性,大量软件开发的 需求已被提出,但开发技术没有新的突破,开发人员的素 质和落后的开发技术不适应规模大、结构复杂的软件开发 ,因此产生了尖锐的矛盾,导致软件危机的产生。
1.1.2 软件生产的发展
3.软件工程时代(1968年至今)
软件工程时代的生产方式是工程化的生产,使用 数据库、开发工具、开发环境、网络、分布式、面向对象 技术来开发软件;硬件特征是:向超高速、大容量、微型 化以及网络化方向发展;软件特征是:开发技术有很大进 步,但是未能获得突破性进展,软件价格不断上升,没有 完全摆脱软件危机。
软件工程是涉及计算机科学、工程科学、管理科学 、数学等领域的一门综合性的交叉学科。计算机科学中的研 究成果均可用于软件工程,但计算机科学侧重于原理和理论 的研究,而软件工程侧重于如何建造一个高质量的软件系统 。
1.1.4 软件工程
3.软件工程的目标 软件工程是一门工程性学科,目的是成功地建造一
个大型软件系统。所谓成功,是要达到以下几个目标:付出 较低的开发成本;达到要求的软件功能;取得较好的软件性 能;开发的软件易于移植;需要较低的维护费用;能按时完 成开发任务,及时交付使用;开发的软件可靠性高。 软件工程的目标可以简单地规纳为四个字:多、快、好、省 。“多”是功能齐全,“快”是进度快,“好”是质量高, “省”是节省成本。 4.软件工程的内容