奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 2297|回复: 0

电子科大《软件工程》模拟题

[复制链接]
发表于 2013-8-11 10:50:14 | 显示全部楼层 |阅读模式
谋学网
.
软件工程自测(一)
一、单项选择题
1. 软件危机具有下列表现(      )。
I. 对软件开发成本估计不准确                II. 软件产品的质量往往靠不住
III. 软件常常不可维护                                IV. 软件成本逐年上升
A. I、II和III                B.  I、III和IV                C. II、III和IV                D. 以上都正确
2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是(      )。
A. 运行和维护阶段                                        B. 设计阶段
C. 代码实现阶段                                        D. 测试阶段
3. 下列属于软件的特点的是(      )。
A. 软件是一种逻辑实体,具有抽象性
B. 软件在使用过程中没有磨损、老化的问题
C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高
D. 以上都正确
4. 软件工程的出现是由于(      )。
A. 软件危机的出现                                        B. 计算机硬件技术的发展
C. 软件社会化的需要                                D. 计算机软件技术的发展
5. 软件开发技术不包含(      )。
A. 软件开发方法学                                        B. 软件工程环境
C. 软件工具                                                D. 软件质量度度量
6. 软件工程的课程特点(      )。
I. 学科理论及其知识应用的多维性
II. 工程化
III. 浓厚的方法学色彩
IV. 实践性、指导性强
A. I、II和III                B. I、III和IV        C. II、III和IV                D. 以上都正确
7. 下列属于应用软件的是(      )。
I. 计算机辅助教学软件                        II. 软件测试工具
III. 办公自动化软件                        IV. 工程与科学计算软件
A. I、II和III                B. I、III和IV        C. II、III和IV                D. 以上都正确
8. 需求分析阶段最重要的技术文档是(      )。
A. 设计说明书                                        B. 需求规格说明书
C. 可行性分析报告                                D. 用户手册
9. 以下关于数据流图的说法错误的是(      )。
A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储
B. 数据流图是用作结构化分析的一种工具
C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成
D. 数据流图的绘制采用自上向下、逐层分解的方法
10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(      )。
A. 数据库设计                B. 数据通信                C. 数据定义                D. 数据维护
11. 需求分析阶段的研究对象是(      )。
A. 系统分析员要求                                        B. 用户要求
C. 软硬件要求                                                D. 系统要求
12. 结构化方法的基本原则是(      )。
A. 模块化                        B. 抽象与分解        C. 信息隐蔽                D. 逐步求精
13. 耦合度最高的是(      )耦合。
A. 环境                        B. 内容                        C. 控制                        D. 数据
14. 内聚程度较低的是(      )内聚。
A. 偶然                        B. 通讯                        C. 顺序                        D. 时间
15. 对一个程序来说,组成系统的模块数目(      ),则开发成本越小。
A. 越多                        B. 越少                        C. 顺序                        D. 时间
16. 画软件结构图时应注意调用关系只能是(      )。
A. 从下到上                B. 从上到下                C. 从左到右                D. 从右到左
17. 程序流程图中的箭头代表(      )。
A. 数据流                        B. 控制流                C. 顺序流                D. 调用
18. 软件测试是软件质量保证的重要手段,下述(      )是软件测试的最基础环节。
A.功能测试                B. 单元测试                C. 结构测试                D. 确认测试
19. 软件测试方法中,黑盒测试法主要用于测试(      )。
A. 结构合理性                                        B. 软件外部功能
C. 程序正确性                                        D. 程序内部逻辑
20. 软件测试是软件质量保证的主要手段之一,测试的目标是(      )。
A. 证明软件符合设计要求                B. 发展软件的潜在能力
C. 发现软件中的错误和缺陷                D. 判定软件是否合格
21. 选择程度设计语言的关键因素是(      )。
A. 软件应用领域                                B. 软件执行环境
C. 软件开发方法                                D. 算法和数据结构
二、填空题
1. 计算机软件不仅仅是程序,还应该有一整套         。
2. 传统的软件生存期模型是         。
3. 软件按照功能的不同可以划分为3大类型         、         和         。
4. 与程序流程图相比,盒图没有         ,因此不允许随意转移控制。
5.         是极可能发现了迄今为止尚未发现的错误的测试方案。
三、判断题(正确的划“√”,不正确的划“×”)
1. 在软件的开发过程中,工作量最大的一个阶段就是编写程序。
2. 一般说来,模拟的内聚程度越高,它们之间的耦合程度也就越高。
3. 软件测试只能证明程序有错误,不能证明程序没有错误。
4. 结构化程度设计方法能改善程序结构,提高程序的运行效率。
5. 如果测试数据满足条件覆盖,则必然满足判定覆盖。
四、综合题
1. 求100~1000间的素数。请画出描述该问题的N-S图。
2. 将下列数据流图转换为控制结构图。

3. 已知有如下程序段:
begin
p1;
        if C1
        then while C2 do
                                p2
else p3;
while C3 do
                        begin p4;
                           if C4
                           then p5
                           else p6
        end;
p7;
        if C5
        then repeat p8 until c6
        else p9;
end
(1)请用PAD图描述;
(2)请用程序流程图描述。


资料:
一、单项选择题
1. D        2. A        3. D        4. D        5. D        6. D        7. B        8. B        9. C
10. C        11. B        12. B        13. B        14. A        15. C        16. B        17. B        18. B
19. B        20. C        21. D
二、填空题
1. 文档
2. 瀑布模型
3. 系统软件  支持软件  应用软件
4. 箭头
5. 好的测试方案
三、判断题
1. 错误。在软件的开发过程中,工作量最大的一个阶段应是测试阶段。
2. 错误。一般说来,模块的内聚程度越高,它们之间的耦合程度也就越低。
3. 错误。结构化程序设计方法能改善程序结构,但往往降低他程序的运行效率。
4. 错误。 结构化程度设计方法能改善程序结构,但往往会降低程序的运行效率。
5. 错误。 对于特定的程序而言,满足条件覆盖的测试数据不一定必然满足判定覆盖。

四、综合题
1.

2.

3. (1)PAD图描述是:

(2)程序流程图描述是:






软件工程自测题(二)
一、填空题
1.         是计算机程序及其说明程序的各种文档。        是计算机任务的处理对象和处理规则的描述;        是有关计算机程序功能、设计、编制、使用的文字或图形资料。
2. 软件生产的发展,到现在为止,经过三个阶段,即        ,        ,        。
3.        是描述软件开发过程中各种活动如何执行的模型。
4. 结构化方法由        、        、        构成。它是一种面向        的开发方法。
5. Jackson方法是一种面向        的开发方法。
6.        的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
7. 可行性研究需要从以下三个方面分析研究每种解决方法的可行性:        、        、        。
8. 效益分析有形效益和无形效益两种。有形效益可以用       、        、        等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
9. 结构化分析方法是面向        进行需求分析的方法。
10. 在SA方法的需求描述工具中,        描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。        定义了数据流图中每一个图形元素。结构化语言、判定表或判定树则详细描述数据流图中不能被再分解为        。
11. 数据流图有四种基本成分:        、        、        、        。
12. 数据字典有以下四类条目:        、        、        、        。        是组成数据流和数据存储的最小元素。
13. 数据字典中的加工逻辑主要描述该加工        ,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的        。
14. 加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:        、        、        。
15. 结构化语言是介于自然语言(英语或汉语)和形式语言之间的一种半形式语言。它的结构可分成外层和内层两层,外层用来描述        ,采用        三种基本结构。
16. 三种描述加工逻辑的工具各有优缺点,对于顺序执行和循环执行的动作,用    描述。对于存在多个条件复杂组合的判断问题,用        和        。
17. 在软件需求分析阶段,已经搞清楚了软件        的问题,并把这些需求通过   描述了出来,这也是目标系统的        。
18. 软件结构的设计是以        为基础的,以需求分析的结果为依据,从实现的角度进一步划分为        ,并组成模块的        。
19. 在一个模块中,        反映模块的外部特性,        反映它的内部特性。
20. 衡量模拟独立性的两个定性的度量标准是        和        。
21. 耦合性也称        。指软件系统结构中        相互联系紧密程度的一种度量。模块之间联系越        ,其耦合性就越强,模拟的        则越差。
22. 内聚性又称        。指模拟的        的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)的联系越        ,则它的内聚性就越高。
23. 内聚性有六种类型:        、        、        、        、        、       。
24.         指一个模块内的各处理元素之间没有任何联系。这是内聚程度最     的内聚。
25.         指模拟内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。把需要同时执行的动作组合在一起形成的模块为        模块。
26.         与        是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到        内聚、        耦合,提高模块的        ,为设计高质量的软件结构奠定基础。
27. 结构图的主要内容有:        、        、        。
28. 模块的        指一个模块直接下属模块的个数,        指一个模块直接上属模块的个数。
29. 要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型。各种软件系统,一般可分为        和        两类。
30. 变换型的DFD是由        、        和        三部分组成。
31. 变换型数据处理的工作过程一般分为三步:        、        和        ,这三步体现了变换型DFD的基本思想。
32. 在变换型DFD中,变换是系统的        ,变换输入端的数据流称为系统的        ,输出端的数据流为        。而直接从外部设备输入数据称为        ,直接从外部设备上的输出数据称为        。
33. 若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为        的数据流图,这个加工称为        。
34. 任何程序都可由        、        、        三种基本控制结构构造。这三种基本结构的共同点是        、        。
35. 详细描述处理过程常用三种描述工作:        、        和        。
36. 程序流程图又称为      ,应由      顺序组合和完整嵌套而成,不能有       的情况,这样的流程图是        的流程图。
37. 伪码的结构一般分为内外两层,外层语法应符合一般        常用的语法规则,而内层语法则用一些简单的句子、短语和通用的数学符号,来描述程序        。
38. Jackson方法是面向        的设计方法。
39. 汇编语言是面向        的,可以完成        语言无法满足要求的特殊功能,如与外部设备之间的一些接口操作。
40. 近年来,推出了许多面向对象的语言,如        、        等
41. 软件测试是为了       而       的过程。一个好的测试用例能够发现        的错误。一个成功的测试是        的错误的测试。
42. 软件测试方法一般分为两大类:        方法与        方法。
43. 动态测试方法中根据测试用例的设计方法不同,分为        与        两类。
44. 动态测试指通过        发现错误。对软件产品进行动态测试时,使用        法和        法。
45. 黑盒法把被测试对象看成一个    ,测试人员完全不考虑程序的      和      。只在软件的        处进行测试。
46. 白盒法把测试对象看作一个打开的盒子,测试人员需了解程序的       和     。
47. 语句覆盖是指设计足够的        ,使被测程序中        至少执行一次。语句覆盖是比较        的覆盖标准。
48. 用墨盒技术设计测试用例的方法有四种        、        、        和       。
49. 等价类划分是将        按        或        划分成若干个等价类,测试每个等价类的        就等于对该类其他值的测试。
50. 软件产品在交付使用之前要经过哪些测试呢?一般要经过以下四步测试:        、        和        。
二、单项选择题
1. (     )是计算机程序及其说明程序的各种文档。
A. 软件                        B. 数据                        C. 文档                        D. 程序
2. (     )是有关计算机程序功能、设计、编制使用的文字或图形资料。
A. 程序                        B. 文档                        C. 软件                        D. 数据
3. 软件工程中描述生存周期模型的瀑布模型一般包括计划、(     )、设计、编码、测试、维护等几个阶段。
A. 需求分析                B. 需求调查                C. 可行性分析        D. 问题定义
4. 系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括(      )。
A. 软件环境可行性、技术可行性、经济可行性、社会可行性
B. 经济可行性、技术中行性、操作可行性
C. 经济可行性、可行性、系统可行性
D. 经济可行性、实用性、可行性
5. 软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别,分析与综合,制定规格说明以及(     )。
A. 总结                                                B. 实践性报告
C. 需求分析评审                                D. 以上资料都不正确
6. 在结构化分析方法中,用以表达系统内数据的运动情况的工具有(     )。
A. 数据流图                                        B. 数据词典
C. 结构化英语                                        D. 判定树与判定表
7. 数据词典的任务是对于数据流图中出现的所有被命名的数据元素,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的(     )。
A. 对象                        B. 解释                        C. 符号                        D. 描述
8. 在数据流图的基本图形符号中,加工是以数据结构或(     )干什么为加工对象的。
A. 数据内容                B. 信息内容                C. 信息结构                D. 信息流
9. 软件需求分析的任务不应包括(     )。
A. 问题分析                                        B. 信息域分析
C. 结构化程序设计                                D. 确定逻辑模型
10. 进行需求分析可使用多种工具,但(     )是不适用的。
A. 数据流图                B. 判定表                C. PAD图                D. 数据词典
11. 结构化分析方法(SA)是一种面向(     )的需求分析方法。
A. 对象                        B. 数据结构                C. 数据流                D. 控制流
12. 结构化分析方法(SA)最为常见的图形工具是(     )。
A. 程序流程图                B. 实体联系图        C. 数据流图                D. 结构图
13. 在结构化分析方法(SA),与数据流图配合使用的是(     )。
A. 网络图                        B. 实体联系图        C. 数据字典                D. 程序流程图
14. 在数据流图中,有名字及方向的成份是(     )。
A. 控制流                        B. 信息流                C. 数据流                D. 信号流
15. 在数据流图中,不能由计算机处理的成份是(     )。
A. 控制流                        B. 结点                        C. 数据流                D. 数据源/终点
16. 通过(     )可以完成数据流图的细化。
A. 结构分解                B. 功能分解                C. 数据分解                D. 系统分解
17. 数据存储和数据流都是(     ),仅仅所处的状态不同。
A. 分析结果                B. 事件                        C. 动作                        D. 数据
18. 数据流图和(     )共同构成系统的逻辑模型。
A. IPO图                        B. PDL                        C. 数据字典                D. 层次图
19. 结构分析方法就是面向(      )自顶向下逐步求精进行需求分析的方法。
A. 目标                        B. 数据流                        C. 功能                        D. 对象
20. 为了提高模块(      ),当修改或维护模块时减少把一个模块的错误扩散到其他模块中去的机会。
A. 耦合性                        B. 独立性                        C. 内聚性                D. 共享性
21. 模块(      ),则说明模块的独立性越强。
A. 耦合越强                B. 扇人数越高                C. 耦合越弱                D. 扇人数越低
22. (      )数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。
A. 变换型                        B. 事务型                        C. 结构化                D. 非结构化
23. 在对数据流的分析中,主要是找到中心变换,这是从(      )导出结构图的关键。
A. 数据结构                B. 实体关系                        C. 数据流图                D. E-R图
24. 在对数据流的分析中,主要是找到中心变换,这是从数据流图导出(      )的关键。
A. 程序模块                B. 逻辑结构                        C. 程序流程图        D. 结构图
25. 程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的(      )和耦合性。
A. 一致性                        B. 作用域                        C. 嵌套限制                D. 内聚性
26. 面向数据流的设计方法把(      )映射成软件结构。
A. 数据流                        B. 系统结构                        C. 控制结构                D. 信息流
27. 在进行软件结构设计时应该遵循的最主要的原因是(      )原理。
A. 抽象                        B. 模块化                        C. 模块独立                D. 信息隐藏
28. 结构化设计的方法是一种面向(      )的设计方法。
A. 对象                        B. 数据结构                        C. 数据流                D. 控制流
29. 结构化设计的方法中使用的图形工具是(      )。
A. 软件结构图                B. 数据流程图                C. 程序流程图        D. 实体联系图
30. 在软件结构图中,如果两个矩形之间的直接相连,表示它们存在(      )关系。
A. 链接                        B. 调用                                C. 并列                        D. 顺序执行
31. 块内联系中,(      )块内联系最强。
A. 偶然性                        B. 功能性                        C. 通信性                D. 顺序性
32. 一组语句在程序的多处出现,为了节省内存空间,把这些语句放在一个模块中,该模块的内聚度是(      )的。
A. 逻辑性                        B. 瞬时性                        C. 偶然性                D. 通信性
33. 将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是(      )的。
A. 逻辑性                        B. 瞬时性                        C. 功能性                D. 通信性
34. 模块中所有成分引用共同的数据,该模块的内聚度是(      )。
A. 逻辑性                        B. 顺序性                        C. 功能性                D. 通信性
35. 模块内的某成分的输出是另一些成分的输入,该模块的内聚度是(      )的。
A. 功能性                        B. 顺序性                        C. 逻辑性                D. 瞬时性
36. 软件设计中划分程序通常遵循的原则是要使模块间的耦合性尽可能(      )。
A. 强                                B. 弱                                C. 较强                        D. 适中
37. 一个模块把开关量人秋参数传送给另一模块,这两个模块之间的耦合是(      )。
A. 外部耦合                B. 数据耦合                        C. 控制耦合                D. 内容耦合
38. 一个模块把一个数值量作为参数传送给另一模块。这两个模块之间的耦合是(      )。
A. 逻辑耦合                B. 数据耦合                        C. 控制耦合                D. 内容耦合
39. 下列几种耦合中,(      )的耦合性最强。
A.公共耦合                B. 数据耦合                        C. 控制耦合                D. 内容耦合
40. 软件详细设计主要采用的方法是:(      )
A. 结构程序设计                B.模型设计                C. 结构化设计        D. 流程图设计
41. 程序控制一般分为(      )、分支、循环三种基本结构。
A. 分块                                B. 顺序                        C. 循环                        D. 分支
42. 程序控制的三种基本结构中,(      )结构可提供多条路径选择。
A. 反序                                B. 顺序                        C. 循环                        D. 分支
43. 程序控制的三种基本结构中,(      )结构可提供程序重复控制。
A. 遍历                                B. 排序                        C. 循环                        D. 分支
44. 下列叙述正确的是(      )。
A. NS图可以用于系统设计                                B. PDL语言可以用于运行
C. PAD图表达的软件过程成树型结构                D. 结构化程序设计强调效率第一
45. 在软件开发过程,以下说法正确的是(      )。
A. 程序流通图是逐步求精的好工具
B. NS图不可能任意转移控制,符合结构化原则
C. 判定表是一种通用的设计工个
D. 程序流程图和NS图都不易表达模块的层次结构
46. 指出PDL是下列哪种语言(      )。
A. 高级程序设计语言                        B. 伪码
C. 中级程序设计语言                        D. 低级程序设计语言
47. Jackson方法是一种面向(      )的方法。
A. 对象                        B. 数据结构                                C. 数据流                D. 控制流
48. Jackson方法根据(      )来导出程序结构。
A. 数据结构                B. 数据间的控制结构                C. 数据流图                D. IPO图
49. 在编制程序时,应采纳的原则之一是(      )。
A. 不限制goto语句的使用
B. 减少或取消注解行
C. 程序越短越好
D. 程序结构应有助于读者理解
50. 从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试(      )。
A. 系统测试、集成.测试、单元测试
B. 单元测试、组装测试、确认测试
C. 单元测试、确认测试、集成测试卜
D. 确认测试、组装测试、单元测试
51. 在进行软件测试时,首先应当进行(      ),然后再进行组装测试,最后再进行有效性测试。
A. 单元测试                B. 集成测试                C. 系统测试                D. 组合测试
52. 在进行软件测试时,首先应当进行单元测试,然后再进行(      ),最后再进行有效性测试。
A. 组合测试                B. 集成测试                C. 有效性测试        D. 确认测试
53. 集成测试计划是在(      )阶段制定的。
A. 可行性研究和计划                        B. 需求分析
C. 概要设计                                        D. 详细设计
54. 调试的目的是为了(      )。
A. 证明软件符合设计要求
B. 发现软件中的错误和缺陷
C. 改善软件的功能和性能
D. 发掘软件的潜在能力
55. 软件的开发与维护划分为6个阶段,其中单元测试是在(      )阶段完成的。
A. 概要设计                B. 详细设计                C. 编码                D. 测试
56. 软件测试的目的是(      )。
A. 评价软件的质量                        B. 发现软件的错误
C. 找出软件的所有错误                D. 证明软件是正确的
57. 在整个软件维护阶段所花费的全部工作中,(      )所占比例最大。
A. 校正性维护                        B. 适应性维护
C. 完善性维护                        D. 预防性维护
58. 软件可维护性是指软件能够被理解、校正、(      )功能的容易程序。
A. 变更                        B. 维护                        C. 修改                        D. 适应及增强
59. 人们称在软件运行/维护阶段对软件产品所进行的修改就是维护。(      )是由于开发时测试的不知名度、不完全造成的。
A. 正确性维护                B. 适应性维护        C. 完善性维护        D. 预防性维护
60. 在四种类型的维护中,(      )维护是针对用户对软件提出的功能和性能要求的。
A. 正确性                        B. 适应性                C. 完善性                D. 预防性
61. 软件生存周期的(      )的工作和软件可维护性有密切的关系。
A. 编码阶段                B. 设计阶段                C. 测试阶段                D. 每个阶段
62. 软件的可维护性、可使用性、(      )是衡量软件质量的几个主要特性。
A. 可靠性                        B. 可复用性                C. 可理解性                D. 可修改性
三、名词解释
1. 需求分析                2. 数据流                3. 数据字典                4. 加工                5. 数据流图
6. 模块                        7. 模块化                8. 模拟独立性        9. 耦合性           10. 控制耦合
11. 内容耦合                12. 内聚性                13. 偶然内聚                14. 时间内聚        15.顺序内聚
16. 条件覆盖                17. 判定/条件覆盖         18. 黑盒测试                19. 单元测试
四、简答题
1. 需求分析阶段的文档是什么?
2. 什么是结构化分析方法?该方法使用什么描述工具?
3. 什么是数椐字典?其作用是什么?它有哪些条目?
4. 描述加工逻辑有哪些工具?
5. 衡量模块独立性的两个标准是什么?它们各表示什么含义?
6. 模块的内聚性由哪几种?各表示什么含义?
7. 什么是“变换型”?
8. 什么是“事务型”?
9. 结构化程序设计基本要点是什么?
五、应用题
1. 请使用流程图、PAD图和PDL语言描述下列程序的算法。
(2)输入三个正整数作为边长,判断该三条边构成的三角形是等边、等腰或一般三角形。

2. 某学校计算教材购销系统有以下功能:
学生买书,首先填写购书单,计算机根据各班学生用书表以及售书登记表审查有效性,若有效,计算机根据教材存量表进一步判断书库是否有书,若有书,计算机把领书单返回给学生,学生凭领书单到书库领书。对脱销的教材,系统用缺书单的形式通知书库,新书购进库后,也由书库将进书通知返回给系统。
请就以上系统功能画出分层的PFD图,并建立重要条目的数据字典。
3. 某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
参考资料
一、填空题
1. 软件                程序                文档
2. 程序设计时代                程序系统时代                软件工程时代
3. 软件生存周期模型
4. 结构化分析                结构化设计                结构化程序设计                数据流
5. 数据结构
6. 软件可行性研究
7. 技术可行性  经济可行性  操作可行性
8. 货币的时间价格  投资回收期  纯收入
9. 数据流
10. 数据流图  数据字典  每一个加工
11. 数据流  加工(又称为数据处理)  .文件  数据的源点或终点
12. 数据流  数据项 . .文件  基本加工  数据项
13. “做什么”  加工规则
14. 结构化语言  判定表  判定树
15. 控制结构  顺序、选择、重复
16. 结构化语言  判定表  判定树
17. 做什么  规格说明书  逻辑模型
18. 模块  模块  层次结构
19. 功能 输入/输出  程序及数据
20. 耦合性  内聚性
21. 块间联系  各模块间  紧密  独立性
22. 块内联系  功能强度  紧密
23. 偶然内聚  逻辑内聚  时间内聚  通信内聚  顺序内聚  功能内聚
24. 偶然内聚  差
25. 逻辑内聚  时间内聚
26. 耦合性  内聚性  高  低  独立性
27. 模块  模块调用  参数传递
28. 扇出  扇入
29. 变换型  事务型
30. 输入  变换(或称处理)  输出
31. 取得数据  变换数据  输出数据
32. 主加工  逻辑输入  逻辑输出  物理输入  物理输出
33. 事务型  事务处理中心
34. 顺序  选择  重复  单入口  单出口
35. 图形  表格  语言
36. 程序框图  三种基本控制结构  相互交叉  结构化
37. 程序设计语言  应执行的功能
38. 数据结构
39. 机器  高级
40. C++  Java
41. 发现错误  执行程序  至今尚未发现  发现了至今尚未发现
42. 动态测试  静态测试
43. 黑盒测试  白盒测试
44. 运行程序  黑盒测试  白盒测试
45. 黑盒子  内部结构  处理过程  接口
46. 内部结构  处理过程
47. 测试用例  每个语句  弱
48. 等价类划分  边界值分析  错误推测法  因果图
49. 输入数据域  有效的(合理的)  无效的(不合理的)  代表值
50. 单元测试  集成测试  确认测试  系统测试

二、单项选择题
1. A        2. B        3. A        4. B        5. C        6. A        7. D        8. A        9. C
10. C        11. C        12. C        13. C        14. C        15. D        16. B        17. D        18. C
19. B        20. B        21. C        22. A        23. A        24. D        25. D        26. A        27. C
28. C        29. A        30. B        31. B        32. C        33. A        34. D        35. B        36. B
37. C        38. B        39. D        40. C        41. B        42. D        43. C        44. C        45. B
46. B        47. B        48. A        49. D        50. A        51. A        52. B        53. C        54. B
55. C        56. B        57. C        58. D        59. A        60. C        61. D  62 A
三、名词解释:
1. 需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
2. 数据流是数据在系统内传播的路径,因此由一组成分固定的数据项组成。
3. 数据字典(Data Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
4. 加工又称为数据处理,是对数据流进行某些操作或变换。
5. 数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程。
6. 模块在程序中是数据说明、可执行语句等程序对象的集合。
7. 模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
8. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
9. 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。
10. 控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能。
11. 当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部,这种模块之间的耦合为内容耦合。
12. 内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
13. 偶然内聚指一个模块内的各处理元素之间没有任何联系。
14. 把需要同时执行的动作组合在一起形成的模块为时间内聚模块。
15. 顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
16. 条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。
17. 判定/条件覆盖标准指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
18. 黑盒测试是功能测试,依据需求规格说明书,检查程序是否满足功能要求。黑盒测试又称为功能测试或数据驱动测试。
19. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

. 四、简答题
1. 答:需求分析阶段的文档有:
(1)“需求规格说明书”;
(2)初步用户使用手册;
(3)确认测试计划。
2. 答:结构化分析(Structured Analysis,简称SA),是面向数据流进行需求分析的方法。
结构化分析的主要思想是采取自顶向下逐层分解的分析策略,即面对一个复杂的问题,分析人员不可能一开始就考虑到问题的所有方面以及全部细节,采取的策略往往是分解,把一个复杂的问题划分成若干小问题,然后再分别解决,将问题的复杂性降低到人可以掌握的程度。分解可分层进行,先考虑问题最本质的方面,忽略细节,形成问题的高层概念,然后再逐层添加细节,即在分层过程中采用不同程度的“抽象”级别,最高层的问题最抽象,而低层的较为具体。
结构化分析(SA)方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。这些描述工具是:
(1)数据流图;
(2)数据字典;
(3)描述加工逻辑的结构化语言、判定表、判定树。
其中,“数据流图”描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。“数据字典”定义了数据流图中每一个图形元素。结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的每一个加工。
3. 答:数据字典(Data Dictionary,简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
数据流图仅描述了系统的“分解”,系统由哪几部分组成,各部分之间的联系,并没有对各个数据流、加工、数据存储进行详细说明,如数据流、数据存储的名字并不能反映其中的数据成分、数据项目内容和数据特性,在加工中不能反映处理过程等等。
数据字典有以下四类条目:数据流、数据项、.文件、基本加工。数据项是组成数据流的数据存储的最小元素。
4. 答:① 外层:用来描述控制结构,采用顺序、选择、重复三种基本结构。
② 内层:一般是采用祈使语句的自然语言短词。
(2)判定表
(3)判断树。判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用。
5. 答:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。
(1)耦合性。也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
(2)内聚性。又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)联系得越紧密,则它的内聚性就越高。
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
6. 答:内聚性有六种类型:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚,它们的内聚性由低到高。
(1)偶然内聚。指一个模块内的各处理元素之间没有任何联系。这是最差的内聚情况。
(2)逻辑内聚。指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
(3)时间内聚。把需要同时执行的动作组合在一起形成的模块为时间内聚模块。
(4)通信内聚。指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
(5)顺序内聚。指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
(6)功能内聚。这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。
7. 答:变换型DFD是由输入、变换(或称处理)和输出三部分组成,如图4-2所示,虚线为标出的流界。

图  变换型DFD
变换型数据处理的工作过程一般分为三步:取得数据、变换数据和给出数据,这三步体现了变换型DFD的基本思想。变换是系统的主加工,变换输入端的数据流为系统的逻辑输入,输出端为逻辑输出。而直接从外部设备输入数据称为物理输入,反之称为物理输出。外部的输入数据一般要经过输入正确性和合理性检查、编辑、格式转换等预处理,这部分工作者由逻辑输入部分完成,它将外部形式的数据变成内部形式,送给主加工。同理,逻辑输出部分主加工产生的数据的内部形式转换成外部形式然后物理输出。因此变换型的DFD是一个顺序结构。
8. 答:若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为事务型的数据流图,这个加工称为事务处理中心。如图所示。

图  事务型DFD
9. 答:结构化程序设计方法的基本要求有二点:
(1)采用自顶向下、逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序。任何程序都可由顺序、选择、重复三种基本控制结构构造。这三种基本结构的共同点是单入口、单出口。
五、应用题
1. ② (i)PAD图描述:

(ii)流程图描述:

(iii)PDL描述:
                GET(a,b,c)
                IF(ab=)
                        IF  (a=c)
                                PUT(“三角形是等边三角形”)
ELSE
        PUT(“三角形是等腰三角形”)
ELSE
        IF (a=c)
                PUT(“三角形是等腰三角形”)
ELSE
        IF (b=c)
                PUT(“三角形是等腰三角形”)
        ELSE
                PUT(“三角形是一般三角形”)
        ENDIF
2. 答:

图3-1  教材购销系统的顶层DFD

图3-2 第一层DFD——教材购销系统
3. 答:(1)结构化语言。
IF        年龄<20
        THEN        IF        文化程度=初中
                                THEN        脱产学习
                                ELSE        工作为电工
                        ENDIF
        ELSE         IF        年龄≤40
                                THEN        IF        (文化程度=大学)
                                                        THEN        工作为技术员
                                                        ELSE        IF        性别=男性
                                                                                THEN        工作为钳工
                                                                                ELSE        工作为车工
                                                                        ENDIF
                                                        ENDIF
                                ELSE        IF        (文化程度=大学)
                                                        THEN        工作为技术员
                                                        ELSE        工作为材料员
                                                ENDIF
                                ENDIF
ENDIF
(2)判定表:先画出条件取值表如下表:
条件名        取  值        符  号        取值数
年  龄        年龄≤20
20<年龄≤40
年龄>40        C
Y
L        m1=3
文化程度        初中
高中
大学        J
S
U        m2=3
性  别        男
女        M
F        m3=2
判定表如下:
        1        2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18
年龄        C        C        C        C        C        C        Y        Y        Y        Y        Y        Y        L        L        L        L        L        L
文化程度        J        J        S        S        U        U        J        J        S        S        U        U        J        J        S        S        U        U
性别        M        F        M        F        M        F        M        F        M        F        M        F        M        F        M        F        M        F
脱产学习                                                                                                                                               
电  工                                                                                                                                               
钳  工                                                                                                                                               
车  工                                                                                                                                               
技术员                                                                                                                                               
材料员                                                                                                                                               

判定树如下:


                     软件工程自测题(三)


一.        判断题
  1.软件实际就是程序  (     )
  2.成功的测试是没有发现错误的测试    (           )
  3.软件工程的主要思想是从理论的角度来观察分析软件开发盒生产活动  (    )
  4.一个模块直接引用另一个模块中的数据,这两个模块之间的耦合不是内容耦合   (    )
  5.程序只要逻辑正确,能够被机器理解并执行就够了                   (         )
二.选择题
  1.在软件质量因数中,软件在异常条件下人能运行的能力称为软件的(       )
  A)可靠性       B)健壮性     C)可用性       D)安全性
  2.软件开发可行性研究,一般涉及经济,技术盒操作可行性,而进行可行性研究的基本
依据是用户提出的软件 (       )
A)系统质量     B)系统目标   C)系统功能   D)系统性能

3.结构化程序设计中,一般包含3种基本结构,下列结构中哪个不属于基本结构
A)顺序结构     B)嵌套结构     C)顺序结构      D)选择结构
4.JACKSON方法是一种面向(       )的方法
A)对象     B )数据结构     C)数据流    D)控制流
5.模块内部过程描述就是模块内部的(       ),它的表述形式就是详细设计语言
A)模块化设计    B)算法设计   C)程序设计     D)详细设计
6.在设计测试用例时,(      )是用的最多的一种黑盒测试方法
A)等价类划分   B)边值分析   C)因果图     D)判定表
7软件的可维护性,可使用性, (        ) 是衡量软件质量的几个主要特性
A)可靠性     B)可复用性   C)可理解性   D)可修改性
8.原型化方法是一种(     )型的设计过程
A)自外向内   B)自顶向下   C)自内向外    D)自底向上
9.模块(      )定义为受该模块内一个判断影响的所有模块集合
A)控制流    B)作用域     C)宽度   D)接口
10.程序控制的3种基本结构中,(     )结构可提供程序重复控制
A)遍历    B)排列      C )循环   D)分支
三.填空题
1.黑箱测试即_________、白箱测试即_________________。
2.开发期的主要任务_____________,_________________,_______________,________________。
3. 结构化方法将软件生命周期分为____________,_________________,________________三个时期.
4. 各模块经过单元测试后,将各模块组装起来进行          ,以检查与设计相关的        的有关问题。
5. 在单元测试时,需要为被测模块设计        和        。
6. 集成测试的方法主要有两种:        和        。
7. 非渐增式方法把        和        分成两个不同的阶段。
8. 渐增式测试有以下两种不同的组装模块的方法:        、        。
9. 软件测试的目的是        .。
10. 软件维护的内容有四种:        、        、        、        。
11. 为了提高软件的可维护性和可靠性而对软件进行的修改称为        。
12. 因修改软件而造成的错误或其他不希望出现的情况称为        。
13维护的副作用有------------------,-------------------,-----------------三种
14. 软件的        、        、        是衡量软件质量的几个主要特性。
15. 软件可维护性可用下面七个质量特性来衡量,即        、        、        、        、        、        和        。
四.        名词解释
1.        数据字典
2.        内聚性
3.软件生存周期模型
4.多态性
5. 集成测试               
6. 维护                       
7. 正确性维护               
8. 预防性维护


五.        简答题
1. 软件测试的目的是什么?
2. 什么是集成测试?为什么要进行集成测试?
3. 非渐增式测试与渐增式测试有什么区别?
4. 软件维护有哪些内容?
5. 软件维护的副作用有哪些?
六. 应用题
1. 请将下图的DFD转换为软件结构图(注:图中的 表示“或者”)
主图:

子图A:





资料
一.        判断题
  全错
二.        选择题
1 B  2 C  3 B  4 B  5 B  6 A  7 B  8 B  9 B  10 C
三.填空题
1.        功能测试   结构测试
2需求分析    总体设计   详细设计    编码     测试
    3.计划     开发      运行
4. 集成测试  软件体系结构
5. 驱动模块  桩模块
6. 非增式测试  渐增式测试
7. 单元测试  集成测试
8. 自顶向下结合  自底向上结合
9. 尽可能多地发现程序中的错误  .
10. 正确性维护  适应性维护  完善性维护  预防性维护
11. 预防性维护
12. 维护的副作用
13. 编码副作用  数据副作用  文档副作用
14. 可理解性  可使用性  可靠性
15. 可理解性  可测试性  可修改性  可靠性  可移植性  可使用性  效率

四.名词解释
1.        数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
2.        内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
3.        是描述软件开发过程中各种活动如何执行的模型。
4.        指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)
5. 集成测试是指在单元测试的基础上,将所有模拟按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。
6. 在软件运行/维护阶段对软件产品所进行的修改就是维护。
7. 为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
8. 为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。
5.       
五.简答题
1. 答:软件测试的目的。G. J. Myers对软件测试的目的提出了以下观点:
(1)软件测试是为了发现错误而执行程序的过程。
(2)一个好的测试用例能够发现至今尚未发现的错误。
(3)一个成功的测试是发现了至今尚未发现的错误的测试。
2. 答:集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。
实践证明,单个模块能正常工作,组装后不见得仍能正常工作,这是因为:
(1)单元测试使用的驱动模块和桩模块,与它们所代替的模块并不完全等效,因此单元测试有不彻底、不严格的情况。
(2)各个模块组装起来,穿越模块接口的数据可难会丢失。
(3)一个模块的功能可能会对另一个模块的功能产生不利的影响。
(4)各个模块的功能组合起来可能达不到预期要求的主功能。
(5)单个模块可以接受的误差,组装起来可能累积和放大到不能接受的程度。
(6)全局数据可能会出现问题。
因此必须要进行集成测试,用于发现模块组装中可能出现的问题,最终构成一个符合要求的软件系统。
集成测试的方法主要有两种:非渐增式测试和渐增式测试。
(1)非渐增式测试。首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。
(2)渐增式测试。逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。
3. 渐增式与非渐增式测试的方法有以下区别:
(1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模拟的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试合在一起,同时完成。
(2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。
(3)渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。
(4)渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。
(5)渐增式比较彻底,已测试的模块和新的模块再测试。
(6)渐增式占用的时间较多,但非渐增式需更多的驱动模块。桩模块也占用一些时间。
(7)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。
4. 答:软件维护的内容。软件维护的内容有四种:正确性维护,适应性维护,完善性维护和预防性维护。
(1)正确性维护。在软件交付使用后,由于在软件开发过程中产生的错误并没有完全彻底的在测试中发现,因此必然有一部分隐含的错误被带到维护阶段上来。这些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
(2)适应性维护。随着计算机的飞速发展,计算机硬件和软件环境也在不断发生变化,数据环境也在不断发生变化。为了使应用软件适应这种变化而修改软件的过程称为适应性维护。例如,某个应用软件原来是在DOS环境下运行的,现在要把它移植到Windows环境下来运行;某个应用软件原来是在一种数据库环境下工作的,现在要改到另一种安全性较高的数据库环境下工作,这些变动都需要对相应的软件作修改。
(3)完善性维护。在软件漫长的运行时期中,用户往往会对软件提出新的功能要求与性能要求。这是因为用户的业务会发生变化,组织机构也会发生变化。为了适应这些变化,应用软件原来的功能和性能需要扩充和增强。这种增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。例如,软件原来的查询响应速度较慢,要提高响应速度;软件原来没有帮助信息,使用不方便,现在要增加帮助信息。
(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。这是为以后进一步的运行和维护打好基础。这需要采用先进的软件工程方法对需要维护的软件或软件中的某一部分进行设计、编码和测试。
5. 答:因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用。维护的副作用有编码副作用、数据副作用、文档副作用三种。
(1)编码副作用。在使用程序设计语言修改源代码时可能引入错误。例如:① 删除或修改一个子程序、一个标号、一个标识符;② 改变程序代码的时序关系,改变占用存储的大小,改变逻辑运算符;③ 修改文件的打开或关闭;④ 改进程序的执行效率;⑤ 把设计上的改变翻译成代码的改变;⑥ 为边界条件的逻辑测试作出改变;⑦ 以上这些变动都容易引入错误。
(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。例如:① 重新定义局部或全局的常量,重新定义记录或文件格式;② 增加或减少一个数组或高层数据结构的大小;③ 修改全局或公共数据;④ 重新初始化控制标志或指针;⑤ 重新排列输入/输出或子程序的参数。
(3)文档副作用。对数据流、软件结构、模拟逻辑或任何其他有关特性进行修改时,必须对相关技术文档进行相应修改。否则会导致文档与程序功能不匹配、缺省条件改变、新错误信息不正确等错误,使文档不能反映软件当前的状态。如果对执行软件的修改没有反映在文档中,就会产生文档副作用。

六.应用题



奥鹏作业答案,奥鹏在线作业答案
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2024-4-19 15:53 , Processed in 0.119091 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表