软件工程软件工程学概述

上传人:宝路 文档编号:47592463 上传时间:2018-07-03 格式:PPT 页数:26 大小:577.52KB
返回 下载 相关 举报
软件工程软件工程学概述_第1页
第1页 / 共26页
软件工程软件工程学概述_第2页
第2页 / 共26页
软件工程软件工程学概述_第3页
第3页 / 共26页
软件工程软件工程学概述_第4页
第4页 / 共26页
软件工程软件工程学概述_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《软件工程软件工程学概述》由会员分享,可在线阅读,更多相关《软件工程软件工程学概述(26页珍藏版)》请在金锄头文库上搜索。

1、电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述1.2 1.2 软件危机软件危机1.3 1.3 软件工程软件工程1.4 1.4 软件生命周期软件生命周期1.5 1.5 软件过程软件过程1.1 1.1 软件软件*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述1.1 1.1 软件软件软件:软件:程序以及开发、使用和维护程序所程序以及开发、使用和维护程序所 需要的所有文档。需要的所有文档。软件:软件:计算机程序、方法、规则、相关的计算机程序、方

2、法、规则、相关的 文档资料以及在计算机上运行程序时所必需文档资料以及在计算机上运行程序时所必需 的数据。(的数据。(1983 1983 IEEEIEEE) Institute of Electrical Institute of Electrical and Electronic and Electronic Engineers Engineers ( (软件程序文档数据软件程序文档数据) ) 软件与程序的主要区别是:软件与程序的主要区别是:规模庞大、复杂度高规模庞大、复杂度高*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件

3、工程学概述1.2 1.2 软件危机软件危机 1.2.1 1.2.1 软件危机介绍软件危机介绍1. 1.软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一是指在计算机软件的开发和维护过程中所遇到的一 系列严重问题。系列严重问题。(1 1)如何开发软件,以满足对软件日益增长的需求)如何开发软件,以满足对软件日益增长的需求 ;(2 2)如何维护数量不断膨胀的已有软件。如何维护数量不断膨胀的已有软件。软件萧条软件萧条(software depressionsoftware depression) 软件困扰软件困扰(software afflictionsoftware affliction)

4、*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述2. 2.软件危机的典型表现软件危机的典型表现(1 1)对软件开发成本和进度的估计常常很不准确)对软件开发成本和进度的估计常常很不准确 ; (2 2)用户对)用户对“ “已完成的已完成的” ”软件系统不满意的现象经软件系统不满意的现象经 常发生;常发生;(3 3)软件产品的质量往往靠不住;)软件产品的质量往往靠不住;(4 4)软件常常是不可维护的;)软件常常是不可维护的;(5 5)软件通常没有合适的文档资料)软件通常没有合适的文档资料(6 6)软件成本在计算机系统总成

5、本中所占比例逐)软件成本在计算机系统总成本中所占比例逐 年上升;年上升;(7 7)软件开发生产率提高的速度,远远跟不上计)软件开发生产率提高的速度,远远跟不上计 算机应用迅速普及深入的趋势。算机应用迅速普及深入的趋势。*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述1.2.2 1.2.2 软件危机产生的原因软件危机产生的原因1. 1.软件本身的特点软件本身的特点(1 1)软件是逻辑部件而不是物理部件,缺乏)软件是逻辑部件而不是物理部件,缺乏“ “可可 见性见性” ”,管理和控制软件开发过程相当困难;,管理和控制软件

6、开发过程相当困难;(2 2)软件维护较难;)软件维护较难;(3 3)软件规模庞大。)软件规模庞大。2. 2.软件开发与维护的方法不正确软件开发与维护的方法不正确(1 1)忽视需求分析)忽视需求分析(2 2)轻视软件维护)轻视软件维护*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述1.2.3 1.2.3 消除软件危机的途径消除软件危机的途径1. 1.应该对计算机软件有一个正确的认识应该对计算机软件有一个正确的认识软件程序文档数据软件程序文档数据2. 2.必须充分认识到软件开发不是某种个体劳动的神必须充分认识到软件开发

7、不是某种个体劳动的神 秘技巧,而应该是一种组织良好、管理严密、各类秘技巧,而应该是一种组织良好、管理严密、各类 人员协同配合、共同完成的工程项目人员协同配合、共同完成的工程项目3. 3.应该开发和使用更好的软件工具应该开发和使用更好的软件工具*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述1.3 1.3 软件工程软件工程提出:提出:19681968年年 NATO NATO 联邦德国联邦德国 1.3.1 1.3.1 软件工程介绍软件工程介绍1. 1.软件工程软件工程(1 1)软件工程就是为了经济地获得可靠的且能在实)

8、软件工程就是为了经济地获得可靠的且能在实 际机器上有效地运行的软件,而建立和使用完善的工际机器上有效地运行的软件,而建立和使用完善的工 程原理。程原理。 19681968年第一届年第一届 NATONATO会议提出会议提出(2 2)软件工程是:)软件工程是:a a把系统的、规范的、可度量把系统的、规范的、可度量 的途径应用于软件开发、运行和维护过程,也就是的途径应用于软件开发、运行和维护过程,也就是 把工程应用于软件;把工程应用于软件;b b研究研究a a中提到的途径。中提到的途径。19931993年年IEEEIEEE提出提出*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软

9、件工程导论第第 1 1 章章 软件工程学概述软件工程学概述(3 3)软件工程是指导计算机软件开发和维护的一门工软件工程是指导计算机软件开发和维护的一门工 程学科。采用工程的概念、原理、技术和方法来开发与维程学科。采用工程的概念、原理、技术和方法来开发与维 护软件,把经过时间考验而证明正确的管理技术和当前呢护软件,把经过时间考验而证明正确的管理技术和当前呢 能够得到的最好的技术方法结合起来,以经济地开发出高能够得到的最好的技术方法结合起来,以经济地开发出高 质量的软件并有效地维护它。质量的软件并有效地维护它。2. 2.软件工程的特性软件工程的特性(1 1)软件工程关注于大型程序的构造)软件工程关

10、注于大型程序的构造(2 2)软件工程的中心课题是控制复杂性)软件工程的中心课题是控制复杂性(3 3)软件经常变化)软件经常变化(4 4)开发软件的效率非常重要)开发软件的效率非常重要(5 5)和谐地合作是开发软件的关键)和谐地合作是开发软件的关键(6 6)软件必须有效地支持它的用户)软件必须有效地支持它的用户(7 7)在软件工程领域中是由具有一种文化背景的人替具)在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。有另一种文化背景的人创造产品。*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述

11、1.3.2 1.3.2 软件工程的基本原理软件工程的基本原理1. 1.用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理2. 2.坚持进行阶段评审坚持进行阶段评审3. 3.实行严格的产品控制实行严格的产品控制4. 4.采用现代程序设计技术采用现代程序设计技术5. 5.结果应能清楚地审查结果应能清楚地审查6. 6.开发小组的人员应该少而精开发小组的人员应该少而精7. 7.认不断改进软件工程实践的必要性认不断改进软件工程实践的必要性*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述1.3.3 1.3.3 软件工

12、程方法学软件工程方法学软件工程包括技术和管理两方面的内容,是技术与软件工程包括技术和管理两方面的内容,是技术与 管理紧密结合所形成的工程学科。管理紧密结合所形成的工程学科。管理:管理:是通过计划、组织和控制等一系列活动,合是通过计划、组织和控制等一系列活动,合 理地配置和使用各种资源,以达到既定目标的过程。理地配置和使用各种资源,以达到既定目标的过程。方法学:方法学:在软件生命周期全过程中使用的一整套技在软件生命周期全过程中使用的一整套技 术方法的集合称为方法学,也称为范型。术方法的集合称为方法学,也称为范型。软件工程方法学的要素:软件工程方法学的要素:方法方法 工具工具 过程过程方法:是完成

13、软件开发的各项任务的技术方法,回方法:是完成软件开发的各项任务的技术方法,回 答答“ “怎样做怎样做” ”的问题。的问题。*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述工具:是为运用方法而提供的自动的或半自动的工具:是为运用方法而提供的自动的或半自动的 软件工程支撑环境软件工程支撑环境。如果把各个阶段使用的软件工具有机地集合称一个整如果把各个阶段使用的软件工具有机地集合称一个整 体,支持软件卡发的全过程,则称为软件工程支撑环体,支持软件卡发的全过程,则称为软件工程支撑环 境。境。过程:是为了获得高质量的软件所需要

14、完成的过程:是为了获得高质量的软件所需要完成的 一系列任务的框架,它规定了完成各项任务的工作一系列任务的框架,它规定了完成各项任务的工作 步骤。步骤。*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述1. 1.传统方法学传统方法学传统方法学也称为生命周期方法学或结构化范型传统方法学也称为生命周期方法学或结构化范型 。 采用结构化技术(结构化分析、结构化设计和结构化采用结构化技术(结构化分析、结构化设计和结构化 实现)来完成软件开发的各项任务,并使用适当的软实现)来完成软件开发的各项任务,并使用适当的软 件工具或软件工

15、程环境来支持结构化技术的运用。件工具或软件工程环境来支持结构化技术的运用。前一个阶段任务的完成是开始进行后一个阶段工前一个阶段任务的完成是开始进行后一个阶段工 作的前提和基础,而后一阶段任务的完成通常是使前作的前提和基础,而后一阶段任务的完成通常是使前 一阶段提出的解决更进一步具体化,加进了更多的实一阶段提出的解决更进一步具体化,加进了更多的实 现细节。现细节。*电子与信息工程学院电子与信息工程学院 计算机系计算机系软件工程导论软件工程导论第第 1 1 章章 软件工程学概述软件工程学概述2. 2.面向对象方法学面向对象方法学面向对象方法学把数据和行为看成同等重要,它是面向对象方法学把数据和行为看成同等重要,它是 一种以数据为主线,把数据和对数据的操作紧密地结一种以数据为主线,把数据和对数据的操作紧密地结 合起来的方法。合起来的方法。要点要点:(1 1)把对象()把对象(objectobject)作为融合了数据及在数据上作为融合了数据及在数据上 的操作行为的统一的软件构件。的操作行为的统一的软件构件。(2 2)把所有对象都划分成类()把所有对象都划分成类(classclass)。)。(3 3)按照父类(基类)与子类(派生类)的关系,按照父类(基类)与子类(派生类)的关系, 把若干个相关类组成一个层次结构的系统(类

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

当前位置:首页 > 高等教育 > 大学课件

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