复习题 填空题
1. 在信息办理和计算机领域内,一般以为软件是
文档 ____ 和 _数据 ____ 。
2. 数据流图的基本构成部分有 _ 数据的源点与终点 ____、 数据流
_____、 加工 _____、 数据文件 _____。 3. 数据流图和数据词典共同构成了系统的
需求规格说明书的主要构成部分。
4. 区分模块时尽量做到 __高内聚、低耦合 ______,保持模块的
独立性,尽量使用公共模块。 5. 类的实例化是 _对象 _______。
6. 人们常用硬件靠谱性的定量胸怀方法来胸怀软件的靠谱性和
可用性,常用的胸怀软件可 7. 靠性的两个指标是 _成功地运转的概率 _______和 _均匀故障
时间 _______。 8. 将待开发的软件细化,分别估量每一个子任务所需要的开发
工作量,而后将它们加起来, 9. 将获得软件的总开发量。这类成本估量方法称为_自底向上
_______。
10. 假如一个模块被 n 个模块调用, 此中直接的上司模块的个数
是 m 个( m<=n )那么该模块的扇入数是 __ __N_______ 个。
11. 结构化设计以 __ 数据流图 _________ 为基础,按必定的步骤映
照成软件结构。
_逻辑 ____模型,是
_ 程序 ____、_
12. 软件的风险剖析可包含风险辨别、 风险展望
驭(或风险管理)等 3 项活动。
微风险驾
13. 软件著作权登记的 3 种主要种类:(1)著作权登记 ;(2)著
作权连续登记;( 3)权益转移存案登记。 14. 软件工程管理的主要内容有:项目经费管理, 软件质量管理 ,项
目进度管理和 人员管理 。
1
软件工程期末考试总复习题及答案
15. 面向对象剖析的目的是对客观世界的系统进行___建模
_______________ 。
16. 软件保护工作的生产性活动包含剖析评论、
编写程序代码 _______ 等。
17. 为了使应用软件适应计算机环境的变化而
改正设计和 ___ _
__ _改正软件
_______________ 的过程称为适应性保护。 累加,而后求均匀值,则该模块的内聚性是 内聚 ________ 。
______________ 所需的时间。 件荒弃 ____为止的整个期间。
18. 一个进行学生成绩统计的模块其功能是先对学生的成绩进行
________ __次序
19. 投资回收期就是使累计的经济效益等于
__ 最先的投资花费
20. 软件生计周期是指一个软件从提出开发要求开始直到
__ 软
程序设计,
21. 曾被誉为“程序设计方法的革命”的 结构化
使程序设计从主要依靠于程序员个人的自由活动变为为有章可循的一门科学。
22. 从结构化程序设计到 面向对象程序设计 ,是程序设计方法的
又一次飞腾。 23. 在单元测试时,需要为被测模块设计 ___测试用例 _______。 一、判断题(每题 2 分,共 30 分)
1. 螺旋模型是在瀑布模型和增量模型的基础上增添了风险剖析活动。(对)
2. 数据词典是对数据流图中的数据流,加工、数据储存、数据的源和终点进行详尽定义。(错)
3.JAVA 语言编译器是一个 CASE工具。(对)。
4. 软件是指用程序设计语言(如 PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发本质上就是编写程序代码。(错) 5. 软件模块之间的耦合性越弱越好。(对) 6. 数据库设计说明书是一个软件配置项(对)
2
软件工程期末考试总复习题及答案
7. 在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8. 过程描述语言能够用于描述软件的系统结构。(错)
9. 假如经过软件测试没有发现错误, 则说明软件是正确的。 (错) 10. 迅速原型模型能够有效地适应用户需求的动向变化。(对) 11. 模块化,信息隐蔽,抽象和逐渐求精的软件设计原则有助于获得高内聚,低耦合度的软件产品。(对) 12. 集成测试主要由用户来达成。(错)
13. 确认测试计划应当在可行性研究阶段拟订(错)
14. 白盒测试无需考虑模块内部的履行过程和程序结构,只需认识模块的功能即可。(错)
15. 软件纲要设计包含软件系统结构设计以及数据结构和数据库设计。(对)
16. 在可行性研究中最难抉择和最重点的问题是经济可行性。 ( ╳
)
17. 耦合是指一个模块内各个元素相互联合的密切程度。 ( ╳)
18. 一笔交易、一个动作、 甚至操作人员按一个按钮都能够看做是一次事物。( √ )
19. 纲要设计阶段达成的主要文档是纲要设计说明书。 ( √) 20. 过大的模块可能是因为分解不充足造成的,即便降低模块独立性也一定连续分解。 ( ╳ )
21. 程序设计语言中应绝对严禁使用 GOTO语句。( ╳ ) 22. 类是对于对象性质的描述,由方法和数据构成。 ( √) 23. 跟着软件技术的发展,人们渐渐认识到编码不单要重申效率还要重申清楚。( √ )
25. 为保证程序的安全,一定做到程序中没有任何错误存在,即 容错。( ╳)
26. 假如把软件开发所需的资源画成一个金字塔,人是最基本的 资源。( √)
3
软件工程期末考试总复习题及答案
名词解说
1. 数据词典——是描述数据信息的会合,它对数据流图中的各
个元素按规定格式进行详尽的描述和切实的解说 , 是数据流图的增补工具。
2. 数据流图——他以图形的方式反应系统的数据流程
3. 白盒测试—— 依照程序内部的结构测试程序,查验程序中的
每条路径能否都能按预约要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4. 黑盒测试—— 依照程序的功能测试程序,查验与程序功能有
关的输入、输出与程序履行能否正确。有四种方法既等价分类法、界限值剖析法、错误猜想法和因果图法 5. 完美性保护—— 为了适应用户业务和机构的发展变化而对软
件的功能、性能进行改正、扩大的过程称为完美性保护。因为各样用户的业务和机构在相当长的期间内不可以能是千篇一律的,所以功能、性能的增添是不可以防止的,并且这类
保护活动在整个保护工作中所占的比重很大
6. 软件靠谱性——指在给定的时间内,程序依照规定的条件成
功地运转的概率 7. 软件配置——是一个软件在生计周期内,他的各样形式、各
样版本的文档与程序的总称 8. 软件再工程——运用逆向工程、重构等技术,在充足理解原
有软件的基础上,进行分解、综合、并从头建立软件,用于提升软件的可理解性、可保护性可复用性或演化性。 9. α测试—— 是在一个受控的环境下,由用户在开发者的
“指导”下进行的的测试,由开发者负责记录错误和使用中出现的问题。 10. β测试—— 是由软件的最后用户(多个)在一个或多个用户
场所来进行。由用户负责记下碰到的所有问题,包含主观认定的和真切的问题,按期向开发者报告,开发者在综合用户的报告以后进行改正, 最后将软件产品交托给全体用户使用。
4
软件工程期末考试总复习题及答案
11. 齐集关系—— 表示类或对象之间的整体与部分的关系 12. 泛化关系—— 表示类或对象之间的一般与特别的关系 13. 内聚 ——一个模块内部各个元素相互联合的密切程度
量。
的度
14. 耦合 ——一 一个软件结构内不一样模块之间互连程度的胸怀。
简答题
1. 软件工程的七条基来源理是什么?答: 软件工程的七条基来源理是:
(1) 用分阶段的是的生计周期计划严格管理; (2) 坚持进行阶段评审; (3) 严格实行的产品控制; (4) 采纳现代程序技术; (5) 结果应能清楚地审察; (6) 开发小组的成员应当少而精; (7) 认可精益求精软件工程的必需性。 2. 优秀的编码风格应具备哪些条件? 答: 应具备以下条件:
( 1)使用标准的控制结构; ( 2)有限制地使用 GOTO语句;
( 3)源程序的文档化 (应具备以下内容)①存心义的变量
名称 —— “匈牙利命名规则 ”。②合适的说明 ——“说明规范”。③标准的书写格式:
——用分层缩进的写法显示嵌套结构的层次 (锯齿形风格);——在说明段的四周加上面框;——在说明段与程序段、以及不一样程序段之间插入空行;——每行只写一条语句;——书写表达式时,合适使用空格或圆括号等作隔绝符。
5
软件工程期末考试总复习题及答案
( 4)知足运转工程学的输入输出风格。
3. 简述文档在软件工程中的作用。答:
(1) 提升软件开发过程的能见度 (2) 提升开发效率
(3) 作为开发人员阶段工作成就和结束标记 (4) 记录开发过程的有关信息便于使用与保护; (5) 供给软件运转、保护和培训有关资料; (6) 便于用户认识软件功能、性能。 4. 可行性研究包含哪几方面的内容?答:
(1) 经济可行性:能否有经济效益,多长时间能够回收成本; (2) 技术可行性:现有技术可否实现本系统,现有技术人员可否胜任,开发系统的资源可否知足;
(3) 运转可行性:系统操作在用户内部行得通吗?
(4) 法律可行性:新系统开发能否会入侵别人、集体或国家利益,能否违犯国家法律。
5. 结构化的需求剖析描述工拥有哪些 ?
答:有数据流图( DFD)、数据词典( DD)、判断表、判断树、结构化语言( PDL)、层次方框图、 Warnier 图、 IPO 图、控制流图( CFD)、控制说明( CSPEC)、状态变换图( STD)和实体—关系图( E—R)等。
6. 一般面向对象剖析建模的工具(图形)有 哪些 ?
答:用例图、类 / 对象图、对象关系图、实体—关系图( E —R)、事件轨迹图(时序图)和状态变换图( STD)等
6
软件工程期末考试总复习题及答案
7.UML一致建模语言有哪几种图形?
用例图、类图、对象图、构件(组件)图、部署(配置)
图、状态图、活动图、次序(时序)图、合作(协作)图等九种图。
8. 在面向对象剖析时类和对象的静态关系主要有哪几种? 答:类和对象的静态关系主要有关系、齐集、泛化、依靠等四种关系。
9. 什么是模块化?模块设计的准则?
模块化是按规定的原则将一个大型软件区分为一个个较小 的、相对独立但又有关的模块。
模块设计的准则:
(1) 改良软件结构 , 提升模块独立性 : 在对初步模块进行归并、分解和挪动的剖析、精化过程中力争提升模块的内聚,降低藕合。 (2) 模块大小要适中 : 大概 50 行语句的代码, 过大的模块应分解以提升理解性和可保护性 ; 过小的模块 , 归并到上司模块中。 (3) 软件结构图的深度、宽度、扇入和扇出要合适。一般模块的调用个数不要超出 5 个。
(4) 尽量降低模块接口的复杂程度; (5) 设计单进口、单出口的模块。 (6) 模块的作用域应在控制域以内。 10. 什么是模块独立性?用什么胸怀?
答:模块独立性归纳了把软件区分为模块时要恪守的准则, 也是判断模块结构能否是合理的标准。独立性能够从两个方面来度 量:即模块自己的内聚和模块之间的耦合。 11. 变换型数据流由哪几部分构成?
7
软件工程期末考试总复习题及答案
变换型结构由三部分构成 : 传入路径、变换 ( 加工 ) 中心和传出路径。
12. 变换剖析设计的步骤?
(1) 区分传入、 传出和变换中心三部分, 区分 DFD图的分界 线;
(2) 达成第一级分解 : 成立初始 SC图的框架; (3) 达成第二级分解 : 分解 SC图的各个分支; (4) 对初始结构图依照设计准则进行精化与改良。 13. 事务型数据流由哪几部分构成?
事务型结构由起码一条接受路径、 一个事务中心与若干条动 作路径构成。
14. 事务剖析设计的步骤?
(1) 在 DFD图中确立事务中心、接收部分 ( 包含所有接收路径) 和发送部分 ( 包含所有动作路径 );
(2) 画出 SC图框架 , 把 DFD图的三部分,分别映照 \" 为事务控制模块 , 接收模块和动作发送模块 . 一般获得 SC图的顶层和第一
层 ( 假如第一层简单能够并入顶层 );
(3) 分解和细化接收分支和动作分支 , 达成初始的 SC图 ; (4) 对初始结构图依照设计准则进行精化与改良。 15.数据词典包含哪些内容 ?
数据词典是描述数据流图中数据的信息的会合。 它对数据流图上每一个成分:数据项、文件 ( 数据结构 ) 、数据流、数据储存、加工和外面项等给予定义和说明; 它主要由数据流描述、 加工描述和文件描述三部分构成。
16.给出一组数从小到大的排序算法, 分别用以下工具描述其详尽过程:
(1) 流程图; (2)N-S 图; (3) PDL 语言。
8
软件工程期末考试总复习题及答案
17. 欲开发一个银行的活期存取款业务的办理系统:储户将填好 的存 / 取款单和存折交给银行工作人员, 而后由系统作以下办理; (1) 业务分类办理: 系统第一依据储户所填的存 / 取款单,确立本次业务的性质,并将存 / 取款单和存折交下一步办理; (2) 存款办理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;
(3) 取款办理:系统将取款单上的取款金额分别记录在存折和帐目文件中, 并从现金库提取现金; 最后将现金和存折还给储户。
9
软件工程期末考试总复习题及答案
绘制该系统的数据流图和软件结构图。
10
软件工程期末考试总复习题及答案
18. 什么是 软件生计 周期?把 生计周期 区分为阶 段的目的 是什么?
答:一个软件从开始计划起,到荒弃不用止,成为软件的生 存周期。把整个生计周期区分为较小的阶段, 给每个阶段给予确立而有限的任务, 能够简化每一步的工作内容, 使因为软件规模增添而大大增添了的软件复杂性变得较易控制和管理。
19. 详尽设计的目的 ?
为软件结构图 (SC 图或 HC图) 中的每一个模块确立采纳的算法和块内数据结构 , 用某种选定的表达工具给出清楚的描述 .
11
软件工程期末考试总复习题及答案
20.详尽设计的任务是什么?
(1) 为每个模块确立采纳的算法; (2) 确立每一模块使用的数据结构; (3) 确立模块接口的细节; (4) 编写过程设计说明书; (5) 设计每一模块的测试用例。 21. 编码的任务?
使用选定的程序设计语言, 把模块的过程性描述翻译为用语言书写的源程序 ( 源代码 ) 。
22. 软件测试的基本任务?
软件测试是依照特定的规则, 发现软件错误的过程; 好的测试方案是尽可能发现迄今还没有发现错误的测试; 成功的测试方案是发现迄今还没有发现错误的测试;
23. 什么是黑盒测试 ?黑盒测试主要采纳的技术有哪些 ?
黑盒测试也称为功能测试 , 它着眼于程序的外面特色 , 而不 考虑程序的内部逻辑结构。测试者把被测程序当作一个黑盒 , 不用关怀程序的内部结构。 黑盒测试是在程序接口处进行测试, 它
只检查程序功能能否能依照规格说明书的规定正常使用, 程序能否能合适地接收输入数据产生正确的输出信息, 并且保持外面信息( 如数据库或文件 ) 的完好性。
黑盒测试主要采纳的技术有 : 等价分类法、界限值剖析法、错误推断法和因果图等技术。
24. 什么是白盒测试 ?白盒测试主要采纳的技术有哪些 ?
白盒测试是 测试者认识被测程序的内部结构和办理过程 , 对程序的所有逻辑路径进行测试 , 在不一样点检查程序状态 , 确立本质状态与预期状态能否一致。
白盒测试主要采纳的技术有: 路径测试技术和事务办理流程技术,对包含有大批逻辑判断或条件组合的程序采纳鉴于逻辑的测试技术。
12
软件工程期末考试总复习题及答案
25. 路径测试技术中几种主要覆盖的含义 ?举例说明 ? 语句覆盖 : 起码履行程序中所有语句一次。
判断覆盖 : 使被测程序中的每一个分支起码履行一次。故也称为分支覆盖。
条件覆盖 : 履行所有可能的穿过程序的控制路流程。
条件组合测试 : 设计足够的测试用例,使每个判断中的所有可能条件取值组合起码履行一次。
(例略)
26. 等价分类法的测试技术采纳的一般方法 ?举例说明 ? (1)
为每个等价类编号;
(2) 设计一个新的测试方案 , 以尽可能多的覆盖还没有被覆盖的有效等价类 , 重复这一步骤 , 直到所有有效等价类被覆
盖为止。 (3)
设计一个新的测试方案 , 使它覆盖一个还没有被覆盖的 无效等价类 , 重复这一步骤 , 直到所有无效等价类被覆盖为止。 (例略)
27. 如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判断覆概、 条件覆概和条件组合覆概。
Y N
N
设计测试方案
覆盖种
需知足的条件 测试数据 希望结果
类
13
软件工程期末考试总复习题及答案
A>1,B=0
判断覆
盖
A>1,B 0 或 A 1,B=0 或 A 1,B 0
以下四种状况各出
条件覆
盖
A=2,B=0 A=2,B=1 或 A=1,B=0 或 A=1,B=1
履行 S1 履行 S2
现一次
A>1 A 1
B=0 B 0
A=2,B=0 A=1,B=1 A=2,B=0 A=2,B=1 A=1,B=0 A=1,B=1
履行 S1 履行 S2 履行 S1 履行 S2 履行 S2 履行 S2
A>1,B=0
条件组
合 覆盖
A>1,B 0 A 1,B=0
A 1,B 0
28. 某城市电话号码由三部分构成。它们的名称和内容分别是:
地域码:空白或三位数字;
前 缀:非‘ 0’或‘ 1’的三位数字; 后
缀: 4 位数字。
假定被测程序能接受全部切合上述规定的电话号码,拒绝
所有不切合规定的电话号码。 依据该程序的规格说明, 作等价类的区分,并设计测试方案。
区分等价类
输入条
件 地域码
有效等价类
无效等价类
1. 空白; 2. 三位数;
1. 有非数字字符; 2. 少于三
位数字;
3. 多于三位数字。 ‘0’; 数字;
8. 多于三位数字。
前 缀
3. 从 200 到 999之 4. 有非数字字符; 5. 开端位为 间的三位
6. 开端位为 ‘1’; 7. 少于三位
14
软件工程期末考试总复习题及答案
后
缀 4. 四位数字。 9. 有非数字字符; 10. 少于四位
数字;
11. 多于四位数字。
设计测试方案
方 案
内容
地域码
输
后缀
入 预 期 输 出 有 效 有 效 无 效 无 效 无 效 无 效 无 效 无 效 无 效 无 效 无 效 无
15
前缀
1
空白 200 ~ 999 四 位 数 ( )276-2345 之间的三
字 字
2
三位数位数字 字
四 位 数 (635)805-9321
3
有 非 数 字字符 少 于 三 位数字 多 于 三 位数字
(20A)723-4567
4
(33 )234-5678
5
(5555)345-6789
6
有非数字 字符
开端位为 ‘0’ 开端位为 ‘1’ 少于三位 数字
多于三位 数字
(345)5A2-3456
7
(345)012-3456
8
(345)132-3456
9
(345) 92-3456
10
(345)4562-3456
11
有 非 数 (345)342-3A56 字字符
12
少 于 四 (345)342- 356
软件工程期末考试总复习题及答案
位数字
13
多 于 四 (345)562-34567 位数字
效 无 效
29. 为何说软件的保护是不可以防止的?
因为软件的开发过程中, 一般很难检测到所有的错误, 其次软件在应用过程中需要随用户新的要求或运转环境的变化而进
行软件的改正或达成功能的增删等, 为了提升软件的应用水平易使用寿命,软件的保护是不可以防止的。
22. 试由程序流程图导出程序图
进口
1
F
T
A>1 2
T
B=0
3
X=X/A
8
F
A=2
4
T
F
5
X>1
T
X=X+1 6 9
F
出口
7
(a)程序流程图
( b)导出程序图
16
软件工程期末考试总复习题及答案
30. 软件的保护一般分为哪几类?
完美性保护: 知足用户在使用过程中提出增添新的功能
或改正已有功能,以知足用户日趋增添的需要而进行的工作;
适应性保护:是软件适应新的运转环境而进行的工作;
纠错性保护: 纠正开发期间未发现的遗留错误, 即在程序使用期间发现的程序错误进行诊疗和更正的过程;
预防性保护:为了改良将来的可保护性或靠谱性而改正软件的工作。
31. 决定软件可保护性的要素?
(1) 软件的可理解性、可测试性、可改正性;
(2) 文档描述切合要求、 用户文档简短明确、 系统文档完好并且标准。
32. 剖析软件危机产生的主要原由有哪些?答:致使软件危机的主要原由有:
(1)软件日趋复杂和宏大( 2)软件开发管理困难和复杂( 3)软件开发技术落伍( 4)生产方式落伍( 5)开发工具落伍( 6)软件开发花费不停增添
1 个重点 1 分,只需答上 5 个重点得 5 分! 33. 说明结构化程序设计的主要思想是什么?
答:( 1)自顶向下、逐渐求精的程序设计方法(
2 分)( 2)使
3 分)
用 3 种基本控制结构、单进口、单出口来结构程序。(
34、软件测试的基本任务是什么?测试与纠错有什么差异?
答:软件测试的基本任务是经过在计算机上履行程序, 裸露程序中潜伏的错误。 测试和纠错目的和任务都不同样, 测试是为了发现程序的错误,纠错是为了定位和纠正错误, 进而除去软件故障,保证程序的靠谱运转。
17
软件工程期末考试总复习题及答案
35. 软件测试包含哪些步骤?同时说明这些步骤的测试目的是什么?
答:( 1)单元测试,目的是代码达到模块说明书的要求( 2)集成测试,目的是将经过单元测试的模块逐渐组装成拥有优秀一致 性的完好的程序( 3)确认测试,目的是确认程序系统能否知足软件需求规格说明书的要求( 4)系统测试,目的是检查可否与系统的其他部分协调运转,并且达成 SRS对他的要求。 36. 需求剖析与软件设计二个阶段任务的主要差异是什么? 答:需求剖析定义软件的用户需求, 即定义待开发软件能做什么(2.5 分)
软件设计定义软件的实现细节以知足用户需求, 即研究怎样实现软件。( 2.5 分)
37. 说明软件测试和调试的目的有何差异?
答:测试的目的是判断和发现软件能否有错误( 2。5 分)调试的目的是定位软件错误并纠
38. 依据以下被测试的流程图,选择相应的答案。(8 分) (1) A=2, B=0, X=4
A=1, B=1, X=1
(2)A=2, B=1, X=1
(3)A=2,B=0, X=1
A=3, B=0, X=3A=1, B=1, X=2
①在 1-3 的答案中知足判断覆盖的测试用例是 ②在 1-3 的答案中知足条件覆盖的测试用例是 (2 分)
___1_____ (2 分) ___3_____ (2 分)
③在 1-3 的答案中知足判断 / 条件覆盖的测试用例是 ______2__
39.薪资计算系统中的一个子系统有以下功能:
( 1 )计算扣除部分—由基本薪资计算出应扣除 (比方水电费、少勤)的部分;
( 2 )计算奖金部分—依据员工的出勤状况计算出奖赏金;
18
软件工程期末考试总复习题及答案
( 3 )计算薪资总数部分—依据输入的扣除额及奖金计算出总数;
( 4 )计算税金部分—由薪资总数上当算出应扣除各样税金; ( 5 )生成薪资表—依据计算总数部分和计算税金部分传达来的有关员工薪资的详尽信息生成薪资表。 试依据要求画出该问题的数据流程图。
40.用自顶向下结构化程序设计方法编写直接选择排序从小到大
摆列的程序。要求保持优秀的程序风格,加上必需的说明()。
用 C 语言编写:
/* 程序名称:直接选择排序; */
/* 作者 */
/* 达成日期: 2006 年 6 月 9 日; */ /* 过程头: selectsort
(int *A ;int N ) */
19
软件工程期末考试总复习题及答案
/* 输入参数: N为元素个数( N<=1000);A 整型数组,从
寄存待排序元素; */ void selectsort {
int i,j,k,x {
k=i
f1
1 到 N
/* 返回结果:数组 A 为指针,由它返回排序结果; */
(int *A
;int N )
;