admin 管理员组文章数量: 1086019
2025年1月1日发(作者:ostrich英语)
软件工程学习资料(1)
一、填空
1、软件工程学的内容可包括
理论、结构、方法、工具
、环境、管理、规范等。
2、N-S图中的顺序结构:
在PAD图中表示为:
A
PAD图设置五种基本控制结构,并允许
递归
使用。
3、模块的独立程度可以由两个定性标准度量,这两个标准分别称为
内聚
和
耦合
。
耦合衡量
不同模块彼此之间相互依赖的紧密程度。
内聚衡量
一个模块内部各个元素彼此结合的紧密程度。
4、软件测试方法按测试过程是否在实际应用环境中分为
静态分析
和
动态测试
。
B
A
B
二、单项选择题
1、模块在同一段时间内完成各种初始化工作,这属于 。
A.偶然内聚 B.逻辑内聚 C.
时间内聚
D.过程内聚
2、在编程安全方法方面,一般来说无法做到 。
A. 避开错误 B.
完美无缺,绝无错误
C. 冗余 D.设计防错程序
3、在衡量软件质量时,最重要的标准是 。
A. 成本低 B. 可维护性好 C.
符合要求
D. 界面友好
4、下列工具中,不属于详细设计工具的是 。
A.
测试工具
B. 图形工具 C. 表格工具 D. 语言工具
5、下列哪个做法会导致不利的语句结构
A. 避免使用ELSE GOTO结构
B.
对递归定义的数据结构尽量不再使用递归过程
C.模块功能尽可能单一化,模块间的耦合能够清晰可见
D.利用信息隐蔽,确保每一个模块的独立性
三、判断题
1、Jackson系统开发方法是一种典型的面向对象的分析设计方法。(×)
2、HIPO图是由一组IPO图加一张HC图组成,是美国IBM公司在软件设计中
使用的主要表达工具。(√)
第1页
3、在软件开发中采用原型系统策略的主要困难是成本问题。(√)
4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。(√)
5、下图表示的是WHILE型循环。(×)
S
P
6、数据流图与程序流程图的主要区别是程序流程图中各处理框之间有严格的时间上
的顺序,而数据流图只反映数据的流向,不反映处理逻辑的先后。(√)
四、问答题
1、什么是软件
答:软件是一种产品,包含下面三方面的含义。
(1)在运行中能提供所希望的功能和性能的指令集(即程序);
(2)使程序能够正确运行的数据结构;
(3)描述程序研制过程、方法所用的文档。
2、简述面向数据流的需求分析方法。
答:结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使
用数据流图DFD和数据字典DD来描述,面向数据流问题的需求分析适合于数据
处理类型软件的需求描述。其核心思想是分解化解问题,将物理与逻辑表示分开,
对系统进行数据与逻辑的抽象。具体来说,结构化分析方法就是用抽象模型的概
念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功
能要求的所有可实现的软件为止。
3、模块独立性的重要性是什么
答:具有独立性的模块软件比较容易开发出来,独立的模块比较容易测试和
维护。
4、简述在编码风格上需要注意的四个问题。
答:
(1)源程序文档化 (2)数据说明的方法 (3)语句结构 (4)输入/输出方法
五、分析题
1、根据伪码程序画出程序流程图、盒图(N-S图)。
START ENDIF
A STOP
IF x1 THEN
REPEAT UNTIL x2
b
END REPEAT
ELSE
BLOCK
c
d
ENDBLOCK
第2页
START
A
a
T X1 F
b c
X1
N
Y
c
b
UNTIL x2
d
d
Y N
X2
STOP
2、用Jackson图表示下图所示的二维表格:
学生名册
姓名 性别 年龄 学号
表头
…………… …………… …………… ……………
表体
该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体
可由任意行组成,每行包括姓名、性别、年龄和学号。
学生名册
表体
表头
行*
表名 字段名
姓名 性别 年龄 学号
第3页
软件工程学习资料(2)
一、填空
1、数据流图4种基本图形元素为
数据输入的源点和数据输出的汇点、加工、数
据流、数据存储文件
。
2、软件测试的步骤可分为
单元测试
、
集成测试
、
确认测试
、
系统测试
。
3、编码风格主要包括四个方面:
源程序文档化
、
数据说明的方法
、
语句结构
、
输入/输出方法
。
4、模块的独立程度可以由两个定性标准度量,这两个标准分别称为
内聚
和
耦合
。
耦合衡量
不同模块彼此之间相互依赖的紧密程度
。
内聚衡量
一个模块内部各个元素彼此结合的紧密程度
。
5、结构化程序设计采用
自顶向下逐步求精
的设计方法和
单入口单出口
的控制结
构。
二、单项选择题
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.确保所有变量在使用前都进行初始化
三、判断题
1、软件产品与其他任何产品不同,它是无形的,完全没有物理属性。(√)
2、使用好的开发工具可以降低开发成本。(√)
3、需求分析报告只有软件分析人员能看懂。(×)
4、无条件转移是程序的基本结构之一。(×)
5、为了提高程序的易读性,尽可能使用高级语言编写程序。(√)
6、Jackson图只能表示数据结构,不能表示程序结构。(×)
四、问答题
1、什么叫软件的生存期软件的生存期可以分为几个阶段
答:一个软件产品从定义、开发、维护到废弃的时间总和称为软件的生存周期。
软件的生存期可以分为7个阶段:
(1)问题定义 (2)可行性研究 (3)需求分析 (4)设计 (5)编码
(6)测试 (7)运行与维护
2、简述程序设计语言的特点。
第4页
答:程序设计语言是人与计算机交流的媒介,其特点为:
(1)名字说明 (2)类型说明 (3)初始化 (4)程序对象的局限性
(5)程序模块 (6)循环控制结构 (7)分支控制结构 (8)异常处理
(9)独立编译
3、什么是数据流图简述绘制数据流图的基本步骤。
答:数据流图是描述数据处理过程的工具。数据流图从数据传递和加工的角度,
以图形的方式刻画数据从输入到输出的移动变换过程。数据流图的基本4
种成分为加工、外部实体、数据流和数据存储文件。画数据流图的基本步骤,
就是自外向内,自顶向下,逐层细化,完善求精。
五、分析题
1、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科
订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购
买。各种资金往来通过学校的会计科办理。
答:第一层数据流图如下:
订书 订书
P1
书店
学生
教材科
发书 发书
收 应
款 付
通 F1 教材库存 款
知 通
知
P2
会计
2、画出下列伪码程序的程序流程图,盒图(N-S图)。
START START
IF p THEN
T p
WHILE q DO N
F
P
f
END DO Y
g
g
ELSE N
q
q
BLOCK
n
g Y
n
f
n
END BLOCK
F
STOP
END IF
STOP
第5页
软件工程学习资料(3)
一、填空
1、软件工程学的基本原则包括分解、独立性、一致性、确定性等。
2、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、
测试、运行与维护阶段。
3、成本估计方法主要有自顶向下估计、自底向上估计和算法模型估计三种类型。
4、数据流图的基本符号包括数据输入的源点和数据输出的汇点、加工、数据流、
数据存储文件。
5、JSD是一种典型的面向数据结构的分析设计方法。
6、详细设计工具有图形工具、表格工具和语言工具。
7、IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三
者之间的关系。
8、分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向
工程。
9、程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。
二、单项选择题
1、下列哪个阶段不属于软件生存期的三大阶段
(A)计划阶段(B)开发阶段(C)编码阶段(D)维护阶段
2、下列哪个图不是N-S图的构件
(A) (B)
WHILE M
X
B
Y
(C) (D)
C
X
UNTIL
Y
3、对于下列各图,有关描述中正确的是 。
(A)数据A和B同时输入变成C (B)数据A变换成B和C
A B
* C A
B C
(C)
数据A或B(不能同时)输入,变换成C (D)
A
B
+ C A ⊕
B C
第6页
4、下列那种方法不是度量效益的方法
(A)货币的时间价值(B)算法模型估计(C)投资回收期(D)纯收入
5、下列描述错误的是 。
(A) 数据流图将各种信息流抽象成数据流的形式
(B) 数据流图不反映控制关系、调用关系
(C) 数据流图不反映处理逻辑的先后顺序3
(D) 数据流图不反映数据的流向
三、多项选择题
1、需求分析阶段应该完成的文档资料包括ABCD。
(A)系统规格说明(B)数据要求(C)用户系统描述(D)修正的开发计划
2、下列关于模块的描述,正确的是ABCD。
(A) 具有独立的模块软件比较容易开发出来
(B) 独立的模块比较容易测试和维护
(C) 模块的独立程度可以通过内聚和耦合标定
(D) 独立的模块可以完成一个相对独立的特定子功能
3、关于内容耦合的描述正确的是 A、D 。
(A) 内容耦合是最高程度的耦合
(B) 应该尽量使用内容耦合
(C) 高级语言一般设计成允许内容耦合的形式
(D) 若一个模块有多个入口,可能发生内容耦合
4、下列属于不标准的书写格式的是 B、C、D。
(A)书写时适当使用空格分隔 (B)一行写入多条语句
(C)嵌套结构不使用分层缩进的写法 (D)程序中不加注释
5、软件测试主要包括A、B、C方面的差错和纠错。
(A)软件计划(B)软件设计(C)软件编码(D)软件价格
四、判断题
1、螺旋模型是利用笛卡儿坐标的四个象限分别代表四个方面的活动来表示。√
2、模块越多,开发成本越小。×
3、内聚是指一个软件结构内各个模块之间互连程度的度量。×
4、结构化设计属于面向数据流的设计方法。√
5、详细设计是在概要设计之后进行的,它利用概要设计的结果,对系统中每个
模块给出足够的过程性描述。√
6、程序运行过程中出现错误叫做容错。×
7、软件测试的目的是证明程序没有错误。×
8、白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处
理过程。×
9、PAD图在设置了五种基本结构后,还允许递归调用。√
10、独立编译是指将一个大程序的不同程序单元分别编译,然后重新连接整个程
序段。√
第7页
五、问答题
1、什么是软件生存周期
答:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫
长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期
就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
2、简述什么是系统流程图
答:系统流程图是描绘物理系统的传统工具。其基本思想是用图形符号以黑盒
子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),
系统流程图表达的是部件的信息流程,而非表示对信息进行加工处理的控制
过程。
3、为什么数据流图要分层
答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表
达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层
的数据流图反映这种结构关系。
4、软件的质量反应为哪些方面的问题
答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。在各
种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软
件。若不遵守这些开发准则,软件质量就得不到保证。往往会有一些隐含的
需求没有明确地提出来,如果软件只满足那些精确定义了的需求而没有满足
这些隐含的需求,软件质量也不能保证。软件质量是各种特性的复杂组合,
它随着应用的不同而不同,随着用户提出的质量要求不同而不同。
六、分析题
1、
已知被测模块如下,按照判定覆盖法,在表格中填入满足测试要求的数据。
Begin
假设几种可能的条件是:
F T
T1:A>2 F1:A<=2
A>2AND B=1
c
T2:B=1 F2:B≠1
b
T3:A=1 F3:A≠1
Y=Y/3
T4:Y>1 F4:Y<=1
数据 覆盖路径 覆盖分支 Y值
TT
F T
A=1 AND Y>1
FF
d e
注意:
本题答案不惟一,只要答
对都给分。
Y=Y+5
Y=Y-3
Return
第8页
答案:
数据 覆盖路径 覆盖分支 Y值
c e TT 7
A=3 B=1 Y=6
b d FF
A=1 B=2 Y=0 -3
2、画出下列伪码程序的程序流程图,盒图(N-S图)。
START START
IF p THEN
T p
WHILE q DO N
F
P
f
END DO Y
g
g
ELSE N
q
q
BLOCK
n
g Y
n
f
n
END BLOCK
f
STOP
END IF
STOP
软件工程学习资料(4)
一、填空
1、软件生存周期是指软件从开发、使用和维护,直到最终被弃用的全过程。
2、瀑布模型的核心思想是按工序将问题简化。
3、在可行性研究中,技术可行性是最关键的因素。
4、假设使用代码行技术进行费用估计,某软件中共5000行程序,每行平均成本
20元,则该软件的成本为100000元。
5、结构化分析方法常用的两种工具是数据流图DFD和数据字典DD。
6、模块的分解和合并应力求降低耦合提高内聚。
7、程序的效率包含两方面的内容:程序的执行速度和程序占用的存储空间。
8、提高软件质量和可靠性的技术主要有两类:避开错误技术和容错技术。
9、大型软件测试包括单元测试、集成测试、确认测试和系统测试。
10、软件的维护一般经过分析和理解程序、修改程序和重新验证程序。
11、软件开发需要的资源包括软件工具、硬件工具和人,其中人是最基本的资源。
二、单项选择题
1、若某种内聚要求一个模块中包含的任务必须在同一段时间内执行,这种内聚
属于 。
A.
时间内聚
B.逻辑内聚 C.通信内聚 D.信息内聚
2、选择足够多的测试数据,使得判定表达式中的每个条件都取得各种可能的值,
而且每个判定表达式也都取到各种可能的结果。满足这种测试条件的覆盖
是 。
(A)判定覆盖 (B)条件覆盖
(
C
)判定/条件覆盖
(D)条件组合覆盖
第9页
3、下列 属于详细设计。
(A) 分析项目的成本和效益
(
B
)为每个模块确定采用的算法
(C) 编写代码 (D)确定模块结构,划分模块功能
4、某次程序调试时没有出现预计的结果,下列 不可能是原因。
(A)变量没有初始化(B)循环控制出错
(
C
)变量没有明确的注释
(D)代码输入有误
5、下列 属于不良的编程习惯。
(A)尽量不使用GOTO语句
(
B
)从来不使用注释
(C)每行只写一条语句(D)变量命名尽量直观
三、多项选择题
1、成本估计方法包括 。
(
A
)自顶向下估计
(
B
)自底向上估计
(
C
)算法模型估计
(D)螺旋型估计
2、两个模块之间出现 A、B、C、D情况,则称为内容耦合。
(A)一个模块访问另一个模块的内部
(B)一个模块不通过正常入口而转到另一个模块的内部
(C)两个模块有一部分程序代码重叠
(D)一个模块有多个入口
3、耦合的强弱取决于 。
(A)模块内部各个元素彼此之间的紧密结合程度
(
B
)调用模块的方式
(
C
)通过接口的信息
(
D
)模块间接口的复杂程度
4、公共环境耦合中的公共环境可以是 。
(A)局部变量
(
B
)全程变量(
C
)内存的公共覆盖区(
D
)共享的通信区
5、下列 属于主动式防错程序设计。
(
A
)内存检查
(B)检查栈的深度
(
C
)连接检查
(D)检查数组的界限
四、判断题
1、软件的开发与运行经常受到硬件的限制和制约。√
2、数据耦合的耦合程度最低。×
3、数据流图的主图必须包含四种基本元素。√
4、 A
* C
B
上述数据流图表示数据A和B同时输入变换成C。√
5、控制耦合往往是多余的,经过分解可以被数据耦合所替代。√
6、判定覆盖一定包含条件覆盖,但反之则不一定成立。×
7、扇出是指一个模块直接调用的模块的数目。√
8、冗余程序设计就是每个程序采用两种不同的算法编写。×
9、进行程序测试的目的是为了表明程序是正确的。×
第10页
为什么软件测试不应该由程序的编写人员来做
答:软件测试的目的是为了发现程序中的错误而执行程序的过程。正确认识测试的目标是十分重要的,
测试目标决定了测试方案的设计。如果为了表明程序是正确的而进行的测试,就会设计一些不易
暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误
的测试方案。由于测试的目标是暴露程序中的错误,从心理学角度看,人们都有一种不愿否定自
己劳动成果的心理,所以由程序的编写者自己进行测试是不恰当的。
版权声明:本文标题:软件工程习题与答案(第1次) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1735754157a1688971.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论