《软件工程——理论、方法与实践》课件第1章.pptx

《软件工程——理论、方法与实践》课件第1章.pptx

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

第1章导论

1.1软件

1.2软件工程概述

1.3软件工程方法

1.4CASE工具与集成化的软件开发环境1.5软件工程知识体系

本章小结

习题

1.1软件

软件不是物理产品而是逻辑产品,在开发、维护方面与硬件产品相比有着完全不同的特性:

(1)软件是设计开发的,而非传统意义上生产制造的。软件和硬件均可通过设计获得好的产品品质,但硬件制造阶段的质量问题是易于控制和纠正的,而软件生产阶段的质量控制要困难得多。相比硬件的生产,软件开发过度依赖于开发人员的素质、能力及协作,软件项目管理过程不能像硬件制造那样进行。

(2)软件不会磨损。随着时间的推移,灰尘、振动、不当

使用、温度等因素的影响,硬件的失效率会增大,这称之为磨损。而软件则不会受上述环境的影响。硬件和软件的失效率曲线如图1.1所示。

失效率失效率

磨合调整磨损用坏修改点

实际曲线

时间0

(b)软件失效率曲线

图1.1硬件和软件失效率曲线对比

0

(a)硬件失效率曲线

理想曲线

时间

(3)大多数软件是根据客户的要求定制的。硬件通常是依

据一定规范标准来制造的,软件则多数是根据客户的要求定制的。虽然目前商业化软件的组件技术发展很快,但完全使用现成的组件实现软件系统仍不现实,基于组件的软件开发模式仍然需要根据软件需求来开发系统。

1.1.1软件的发展

1942年,伴随着第一台计算机的诞生,计算机程序开始出现。通常,软件发展至今可被划分为四个阶段。

1.1.2软件的类型

软件从功能角度分为系统软件和应用软件,从服务对象的角度分为通用软件和定制软件。

1.1.3软件质量特性

质量特性是“产品、过程或体系与需求有关的固有特性”。软件质量特性反映了软件的本质。

软件质量的定义有多种,美国国家标准学会(ANSI)在其

ANSI/ASQCA3/1978标准中将软件质量定义为:“软件质量是软件产品或服务的特性和特征的整体,它取决于软件满足给定需求的能力”。具体来说,软件质量就是软件符合明确描述的功能和性能需求、文档中明确描述的开发标准,以及所有专业开发的软件都应具备的隐含特征的程度。

软件质量通常采用质量模型来建立用户视角和开发者视角

的软件质量特性间的关系,如Bohem的质量模型、McCall的质量模型以及ISO的质量模型。图1.2为McCall的质量模型。

互操作性可移植性可复用性

产品

转换

可维护性

可测试性

灵活性

产品修改

图1.2McCall的软件质量模型

正确性可用性完整性

可靠性有效性

产品运行

McCall的模型中给出了11个质量要素,如表1.1所示。11

个质量要素分为三类,对应软件的运行特性、修改特性和转换特性。软件的运行特性包括正确性、可靠性、有效性、完整性和可用性;修改特性是指软件承受修改的能力,包括可维护性、灵活性和可测试性;软件的转换特性包括可移植性、可复用性和互操作性。

要素

描述

正确性

指软件达到或满足需求规格说明及完成用户目标的程度。这里需要强调的是,用户需求不仅包括显性陈述的需求内容,还应包括隐含的需求

可靠性

指软件在指定条件下和特定时间段内维持其正常性能水准的能力的程度

完整性

系统不遗漏和丢失应实现的功能,完全实现需求规格说明所定义目标的程度

可用性

指用户为使用一个软件产品所付出的学习努力以及其他代价的程度

有效性

指在规定的条件下,软件功能与所占用资源之间的比值关系

可维护性

当发现错误、运行环境改变或客户需求改变时,程序可被修改的难易程度

可测试性

程序接受测试达到预定目标的能力

灵活性

程序易于修改、扩展、适应的能力

可移植性

指将软件从一种环境移植到另一种环境的难易程度

可复用性

软件在其他系统中可再次使用的程度或范围

互操作性

与其他系统交换信息和使用信息的能力

表1.1McCall的软件质量要素准则

McCall的模型中给出了一组较易度量的软件质量评价准则,

共20种。评价准则能够比较完整、准确地描述质量,且比较容易量化和度量。表1.2列出了对它们的描述。

准则

描述

可审查性

检查软件需求、规格说明、标准、过程、指令、代码及合同是否一致的难易程度

准确性

软件计算和控制的精度,表示为相对误差的函数,函数值越大精确度越高

完整性

系统不遗漏和丢失应实现的功能,完全实现需求规格说明所定义目标的程度

简明性

程序源代码的紧凑性

一致性

软件系统使用一致的概念、符号、术语、接口、规范的程度

数据通用性

在程序中使用标准的数据结构和类型的程

您可能关注的文档

文档评论(0)

178****8896 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档