【2017年整理】软件工程导论-ch1.ppt
文本预览下载声明
华中科技大学计算机学院 陆枫 99-7 1999年7月 第1章 软件工程学概述 学习目标 掌握软件的概念及特点 掌握软件危机的产生及消除途径 掌握软件工程的概念及其研究内容 掌握软件生存周期的定义及其模型 第1章 软件工程学概述 教学内容 1.1 软件危机 1.2 软件工程 1.3 软件生命周期 1.4 软件过程 本章小结 第1章 软件工程学概述 1.1软件危机 什么是软件 软件的特点 软件的发展 软件危机 产生软件危机的原因 第1章 软件工程学概述 本质特性: 1. 软件工程关注于大型程序的构造 2. 软件工程的中心课题是控制复杂性 3. 软件经常变化 4. 开发软件的效率非常重要 5. 和谐地合作是开发软件的关键 6. 软件必须有效地支持它的用户 7. 在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品 第1章 软件工程学概述 软件工程目标 1)可修改性(modifiability),允许对软件系统进行 修改而不增加其复杂性。它支持软件调试与维护。 2)有效性(efficiency),指软件系统的时间和空间 效率。这是一个应当努力追求的重要目标。 3)可靠性(reliability),是指在给定的时间间隔内, 程序成功运行的概率。可靠性是衡量软件质量的一 个重要目标。 第1章 软件工程学概述 4)可理解性(understandability),指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 5)可维护性(maintainability),是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的难易程度。由于软件的维护费用在整个软件生存周期中占主要的比重,因此,可维护性是软件工程中的一个十分重要的目标。软件的可理解性和可修改性支持软件的可维护性。 第1章 软件工程学概述 6)可重用性(reusability),是指软部件可以在多种场合使用的程度。 概念或功能相对独立的一个或一组相关模块可构成一个软部件。软部件应具有清晰的结构和注释、正确的编码和较高的时空效率。可将各种软部件按照某种规则放在软部件库中供开发人员选用。 广义地讲,可重用性还应包括应用项目、规格说明、设计、概念和方法等等的重用。一般来说,重用的层次越高,带来的效益越大。 可重用性有助于提高软件产品的质量和开发效率、降低软件开发和维护费用。 第1章 软件工程学概述 7)可适应性(adaptability),是指软件在不同的系统约束条件下,使用户需求得到满足的难易程度。 选择广为流行的软硬件支持环境、采用广为流行的程序设计语言编码、采用标准的术语和格式书写文档可增强软件产品的可适应性。 8)可移植性(portability),是指软件从一个计算机系统或环境移植到另一个上去的难易程度。 采用通用的运行支持环境和尽量通用的程序设计语言的标准部分可提高可移植性。而应将依赖于计算机系统的低级(物理)特征部分相对独立、集中起来。可移植性支持软件的可重用性和可适应性。 第1章 软件工程学概述 9)可追踪性(traceability),是指根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。软件开发各阶段的文档和程序的完整性、一致性、可理解性支持软件的可追踪性。 10)可互操作性(interoperability),是指多个软件元素相互通信并协同完成任务的能力。 1.2.2软件工程的基本原理 1.2.3软件工程方法学 软件工程包括技术和管理两方面的内容。 管理:通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。 方法学:在软件生命周期全过程中使用的一整套技术方法的集合。 软件工程方法学包含3个要素:方法、工具和过程。 1.3软件生命周期 1.4.1瀑布模型 (Waterfall Model) 第1章 软件工程学概述 优点 (1)强迫开发人员采用规范的技术方法; (2)严格地规定了每个阶段必须提交的文档; (3)每个阶段结束前必须正式进行严格的技术审查和管理复审。 缺点 (1)用户只能通过文档来了解软件产品; (2)传统的瀑布模型很难适应可变、模糊不定的软件系统的开发,而且在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系
显示全部