软件工程与项目管理(第2版) 课件 (王素芬)第1--6章 概述、软件生命周期与软件过程---软件详细设计.pptx

软件工程与项目管理(第2版) 课件 (王素芬)第1--6章 概述、软件生命周期与软件过程---软件详细设计.pptx

  1. 1、本文档共251页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1.1软件

1.2软件工程

1.3软件工程发展中的软件开发方法与技术

1.4计算机辅助软件工程

1.5软件工程与其他相关学科的关系

1.6软件工程职业道德规范

1.7软件项目成败情况统计

1.8全球软件产业的现状、趋势与挑战;1.1软件;1.1.1软件及软件特性

1.软件

软件的定义是随着计算机技术的发展而逐步完善的。在20世纪50年代,人们认为软件就等于程序;60年代人们认识到软件的开发文档在软件中的作用,提出软件等于程序加文档,但这里的文档仅是指软件开发过程中所涉及的分析、设计、实现、测试、维护等文档,不包括软件管理文档;到了70年代人们又给软件的定义中加入了数据。因此,软件是计算机系统中与硬件相互依存的一部分,它包括:

(1)在运行中能提供所希望的功能与性能的程序;

(2)使程序能够正确运行的数据及其结构;

(3)描述软件研制过程和方法所用的文档。

2.软件的特性

从广义来说,软件与硬件一样也是产品,但两者之间是有差别的,了解并理解这种差别对理解软件工程是非常重要的。

(1)软件角色的双重性。

(2)软件是被开发或设计的,而不是传统意义上的被制造。

(3)软件不会“磨损”,但会退化。

(4)绝大多数软件都是定制的且是手工的。

;(5)软件开发过程复杂且费用昂贵。

1.1.2软件的发展及分类

1.软件的发展

自20世纪40年代出现了世界上第一台计算机以后,经历了几十年的发展,计算机软件经历了程序设计、程序系统和软件工程三个发展时期。

表1.1列出了三个发展时期主要特征的对比,由此可以看出几十年来软件最根本的变化。

2.软件的分类

软件的应用非常广泛,几乎渗透到了各行各业。因此,要给出一个科学的、统一的、严格的计算机软件分类标准是不现实也是不可能的,但可以从不同的角度对软件进行适当的分类。常用的分类方法及意义如表1.2所示。;;1.1.3软件危机及其产生的主要原因

随着社会对计算机应用需求的增长,软件系统规模越来越庞大,生产难度和生产成本越来越高,软件需求量剧增,质量没有可靠的保证,软件开发的生产率低等因素构成软件生产的恶性循环。软件生产的复杂性??高成本,使大型软件的生产出现了很大的困难,因此出现了软件危机。其具体表现如下:

(1)开发人员和用户之间存在矛盾。用户在开发初期,由于各种原因往往不能准确地提出需求描述;开发人员在还没有准确、完整地了解用户的实际需求后就急于编程。

(2)大型软件项目需要组织一定的人力共同完成,多数管理人员缺少开发大型软件系统的经验;多数软件开发人员缺乏协同方面的经验;软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。

(3)缺乏有力的方法学和工具方面的支持,过分依靠程序设计人员的技巧和创造性。重编程,轻需求分析;重开发,轻维护;重程序,轻文档。这样做的后果就是在软件系统中“埋藏”了许多故障隐患,直接危害着系统的可靠性和稳定性。

人们把在软件开发与维护过程中遇到的一系列严重问题称为软件危机。

1.1.4软件危机的表现

软件危机的主要表现如下:

(1)软件开发进度难以预测;

(2)软件开发成本难以控制;

;(3)用户对软件产品的功能要求难以满足;

(4)软件产品的质量无法保证,系统中的错误难以消除;

(5)软件产品难以维护;

(6)软件缺少适当的文档资料;

(7)软件开发的生产速度难以满足社会需求的增长。

1.1.5解决软件危机的途径

分析了造成软件危机的原因后,人们开始探索用工程的方法进行软件生产的可能性,即用软件工程的概念、原理、技术和方法进行软件的开发、管理、维护和更新。于是,计算机科学的一个领域——“软件工程”诞生了。

;1.2软件工程;1.2.1软件工程的概念

软件工程是指导计算机开发和维护的工程学科。借用传统工程设计的基本思想,采用工程化的概念、原理、技术和方法来开发与维护软件,突出软件生产的科学方法,把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术和方法结合进来,降低开发成本,缩短研制周期,提高软件的可靠性和生产效率。软件的工程化生产已成为软件产业。软件已成为产品,它涉及产值、市场、版权、法律保护等方面的问题。软件工程是一门交叉学科,需要用管理学的原理和方法来进行软件生产管理;用工程学的观点来进行费用估算、制订进度和实施方案;用数学方法来建立软件可靠性模型以及分析各种算法。

1.2.2软件工程的三要素

软件工程以关注软件质量为目标,由方法、工具和过程三个要素构成,如图1.3所示。

;软件工程方法为软件开发提供了“如何做”的技术,涉及软件工程的多个方面,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档