admin 管理员组文章数量: 1087139
2024年12月30日发(作者:importance是什么意思中文翻译)
软件产品的开发主要是( D )。
A.复制 B.再生产 C.拷贝 D.研制
2.作坊式小团体合作生产方式的时代是( C )时代。
A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程
3.软件工程与计算机科学性质不同,软件工程着重于( C )。
A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论
4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。
A.编码 B.需求分析 C.详细设计 D.测试
5.可行性研究的目的是决定( B )。
A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目
6.SA方法用DFD描述( D ) 。
A.系统的控制流程 B.系统的数据结构
C.系统的基本加工 D.系统的功能
7.进行需求分析可使用多种工具,但( C )是不适用的。
A. 数据流图(DFD) B. 判定表 C. PAD图 D. 数据字典
8.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进
行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是
( A )。a.结构化语言;b.判定树;c.判定表。
A. b和c B. a,b和c C. a和c D. a和b
9.软件概要设计结束后得到( B )。
A.初始化的软件结构图 B.优化后的软件结构图
C.模块详细的算法 D.程序编码
10.软件设计阶段一般又可分为 ( B )。
A.逻辑设计与功能设计 B.概要设计与详细设计
C.概念设计与物理设计 D.模型设计与程序设计
11.软件设计中划分模块的一个准则是( C )。
A.低内聚低耦合 B.低内聚高耦合
C.高内聚低耦合 D.高内聚高耦合
是软件开发过程中用于( C )阶段的描述工具。
A.需求分析 B.概要设计 C.详细设计 D.编程
13.下列语言中哪个语言是低级语言( D )
A. PASCAL BASIC C. C++ D.汇编语言
14.软件测试的目的是( B )。
A.试验性运行软件 B.发现软件错误
C.证明软件正确 D.找出软件中全部错误
15.软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。
A.应用范围 B.内部逻辑 C.功能 D.输入数据
16.黑盒法是根据程序的( C )来设计测试用例的。
A.应用范围 B.内部逻辑 C.功能 D.输入数据
17.下面的逻辑测试覆盖中,测试覆盖最弱的是( C )
A.条件覆盖 B.条件组合覆盖 C.语句覆盖
D.条件及判定覆盖
18.把一组具有相似特性的对象组合在一起,称之为( C )。
A、多态性 B、继承性 C、类 D、消息
19.面向对象的主要特征除对象唯一性、封装、继承外,还有( A )
A、多态性 B、完整性 C、可移植性 D、兼容
20.下列模型属于成本估算方法的有( A )
A、COCOMO模型 B、McCall模形 C、McCabe度量法 D、时间估算法
21.软件生存周期中时间最长的是( D )阶段。
A.需求分析 B.概要设计 C.测试 D.维护
22.与计算机科学的理论研究不同,软件工程是一门( C )学科。
A.理论性 B.原理性 C.工程性 D.心理性
23.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项
中哪个环节出错,对软件的影响最大( C )。
A、详细设计阶段 B、概要设计阶段 C、 需求分析阶段 D、 测试和运行阶段
24. 程序的三种基本控制结构的共同特点是( D )。
A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现
D.只有一个入口和一个出口
25.软件工程的出现主要是由于( C )。
A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现
D.计算机的发展
26.在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题
是( D )
A、 工作阶段间的等待时间 B、 生产原型的复杂性 C、 参与人员所需
的工作站数 D、 参与人员之间的通信困难
27. SA方法的基本思想是( C )
A.自底向上逐步抽象 B.自底向上逐步分解
C.自顶向下逐步分解 D.自顶向下逐步抽象
28.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是
( D )
A. 逻辑判断 B. 层次分解 C. 操作条目 D. 组合条件
29.软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含
的内容( D )
a.数据描述 b.功能描述 c.模块描述 d.性能描述
A. b B. c和d C. a,b和c D. a,b和d
30.软件结构图中,模块框之间若有直线连接,表示它们之间存在着( A )关系。
A.调用 B.组成 C.链接 D.顺序执行
31.软件设计中一般将用到图形工具,下列哪种(些)可用作设计的图形工具
( C )
a.结构图 b.实体联系图 图 d.层次图
A、 a和b B、 c和d C、 a,c,d D、 全部
32. 程序设计语言一般简单来说,可划分为低级语言和高级语言两大类,与高级
语言相比,用低级语言开发的程序,具有如下哪种特点( C )
A、 运行效率低,开发效率低 B、 运行效率低,开发效率高
C、 运行效率高,开发效率低 D、 运行效率高,开发效率高
33. 下面的叙述哪些是正确的( C )
(1)在软件开发过程中,编程作业的代价最高。
(2)良好的程序设计风格应以缩小程序占用的存储空间和提高程序的运行速度为
原则。
(3)为了提高程序的运行速度,有时采用以存储空间换取运行速度的方法。
(4)对同一算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。
(5)COBOL是一种非过程型语言。
(6)LISP是一种逻辑型程序设计语言。
A、 (1)、(3)、(5) B、 (2)、(3)、(4) C、 (3) D、 (4)、(6)
34、为了提高软件测试的效率,应该( D )。
A.随机地选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.选择发现错误可能性较大的数据作为测试用例
35. 与设计测试用例无关的文档是( A )。
A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序
36. 使用白箱测试方法时确定测试数据应根据( A )和指定的覆盖标准。
A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能
37. 软件部件的内部实现与外部可访问性的分离,是指软件的( C )。
A.继承性 B.共享性 C.封装性 D.抽象性
38、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传
统的面向数据流的结构化开发方法相比,它具有的优点是( A ) .
A、设计稳定 B、变换分析 C、事务分析 D、模块独立性
39、软件管理的主要职能包括( D )
A.人员管理、计划管理 B.标准化管理、配置管理
C.成本管理、进度管理 D.(A)和(B)
40、任何项目都必须精心做好项目管理工作,最常用的计划管理工具是( D )
A.数据流程图 B.程序结构图 C.因果图 图
41. 软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得
以实施的主要保证是( C )
A、 硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境
D、 开发人员的素质
42. 在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高
( B )
A、结构化方法 B、原型化方法 C、面向对象的方法 D、
控制流方法
43. 软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( A )
A、 瀑布模型 B、 对象模型 C、 螺旋模型 D、 层次模型
44. 对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应
加工的输入、输出数据流( A )。
A.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等
45. 软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.
编写需求分析文档以及( B )
A. 软件的总结B. 需求分析评审 C. 阶段性报告 D. 以上答案都不正确
46.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( B )
A. 数据流图 B. 数据字典 C. 结构化语言 D. 判定表与判定树
47. 为了提高模块的独立性,模块内部最好是( C )。
A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚
48. 面向数据流的设计方法把( C )映射成软件结构。
A、数据流 B、模块化 C、控制结构 D、信息流
49. .数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是( C )
A. 输入.输出.外部实体和加工 B. 变换.加工.数据流和存储
C. 加工.数据流.数据存储和外部实体 D. 变换.数据存储.加工和数据流
50. 软件结构使用的图形工具,一般采用( C )图。
下列选项中,不属于软件危机主要表现的是(D )
A.软件错误很难消除B.程序开发进度无法预测
C.程序设计技术落后D.缺乏软件优劣的标准
2.下面不属于软件工程的三个要素的是( D )
A.工具 B.过程 C.方法 D.环境
3.下列描述中正确的是( D )
A.程序就是软件 B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体.D.软件是程序、数据与相关文档的集合。
4.下列描述中正确的是( C ).
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题。
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化的原则。
D.软件工程只是解决软件开发中的技术问题。
5.下列选项中不属于软件生命周期开发阶段任务的是( C )
A.软件测试 B.概要设计 C.软件维护 D.详细设计
6.在软件生命周期中,能准备地确定软件系统必须做什么和必须具备哪些功能的
阶段是( D ).
A.概要设计 B.详细设计 C.可行性分析 D.需要分析
7.在结构化方法中,软件功能分解属于下列软件开发中的阶段是( C )
A.详细设计 B需求分析 C总体设计 D.编程调试
8.软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写
需求规格说明书,以及(B )。
A.阶段性报告 B. 需求评审 C总结 D都不正确
9.从工程管理角度,软件设计一般分为两步完成,它们是(A )
A.概要设计和详细设计 B数据设计与接口设计
C.软件结构设计与数据设计 D.过程设计与数据设计
10.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构
成。下列图符名标识的图符不属于数据流合法图符的是( A )
A.控制流 B加工 C.数据存储 D.源和潭
11.在数据流图(DFD)中,带有名字的箭头表示( D )
A.模块之间的调用关系 B.程序的组成成分 C.控制程序的执行顺序 D.
数据的流向
12.下列工具中为需求分析常用工具的是( D)
C.N-S
13.下面不属于软件设计原则的是( C)
A.抽象 B.模块化 C.自底向上 D信息隐藏
14. 软件测试的目的是( A)
A.发现错误 B改正错误 C.改善软件的性能 D.挖掘软件的潜能
15. 两个或两个以上模块之间的关联的紧密程度称为(A )
A.耦合度 B.内聚度 C.复杂度 D 数据传输特性
16.检查软件产品是否符合需求定义的过程称为( A )
A.确认测试 B集成测试 C.验证测试 D 验收测试
17.软件调试的目的是( A)
A.改正程序中的错误 B提高程序的执行效率
C.增加程序的功能 D.调整程序的控制结构
18.下列叙述中正确的是( D )
A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试
C.软件维护只包括对程序代码的维护D.以上三种说法都不对。
19.下列叙述中,正确的是( D )
A.测试与调试工作必须由程序编制者自己去完成。B.测试用例与调试用例必须一
致。
C.一个程序经调试改正错误后,一般不必再进行测试;D.上述三种说法都不对。
20.下列叙述中,正确的是( C )
A.软件维护是指修复程序中被破坏的指令。B.软件一旦交付使用就不需要再进行
维护。
C.软件交付使用后还需要进行维护。D.软件交付使用后其生命周期就结束。
1、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能
的阶段是D
A)概要设计 B)详细设计 C)可行性分析 D)需求分析
2、下面不属于软件工程的3个要素的是D
A)工具 B)过程 C)方法 D)环境
3、检查软件产品是否合需求定义的过程称为A
A)确认测试B)集成测试 C)验证测试 D)验收测试
4、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构
成。下列图符名标识的图符不属于数据流合法图符的是A
A)控制流 B)加工 C)数据存储 D)源和潭
5、下面不属于软件设计原则的是C
A)抽象 B)模块化 C)自底向上 D)住息隐蔽
6、程序流图(PFD)中箭头代表的是B
A)数据流 B)控制流 C)调用关系 D)组成关系
8、在结构化方法中,软件功能分解属于下列软件开发中的阶段是C
A)详细设计 B)需求分析 C)总体设计 D)编程调试
9、软件调试的目的是B
A)发现错误 B)改正错误 C)改善软件的性能 D)编程调试
10、软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写
需求规格说明书,以及B
A)阶段性报告 B)需求评审 C)总结 D)都不正确
11、模块( ),则说明模块的独立性越强。C
A.耦合越强 B.扇入数越高 C.耦合越弱 D.扇入数越低
12、( )数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出
数据。A
A.变换型 B.事务型 C.结构化 D.非结构化
13、在结构测试用例设计中,有语句覆盖、判定覆盖、路径覆盖等,其中( )
是最强的覆盖准则。D
A.语句覆盖 B.条件覆盖 C.判定覆盖 D.路径覆盖
14、在实现阶段要完成的工作之一是单元测试,单元测试要根据在( )阶段中
的规格说明进行。D
A.可行性研究与计划 B.需求分析 C.概要设计 D.详细设计
15、面向对象的主要特征除对象唯一性、封装、继承外,还有( )。A
A.多态性 B.完整性 C.可移植性 D.兼容性
2、使用程序设计的控制结构导出测试用例的测试方法是(B )
A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试
3、软件结构图的形态特征能反映程序重用率的是( C )
A、深度 B、宽度 C、扇入 D、扇出
4、软件结构图中,模块框之间若有直线连接,表示它们之间存在(A )
A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系
5、需求分析最终结果是产生( B )
A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行
性分析报告
6、快速原型模型的主要特点之一是( D )
A、开发完毕才见到产品 B、及早提供全部完整的软件产品
C、开发完毕后才见到工作软件 D、及早提供工作软件
7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],
现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试
用例的方法是( C )
A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法
8、软件详细设计主要采用的方法是( C )
A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计
10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工
作(C)
A、需求分析 B、概要设计 C、详细设计 D、软件维护
14、模块设计中,最不希望的内聚是(D )
A、功能内聚 B、通信内聚 C、过程内聚 D、巧合内聚
16、程序流程图(框图)中的箭头代表(A )。
A.数据流 B.控制流 C.调用关系 D.组成关系
17、一个只有顺序结构的程序,其环形复杂度是( B)。
A.0 B.1C.3 D.不确定的
19、结构化程序设计主要强调的是( D )
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易
读性
20、对象实现了数据和操作的结合, 使数据和操作( D )于对象的统一体中。
A、结合 B、隐藏 C、封装 D、抽象
21、软件概要设计结束后得到( B )
A、初始化的软件结构图 B、优化后的软件结构图
C、模块的接口图和详细算法 D、程序编码
23、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作(A )
A、正确性 B、移植性 C、可靠性 D、完整性
24、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返
工,所以( C )的编制是很重要的。
A、需求说明 B、概要说明 C、软件文档 D、测试计划
1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( D )
A、程序模块化 B、模块高内聚 C、模块低耦合 D、模块独立性
2、软件维护产生的副作用,是指(C )
A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运
行时误操作
3、软件详细设计的主要任务是确定每个模块的( A )
A、算法和使用的数据结构 B、外部接口 C、功能 D、编程
4、为了提高模块的独立性,模块内部最好是(C )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚
6、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )
A、纠正性维护 B、适应性维护 C、完善性维护 D、预防
性维护
7、只有单重继承的类层次结构是( C )层次结构。
A、网状型 B、星型 C、树型 D、环型
8、下列属于维护阶段的文档是( C )
A、软件规格说明 B、用户操作手册 C、软件问题报告 D、软件测试
分析报告
10、研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。
A. 技术可行性 B.经济可行性 C. 社会可行性 D. 法律可行
性
14、在详细设计阶段,经常采用的工具有( A )
A、PAD B、SA C、SC D、DFD
15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C )
A、集成测试 B、恢复测试 C、验收测试 D、单元测试
1.软件危机的定义:
软件危机(Software Crisis) 是指计算机软件在它的开发和维护过程中所遇到
的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的。实际上,
几乎所有软件都不同程度地存在这些问题。概括地说,主要包含两方面的问题:
如何开发软件以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软
件。
2软件工程的定义
概括的说,软件工程师指导计算机软件开发和维护的工程学科。采用工程的概念、
原理、技术和方法了来开发与维护软件,把经过时间考验而证明正确的管理技术
和当前能够得到的最好的技术方法结合起来,经济地开发出高质量的软件并有效
地维护它,这就是软件工程。
3软件工程方法学的三要素是:方法、工具、过程
4 (1)软件生命周期定义
软件生命周期是软件的产生直到报废的生命周期,周期内有问题定义、可行性分
析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等
阶段。
(2)分为哪些时期
软件定义、软件开发、运行维护
(3)具体划分哪些阶段
软件定义时期: 1 问题定义 2 可行性研究 3需求分析
软件开发时期:1概要设计 2详细设计 3编码和单元测试 4综合测试
软件维护
5 五种软件生命周期模型及它们的特点
(1)瀑布模型 特点:在瀑布模型中,软件开发的各项活动严格按照线性方式进
行,当前活动接受上一项活动的工作结果影响,实施完成所需的工作内容
(2)快速原型模型 软件产品的开发基本上是按线性顺序进行的。
(3)增量模型 当使用增量模型时,第1个增量往往是核心的产品,即第1个
增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使
用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后
不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可
操作的产品。
(4)螺旋模型 螺旋模型是风险驱动的
(5)喷泉模型 喷泉模型使软件开发过程具有跌代性和无间隙性
第三章
E-R图
数据流图
结构化分析时,需要建立哪三种模型
功能模型,数据模型,行为模型
第四章
结构化设计的概念和原理
概念:使用数据流程图、数据字典、结构化语言、判定表和判定树等工具,来
建立一种新的、称为结构化说明书的目标文档-需求规格说明书。
原理:是运用系统工程原理于大型软件开发的产物,就是采用“自顶向下,由
外到内,逐层分解”的思想对复杂的系统进行分解化简,从而有效地控制了系统
分析每一步的难度,并运用数据流图、加工说明和数据字典作为表达工具的一种
系统分析技术。
(2)系统分析的模块是否越多越好?为什么?
不是,随着模块的越来越多,设计模块间的接口所需的工作量也将增加。
(3)总体设计的常用方法?过程设计的常用方法?
总体设计的方法:数据流图,状态转化图,数据字典
过程设计的方法:盒图,判定树。
模块独立的衡量标准?
耦合,内聚
熟悉启发规则中的深度,宽度,控制域,扇入,扇出
描述软件层次结构的工具是什么?
层次图,HIPO图,结构图
第五章
黑盒测试和白盒测试的概念
黑盒测试:黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具
有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作
一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试
者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常
使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信
息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、
因—果图、错误推测等,主要用于软件确认测试。“黑盒”
法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测
试。
白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过
程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照
程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工
作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于
软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结
构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序
违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出
程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的
错误。
逻辑覆盖:是以程序内部的逻辑结构为基础的设计测试用例的技术。它属白盒测
试。白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻
辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。白盒
测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。
再给出流图的情况下,计算环形复杂度,确定独立路径。
测试用例的定义:就是一个文档,描述输入、动作、或者时间和一个期望的结果,
其目的是确定应用程序的某个特性是否正常的工作。
确定测试主要涉及的文档:需求规格说明书
P54,5:北京某高校可用的电话号码有以下几类:校内电话号码由4位数字
组成,第1位数字不是0,校外电话又可分为本市电话和外地电话两类,拨校
外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外
地电话则拨3位区码,再拨8位电话号码(第1位不是0).请用数据字典中定
义数据的方法定义上述电话号码.
电话号码=
[校内电话号码|校外电话号码]
校内电话号码=非零数字+
3位数字
校外电话号码=
[本市号码|外地号码]
本市号码=
0+8位数字
外地号码=
0+3位数字+8位数字
非零数字=
[1|2|3|4|5|6|7|8|9]
3
位数字=3{数字}3
8
位数字=非零数字+7位数字
7
位数字=7{数字}7
数字=
[0|1|2|3|4|5|6|7|8|9]
可用电话号码=[校内电话号码|校外电话号码]
校内电话号码=非零数字+3{数字}3
非零数字=[1|2|3|4|5|6|7|8|9]
数字=[0|1|2|3|4|5|6|7|8|9]
校外电话号码=0+[本市号码|外地号码]
本市号码=非零数字+7{数字}7
外地号码=3{数字}3+非零数字+ 7{数字}7
P53,2银行储蓄系统数据流图
医院病房监护系统
患者监护系统的基本数据流图
据流图
患者监护系统的功能级数
复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到
复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状
态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,
发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印
时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来消除故障,故
障排除后回到闲置状态.用状态转换图描绘复印机的行为.
复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”,引起状态转换的事
件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡
纸故障”和“排除了卡纸故障”.
用状态转换图描述复印机的行为如下:
3.画出下列伪码程序的程序流程图和盒图.
START
等价的程序流程图是:
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK
g
n
P
131
3.等价的盒图是:
END BLOCK
END IF
STOP
2.下图给出的程序流程图代表一个非结构化的程序,请问:
(1)为什么说它是非结构化的? (2)设计一个与它等价的结构化程序.
P
141
4(2)等价的结构化程序是:
不添加flag标志变量
画出如下PAD图所对应的程序流图和盒图.
1.根据伪码程序画出相应的程序流程图、N-S图.
START
A
DO WHILE P
B
ENDWHILE
C
D
STOP
2.根据伪码程序画出程序流程图、盒图(N-S图).
TART
a
IF x1 THENb
END REPEAT
ELSE
BLOCK
c
d
END BLOCK
END IF
STOP
设计下列伪码程序的语句覆盖和判定覆盖测试用例.
START
INPUT (A, B, C)
IF A>5
THEN X=10
ELSE X=1
END IF
IF B>10
THEN Y=20
ELSE Y=2
END IF
IF C>15
THEN Z=30
ELSE Z=3
END IF
PRINT(X, Y, Z)
STOP
使用基本路径测试方法,设计测试下列伪码程序的测试用例.
1: START
INPUT (A,B,C,D)
2: IF(A>0)
3: AND(B>0)
4: THEN X=A+B
5: ELSE X=A-B
6: END
7: IF(C>A)
8: OR(D
9: THEN Y=C-D
10: ELSE Y=C+D
11: END
12: PRINT(X,Y)
STOP
某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上
与交易中的每股价格和股数有关的附加手续费。如果交易总金额少于1000元,
则基本手续费为交易金额的8.4%;如果交易总金额在1000元到10000元之间,
则基本手续费为交易金额的5%,再加34元;如果交易总金额超过10000元,
则基本手续费为交易金额的4%加上134元。当每股售价低于14元时,附加手
续费为基本手续费的5%,除非买进、卖出的股数不是100的倍数,在这种情况
下附加手续费为基本手续费的9%。当每股售价在14元到25元之间时,附加手
续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加
手续费为基本手续费的6%。当每股售价超过25元时,如果交易的股数零散(即,
不是100的倍数),则附加手续费为基本手续费的4%,否则附加手续费为基本手
续费的1.5%。要求:
(1)用判定表表示手续费的计算方法
(2)用判定树表示手续费的计算方法
用 Jackson 图描绘下述的一列火车的构成 :
一列火车最多有两个火车头。只有一个火车头时则位于列车最前面,若还有第
二个火车头时,则第二个火车头位于列车最后面。火车头既可能是内燃机车也
可能是电气机车。车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。硬座车厢
在所有车厢的前面部分,软卧车厢在所有车厢的后面部分 。 此外 ,在硬卧车
厢和软卧车厢之间还有一节餐车 。
软件的质量由设计阶段和编码阶段决定
数据流图要求:,每个加工至少有一个输入流和一个输出流、
参考答案
1.假设只有SEQUENCE和DO_WHILE两种控制结构,怎样利用它们完成
IF_THEN_ELSE操作?
答:转化如下:
K = 1
DO WHILE (条件 .AND. .1)
程序块1
K=K+1
END DO
DO WHILE ( (.NOT. 条件) .AND. .1)
程序块2
K=K+1
END DO
2.假设允许使用SEQUENCE和IF_THEN_ELSE两种控制结构,怎样利用它们完成
DO_WHILE操作?
答:转化如下;
label:
IF (条件) THEN
ELSE
程序块
程序块
GOTO label
END IF
3.画出下列伪码程序的程序流程图和盒图:
START
IF p THEN
WHILE q DO
f
END DO
ELSE
BLOCK
g
n
END BLOCK
END IF
STOP
答:(1)流程图如图6-1所示:
开始
p
g
q循环WHILE p
nf
q循环
停止
图6-1 从伪码变成的程序流程图
(2)该程序的盒图如图6-2所示:
F
P
q
g
T
f
n
图6-2 从伪码变成的程序盒图
4.下图给出的程序流程图代表一个非结构化的程序,请问:
(1)为什么说它是非结构化的?
(2)设计一个等价的结构化程序。
(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag
的程序;若用了,再设计一个不用flag的程序。
答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。
图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构
化的程序。
(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,
图6-3描绘了等价的结构化程序的盒图。
flag=TRUE
p AND flag
g
flag=TRUE
p
F
T
flag=FALSE
F
flag=FALSE
q
T
g
(NOT q)OR(NOT flag)
(a)解法1 (b)解法2
图6-3 与该图等价的结构化程序(用flag)
(3)不使用flag把该程序改造为等价的结构化程序的方法如图6-4所示。
p
FT
g
(NOT q)OR(NOT flag)
图6-4 与该图等价的结构化程序(不用flag)
5.研究下面的伪代码程序:
LOOP: Set I to (START+FINISH)/2
If TABLE(I)=ITEM goto FOUND
If TABLE(I) If TABLE(I)>ITEM Set FINISH to (I-1) If (FINISH-START )>1 goto LOOP If TABLE(START)=ITEM goto FOUND If TABLE(FINISH)=ITEM goto FOUND Set FLAG to 0 Goto DONE FOUND: Set FLAG to 1 DONE:Exit (1) 画出程序流程图。 (2) 程序是结构化吗?说明理由。 (3) 若程序是非结构化的,设计一个等价的结构化程序并且画出流程图。 (4) 此程序的功能是什么?它完成预定功能有什么隐含的前提条件。 答:(1)该程序流程图如下: 开始 I=(START+FINISH)/2 T TABLE(I)=ITEM F T TABLE(I) F T Start=I+1 T TABLE(I)>ITEM Finish=I-1 F (FINISH-START)>1 F T TABLE(START)=ITEME F T TABLE(FINISH)=ITEM F FLAG=0FLAG=1 (2)该程序不是结构化的,结构化的程序只有一个入口和一个出口,而该程序的流程途中 有两个出口。 (3)等价的结构化程序的流程图如下: 结束 开始 Flag=0 (F-S)>1 && flag==0 T I=(F+S)/2 Table(I)==item F T F Table(I) T F Flag=1S=I+1F=I-1 (4)此程序有二分查找的功能,它完成预定功能的隐含前提条件是现有序列为从小到大顺 序排好的有序序列。 6.用Ashcroft_Manna技术可以将非结构化的程序转化为结构化程序,图6.19是一个转换 的例子。 (1)能否从这个例子总结出Ashcroft_Manna技术的一些基本方法? (2)进一步简化6.19(b)给出的结构化设计。 答:(1)从这个例子中看出,Ashcroft_Manna 技术的基本方法是,当待改造的序含有嵌套 的非结构化的IF语句时,改造后的程序中增加DO-CASE语句和DO-UNTIL语句,并增加一个辅 助变量I,I的初始值为1。最外层的IF语句在I=1时执行,执行完这个IF语句后把I赋值为 随后应该执行的内层IF语句所对应的CASE标号值。DO-CASE语句的最大分支数(可执行的最 大标号值)等于IF语句的个数。当执行完最内层的IF语句之后,把I赋值为可执行的最大标 号值加1,而DO-UNTIL 循环的结束条件就是I等于这个值。 (2)进一步简化后的结构化程序的流程图如下所示。 结束 开始 F c T AB F d T F c T CDDE 停止 图6-5 进一步简化后的结构化程序 7.某交易所规定给经纪人的手续费计算方法如下:总手续费等于基本手续费加上与交易中 的每股价格和股数有关的附加手续费。如果交易总金额少于1000元,则基本手续费为交易 金额的8.4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额的5%, 再加34元;如果交易总金额超过10000元,则基本手续费为交易金额的4%加上134元。 当每股售价低于14元时,附加手续费为基本手续费的5%,除非买进、卖出的股数不是100 的倍数,在这种情况下附加手续费为基本手续费的9%。当每股售价在14元到25元之间时, 附加手续费为基本手续费的2%,除非交易的股数不是100的倍数,在这种情况下附加手续 费为基本手续费的6%。当每股售价超过25元时,如果交易的股数零散(即,不是100的倍 数),则附加手续费为基本手续费的4%,否则附加手续费为基本手续费的1%。 要求: (1) 用判定表表示手续费的计算方法; (2) 用判定树表示手续费的计算方法。 答:(1)判定表如图6-6所示: 图6-6 判定表 (2)判定树如图6-7所示: 图6-7 判定树 8.画出下列伪码程序的流图,计算它的环形复杂度。你觉得这个程序的逻辑有什么问题吗? C EXAMPLE LOOP:DO WHILE X>0 A=B+1 IF A>10 THEN X=A ELSE Y=Z END IF IF Y<5 THEN PRINT X,Y ELSE IF Y=2 THEN GOTO LOOP ELSE C=3 END IF END IF G=H+R END DO IF F>0 THEN PRINT G ELSE PRINT K END IF STOP 答:(1)该伪码的流程图如图6-8所示: 开始 N Z>0? Y A=B+1 N A>10? Y=ZX=A Y N Y<5? Y Y=2? N C=3 Y Print X,Y G<=H+R N F>0? Print K Y Print G 结束 图6-8 程序流程图 根据该程序流程图,可得该程序流图如图6-9所示: 1 2 3 45 6 8 7 9 10 11 1213 14 图6-9 程序流图 环形复杂度V(G)=流图中的区域数 =流图中判定结点数目+1=5+1=6 (2)该算法问题在于控制最外层循环的变量Z不仅没有经过初始化,并且在该循环内部没 有任何有可能该变Z的语句。因此,该段代码中的WHILE循环部分代码要么不会执行,要 么可能出现死循环。 1.为了方便储户,某银行拟开发计算机储蓄系统,储户填写的存款单或取款单由业务员输入 系统,如果存款,系统记录存款人姓名,住址,存款类型,存款日期,利息等信息,并打 印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。 1 记录存 款信息 存款单 D1 储户 存款信息 取款单 3 核对密 码 存款信息 存款信息 存款信息 存款信息 2 打印存 款单 存款存单 储户 4 计算利 息 利息值 5 打印利 息清单 利息清单 E-R图 姓名 住址 电话 号码 身份 证号 M 地址 名称 存取款 N 电话 号码 储户 储蓄所 利率 到期 日期 密码 数额 类型 n方法 高考后将考生的基本情况文件(简称考生基本情况文件)和考生高考成绩文件(简称考分 文件),合并成一个新文件(简称考生新文件),考生基本情况文件和考分文件都是由考生 记录组成的,为简便起见,考生基本情况中的考生记录的内容包括准考证号,姓名,通讯 地址。考分文件中的考生记录内容包括准考证号和各门考分。合并后的考生新文件自然也 是考生记录组成,内容包括:准考证号,姓名,通讯地址和各门考分。 答:(1)分析并确定输入数据和输出数据的逻辑结构,并用Jackson图描绘数据结构。 考生情况文件 考分文件 考生记录* 考生记录* 准考证号 姓名 通讯地址 (a)输入数据结构 准考证号 考分 考生新文件 考生记录* 准考证号 通讯记录 姓名 考分 (b)输出数据结构 (2)程序结构图 ①停止 ②打开两个输入文件 ③建立输出文件④从输入文件中各读一条记录 ⑤生成一条新记录⑥将新记录写入输出文件 ⑦关闭全部文件 产生新文件 2 3 4 分析考生记录 7 1 处理考生记录 产生准考证号 产生姓名 产生通讯地址 产生考分 5 6 4 9.用Jackson图描绘下述火车的构成,一列火车最多有2个火车头,只有一个火车头时,则 位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车最后面,火车头既可 能是内燃机车也可能是电气机车。车厢分为硬座车厢,硬卧车厢,软卧车厢三种,硬座车 厢在所有车厢前面部分,软卧车厢在所有车厢后面部分,在硬卧车厢和软卧车厢之间有一 节餐车。 ① 火车 S 1个车头° 2个车头° 车头 硬座 I 一节硬座* 硬卧 I 一节硬卧* 餐车 软卧 车头 硬座 I 一节硬座* 硬卧 I 一节硬卧* 餐车 软卧 车头 S I 一节软卧* 内燃° I 一节软卧* 电气° 内燃° 电气° 内燃° 电气° ②
版权声明:本文标题:软件作业 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1735626999a1682289.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论