《软件工程导论》PPT课件-第1章-软件工程学概述.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《软件工程导论》PPT课件-第1章-软件工程学概述.ppt》由会员分享,可在线阅读,更多相关《《软件工程导论》PPT课件-第1章-软件工程学概述.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程导论软件工程导论 本章学习目标:本章学习目标:了解软件危机的发生原因和典型表现 识记软件工程的概念和基本原理 识记软件生命周期和软件过程的概念 识记常用的生命周期模型第1章 软件工程学概述第1章 软件工程学概述 1.1 软件危机 1.2 软件工程 1.3 软件生命周期第1章 软件工程学概述 1.1 软件危机 1.2 软件工程 1.3 软件生命周期1.1.1 软件的定义 软件的经典定义:软件软件=“完成特定功能的程序完成特定功能的程序+数据结构数据结构+文档文档”软件的特征:1、软件是开发的,而不是制造的;2、软件不磨损,但退化;3、自定义。1.1.1 软件的定义 软件发展中的相关问题:
2、硬件的发展超过软件;现有软件与用户的要求矛盾;软件失败导致“灾难性后果”;需要高质量、高可靠性的软件;设计的问题使升级和维护十分困难。1.1.1 软件危机的定义 定义定义 “在计算机软件的开发和维护过程在计算机软件的开发和维护过程中所遇到的一系列严重的问题。中所遇到的一系列严重的问题。”1.1.2 软件危机的表现(1)对软件开发成本和进度的估计常常很不准确。)对软件开发成本和进度的估计常常很不准确。实际成本往往大大超过估计成本,或开发进度比计划推迟几个月或一年以上。这种现象极大地影响了软件开发组织的信誉,也会引起用户的强烈不满。(2)软件产品质量较差,可靠性低。)软件产品质量较差,可靠性低。软
3、件开发过程中不能坚持严格的审查、复审和测试,使得软件可靠性差、质量问题多。1.1.2 软件危机的表现(3)用户对开发出来的软件产品不满意。)用户对开发出来的软件产品不满意。开发人员与用户之间的交流不充分,仅对用户需求有了一个模糊的认识就匆忙开始写程序。这样的结果就是用户对于所谓已经完成的软件很不满意。(4)软件常常是不可维护的。)软件常常是不可维护的。在实际项目中,很多程序的错误往往难以修改,而且不能适应软硬件环境的变化,也无法添加用户需要的一些新功能。1.1.2 软件危机的表现(5)软件产品缺少应有的文档资料。)软件产品缺少应有的文档资料。软件=程序+数据+文档。开发人员对文档认识不足,不能
4、保证在开发过程中文档的完整性和准确性。缺少文档资料会造成软件开发、管理、审查、用户交流、软件维护等方面的诸多问题。(6)软件产品的供不应求。软件产品的供不应求。软件开发的生产率远远低于计算机硬件发展速度和用户的需求,造成了软件产品的供不应求。1.1.3 产生软件危机的原因客观原因:客观原因:软件与硬件产品不同,软件是“开发的”而非“制造的”。其开发过程难以管理和控制,产品质量也不好把握。软件没有“磨损”,但是它会不断“退化”。软件系统无法适应不断变化的环境和功能需求。软件都规模庞大,而程序的复杂性是随其规模的扩大呈指数增加。主观原因:主观原因:对用户要求没有完整和准确的认识就匆忙编写程序。对软
5、件的开发过程的认识不准确。生命周期的每个阶段都有特定的工作和特点,都是不可逾越的。只有上一阶段工作完成,才能开始下一阶段的工作。对软件质量的重视不够是造成软件开发成本激增的主要原因。注意软件开发过程中错误的“放大效应”。轻视软件维护将是一个重大的错误。软件开发时期各阶段的关键目标都是提高软件的可维护性。1.1.3 产生软件危机的原因第1章 软件工程学概述 1.1 软件危机软件危机 1.2 软件工程软件工程 1.3 软件生命周期 1.4 软件过程1.2 软件工程 为了更有效地开发与维护软件,软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了一门新兴的工程学科计算机软件
6、工程学计算机软件工程学(简称为软件工程软件工程)。1.2.1 软件工程的概念 定义指导软件开发与维护的工程科学指导软件开发与维护的工程科学 采用工程的概念、原理、技术和方法来开发和维护软件,综合运用正确的管理技术和最好的技术方法,以经济地开发出高质量的软件并有效维护它。1.2.1 软件工程的概念 IEEE的定义 软件工程是把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;对这些途径加以研究。1.2.1 软件工程的概念 诸多软件工程的定义所揭示的软件工程软件工程的本质的本质认识是一致的:软件工程一般更关注于大型软件系统的开发;其中心任务是控制整个软件系统的复杂
7、性,提高软件开发的效率,加强人员和技术的管理,更好地满足用户的需要。1.2.2 软件工程的基本原理(1)用分阶段的生命周期计划严格管理)用分阶段的生命周期计划严格管理 应该将软件开发和维护的漫长生命周期划分成若干个阶段,并针对每个阶段制定切实可行的计划,然后严 格按照计划对软件的开发和维护工作进行管理。(2)坚持进行阶段评审)坚持进行阶段评审 错误发现的越早,改正错误所付出的代价就越小。因此,开发人员应该坚持在每个阶段都进行严格的评 审,以便更早地发现和改正错误。1.2.2 软件工程的基本原理(3)实行严格的产品控制)实行严格的产品控制 在软件开发的过程中不应随意修改需求,当改变需 求时,必须
8、实行严格的产品控制以保持软件各个配置成 分的一致性。(4)采用现代程序设计技术)采用现代程序设计技术 采用先进的技术不仅可以提高软件开发和维护的效率,而且还能有效地提高软件产品的质量。1.2.2 软件工程的基本原理(5)结果可以清楚地审查结果可以清楚地审查 应规定每个开发阶段的产品标准和文档要求,使得到的结果可以清楚地审查。(6)开发小组成员少而精)开发小组成员少而精 软件开发小组人员要求素质高,而人数不宜过多。随着人数n的增加,通信路径也急剧增加。1.2.2 软件工程的基本原理(7)承认不断改进软件工程实践的必要性)承认不断改进软件工程实践的必要性 软件开发和维护的过程也需要随之改进。要主动
9、采用最新的软件技术,而且还要不断总结经验和教训、收集历史数据帮助开发人员改进软件工程实践。1.2.3 软件工程方法学 软件生命周期全过程中使用的一整套技术方法的集合称为方法学。软件工程方法学主要包含3个要素:方法、工具方法、工具和过程和过程。目前使用最为广泛的软件工程方法学是传统方法传统方法学学和面向对象方法学面向对象方法学。1.2.3 软件工程方法学1.传统方法学传统方法学 -也称为生命周期方法学或结构化范型。-它采用结构化技术(包括结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务。-这种方法学将软件生命周期划分为若干个阶段,然后顺序完成各个阶段的任务。每个阶段依赖上一个阶段产生
10、的结果,并将上一阶段工作进一步具体化。1.2.3 软件工程方法学2.面向对象方法学面向对象方法学 -以数据为主线,将数据和其上的操作紧密结合起来。面向对象方法学的四要素:类+对象+继承+消息传递。-面向对象的方法学是尽量模拟人类习惯的思维方式,使软件开发过程更接近人类认知模式,做到问题空间与解空间在结构上一致。-运用面向对象方法学开发出来的软件产品一般是由很多较小的独立对象组成,从而降低了软件产品的复杂性,增强了可理解性,使得开发和维护更为简单有效。第1章 软件工程学概述 1.1 软件危机软件危机 1.2 软件工程软件工程 1.3 软件生命周期软件生命周期1.3.1 软件生命周期的概念 定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程导论 软件工程 导论 PPT 课件 软件 工程学 概述
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内