公共基础第三章 软件工程基础

合集下载

第3章_公共基础软件工程基础

第3章_公共基础软件工程基础
• 软件需求规格说明书(SRS)
• 软件需求规格说明书是需求分析阶段的最后成果, 通过建立完整的信息描述、详细的功能和行为描述、 性能需求和设计约束的说明、合适的验收标准,给 出对目标软件的各种需求。
PPT文档演模板
第3章_公共基础软件工程基础
•例题
3.3 结构化设计方法
• 1、软件设计的基础 • 从技术观点来看,软件设计包括软件结构设计、
完善求精。
PPT文档演模板
第3章_公共基础软件工程基础
• 数据字典:对所有与系统相关的数据元素的一个有 组织的列表,以及精确的、严格的定义,使得用户 和系统分析员对于输入、输出、存储成分和中间计 算结果有共同的理解。
• *:数据字典的作用是对数据流图中出现的被命名 的图形元素的确切解释。 *:数据字典是结构化分析方法的核心。
• 软件测试方法:静态测试和动态测试。
• 静态测试:包括代码检查、静态结构分析、 代码质量度量。不实际运行软件,主要通 过人工进行。
• 动态测试:是基于计算机的测试,主要包 括白盒测试方法和黑盒测试方法。
PPT文档演模板
第3章_公共基础软件工程基础
• 3 白盒测试
•例题
– 结构测试
– 将软件看成透明的白盒,根据程序的内部结构和逻辑结 构来设计测试例子,对程序的路径和过程进行测试,检
第3章_公共基础软件工程基础
• 7. 软件工具和软件开发环境
– 软件工具(CASE):用来辅助软件开、运行、 维护、管理、支持等过程中的活动的软件
– 软件开发环境:支持软件产品开发的软件系统, 它由软件工具集和环境集成机制构成
PPT文档演模板
第3章_公共基础软件工程基础
3.2 结构化分析方法

公共基础知识3-软件工程基础

公共基础知识3-软件工程基础
需求分析阶段的工作可概括为4个方面: (1)需求获取;(2)需求分析;(3)编写 需求规格说明书;(4)需求评审。 需求分析的方法有: (1)结构化分析方法;(2)面向对象的分析 方法。
结构化分析方法(Structured Analysis, SA) 的实质在于着眼于数据流,自顶向下,逐层分解, 建立系统的处理流程,以数据流图和数据字典为 主要工具,建立系统的逻辑模型。 结构化分析的常用工具: 数据流图(DFD)、数据字典(DD)、结构化 英语(伪码)、判定树和判定表。
3.软件工程:指应用工程的概念、原理、技术和方法 指导软件的开发和维护。(即将工程化应用于软 件中)。 (1)软件工程包括三个要素:方法、工具和过程。 (2)研究软件工程的主要目的:提高软件生产率, 提高软件质量,降低软件成本。(消除软件危机) (3)软件工程的原则:抽象、信息隐蔽、模块化、 局部化、确定性、一致性、完备性、可验证性。
3.6 软件维护
软件维护是软件生命周期的最后一个阶段,也 是持续时间最长,花费代价最大的一个阶段。 软件维护的种类如下: -改正性维护 -适应性维护 -完善性维护 -预防性维护
DFD——数据流图(需求分析阶段P67) DD——数据字典(需求分析阶段P68) PDL——过程设计语言、伪码(详细设 计阶段P84) N-S——盒图(详细设计阶段P82) HIPO——(概要设计阶段,层次图、结 构图)
3.4 软件的测试
1.测试的基本概念 (1)测试的目的:尽可能多地发现软件产品中 的错误和缺陷。一次成功的测试是发现了至今 为止尚未发现的错误的测试. (2)测试用例:由测试数据和预期结果组成。 (3)测试的原则: – 确定预期输出结果是测试用例必不可少的 一部分; – 程序员应避免测试自己的程序,程序设计 机构不应测试自己的程序;

计算机等级考试公共基础知识第三章

计算机等级考试公共基础知识第三章

第三章 软件工程基础
3.2结构化分析方法 3.2.1可行性研究(目的在于用最小的代
价在尽可能短的时间内确定问题是否能 解决) (1)经济可行性研究 分析系统的估算开发成本是否会超过项 目预期的全部利润。分析系统开发对其 他产品或利润的影响。 (2)技术可行性研究 根据客户提出的系统功能、性能及现实
(3)软件工程时代
第三章 软件工程基础
2.软件危机 随着计算机软件规模的扩大,软件本
身的复杂性不断增加,研制周期显著变 长,正确性难以保证,软件开发费用上 涨,生产效率急剧下降,从而出现了人 们难以控制软件发展的局面,即所谓的 “软件危机”。软件危机主要表现在: (l)软件需求的增长得不到满足; (2)软件开发成本和进度无法控制; (3)软件质量难以保证;
第三章 软件工程基础
4.判定表 判定表与判定树相似,也是一种描述加
工的图形工具。当数据流图中的加工要 依赖于多个逻辑条件的取值,即完成该 加工的一组动作是由于某一组条件取值 的组合引发的,使用判定表比较适宜。
第三章 软件工程基础
3.2.5 结构化方法开发过程
结构化方法将软件生命周期分为计划、 开发、运行3个时期,每个时期又分若 干阶段。
计算机等级考试公共基础知识第 三章
第三章 软件工程基础
大纲要求 (1)软件工程基本概念,软件生命周期
概念,软件工具与软件开发环境。 (2)结构化分析方法,数据流图,数据
字典,软件需求规格说明书。 (3)结构化设计方法,总体设计与详细
设计。 (4)软件测试的方法,白盒测试与黑盒
测试j测试用例设计,软件测试的实施 ,单元测试、集成测试和系统测试。
结构化分析方法的步骤如下:
第三章 软件工程基础

二级_公共基础知识_第3章_软件工程基础

二级_公共基础知识_第3章_软件工程基础

金额≤500
未过期----发出批准单、提货单
40
说明:
没有一个统一的构造判定树的方法和步骤,而 且也不可能有统一的方法,因为它所依据的原始资
料是用自然语言写成的叙述文。但判定树常常用图
形表示,这样更容易被用户理解。
41
3.2.3 软件需求规格说明书 软件需求规格说明书是需求分析阶段的最后成果,
是软件开发中的重要文档之一。
30
对数据流图中出现的每一个数据流名、每一个文件 名和每一个基本加工名进行定义,它们所组成的集合 就是数据字典(或称数据词典)。每个定义是数据字典中 的一个条目。
数据流图是系统的大框架,而数据字典是对数据
流图中的每一个元素的精确描述。
31
编写数据词典的准则: (1)数据流图中出现的每一个数据流名、每一个文 件名和每一个基本加工名在词典中都应有一个条目给 出这个名字的定义。每一个组成部分在词典中也应有
还可以将软件生命周期分为如上图所示的 软件定义、软件开发和软件运行维护3个阶段。 生命周期的主要活动阶段是:可行性研究
与计划制定、需求分析、软件设计、软件实施、
软件测试、运行与维护。
14
3.1.4 软件工程的目标与原则 1. 软件工程的目标 软件工程的目标是:在给定成本、进
度的前提下,开发出具有有效性、可靠性、
术及管理方法。
9
软件工程的主要思想就是强调在软件开发过 程中需要应用工程化原则。
软件工程包括3个要素,即方法、工具和过程。
方法是完成软件工程项目的技术手段; 工具支持软件的开发、管理、文档生成;
过程支持软件开发的各个环节的控制、管理。
10
3.1.3 考点2 软件工程过程与软件生命周期 考试链接: 考点2在笔试考试中,在笔试考试中出现的

公共基础——软件工程基础

公共基础——软件工程基础

公共基础——软件工程基础软件工程基础知识1、构成计算机软件的是()。

A、源代码B、程序和数据C、程序和文档D、程序、数据及相关文档参考答案:D【解析】软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。

2、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是()。

A、编译程序B、操作系统C、教务管理系统D、汇编程序参考答案:C【解析】编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。

3、. 软件生命周期中的活动不包括()。

A、市场调研B、需求分析C、软件测试D、软件维护参考答案:A【解析】软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。

主要活动阶段是:可行性研究与计划阶段,需求分析,软件设计,软件实现,软件测试,运行和维护,所以选择A。

4、负责数据库中查询操作的数据库语言是()。

A、数据定义语言B、数据管理语言C、数据操纵语言D、数据控制语言参考答案:C【解析】数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。

5、软件生命周期是指()。

A、软件产品从提出、实现、使用维护到停止使用退役的过程B、软件从需求分析、设计、实现到测试完成的过程C、软件的开发过程D、软件的运行维护过程参考答案:A【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

6、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。

A、外模式B、内模式C、概念模式D、逻辑模式参考答案:B【解析】数据库系统的三级模式是概念模式、外模式和内模式。

概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。

转 二级公基知识点2 科实

转 二级公基知识点2  科实

转二级公基知识点2 科实第三章软件工程基础1.计算机软件(Software)是计算机系统与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。

2.1968年在北大西洋公约组织会议(NATO会议)上,讨论摆脱软件危机的办法,软件工程(softwareengineering)作为一个概念首次被提出,这在软件技术发展史上是一件大事。

3.将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。

4.软件工程主要思想都是强调在软件开发过程中需要应用工程化原则。

5.软件工程包括3个要素,即方法、工具和过程。

方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

6.软件工程的核心思想是把软件产品(就像其他工业产品一样)看作一个工程产品来处理。

7.软件工程通常包括4种基本活动:P(Plan)--软件规格说明、D(DO)--软件开发、C(Check)--软件确认、A(Action)--软件演进8.软件周期的主要活动阶段是:可行性研究与计划制定、需求分析、软件设计、软件实现、软件测试、运行和维护。

9.软件工程需要达到的基本目标是:付出较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时开发,及时交付使用10.软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。

11.软件开发技术包括:软件开发方法学,开发过程,开发工具和软件工程环境,其主体内容是软件开发方法学。

12.软件工程管理包括:软件管理学,软件工程经济学,软件心里学等内容13.软件工程的原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性可验证性。

14.软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

15.需求分析的任务是发展需求、求精、建模和定义需求的过程。

需求分析将创建所需的数据模型、功能模型和控制模型。

计算机二级【公共基础知识】软件工程基础

计算机二级【公共基础知识】软件工程基础
处理流程,以数据流图、数据字典、判定树和 判定表为主要工具,建立系统的逻辑模型。
4.结构化分析的常用工具
(1)数据流图(Data Flow Diagram,简称DFD ) 就是采用图形方式来表达系统的逻辑功能、数
据在系统内部的逻辑流向和逻辑变换过程,是结构 化系统分析方法的主要表达工具及用于表示软件模 型的一种图示方法。
动态测试是基于计算机的测试,主要包括白盒 测试方法和黑盒测试方法。
软件测试
白盒测试:在程序内部进行,主要用于完成软 件内部操作的验证。
主要方法有逻辑覆盖、基本路径测试。
黑盒测试:主要诊断功能不对或遗漏、界面错 误、数据结构或外部数据库访问错误、性能错 误、初始化和终止条件错误等,用于软件确认。
4.软件工程基本目标: 付出较低的开发成本; 达到要求的软件功能; 取得较好的软件性能; 开发软件易于移植; 需要较低的费用; 能按时完成开发,及时交付使用。
5. 软件工程基本原则:抽象、信息隐蔽、模块化、 局部化、确定性、一致性、完备性和可验证性。
考点3:软件开发工具与软件开发环境
(3)支撑软件(或工具软件) 。它是协调用户开发 软件的工具性软件,其中包括开发软件。
1.软件按功能可以分为:应用软件、系统软件 和支撑软件(或工具软件)。下面属于应用软 件的是( C )【2009年3月 】 A)编译软件
B)操作系统
C)教务管理系统
D)汇编程序
2. 软件按功能可以分为:应用软件、系统软 件和支撑软件(或工具软件)。下面属于系 统软件的是( B )【2010年3月 】
定性的度量标准。 在程序结构中各模块的内聚性越强,则耦合性越弱。
优秀软件应高内聚,低耦合
考点2:概要设计
1. 概要设计基本任务:

二级公共基础第3章软件工程

二级公共基础第3章软件工程
程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行,调试程 序应该由编制源程序的程序员来完成。 06年9月填空题第2题 程序调试的任务是诊断和改正程序中的错误。 *:软件的调试后要进行回归测试,防止引进新的错误。
本章应考点拨:本章在笔试中一般占8分左右,约3道选择题,1道填空题,是 公共基础部分比较重要的一章。从出题的深度来看,本章主要考察对基本概 念的识记,有少量对基本原理的理解,没有实际运用,因此考生在复习本章 时,重点应放在基本概念的记忆和基本原理的理解上。
3.3 结构化设计方法
经常使用的结构图有四种模块类型:传入模块、传出模块、变换模块和 协调模块。其表示形式如下图:
它们的含义分别是: 传入模块:从下属模块取得数据,经处理再将其传送给上级模块。 传出模块:从上级模块取得数据,经处理再将其传送给下属模块。 变换模块:从上级模块取得数据,进行特定的处理,转换成其他形式, 再传送给上级模块。 协调模块:对所有下属模块进行协调和管理的模块。 数据流的类型:大体可以分为两种类型,变换型和事务型。
3.3 结构化设计方法
1、软件设计的基础 *:需求分析主要解决“做什么”的问题,而软件设计主要解决“怎么 做”的问题。 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、 过程设计。 从工程角度来看,软件设计分两步完成,即概要设计和详细设计。 软件设计的基本原理包括:抽象、模块化、信息隐蔽和模块独立性。 2、总体设计(概要设计)和详细设计 (1)总体设计(概要设计) 常用的软件结构设计工具是结构图,也称程序结构图。程序结构图的基 本图符: 模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中还可以 用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆 的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据

公共基础知识软件工程基础

公共基础知识软件工程基础

公共基础知识软件工程基础汇报人:日期:•软件工程概述•软件开发生命周期•软件开发模型•软件需求工程•软件设计基础•软件工程管理基础•软件工程工具与技术目录软件工程概述软件的定义软件的特点软件的定义与特点软件工程的目标是实现软件的可靠性、可维护性、可扩展性和可重用性,同时满足用户的需求和期望。

软件工程的定义与目标软件工程的目标软件工程的定义提高软件质量降低软件开发成本增强软件的可维护性满足用户需求软件工程的重要性软件开发生命周期需求分析阶段01020304设计阶段编码与测试阶段进行单元测试、集成测试和系统测试。

部署与维护阶段01020304软件开发模型线性开发流程文档驱动适用于稳定环境030201瀑布模型迭代开发每个迭代周期都包含需求分析、设计、编码、测试等阶段,逐步完善软件的功能和性能。

逐步完善适用范围广迭代模型快速响应轻文档跨职能团队敏捷开发模型类和继承面向对象开发模型使用类和继承的概念,通过定义类来创建对象,并通过继承来共享属性和方法。

对象导向面向对象开发模型是一种以对象为导向的开发方法,将现实世界中的事物抽象成对象,并定义对象的属性和方法。

适用于复杂系统面向对象开发模型适用于复杂系统的开发,特别是涉及多个模块和组件的项目。

面向对象开发模型软件需求工程01020304访谈问卷调查焦点小组观察原型法螺旋模型敏捷方法面向对象方法确定系统目标划分系统功能定义数据结构制定接口标准需求规格说明书编制软件设计基础软件设计的概念软件设计的原则软件设计的基本原则和概念软件设计的任务软件设计的过程软件设计的主要任务和过程软件质量要素软件设计中的质量要素包括可靠性、可用性、可维护性、可扩展性等,以确保软件产品能够满足用户需求并稳定运行。

关键技术软件设计中的关键技术包括面向对象编程、设计模式、架构模式等,以提高软件产品的质量和开发效率。

软件设计中的质量要素和关键技术软件工程管理基础任务分解资源估算估算方法软件项目估算基础制定进度计划确定关键路径监控与调整软件项目进度计划制定风险识别识别项目中可能出现的风险,如需求变更、技术难题、人员流失等。

第3章公共基础软件工程基础

第3章公共基础软件工程基础
•一个设计良好的软件系统应具有高内聚、低耦合的 特征。
•在结构化程序设计中,模块划分的原则是:模块内 具有高内聚度,模块间具有低耦合度。
例题
• 2 总体设计(概要设计)
– 设计原则
• 分解—协调原则 • 自顶向下的原则 • 信息屏蔽、抽象的原则 • 一致性原则 • 明确性原则 • 模块间的耦合度尽可能小,模块内部组合尽可能紧
• 确定应用怎样具体的实现所要求的系统,不是具体的 编写程序,而是要设计程序的“蓝图”
– 此阶段的结果基本上决定了最终的程序代码的质 量
– 包括内容:
• 代码设计 • 输入设计 • 输出设计 • 处理过程设计 • 用户界面设计 • 安全控制设计
• 常用的过程设计(即详细设计)工具有以 下几种:
• 图形工具:程序流程图、N-S(方盒图)、 PAD(问题分析图)和HIPO(层次图+输 入/处理/输出图)。
• 4)局部化:保证模块间具有松散的耦合关系,模块内部有较强的内聚 性。
• 5)确定性:软件开发过程中所有概念的表达应是确定、无歧义且规范 的。
• 6)一致性:程序内外部接口应保持一致,系统规格说明与系统行为应 保持一致。
• 7)完备性:软件系统不丢失任何重要成分,完全实现系统所需的功能 。
• 8)可验证性:应遵循容易检查、测评、评审的原则,以确保系统的正 确性。
• 编码:编程。高级程序员和程序员产生源程序清单
• 测试:由另一部门的高级程序员或系统分析员产生 软件测试计划和软件测试报告
• 运行维护
例题
• 4. 软件工程三要素
– 方法:完成软件工程项目的技术手段 – 工具:支持软件的开发、管理、文档生成 – 过程:支持软件开发的各个环节的控制、管理

公共基础知识3软件工程基础

公共基础知识3软件工程基础
•的构造设计优化原那么 •软件概要设计的根本任务 •编写概要设计文档 •模块独立性** •模块分解时应遵循的原那么
4、详细设计
•为每个模块设计其实现的细节 •主要方法:构造化程序设计 •工具:图形描述工具、语言描述工具和表 格描述工具
程序流程图
•方框:处理过程 •菱形框:逻辑判断条件 •箭头〔流线〕:控制流 •缺点:不能很好地描述程序的全局构造
• “各个击破〞是解决复杂问题的一个重要策略 • 从时间角度出发,对软件开发和维护的复杂问题
进展分解,把软件生存的漫长周期依次划分为假 设干个阶段 • 每个阶段有相对独立的任务 • 前一阶段任务的完成是后一阶段工作的前提和根 底 • 后一阶段任务的完成使前一阶段提出的解法更加 化 • 每一阶段完毕前都有严格的技术检查和管理复审
• 常见的生命周期模型:瀑布模型*、原型模 型*、增量模型、螺旋模型、喷泉模型、变 换模型、基于知识的模型
瀑布模型*
• 图见教材P67
• 强调了阶段的顺序性和依赖性,前一阶段 的输出是后一阶段的输入,
• 每一阶段工作的完成都需要确认,确认过 程是一个严格的回溯过程,后一阶段中出 现的问题要通过前一阶段的重新确认来解 决。问题发现得晚那么解决该问题的代价 就越大
〔2〕、判定覆盖
• 每个判定的所有结果都 至少出现过一次 • A=3、B=0、X=3〔覆盖SACBD〕 • A=2、B=1、X=1〔覆盖SABED〕
4、黑盒测试的测试用例设计
• 等价类划分法 • 边界值分析法 • 错误推测法 • 因果图法
3.5 调试
计算机系统开展的早期-个体化 〔20世纪60年代中期以前〕
软件生命周期的各个阶段*
• 软件可行性研究与工程开发方案:完成“要解决 的问题是什么〞和“该问题是否有解〞
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息的其他模块来说是不能访问的。 (4)模块独立性:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他
模块的联系最少且接口简单。模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模 块独立性使用耦合性和内聚性两个定性的度量标准。内聚性是信息隐蔽和局部化概念的自然扩 展。一个模块的内聚性越强则该模块的模块独立性越强。一个模块与其他模块的耦合性越强则 该模块的模块独立性越弱。
(1)软件测试是为了发现错误而执行程序的过程; (2)一个好的测试用例是能够发现至今尚未发现的错误的用例; (3)一个成功的测试是发现了至今尚未发现的错误的测试。
考点6 软件测试的实施
考试链接:
考点6在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记内容,读者应该 识记软件测试过程的4个步骤,单元测试的两种测试方式。
3.2结构化设计方法
考点3 软件设计的基本概念
考试链接:
考点3在笔试考试中,是一个经常考查的内容,考核中几率为70%,主要是以选择题的形式出现,分值为2分,此 考点为重点掌握内容,读者应该识记模块独立性中的耦合性和内聚性。
误区警示: 在程序结构中,各模块的内聚性越强,则耦合性越弱。软件设计应尽量做到高内聚,低耦合,即减弱模块之间 的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
内聚性是度量一个模块功能强度的一个相对指标。内聚是从功能角度来衡量模块的联系, 它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列:偶然内聚、 逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
耦合性是模块之间互相连接的紧密程度的度量。耦合性取决于各个模块之间接口的复杂度、 调用方式以及哪些信息通过接口。耦合可以分为下列几种,它们之间的耦合度由高到低排列: 内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。
软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。一般包括可 行性分析研究与需求分析、设计、实现、测试、交付使用以及维护等活动,如图3-1所示。
图3-1软件生命周期
还可以将软件生命周期分为如上图所示的软件定义、软件开发和软件运行维护3个阶段。 生命周期的主要活动阶段是:可行性研究与计划制定、需求分析、软件设计、软件实施、 软件测试及运行与维护。
在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做 到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立 性。
小提示:上面仅是对耦合机制进行的一个分类。可见一个模块与其他模块的耦合性越强则该模块独立 性越弱。原则上讲,模块化设计总是希望模块之间的耦合表现为非直接耦合方式。但是,由于问题所固有的复 杂性和结构化设计的原则,非直接耦合是不存在的。
软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。 单元测试是对软件设计的最小单位--模块(程序单元)进行正确性检验测试。单元测试的 技术可以采用静态分析和动态测试。 集成测试是测试和组装软件的过程,主要目的是发现与接口有关的错误,主要依据是概要 设计说明书。集成测试所设计的内容包括:软件单元的接口测试、全局数据结构测试、边界条 件和非法输入的测试等。集成测试时将模块组装成程序,通常采用两种方式:非增量方式组装 和增量方式组装。 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足了需求规格说明中确定 的各种需求,包括软件配置是否完全、正确。确认测试的实施首先运用黑盒测试方法,对软件 进行有效性测试,即验证被测软件是否满足需求规格说明确认的标准。 系统测试是通过测试确认软件,作为整个基于计算机系统的一个元素,与计算机硬件、外 设、支撑软件、数据和人员等其他系统元素组合在一起,在实际运行(使用)环境下对计算机 系统进行一系列的集成测试和确认测试。 系统测试的具体实施一般包括:功能测试、性能测试、操作测试、配置测试、外部接口测 试、安全性测试等。
3.1软件工程基本概念
考点1 软件定义与软件特点
考试链接: 考点1在笔试考试中,是一个经常考查的内容,考核的几率为70%,主要是以选择题的形式出现,分值为2分,此 考点为识记内容,读者应该识记软件的定义,特点及其分类。
软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整 集合。程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的 指令序列。数据是使程序能正常操纵信息的数据结构。文档是与程序的开发、维护和使用有关 的图文资料。可见,软件由两部分组成:
3.4软件的调试
考点7 软件调试的基本概念
考试链接:
考点7在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择题的形式出现, 分值为2分,此考点为重点识记内容,读者应该识记软件调试的概念。
误区警示: 程序经调试改错后还应进行再测试,因为经调试后有可能产生新的错误,而且测试是贯穿生命周期的整个过程。
(2)修改设计和代码,以排除错误; (3)进行回归测试,防止引进新的错误。 调试原则可以从以下两个方面考虑: (1)确定错误的性质和位置时的注意事项 分析思考与错误征兆有关的信息;避开死胡同;只把调试工具当作辅助手段来使用;避免 用试探法,最多只能把它当作最后手段。 (2)修改错误原则
在出现错误的地方,很可能有别的错误;修改错误的一个常见失误是只修改了这个错误的征兆 或这个错误的表现,而没有修改错误本身;注意修正一个错误的同时有可能会引入新的错误; 修改错误的过程将迫使人们暂时回到程序设计阶段;修改源代码程序,不要改变目标代码。
疑难解答:软件测试与软件调试有何不同? 软件测试是尽可能多地发现软件中的错误,而软件调试的任务是诊断和改正程序中的错误。软件测试贯穿 整个软件生命周期,调试主要在开发阶段。
3.5 例题详解
一、选择题
【例1】对软件的特点,下面描述正确的是_______。(考点1)
A)软件是一种物理实体
B)软件在运行使用期间不存在老化问题
A)需求分析
B)软件开发
C)软件确认
D)软件演进
解析:B)、C)、D)项都是软件工程过程的基本活动,还有一个是软件规格说明。
答案:A)
【例3】从技术观点看,软件设计包括_______。(考点3)
A)结构设计、数据设计、接口设计、程序设计
B)结构设计、数据设计、接口设计、过程设计
C)结构设计、数据设计、文档设计、过程设计
疑难解答:程序流程图,N-S图,PAD图的控制结构的异同点是什么? 相同点是三种图都有顺序结构,选择结构和多分支选择,并且N-S图和PAD图还有相同的WHILE重复型、 UNTIL重复型;不同点是程序流程图没有WHILE重复型、UNTIL重复型而有后判断重复型和先判断重复型。
3.3软件测试
考点5 软件测试的目的
考点4 详细设计
考试链接:
考点4在笔试考试中,在笔试考试中出现的几率为30%,主要是以选择题的形式出现,分值为2分,此考点为识记 内容,读者应该识记过程设计包括哪些常用工具。
详细设计的任务是为软件结构图中的每个模块确定实现算法和局部数据结构,用某种选定 的表达表示工具算法和数据结构的细节。
详细过程设计的常用工具有: (1)图形工具:程序流程图,N-S,PAD,HIPO。 (2)表格工具:判定表。 (3)语言工具:PDL(伪码)。 程序流程图的5种控制结构:顺序型、选择型、先判断重复型、后判断重复型和多分支选择 型。 方框图中仅含5种基本的控制结构,即顺序型、选择型、多分支选择型、WHILE重复型和 UNTIL重复型。 PAD图表示5种基本控制结构,即顺序型、选择型、多分支选择型、WHILE重复型和UNTIL 重复型。 过程设计语言(PDL)也称为结构化的语言和伪码,它是一种混合语言,采用英语的词汇 和结构化程序设计语言,类似编程语言。 PDL可以由编程语言转换得到,也可以是专门为过程描述而设计的。
在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错)。程序的调试任 务是诊断和改正程序中的错误。调试主要在开发阶段进行。
程序调试活动由两部分组成,一是根据错误的迹象确定程序中错误的确切性质、原因和位 置;二是对程序进行修改,排除这个错误。程序调试的基本步骤:
(1)错误定位。从错误的外部表现形式入手,研究有关部分的程序,确定程序中出错位置, 找出错误的内在原因;
D)结构设计、数据设计、文档设计、程序设计
Байду номын сангаас
解析:技术角度,要进行结构、接口、数据、过程的设计。结构设计是定义系统各部件关
系,数据设计是根据分析模型转化数据结构,接口设计是描述如何通信,过程设计是把系统结
构部件转化为软件的过程性描述。
答案:B)
(1)机器可执行的程序和数据; (2)机器不可执行的,与软件开发、运行、维护、使用等有关的文档。 软件的特点: (1)软件是逻辑实体,而不是物理实体,具有抽象性; (2)没有明显的制作过程,可进行大量的复制; (3)使用期间不存在磨损、老化问题; (4)软件的开发、运行对计算机系统具有依赖性; (5)软件复杂性高,成本昂贵; (6)软件开发涉及诸多社会因素。 根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件)。
C)软件开发、运行对计算机没有依赖性,不受计算机系统的限制
D)软件的生产有一个明显的制作过程
解析:软件在运行期间不会因为介质的磨损而老化,只可能因为适应硬件环境以及需求变
化进行修改而引入错误,导致失效率升高从而软件退化,所以本题正确答案为B)。
答案:B)
【例2】以下哪项是软件生命周期的主要活动阶段?_______(考点2)
第3章 软件工程基础
经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是软件生命周 期、软件设计的基本原理,软件测试的目的、软件调试的基本概念,读者应对此部分进行重点 学习。
相关文档
最新文档