软件工程自考复习资料-全 联系客服

发布时间 : 星期二 文章软件工程自考复习资料-全更新完毕开始阅读b2e0771777232f60ddcca1d5

第一章 绪论

一、 软件的基本概念

1. 软件是计算机系统中的程序及其文档。

2. 程序是计算机任务的处理对象和处理规则的描述;文档是为了理解程序所需的阐述性的文书和资料。

3. 文档一般主要面向管理人员、开发人员、用户、使用维护人员。

4. 文档在软件工程中的作用:(1)提高软件开发过程的能见度。(2)提高开发效率。(3)

作为开发人员阶段工作成果和结束标志。(4)记录开发过程有关信息便于使用和维护。(5)提供软件运行、维护和培训等资料。(6)便于用户了解软件功能、性能。 5. 软件的生产经历了三个阶段:

* 程序设计时代:生产方式是个体手工劳动,使用工具是机器、汇编语言,主要通过汇

编来实现,不注重程序设计方法。

* 程序系统时代:生产方式是作坊式小集团合作生产,生产工具是高级语言,开始提出结构化方法。

* 软件工程时代:生产方式是工程化生产,使用数据库、网络、先进的开发技术和方法。 6. 软件既是知识性(逻辑性)工业产品,具有一些独特的特性是:

* 软件是逻辑产品,具无形性,通过计算机的执行才能体现它的功能和作用。 * 软件只会退化,不存在磨损和消耗问题。

* 成本主要体现在软件的开发和研制上,可进行大量的复制。 * 主要靠脑力劳动生产,开发和维护成本高。 7. 软件的主要结构和功能是在分析设计阶段决定的。

8. 软件的复杂性主要体现在程序的复杂性,即模块内程序的复杂性。直接关联到软件的

1

简单和可理解性、开发费用多少、开发周期长短和软件潜伏错误的多少。

二、 软件危机

1. 软件危机是指在软件开发和维护时遇到的一系列难以控制的问题导致的供需矛盾。出

现在软件发展的第二阶段末期,随着第三代计算机的诞生之际。 2. 软件危机主要体现在:

* 软件发展速度跟不上硬件的发展和用户需求。 * 软件成本和开发进度不能预先预算,用户不满意。 * 软件产品质量差,成本高,可靠性没有保证。 * 软件可维护性差,产品没有配套文档。

3. 软件危机产生原因:(1)软件规模变大,结构更加复杂。(2)软件开发管理困难。(3)软件

开发技术和工具落后。(4)软件开发费用增加。(5)采用落后的个体手工生产方式开发。

4. 解决途径:(1) 纠正对软件开发的错误观念。(2) 提高软件工程管理水平,重视文档重

要性。(3) 使

用好的软件开发工具,研究软件开发技术,规范软件开发流程,提高开

发效率。

5. 为了克服软件危机,人们首先想到要用形式化方法来开发软件。

三、 软件开发

1. 软件开发的本质是实现问题空间的概念和处理逻辑到运行平台的概念和处理逻辑间的

映射。

2

2. 软件开发基本途径:先通过需求建模,把问题域的概念和处理逻辑向需求(抽象)层次进

行映射,再把需求层的概念和处理逻辑向设计(抽象)层进行映射,依次进行,直到映射到运行平台这一抽象层为止。

3. 软件开发涉及的技术:过程方向(即求解软件的开发逻辑)和过程途径(即求解软件的开发

手段,基本手段是问题建模)。

4. 软件开发方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过

程。

5. 问题建模是指运用所掌握的知识,通过抽象,给出该问题的一个结构。建模手段有结构

化方法、面向对象方法和诸多面向数据结构的方法。

6. 模型是待建系统的任意抽象,包括所有的基本能力、特性或其他一些方面,而没有任何

冗余的细节,是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述。

7. 软件系统模型大体分为概念模型和软件模型,而软件模型进一步分为设计模型、实现模

型、部署模型。

四、 软件开发环境

1. 软件开发环境是相关的一组软件工具的集合,支持一定的软件开发方法或按照一定

的软件开发模型组织而成,与软件生存期、软件开发方法、软件处理模型密切相关。 ? 按解决问题分类:程序设计环境、系统合成环境、项目管理环境。

? 按演变趋向分类:以语言为中心的环境、工具箱环境、基于方法的环境(分为支持

软件开发周期特定阶段的管理和开发过程管理。后者即项目计划和控制、任务管理)。

3

2. 软件开发环境是高度集成的一体化系统,主要目标是提高软件开发的生产率、降低

软件成本。

五、 软件工具

1. 软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系

统,是为了支持软件人员开发和维护活动而使用的软件。

2. 软件工具由工具、工具接口、工具用户接口组成,主要目的是提高软件生产率和改

善软件质量。

3. 发展特点:(1) 由单个工具到多个工具集成化方向发展。(2) 重视用户界面设计,

不断采用新理论技术。(3) 它的商品化推动软件产业的发展,进而增加了对软件工具的需求,促进了软件工具的商品化过程。

4. 分为6类:模拟工具、开发工具、测试和评估工具、运行和维护工具、性能测试工

具、程序设计支持工具。

六、 软件工程

1. 由于软件危机,产生了以软件开发技术(主要研究软件开发方法、过程、工具和环境)

和软件工程管理(主要研究软件管理学、心理学、经济学)为研究内容的软件工程学科,以达到软件开发工程化的最终目标。

2. 软件工程是用科学知识、技术以及工程管理原则和方法来定义、开发、维护软件,按

预算和进度实现满足用户要求的软件产品的一门综合性的交叉学科。

3. 软件工程是一种自顶向下分阶段实现的软件程序开发方法,着重于建造软件系统,要

用管理科学的方法和原理进行软件生产的管理。

4