B.顺序结构、选择结构和循环结构 c.顺序结构、分支结构和嵌套结构 D.顺序结构、选择结构和重复结构 答案:B
94.软件工程方法是在实践中不断发展的方法,而早期的软件工程方法是指( )。 A.原型化方法 B.结构化方法 C.面向对象方法 D.功能分解方法 答案:B 95.
在结构化方法中,软件功能分解应属于软件开发中的( )阶段。
A详细设计 B需求分析 C总体设计 D编程调试 答案:B 96.
数据流程图(DFD)是用于描述结构化方法中( )阶段的工具。
A可行性分析 B需求分析 C详细设计 D程序编码 答案:B 97.
数据字典(DD)是定义( )系统描述工具中的数据的工具。
A数据流程图 B系统流程图 C程序流程图 D软件结构图 答案:A 98. 判定树和判定表是用于描述结构化分析方法中( )环节的工具。
A功能说明 B数据加工 C流程描述 D结构说明
答案:B
99.软件需求分析一般应确定的是用户对软件的( )。 A.功能需求 B.非功能需求
c.性能需求 D.功能需求和非功能需求 答案:D
100.数据字典是对数据定义信息的集合,它所定义的对象都包含于( )。 A.数据流图 B.程序框图
c.软件结构 D.方框图 答案:A
二、 填空
1.需求分析阶段产生的最重要的文档是( )。 解:需求分析说明书
2.需求分析的主要任务是( )。 解:要回答“软件必须做什么?”
3.为解决一个复杂的问题,往往采取的策略是( )。 解:分解
4.SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是(解:数据流图和数据字典
5.数据流图中有四种符号元素,他们是( 解:数据流,加工,数据存储,实体
6.数据字典中有四类条目,分别是( 解:加工说明,数据流条目,数据存储条目,数据项条目
)。 。 。 ) )7.在画分层数据流图时,父图与子图的输入输出要( )。 解:守恒
8.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是( )需求。 解:功能需求
9.结构化分析的基本思想是采用( )的方法,能有效的控制系统开发的复杂性。 解:自顶向下,逐步求精
10.当数据流图中的某个加工的一组动作存在着多个条件复杂组合的判断时,其加工逻辑使用( )。 解:判定表或判定树
11.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:( )、PASCAL语言、C语言和PL/1语言。 解:FORTRAN语言
12.详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。 解:使用的数据
13.在JSP方法中解决结构冲突的具体办法是( )。 解:中间数据结构或中间文件
14.汇编语言是面向( ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。 解:机器
15.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。 解:信息流动
16.数据流图中的箭头表示( )。 解:数据流
17.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。 解:信息流动
18.数据项是指( ) 数据单元。 解:不可再分解的
19.结构化分析方法的分析策略是( )。 解:自顶向下逐步求精
20.Jackson方法是一种面向( )的设计方法。 解:数据结构
21.软件质量保证应在( )阶段开始。 解:需求分析
22.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、() 解:判定树
30.结构化语言是介于自然语言和( )之间的一种半形式语言。 解:形式语言
31.需求分析中,开发人员要从用户那里解决的最重要的问题是( )。 解:要让软件做什么
32.JSP方法主要用于规模( )的数据处理系统。 解:不大
33.JSP方法不明确的划分( )两个阶段。
解:软件概要设计和详细设计
34.JSP方法适用于输入数据和输出数据之间有( )的问题求解。 解:对应关系
35.快速原型模型的主要特点之一是 ( ) 解:及早提供工作软件
36.需求分析的基本任务是准确的回答 解系统必须做什么)。
37.需求分析阶段研究的对象是软件项目的 解(用户要求)。
3.8.结构化分析方法就是( )自顶向下逐步求精进行需求分析的方法。需求分析的目的之一就是把数据流和数据存储定义到( )。 解:面向数据流、元素级
39.数据流图的基本符号包括( )( )( )( )。 解:数据输入的源点和数据输出的汇点、加工、数据流、数据存储文件 40.数据流图和( )共同构成系统的逻辑模型。 解:数据字典
41.数据字典的内容包括六项:( )( )( )( )( )( ) 解:(数据流)、(数据项)、(数据结构)、数据存储、处理逻辑、外部实体。 42.在需求分析阶段常用的图形工具有( )、( )、( )。 解:层次方框图、Warnier图、IPO图 42.需求分析应交付的主要文档是( )。 解:需求规格说明书
43.层次结构的上一层是下一层的( ),下一层是上一层的( )。 解:抽象、求精
44.JSD是一种典型的( )的分析设计方法。 解:面向数据结构
45.Jackson图除了可以表达( )外,还可以表达数据结构。 解:程序结构
46.原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。 解.需求不确定性高的
47.原型化方法是一种( )型的设计过程。 解:自外向内
48.在JSP方法中解决结构冲突的具体办法是( )。 解:中间数据结构或中间文件
三、 简答题
1. 需求分析阶段的基本任务是什么? 答:需求分析阶段的基本任务是: (1.问题识别:
双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求. (2.分析与综合,导出软件的逻辑模型. (3.编写文档 2. 什么是结构化方法?
解:结构化的含义是用一组规范的步骤、准则和工具来进行某项工作。
结构化方法是把整个系统开发过程分为若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合规范的产品。 3. 结构化方法的原则是什么? 答:其主要原则为: (1)用户参与的原则
(2)?先逻辑,后物理”的原则 (3)“自顶向下”的原则 (4)工作成果描述标准化原则 4. 结构化方法使用什么描述工具?
答:a.数据流图b.数据字典c.描述加工逻辑的结构化语言、判定表、判定树. 5. 简述结构化分析方法的步骤。 答:结构化分析方法步骤:
a. 了解当前系统的工作流程,获得当前系统的物理模型 b.抽象出当前系统的逻辑模型. c.建立上标系统的逻辑模型. d.作进一步补充和优化. 21.为什么数据流图要分层?
答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。 24什么是.结构化分析?
答:结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。 25.结构化分析的“结构化”体现在哪里?
结构化分析方法体现在用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 27. 结构化设计方法的基本思想是什么?
答:结构化设计方法的基本思想是将系统划分成一些独立的功能模块,这些模块按照一定的组织层次构造起来形成软件结构,通过自顶向下逐步细化的方法将用数据流图表示的信息转换成程序结构的设计描述。 28.结构化设计方法如何与SA方法相衔接?
SA是结构化分析方法的简称。结构化分析方法是面向数据流进行需求分析的方法。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。结构化分析方法体现在用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。
结构化设计是在结构化分析的基础上完成的。
结构化设计属于面向数据流的设计方法。在需求分析阶段,通过SA方法,解决了一个关键问题:信息流。数据流是软件开发人员考虑问题的出发点和基础。数据流从系统的输入端向输出端流动,要经历一系列的变换或处理。用来表现这个过程的数据流图(DFD):实际上就是软件系统的逻辑模型。结构化设计要解决的任务,就是在上述需求分析的基础上,将DFD图映射为软件系统的结构。换句话说,这类设计方法允许把用DFD图表示的系统逻辑模型方便地转换成对于软件结构的初始设计描述。 从结构化分析到结构化设计工具的转变:
结构化分析结果 结构化设计结果 数据流图 初始结构 五.综合题
画出下面用PDL写出的程序的PAD图。
WHILE P DO
IF A >O THEN A1 ELSE A2 ENDIF; S1;
IF B>0 THEN B1;
WHILE C DO S2;S3 ENDWHILE; ELSE B2 ENDIF; B3
ENDWHILE;
1. 请用判定表画出以下问题的行为逻辑。 人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
天气情况 变冷 带雨伞 穿大衣
3.用SA方法画出下列问题的顶层和0层数据流图。
某运动会管理系统接受来自运动员的报名单、裁判的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次、团体名次发送给发布台。该系统有两部分功能:
(1)登记报名单:接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存储。
(2)统计成绩:接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。
Yes Yes 下雨 不变冷 Yes No 变冷 No Yes 不下雨 不变冷 No No
软件工程单元一(概述) 一 单项选择
1. 软件是一种逻辑产品,它的开发主要是(A )。
A研制 B拷贝 C再生产 D复制
2. 软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。 A需求分析 B 结构设计 C程序编制 D软件维护 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型 C瀑布模型 D螺旋模型
4. 在软件生存周期中,( B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划 C概要设计 D软件测试 5. 软件产品与物质产品有很大区别,软件产品是一种(C )产品 A有形 B 消耗 C逻辑 D文档
6. ( C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。
A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型
7. ( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 A概要设计 B 详细设计 C 编码 D 测试
8. 下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是( A )。 A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型
9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。
A 原型模型 –需求不确定 B 瀑布模型 –需求明确 C 喷泉模型 –面向对象 D 螺旋模型—风险,大型
10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。
A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型
11. 软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为( C )。 A可修改性 B可靠性 C可适应性 D 可重用性 12. 软件特性中,一个软件能再次用于其他相关应用的程度称为( B )。 A可移植性 B可重用性 C 容错性 D 可适应性
13. 软件特性中,( A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性 B可靠性 C可适应性 D 可重用性
14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。
A可理解性 B 可维护性 C可适应性 D 可重用性
15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( C ). A可理解性 B可修改性 C可移植性 D 可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性 B可适应性 C正确性 D 可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是( A )。 A可修改性 B可适应性 C可维护性 D 可移植性 18. 软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( B )。 A可理解性 B可互操作性 C可维护性 D 可追踪性
19. 软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行
逆向追踪的能力指的是( C )。
A 可理解性 B 可互操作性 C可追踪性 D 可维护性 20. 软件的可修改性支持软件的( D )。
A 有效性 B 可互操作性 C可追踪性 D 可维护性 21. 软件的可移植性支持软件的( A )。
A 可适应性 B 可互操作性 C可追踪性 D 有效性 22.软件的可理解性支持软件的( B )。
A 有效性 B 可移植性 C可追踪性 D 可靠性
23.在软件工程的原则中,抽象、信息隐藏、模块化和局部化的原则支持软件的( C )。 A 有效性 B 可互操作性 C可靠性 D 可追踪性 24.下列选项中,属于需求分析阶段的任务的是( D )。
A 组装测试计划 B 单元测试计划 C软件总体设计 D 验收测试计划 25.下列选项中,属于概要设计阶段的任务的是( A )。
A 组装测试计划 B 单元测试计划 C初步用户手册 D 验收测试计划 26.下列选项中,属于详细设计阶段的任务的是( B )。
A 组装测试计划 B 单元测试计划 C初步用户手册 D 验收测试计划 27.下列选项中,属于实现阶段的任务的是( C )。
A 组装测试计划 B 绘制程序流程图 C 单元测试 D 验收测试计划 28.下列选项中,在验收测试结束时,必须提交给用户的是( D )。
A 项目开发总结报告 B 验收测试计划 C 需求规格说明书 D 最终用户手册 二 填空
1.计算机软件是指与计算机系统操作有关的 以及任何与之有关的文档资料。 答案:程序、数据
2. 是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。 答案:瀑布模型
3. 是软件生存周期中时间最长的阶段。 答案:维护阶段
4. 是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。 答案:喷泉模型
5.软件生存周期是指一个软件从 开始直到该软件最终退役为止的整个时期。 答案:定义
6.在软件的生产过程中,总是有大量各种信息要记录,因此, 在产品的开发过程中起着重要的作用。 答案:文档
7.在软件生存周期中,软件定义过程的基本任务是确定软件系统的 。 答案:工程需求
8.在软件生存周期中,软件定义过程可以通过软件系统的 两个阶段来完成。 答案:可行性研究和需求分析
9.在软件生存周期中,软件开发过程可以通过 、实现、组装测试、验收测试共5个阶段组成。
答案:概要设计、详细设计
10.我们把支持软件项目的 的软件叫做软件开发的工具软件。 答案:开发、管理、维护活动
11. 软件工程由 三部分组成,称为软件工程的三要素。 答案:方法、过程和工具
三 名词解释 1.计算机软件
答:计算机软件是指与计算机系统操作有关的程序、数据以及任何与之有关的文档资料。 3.软件工程
答:软件工程是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法 5.软件生存周期
答:软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。 7.计算机辅助软件工程
答:在软件工程活动中,人们按照软件工程的原则和方法,利用计算机及其集成的软件开发环境,辅助软件项目的开发、维护及管理的过程,称为计算机辅助软件工程(即CASE)。
四 简答题
5.软件工程的7条原则是什么? 答:1.抽象。
2.信息隐藏。 3.模块化。 4.局部化。 5.一致性。 6.完全性。 7.可验证性。
7.常见的软件开发模型有哪些?
答:有瀑布模型、原型模型、螺旋模型、喷泉模型、变换模型、基于四代技术的模型、基于知识的智能模型等。
8.瀑布模型适合于哪类软件系统的开发?
答:瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。 9.瀑布模型的缺点主要有哪些?
答:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。 14.螺旋模型适于哪种情况的软件开发?
答:螺旋模型支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
软件工程单元二(软件项目管理) 一 单项选择
1.软件项目管理必须( A )介入。
A)从项目的开头 B)在可行性研究之后 C)在需求分析之后 D)在编码之后 2. 下列选项中,属于成本管理的主要任务的是( B )。 A)人员的分工 B)估算软件项目的成本 C)对控制软件质量要素 D)对软件阶段产品进行评审
3.下列选项中,不属于质量管理的主要任务的是( C )。
A)制定软件质量保证计划 B)按照质量评价体系控制软件质量要素
C)增加软件产品的功能 D)对最终软件产品进行确认 4.下列选项中,属于软件配置管理的任务的是( D )。 A)人员的分工 B)估算软件项目的成本
C)对软件阶段产品进行评审 D)对程序、数据、文档的各种版本进行管理
5.( A )是对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指示。 A)测量 B)度量 C)估算 D)指标
6.( B )是对系统、部件或过程的某一特性所具有的程度进行的量化测量。 A)测量 B)度量 C)估算 D)指标
7.( C )是对软件产品、过程、资源等使用历史资料或经验公式等进行预测。
A)测量 B)度量 C)估算 D)指标
8.( D )是一个度量或度量的组合,它可对软件产品、过程或资源提供更深入的理解。
A)测量 B)度量 C)估算 D)指标 9.下列选项中属于产品的内部属性的是( A )。
A)模块耦合度 B)软件可靠性 C)软件有效性 D)软件可维护性 10.下列选项中属于过程的外部属性的是( B )。 A)工作量 B)成本 C)事件 D)计划及进度 11.下列选项中属于资源的外部属性的是( C )。 A)经验 B)人员 C)生产率 D)工具 12. 基于代码行的面向规模的度量方法适合于( D )。
A)过程式程序设计语言和事前度量 B)第四代语言和事前度量
C)第四代语言和事后度量 D)过程式程序设计语言和事后度量 13. 下列说法中,不正确的是( A )。
A)功能点度量方法与程序设计语言有关 B)功能点度量方法适合于过程式语言 C)功能点度量方法适合于非过程式语言 D)功能点度量方法适合于软件项目估算 14.下列说法中,不正确的是( B )。 A)软件项目工作量分布曲线不是线性的 B)到开发后期临时增加人力可加快进度 C)适当推迟交货时间可大幅度降低开发工作量
D)在软件生存周期的不同阶段各类人员的参与情况是不同的。
15.在软件质量要素中,程序满足需求规格说明及用户目标的程度指的是( C )。 A)完整性 B)可用性 C)正确性 D)灵活性
16.在软件质量要素中,改变一个操作的顺序所需的工作量的多少指的是( D )。 A)完整性 B)可用性 C)正确性 D)灵活性
17.在软件质量要素中,对未授权人员访问程序或数据加以控制的程度指的是( A )。 A)完整性 B)可用性 C)正确性 D)灵活性
18.在软件质量要素中,学习使用软件(即操作软件、准备输入数据、解释输出结果等)的难易程度指的是( B )。
A)完整性 B)可用性 C)正确性 D)灵活性
19. 在软件质量要素的评价准则中,程序源代码的紧凑程度指的是( C )。 A)简单性 B)准确性 C)简明性 D)执行效率 20.在软件质量要素的评价准则中,软件运行的效率指的是( D )。
A)简单性 B)准确性 C)简明性 D)执行效率 21.在软件质量要素的评价准则中,程序易于理解的程度指的是( A )。 A)简单性 B)准确性 C)简明性 D)执行效率 22.在软件质量要素的评价准则中,计算和控制的精确程度指的是( B )。 A)简单性 B)准确性 C)简明性 D)执行效率
23.在软件质量要素的评价准则中,在各种异常情况下软件能继续提供操作的能力指的是( A )。 A)容错性 B)检测性 C)安全性 D)可操作性
24.在软件质量要素的评价准则中,程序监视自身运行并标识错误的程度指的是( B )。 A)容错性 B)检测性 C)安全性 D)可操作性
25.在软件质量要素的评价准则中,控制或保护程序和数据不被破坏、非法访问等机制的能力指的是( C )。 A)容错性 B)检测性 C)安全性 D)可操作性 26.在软件质量要素的评价准则中,操作该软件的难易程度指的是( D )。 A)容错性 B)检测性 C)安全性 D)可操作性 27.下列选项中,不能进行并行工作的是( A )。
A)需求复审 B)过程设计 C)单元测试 D)编码
28.在整个软件项目定义与开发各阶段一种典型的工作量分布原则,称为40-20-40分布原则,其中20%的工作量指的是( B )。
A)需求分析工作量 B)编码工作量 C)详细设计工作量 D)测试工作量 二 填空
22.风险分析的四个主要活动: 、风险估算、风险评价、风险驾驭和监控。 答案:风险标识
开始 a b c d e f g h 5 i i 结束 图1 程序流程图 图2 程序图
11.程序流程图如图1所示,试求出其巡回秩数V(G)。 解:
(1)画出与图1所示的程序流程图对应的程序图如图2所示。于是有: V(G)= E – N + 2 = 11 – 9 +2 = 4
(2)由图2给出的程序图可以看出,其有界区域有R1、R2、R3共3个,还有1个无界区域R4,共4个封闭区域,所以V(G)= 4。
R4 3 a 1 b 2 7 c R2 f 4 8 g e 6 9 R3 10 h 11 d R1
(3)由图2给出的程序图可以看出,结点b、c、h是谓词结点,即谓词结点数P=3,于是有:V(G)= P+1 = 3+1 = 4。
软件工程单元三(计算机系统工程) 一 单项选择
1. 下列选项中,不属于可行性研究的任务的是( A )。
A)概要设计 B)经济可行性研究 C)技术可行性研究 D)开发方案的选择 2.下列选项中,( C )不属于基于计算机的系统的系统要素。 A)人 B)数据库 C)车间 D)硬件 3.在软件工程中,不属于软件定义部分的任务是( B )。
A)软件验收测试计划 B)组装测试计划 C)需求分析 D)软件项目计划 4.在软件工程中,( C )不属于软件开发部分的任务。
A)软件总体设计 B)单元测试计划 C)软件经销 D)组装测试计划 二 填空
1.计算机系统工程包括 、软件工程、人机工程、数据库工程等4个子工程。 答案:硬件工程
5.硬件工程可以划分为 、硬件设计、硬件制造与销售维修三个阶段。 答案:硬件定义 8.可行性研究要在 之后进行。 答案:初步的需求定义
12.数学建模、原型建造和 是基于计算机系统技术可行性研究的有效工具。 答案: 模拟 四 简答题
1.在基于计算机的系统中一般都包含哪些系统要素?
答:包含的系统要素:①硬件;②软件;③人;④文档;⑤数据库;⑥过程。
一、 选择题
1. 需求分析最终结果是产生( )
A. 项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书 答案:C
2. 需求分析中,开发人员要从用户那里解决的最重要的问题是( ) A.让软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率怎样 D.让软件具有何种结构 答案:A
3. DFD中的每个加工至少有( )
A.一个输入流或一个输出流 B.一个输入流和一个输出流 C.一个输入流 D.一个输出流 答案:B
4. 数据字典总,一般不出现的条目是( )
A数据流 B 数据存储 C.加工 D.源点与终点 答案:D
5. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( ) A. 细节 B.输入与输出 C.软件的作用D.绘制的时间 答案:B
6.需求规格说明书的内容不应包括对( )的描述。
A. 主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能 答案:B
7.需求规格说明书的作用不应包括()
A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据 D.软件可行性研究的依据 答案:D
8.SA方法用DFD 描述()
A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 答案:D
9.一个局部数据存储当它作为( D )时,就把他画出来。 A.某些加工的数据接口 B.某个加工的特定输入
C.某个加工的特定输出 D.某些加工的数据接口或某个加工的特定输入输出 答案:D
10.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流( )
A. 必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等 答案:A
11.需求分析阶段不适用于描述加工逻辑的工具是( ) A. 结构化语言 B.判定表 C.判定树 D.流程图 答案:D
12.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( )
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型 答案:A
13.SA方法的基本思想是( )
A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向上抽象 答案:C
14.初步用户手册在( )阶段编写
A. 可行性研究 B.需求分析 C.软件概要设计 D.软件详细设计
答案:B
15.系统中模块的____不仅意味着作用于系统的小变动将导致行为上的小变化,也意味着规格说明的小变动将影响到一小部分模块。
A. 可分解性 B. 保护性 C. 可理解性 D. 连续性 答案:D
16.下面关于面向对象方法中消息的叙述,不正确的是______。
A..键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息
C. 应用程序之间可以相互发送消息
D.发送与接收消息的通信机制与传统的子程序调用机制不同 答案:B
17.面向对象技术中,对象是类的实例。对象有三种成份:________、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装 D. 消息 答案:A
18.可行性研究要进行一次_____需求分析。 A.详细的 B.全面的
C.简化的、压缩的 D.彻底的 答案:C
19.系统流程图用于可行性分析中的_____的描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 答案:A
20.系统流程图是描述_____的工具。 A.逻辑系统 B.程序系统 C.体系结构 D.物理系统 答案:C
21_______工具在软件详细设计过程中不采用。 A.判定表 B.IPO图 C.PDL D.DFD图 答案:D
22.程序的三种基本控制结构是 A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 答案:B
23.程序的三种基本控制结构的共同特点是 A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现
D.只有一个入口和一个出口 答案:D
24.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析
答案:D
25.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。 A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时
答案:A
26.原型化方法是一种_______型的设计过程。 A.自外向内 B.自顶向下 C.自内向外 D.自底向上 答案:A
27.选择结构的复杂性比顺序结构的复杂性要( )。 A、 小 B、大 C、相等 D、无法比较 答案:B
28.在数据流图中,○(椭圆)代表( )。 A、 源点 B、终点 C、加工 D、模块 答案:C
29模块内聚度越高,说明模块内各成分彼此结合的程度越( )。 A、 松散 B、紧密 C、无法判断 D、相等 答案:B
30、软件设计阶段的输出主要是( )。
A、 程序 B、模块 C、伪代码 D、设计规格说明书 答案:D
31、软件需求分析是保证软件质量的重要步骤,它的实施应该是在( )。 A、编码阶段 B、软件开发全过程 C、软件定义阶段 D、软件设计阶段 答案:C
32、在七种偶合中,最低偶合是( )。
A、 内容偶合 B、公共偶合 C、数据偶合 D、非直接偶合 答案:D
33、结构化分析方法SA、结构化设计方法SD,和JACKSON方法,是在软件开发过程中常用的方法,人们使用SA方法时可以得到( ),使用SD方法时可以得到( )。 A、程序流程图 B、具体的语言程序 C、模块结构图及模块的功能说明书 D、分层数据流图 答案:D
34.进行需求分析可使用多种工具,但( )是不适用的。 A.数据流图 B.判定表 C.PAD图 D.数据字典 答案:C
35.需求分析阶段研究的对象是软件项目的( )。 A.用户要求 B.合理要求 C.模糊要求 答案:C
37.数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作 为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( )。 A.对象 B.解释
c.符号 D.描述 答案:D
38.在数据流图中,有名字及方向的成分是( )。 A.控制流 B.信息流
c.数据流 D.信号流 答案:C
39.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 ( ) A.数据流图 B.数据词典
C.结构化英语 D.判定树与判定表 答案:A
40.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 ( ) A.数据流图 B.数据词典
C.结构化英语 D.判定树与判定表 答案:B
41.结构化分析方法(SA)是一种面向( )的需求分析方法。 A一对象 B.数据结构 C.数据流 D.控制流 答案:C
42.描述结构化系统分析方法的工具不包括( ) A.数据流图 B.组织结构图
C.数据词典 D.结构化语言 答案:B
43.决策树( )
A.能用来代替程序流程图 B.是程序流程图的辅助手段
C.是描述基本加工的逻辑功能的有效工具 D.A和B 答案:C
44.软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、 制定规格说明以及( )。 A.总结 B.实践性报告
C. 需求分析评审 D. 以上答案都不正确 答案:C
45.以下说法错误的是( )。
A.结构化语言外层中的顺序结构是一组祈使语句、选择语句、重复语句的顺序排列 B.结构化语言外层中的选择结构使用IF-THEN--ELSE-ENDIF等关键字 C.结构化语言的内层可以采用祈使语句的自然语言短语
D. 答案:D
46.结构化分析方法使用的描述工具( )定义了数据流图中每一个图形元素。 A.数据流图 B.数据字典
结构化语言外层中的重复结构使用CASE-OF-ENDCASE等关键字
c.判定表 D.判定树 答案:B
47.下列说法正确的是( )。
A.对于顺序执行和循环执行的动作,用判定表和判定树 B.对于存在多个条件复杂组合的判断问题,用结构化语言描述 C.判定表较判定树直观易读,判定树进行逻辑验证较严格
D.可将判定表和判定树两者结合起来,先用判定表作底稿,在此基础上产生判定树 答案:D
48.需求规格说明书的作用不应包括( )。 A.软件设计的依据
B.用户与开发人员对软件要做什么的共同理解 c.软件验收的依据
D.软件可行性研究的依据 答案:D
49.软件需求规格说明书的内容不应包括对( )的描述。 A. 主要功能 B.算法的详细过程
C.用户界面及运行环境 D.软件的性能 答案:B
50.在结构化分析方法(SA)中,与数据流图配合使用的是( )。 A.网络图 B.实体联系图
C.数据字典 D.程序流程图 答案:C
51.通过( )可以完成数据流图的细化。 A.结构分解 B.功能分解
C.数据分解 D.系统分解 答案:B
52.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )。 A.细节 B.输人与输出
c.软件的作者 D.绘制的时间 答案:B
53.数据存储和数据流都是( )仅仅所处的状态不同。 A.分析结果 B.事件
C.动作 D.数据 答案:D
54.数据字典中,一般不包括下列选项中的( )条目。 A.数据流 B.数据存储
C.加工 D.源点与终点 答案:D
55.在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( )。 A.要让软件做什么 B.要给该软件提供哪些信息
c.要求软件工作效率怎样 D.要让软件具有何种结构 答案:A
56.需求分析最终结果是产生( )。
A.项目开发计划 B.可行性分析报告
C.需求规格说明书 D.设计说明书 答案:C
57.SA方法用DFD描述( )。
A. 系统的控制流程 B. 系统的数据结构 C. 系统的基本加工 D.系统的功能 答案:D
58.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( )。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B. 获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型 答案:A
59.需求分析阶段不适于描述加工逻辑的工具是( )。 A.结构化语言 C.判定树 B.判定表 D.流程图 答案:D
60.结构化分析方法(SA)最为常见的图形工具是( )。 A.程序流程图 B.实体联系图
C.数据流图 D.结构图 答案:C
61.sA方法的基本思想是( )。
A. 自底向上逐步抽象 B. 自底向上逐步分解
C. 自顶向下逐步分解 D. 自顶向下逐步抽象 答案:C
62.下面错误的说法是( )。
A. 每个数据流必须用名词或名词短语命名 B.每个加工必须有名字,通常是动词短语 c.每个数据存储必须用名词或名词短语
D.每个数据源点或终点必须有名字 答案:C
63.下面错误的说法是( )。
A.判定表能够把在什么条件下系统应做什么动作准确无误地表示出来 B.判定表能够描述循环的处理特性
C.结构化语言同样能够描述循环的处理特性
D.判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用 答案:B
64.软件需求说明书是软件需求分析阶段的重要文件,下述( )是其应包含的内容。 ①数据描述 ②功能描述 ③模块描述 ④性能描述 A.② B.③④
c.①②③ D.①②④ 答案:D
65.软件需求分析方法中,结构化分析是一种常用的方法。结构化分析产生的系统说明书是包括一套分层的( )图。
A流程 B数据流
C软件结构 D事务转换 答案:B
66.软件需求分析方法中,结构化分析是一种常用的方法。结构化分析产生的系统说明书是包括一本(B)。 A结构说明 B用户需求
C数据字典 D数据流程 答案:B
67.常用的需求分析方法有面向数据流的结构化分析方法,( ),面向对象的分析方 法等。
A.面向数据结构的分析方法 B.面向时序问题的分析方法 C.面向事务的分析方法 答案:A
68.结构化分析方法使用的描述工具( )描述系统由哪几部分组成,各部分之间有什么联系等等。 A.数据流图 B.数据字典 C.判定表 D.判定树 答案:A
69.结构化分析方法(sA)是一种面向( )需求分析方法。 A.对象 B.数据结构 C.数据流 D.结构图 答案:C
70.需求分析中,对算法的简单描述记录在( )中。 A.层次图 B.数据字典 C.数据流图 D.IPO图 答案:B
71.数据流图和( )共同构成系统的逻辑模型。 A.IPO图 B.PDL图 C.数据字典 D.层次图 答案:B
72.在下面的叙述中,( )不是软件需求分析的任务。 A. 问题分解 B.可靠性与安全性要求 c.结构化程序设计 D.确定逻辑模型 答案:C
73.原型化方法是一类动态定义需求的方法,下列叙述中,( )不具有原型化方法的特征。a A.提供严格定义的文档 B.加强用户参与和决策 C.简化项目管理 D.加快需求的确定 74.需求分析是( )。
A. 软件开发工作的基础 B.软件生存周期的开始 C. 由系统分析员单独完成的 D. 由用户自己单独完成的 答案:A
75.软件原型化开发方法有其基本步骤,下述( )是实施原型化的最基本的步骤。 ①获得基本需求
②开发工作模型 ③严格细部说明 ④模型验证
A.全部都是 B.①②和④ c.④ D.①和② 答案:B
76.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A需求不确定性高的 B需求确定的 C管理信息 D动态改变 答案:A
77. 原型化方法从用户界面的开发人手,首先形成( )。
A用户界面使用手册 B用户界面需求分析说明书 C系统界面原型 D完善的用户界面 答案:C
78原型化方法是一种( )型的设计过程。 A自外向内 B自顶向下
C自内向外 D自底向上 答案:A
79.数据流图是用于软件需求分析的工具,下列元素( )是其基本元素。 ①数据流 ②加工 ③数据存储 ④外部实体 A.①②和③ B.①和③ c.全部 D.①③和④ 答案:C
80.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 ( )。
A.控制流 B.数据流 C.程序流 D.指令流 答案:A
81. 软件开发常使用的两种基本方法是结构化和原型化方法,在实际应用中,它们之间的关系常表现为( )。
A.互相排斥 B.互相补充 C.独立使用 D.交替使用 答案:B 82.
软件工程的结构化生命周期方法(sA)是将软件开发的全过程划分为互相独立而又互相依存的阶段,软件的逻辑模型是形成于( )。
A开发阶段 B计划阶段 C分析阶段 D设计阶段 答案:C 83.
作为软件开发结构化方法的工具,数据流图描述数据在软件流动和被处理变换的过程,它是以图示的方法来表示( )。
A软件模型 B软件功能 C软件结构 D软件加工 答案:C
84. 数据流图的正确性是保证软件逻辑模型正确性的基础,以下( )项内容与它的正确性、相关性最弱。
A数据守恒 B均匀分解 C文件操作 D图形层次 答案:C 85. 答案:C 86.
软件的结构化设计(sD)方法中,一般分为总体设计和详细设计两阶段,其中总体设计主要是建立( )。
A软件结构 B软件流程 C软件模型 D软件模块 答案:A
87.结构化生命周期方法具有各种特征,下列各种叙述中,( )不是结构化方法的特 征。
A.严格定义需求 B.划分开发阶段 C.提供运行模型 D.制定规范文档 答案:C
88.SA方法是一种( )。
A. 自顶向下逐层分解的分析方法 B. 自底向上逐层分解的分析方法 C.面向对象的分析方法 D.以上都不是 答案:A
89. 结构化程序流程图中一般包括三种基本结构,下述结构中( )不属于其基本结构。 A.顺序结构 B.条件结构 C.选择结构 D.嵌套结构 答案:D
90.结构化分析方法以数据流图、( )和加工说明等描述工具,即用直观的图和简洁 语言来描述软件系统模型。 A.DFD图 B.PAD图 C.IPO图 D.数据字典 答案:D
91.结构化分析(SA)是软件开发需求分析阶段所使用的方法,( )不是SA所使用的工具。 A.DFD图 B.PAD图 c.结构化英语 D.判定表 答案:B
92.Jackson设计方法是由英国的M.Jackson所提出的。它是一种面向( )的软件设 计方法。
A.对象 B.数据流 C.数据结构 D.控制结构 答案:C
93.软件设计中,Jackson方法是一种面向数据结构的设计方法,它将数据结构表示为 三种基本结构,分别为( )。
A.分支结构、选择结构和控制结构
数据字典最基本的功能是( )。
A数据库设计 B数据通讯 C数据定义 D数据维护
4.某图书馆借阅系统有以下功能:
(1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案),超过规定数量者不予借阅。对于第一次借阅者则直接办理借阅手续。
(2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。 请对以上问题,画出分层数据流图。
1. 图书馆的预定图书子系统有如下功能: (1) 由供书部门提供书目给订购组; (2) 订书组从各单位取得要订的书目;
(3) 根据供书目录和订书书目产生订书文档留底; (4) 将订书信息(包括数目,数量等)反馈给供书单位; (5) 将未订书目通知订书者;
(6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者。 试根据要求画出该问题的数据流程图,并把其转换为软件结构图。
6.某旅馆的电话服务如下:
可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,style='font-family:\New Roman\中任意一个号码。分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据条目的定义即组成。 解:电话号码=分机号|外线号码 分机号=7201...7299
外线号码=9+[市话号码|长话号码] 长话号码=区号+市话号码 区号=100...300 市话号码=局号+分局号 局号=[455|466|888|552] 分局号=4{数字}4
7.某公司为本科以上学历的人重新分配工作,分配原则如下:
1).如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;
2).如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士不分男女,任课题组组长;
3).如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男女,任课题组组长。
要求:画出得出判定表(化简)。 性 别 文化程度 年 龄 组长 领导 科研 行政 资料员 考研
8.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。
如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。
如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。
如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求:对以上问题画出数据流程图。
9.根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 答:
------ G ------ √ M U L √ ----- U Y √ M U C √ F U L √ F U C √ 1,2,3 7,8,9 4 5,11 6 10 12
10.指出下列数据流图中存在的问题。
父图 子图 参考答案:
1、父图没有输入数据流;
2、子图的输入数据流应该是C,而不是B;
3、子图的输出数据流应该只有D和E,而不应有F。
11.用Jackson图表示下图所示的二维表格: 学生名册
姓名 …… 性别 …… 年龄 …… 学号 …… 2 F B B O P 3.1 Q E 3.2 F 1 C D 3 3.4 3.3 D E 该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体可由任意行组成,每行包括学生的姓名、性别、年龄和学号。 答: 表名 (一)名词解释
字段名 行 表头 表体 学生名册 姓名 性别 年龄 学号 1. 软件概要设计
2. 模块
3. 模块化
4. 抽象
5. 信息隐蔽
6. 模块独立性
7. 耦合性
8. 无直接耦合
9. 数据耦合
10. 标记耦合
11. 控制耦合
12. 公共耦合
13. 内容耦合
14. 内聚性
15. 偶然内聚
16. 逻辑内聚
17. 时间内聚
18. 通信内聚
19. 顺序内聚
20. 功能内聚
21. 软件结构图
22. 结构化设计
23. 变换流
24. 事务流
(一)名词解释答案
1. 软件概要设计又称结构设计,这是一个把软件需求转换为软件表示(只是描述软件的总的体系结构)的过程。
2. 模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。
3. 模块化指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
4. 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。
5. 信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。
6. 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
7. 耦合性也称块间关系,指软件系统结构中各模块间相互联系紧密程度的一种度量。
8. 无直接耦合指两个模块之间没有直接关系,它们分别从属于不同模块的控制和调用,它们之间不传递任何信息。
9. 数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中值传递。
10. 标记耦合指两个模块之间传递的是数据结构。
11. 控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调用模块通过该控制变量的值有选择地执行块内某一功能。
12. 公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。公共数据环境可以是全程变量或数据结构、共享的通信区、内存的公共覆盖区及任何存储介质上的文件、物理设备等。
13. 内容耦合指一个模块直接调用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
14. 内聚性又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
15. 偶然内聚指一个模块内的各处理元素之间没有任何联系。
16. 逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
17. 时间内聚指需要同时执行的动作组合在一起形成的模块。
18. 通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
19. 顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
20. 功能内聚指模块内所有元素共同完成一个功能,缺一不可。因此模块不能再分割。
21. 软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现。
22. 结构化设计又称面向数据流的设计,它是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构。
23. 变换流指数据流图(简称DFD)具有明显的输入、变换和输出界面。
24. 事务流指数据流图中输入流被分离成许多数据流,形成许多加工路径,并根据输入值选择其中一条路径来执行。
(一)名词解释
1. 详细设计
2. 结构化程序设计
3. 流程图
4. 盒图
5. 过程设计语言
6. JSP
7. JSD
(一)名词解释答案
1. 详细设计主要确定每个模块的具体执行过程,也称过程设计。
2. 结构化程序设计是一种典型的面向数据流的软件总体设计方法。它采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构,并且只包含顺序、选择和重复3种结构。
3. 流程图又称程序框图,是一种描述程序逻辑结构的工具。
4. 盒图(简称N-S图)。它是一种算法描述工具,它是一种由外往里、结构化逐层展开的二维盒型结构。盒图的控制流程为自上而下,从外到里地执行。
5. 过程设计语言(简称PDL),也称程序描述语言,又称伪码,它是一种用于描述模块算法设计和处理细节的语言。
6. JSP方法定义一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。适于详细设计阶段。
7.JSD主要以活动事件为中心,通过由一串活动顺序组合构成进程,建立系统模型,最后实现该模型。
(二)填空题
1. 软件结构的设计是以 为基础的。
2. 软件设计阶段,是把软件“ ”的逻辑模型变换为“ ”的物理模型。
3. 数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“ ”与“ ”,而数据库的“物理设计”与模块的“ ”相对应。
4. 概要设计文档主要有 、 、 和 。
5. 模块具有 、 、 和 几种基本属性。 6. 模块化指解决一个复杂问题时 逐层把软件系统划分成若干 的过程。
7. 衡量软件的独立性有两个定性的度量标准,即 和 。
8. 模块之间联系越紧密,其 就越强,模块的 则越差。
9. 模块的耦合性由低到高分为 、 、 、 、 、 和 。
10. 数据耦合传递的是 ,标记耦合传递的是 ,控制耦合传递的是 。
11. 软件结构往往用 结构的图形来表示。软件结构图是软件系统的
结构。
12. 面向数据流的设计又称 ,它是以需求分析阶段产生的 为基础,按一定的步骤映射成软件结构。
13. 数据流图一般可分为 和 两类。
(二)填空题答案
1. 模块
2. 做什么 怎么做
3. 需求分析 概要设计 详细设计
4. 概要设计说明书 数据库设计说明书 用户手册 组装测试计划
5. 接口 功能 逻辑 状态
6. 自顶向下 模块
7. 耦合性 内聚性
8. 耦合性 独立性
9. 无直接耦合 数据耦合 标记耦合 控制耦合 外部耦合 公共耦合 内容耦合
10. 数据值 数据结构 控制变量
11. 树状或网状 模块层次
12. 结构化设计 数据流图
13. 变换型 事务型
(二)填空题
1. 详细设计也称 ,它是软件设计的第二阶段,主要确定每个 的具体执行过程。
过程设计 模块
2. 在详细设计阶段,需要对处理过程的 和数据库的 结构做评审。算法 物理
3. 处理过程设计中最典型的方法是 方法,其基本要点是采用的程序设计方法是 、 。
结构化程序设计 自顶向下 逐步求精
4. 任何程序都可由 、 和 3种基本控制结构构造。这3种基本结构的共同点是 、 。
顺序 选择 循环 单入口 单出口
5. 详细描述处理过程常用3种工具: 、 、和 。图形 表格 语言
6. 程序流程图又称 ,它是历史最悠久、使用最广泛的一种描述程序
结构的工具。程序框图 逻辑
7. 结构化流程图要求3种基本控制结构 和 而成,不能有相互交叉的情况。顺序组合 完整嵌套
8. PDL是一种描述模块 设计和处理细节的语言,其 语法具有严格的关键字, 语法使用自然语言的词汇。算法 结构化
9. PDL是描述处理过程“ ”的细节,结构化语言是描述加工“ ”的。怎么做 做什么
10. Jackson方法是面向 的设计方法,它的描述工具是 。数据结构 Jackson
11. JSD方法以 为中心,通过由一串活动顺序组合构成的 ,建立 模型,最后实现该模型。
活动事件 进程 系统
12. JSP方法定义了一组以 为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即 ,而不是软件的 。数据结构 程序结构 体系结构
(三)单项选择题
1. 最高程度也是最差的耦合是( )。B
A. 公共耦合 B. 内容耦合
C. 控制耦合 D. 数据耦合
2. 概要设计阶段产生的文档不包括( )。.D A. 概要设计说明书 B. 数据库设计说明书
C. 用户手册 D. 开发进度月报
3. 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为( )。A A. 数据耦合 B. 公共耦合
C. 控制耦合 D. 标记耦合
4. 一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( )。C .
A. 时间内聚 B. 功能内聚
C. 通信内聚 D. 顺序内聚
5. 结构化设计是一种面向( )的设计方法。A A. 数据流 B. 模块
C. 数据结构 D. 程序
6. 结构化设计又称为( )。B A. 概要设计 B. 面向数据流设计
C. 面向对象设计 D. 详细设计
7. 反映模块内部特性的是( )。 .D
A. 接口 B. 状态
C. 功能 D. 逻辑
8. 画软件结构图时应注意调用关系只能( )。A A. 从上到下 B. 从下到上
C. 从左到右 D. 从右到左
9. 变换型DFD是一个( )结构。.D
A. 循环 B. 选择
C. 分层 D. 顺序
(三)单项选择题
1. 在详细设计阶段,经常采用的工具包括( )。C
A. SC图 B. DFD图
C. 判定表 D. 形式化方法
2. 结构化程序设计的一种基本方法是( )。D A. 筛选法 B. 递归法
C. 迭代法 D. 逐步求法
3. 与详细设计相对应的是数据库的( )设计。C A. 概念 B. 逻辑
C. 物理 D. 功能
4. 详细设计的基本任务中包括( )。B
A. 数据流设计 B. 人机对话设计
C. 数据库的逻辑设计 D. 软件结构设计
5. 下面说法不正确的是( )。C A. 流程图不易表示数据结构 B. 流程图容易造成非结构化的程序结构
C. 流程图支持逐步求精 D. 流程图描述的是程序的逻辑结构
6. 下面说法不正确的是( )。B A. 盒图支持逐步求精 B.盒图容易造成非结构化的程序结构
C. 盒图描述的是算法 D.盒图容易表达模块的层次结构
7. Jackson方法以( )为中心。B
A. 控制 B. 数据结构
C. 活动事件 D. 数据流
8. Jackson方法是面向( )的设计方法。A A. 数据结构 B. 数据流
C. 控制 D. 对象
(四)简答题
1. 什么是软件概要设计?该阶段的基本任务是什么?
2. 软件设计的基本原理包括哪些内容?
3. 什么是模块间的耦合性?有哪几种耦合性?简述降低模块间耦合度的方法。
4. 什么是软件结构?简述软件结构设计优化准则。
5. 变换分析设计与事务分析设计有什么区别?简述其设计步骤。
(四)简答题答案
1. 软件概要设计又称结构设计,这是一个把软件需求转换为软件表示(只是描述软件的总的体系结构)的过程。该阶段的基本任务是:
① 设计软件系统结构:
? 采用某种设计方法,将一个复杂的系统按功能划分成模块。
? 确定每个模块的功能。
? 确定模块之间的调用关系。
图5-4 输入、输出数据结构中的对应关系
(2) 根据对应关系,Jackson图如图5-5所示。
图5-5 Jackson图
一、 选择题
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)错误推测法 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)成功的测试是没有发现错误的测试 22.覆盖准则最强的是( )。 A)语句覆盖 C)条件覆盖 23.发现错误能力最弱的是( )。 A)语句覆盖 C)条件覆盖
B)判定覆盖 D)路径覆盖 B)判定覆盖 D)路径覆盖
24.实际的逻辑覆盖测试中,一般以( )为主设计测试用例。 A)条件覆盖 C)条件组合覆盖
B)判定覆盖 D)路径覆盖
25.下面( )方法能够有效地检测输入条件的各种组合可能引起的错误。 A)等价类划分 B)边界值分析 C)错误推测
D)因果图
26.与确认测试阶段有关的文档是( )。
A)需求规格说明书 B)概要设计说明书 C)详细设计说明书 D)源程序
27.超出软件工程范围的测试是( )。 A)单元测试 C)确认测试
B)集成测试 D)系统测试
28.软件测试不需要了解软件设计的( )。 A)功能 C)处理过程
B)内部结构 D)条件
29.( )方法需要考察模块间的接口和各模块之间的联系。 A)单元测试 C)确认测试 30.调试应该由( )完成。 A)与源程序无关的程序员 C)不了解软件设计的机构
B)编制该源程序的程序员 D)设计该软件的机构 B)集成测试 D)系统测试
31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( )上。 A)配置项 B)程序 C)基线 D)过程 32.版本管理是对系统不同版本进行的( )过程
A)标识与跟踪 B)标识变更 C)发布变更 D)控制变更
33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( )。 A)异步控制 C)存取控制
B)同步控制 D)基线控制
34. 在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制和( )。 A)异步控制 C)基线控制
B)同步控制 D)存取控制
35. 按照软件配置管理的原始指导思想,受控制的对象应是( )。 A)软件元素 C)软件项目
B)软件配置项 D)软件过程
36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( )。 A)接口 B)软件环境 C)信息项
D)版本
37.在变更控制中,可用来确保由不同用户所执行的并发控制是( )。 A)异步控制 B)同步控制 C)存取控制
D)基线控制
38.以下说法错误的是( )。 A)软件配置管理简称SCI
B)软件配置项是配置管理的基本单位 C)软件配置实际上是一动态的概念
D)软件工程过程中某一阶段的变更均要引起软件配置的变更 39.在设计人机界面时,应主要考虑的因素有( )。
A) 系统响应时间 B)错误处理 C)用户求助机制 D)以上都是 40.人机界面的风格大致经过了( )代的演变
A)一 B)二 C)三 D) 四 二、 填空题
1.软件测试的目的是尽可能多地发现软件中存在的 ,将 作为纠错的依据。
2.测试阶段的基本任务是根据软件开发各阶段的 和程序的 ,精心设计一组 ,利用这些实例执行 ,找出软件中潜在的各种 和 。 3.测试用例由 和预期的 两部分组成。
4.软件测试方法一般分为两大类: 方法和 方法。
5.动态测试通过 发现错误。根据 的设计方法不同,动态测试又分为 与 两类。 6.静态测试采用 和 的手段对程序进行检测。
7.人工审查程序偏重于 的检验,而软件审查除了审查 还要对各阶段 进行检验。 8.计算机辅助静态分析利用 工具对测试程序进行 分析。
9.黑盒法只在软件的 处进行测试,依据 说明书,检查程序是否满足 要求。
10.白盒法必须考虑程序的 和 ,以检查 的细节为基础,对程序中尽可能多的逻辑路径进行 。 11.白盒测试是 测试,被测对象是 ,以程序的 为基础设计测试用例。
12.逻辑覆盖是对程序内部有 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为 、 、 、 、 和 6种覆盖技术。
13.实际的逻辑覆盖测试中,一般以 覆盖为主设计测试用例,然后再补充部分用例,以达到 覆盖测试标准。
14.循环覆盖是对程序内部有 存在的逻辑结构设计测试用例,它通过限制 来测试。
15.基本路径测试是在程序 基础上,通过分析控制构造的 复杂性,导出 集合,从而设计测试用例。
16.黑盒测试是 测试,用黑盒技术设计测试用例有4种方法: 、 、