太原理工大学软件工程复习题Word下载.docx
《太原理工大学软件工程复习题Word下载.docx》由会员分享,可在线阅读,更多相关《太原理工大学软件工程复习题Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
A业务流程图,数据字典B.软件流程图,模块说明
C.数据流图,数据字典D.系统流程图,程序编码
15、结构化程序设计思想的核心是要求程序只由顺序、循环和(A)三种结构组成。
A.分支B.单人口C.单出口D.有规则GOTO
16、确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明称为结构化方法中的(D)
A.需求分析B.可行性研究C.总体设计D.问题定义
17、.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?
(A)
A.总体设计B.需求分析C.详细设计D.编程调试
18、在软件结构化设计中,好的软件结构设计应该力求做到(B)
A.顶层扇出较少,中间扇出较高,底层模块低扇入
B.顶层扇出较高,中间扇出较少,底层模块高扇入
C顶层扇入较少,中间扇出较高,底层模块高扇入
D.顶层扇入较少,中间扇入较高,底层模块低扇入
19、在软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主
要是用于测试(B)
A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑
20、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(C)
A.数据库设计B.数据通讯C.数据定义D.数据维护
21、软件测试是软件开发过程中重要和不可缺少的阶段,其包含的内容和步骤甚多,
而在测试过程的多种环节中最基础的是(B)
A.集成测试B.单元测试C.系统测试D.验收测试
22、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究
的结论主要相关于(A)
A.软件系统目标B.软件的可测试性C.软件的功能D.软件的质量
23、结构化程序设计理论认为,实现良好的程序结构要应用(A)的分析方法。
A.自顶向下B.自底向上C.面向对象D.基于组件
24、在下面列出的基本成分中,哪个不是数据流程图的基本成分?
.(D)
A.信息处理B.信息存储C.外部实体D.系统状态
25、PAD(ProblmhmlysisDiagam)图是一种(B)工具。
A.系统描述B.详细设计C.测试D.编程辅助
26、耦合是软件中各模块间相互联系的一种度量,耦合的强弱取决于模块间的复杂程度。
耦合的若干种类中,耦合度最高的是.(A)
A.内容耦合B.非直接耦合C.数据耦合D.控制耦合'
27、在软件工程中,软件测试的目的是(B)
A.试验性运行软件B.发现软件错误
C.证明软件是正确的D.找出软件中全部错误
28、下面哪一项不是软件设计规格说明中模块的内容?
(C)
A.接口描述B.数据的组织
C.外部文件结构D.处理过程描述
29、需求分析的主要任务是(B)
A.确定软件系统的主要功能,即进行系统功能分析,提出软件系统的目标、范围与功能说明
B.分析用户要求,将软件功能和性能描述为具体的规格说明书
C.对问题定义阶段所确定的问题实现的可能性和必要性做出研究
D.建立软件系统的总体结构,子系统划分,并提出软件结构图
30、软件结构中,由一模块直接调用的其他模块数称为(C)
A.深度B.宽度C.扇入数D.扇出数
31、在数据字典中,(B)给出了某个文件的定义,文件的定义通常也是列出其记录的组成。
A加工B.数据存储C.数据流D.数据项
32、面向数据流的软件设计方法,一般是把数据流图中的数据流划分为什么样的两种流,再将数据流图映射为软件结构?
(B)
A.数据流与事务流B.变换流与事务流C.信息流与控制流D.变换流与数据流
33、软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是(B)
A.设计人员和用户B.分析人员和用户
C.分析人员和设计人员D.编码人员和用户
34、数据字典是对数据定义信息的集合,它所定义的对象都包含于(A)
A数据流图B.程序框图C.软件结构D.方框图
35、判定树和判定表是用于描述结构化分析方法中(B)环节的工具。
A.功能说明B.数据加工C.流程描述D.性能说明
36、在结构图这种概念模式中,矩形框代表(B)
A.处理过程B.模块C.外部实体D.内部实体
37、分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的(A)
A.总貌B.细节C.抽象D.软件的作用
38、为了提高测试的效率,应该(D)
A.随机地选取测试数据B.取一切可能的输入数据作为测试数据
C.在完成编码后制订软件的测试计划D.选择发现错误可能性大的数据作为测试数据
39、软件维护是指(C)
A维护软件的正常进行B.软件的配置更新
C.对软件的改进、适应和完善D.软件开发期的一个阶段
40、下列哪一项不是软件危机的表现形式?
A.软件需求定义不明确,易偏离用户需求
B.软件生产高成本,价格昂贵
C.软件的可维护性差
D.系统软件与应用软件的联系越来越困难
41、数据流图是描绘信息在软件系统中流动和处理情况的图形工具,下列哪一个图形符号代表数据存储?
A.箭头B.圆框C.直线D.开口方框
42、软件设计中,可应用于详细设计的工具有(A)
A.程序流程图、PAD图、N-S图和伪码B.数据流程图、PAD图、结构图和伪码
C.业务流程图、N-S图和伪码D.数据流程图、PAD图、N-S图和伪码
43、程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具时应注意(C)
A支持逐步求精B考虑控制流程C.遵守结构化程序设计原则D.数据结构表示
44、在软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是建立(A)
A.软件结构B.软件流程C.软件模型D.软件
45、瀑布模型把软件生存周期划分为软件定义、软件开发与(C)三个阶段,而每个阶段又可分为若干更小的阶段。
A.详细设计阶段B.可行性研究阶段C.运行及维护D.问题定义
46、软件工程的结构化生命周期方法中将软件生命周期分为若干阶段,软件详细设计是属于(B)阶段。
A.计划阶段B.开发阶段C.运行阶段D.维护阶段
47、在软件的分析阶段,常用(C)来描述业务处理系统的信息来源、存储、处理和去向。
A.E-R图B.框图C.DFDD.时序网络
48、与设计测试数据无关的文档是(D)
A.需求说明书B.设计说明书C.源程序D.项目开发设计
49、模块的内聚是从功能的角度来度量模块内的联系,内聚度最强的是(B)
A.通信内聚B.功能内聚C.顺序内聚D.逻辑内容
50、结构化分析方法以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图B.PAD图C.IPO图D.数据字典
51、在软件工程中,高质量的文档标准是完整性、一致性和(C)
A.统一性B.安全性C无二义性D.组合性
52、结构图中,带有注释的小箭头表示(B)
A.模块B.调用C.数据D.模块间判断
53、下列叙述中不是关于有利于软件可维护性的描述是(C)
A.在进行需求分析时应考虑维护问题
B.使用维护工具和支撑环境
C.在进行总体设计时,应加强模块之间的联系
D.重视程序结构的设计,使程序具有较好的层次结构
54、软件设计包括总体设计和详细设计两部分,下列陈述中哪个是详细设计的内容?
A软件结构B模块算法C制定测试计划D数据库设计
55、由事务型数据流图映射为软件结构的设计首先应设计一个(A),它有两个功能,接收事务数据,另一个是根据事务类型调度相应的处理模块。
总控模块B事务中心C变换中心D接收分支
56、软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是()
A.减少测试工作量B.避免后期付出高代价
C.保证软件质量D.缩短软件开发周期
57、软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于(C)
A.开发阶段B.计划阶段
C.分析阶段D.设计阶段
二、填空题
1、在结构化分析中,_____________用于详细地定义数据流图中的成分。
(数据字典)
2、耦合性和内聚性是衡量_________________的两个定性的标准。
(模块独立性)
3、提高程序的可理解、可修改、可测试的程度,就意味着增强软件件的___________。
(可维护性)
4、从数据流图导出初始模块结构图,主要是通过_____________两项技术。
(变换和事务)
5、结构化程序设计是一种程序设计技术,它采用________________的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。
(自顶向下、逐步求精)
6、结构化分析方法中,数据流图的四种基本成分为:
加工、源点或终点__________。
(数据流和文件)
7、从模块内外的联系来看,结构化设计的要求是____________________。
(模块内联系大、模块间联系小)
8、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。
通常问题简述中的动词短语将成为数据流图中的_______________成分。
(加工)或处理
9、如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为_____________耦合。
(数据)
10、如果按用户要求增加新功能或个性已有的功能而进行的维护工作,称为________________。
(完善性维护)
11、在系统设计时,当数据流图中数据的流动路径几乎是线性时,应采用______________策略设计系统结构图。
(变换中心)
12、由底向上渐增式是在测试层次结构的大型软件时常用的一种方法。
用由底向上渐增式方法对软件进行测试时,需要为每个模块准备一个__________________,它的作用是调用被测的模块。
(驱动模块)
13、现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。
现采用黑盒法进行测试,设计了一组测试用例:
—100,100,0。
设计这组测试用例的方法是___________________。
(等价类划分法)
14、现有一种软件开发方法,它将软件开发过程分成以下阶段:
需求分析、原型开发和评价、系统设计和系统实现。
这种软件开发方法称为____________________。
(原型法)
15、如果某个程序的输入数据的可能值划分为n个合理等价类、m个不合理等价类,这些等价类均为数轴上的一个有限范围,则采用边缘值测试方法至少需要_________个测试用例。
(2(m+n))
16、模块内部的算法设计在结构化方法的___________________阶段进行。
(详细设计)
17、在数据流图中,用以表示软件系统之外的人员、设备等外部实体的基本成分(元素)称为___________________。
(外部项)
18、一个模块直接用另一个模块内部的代码和数据的模块间接的耦合方式称为______________耦合。
(内容)
19、_____________测试解决的主要问题是模块间接口和连接的测试。
(集成)
20、一般来说,在管理软件中,软件生存周期各个阶段的工作量以________________阶段所占的比例最大。
(维护)
21、定性度量模块独立性的两个标准是内聚性和__________________。
(耦合性)
22、改正性维护中,根据文档是提供的测试用例,重新对修改部分进行的测试称为_______测试。
(回归)
23、在模块结构图中,直接调用某一模块的其他模块数称为该模块的________________。
(扇入数)
24、在__________________测试中,主要测试详细设计和编码实现阶段中的错误。
(单元)
25、软件能被理解、被修改、被测试的易难程度称为_____________性。
(可维护)
26、选择足够的测算数据,使得判定中的每个条件获得各种可能的值的测试用例产生的方法称为___________________覆盖。
(条件)
27、如果一个软件系统完成从卡片机上读入一叠卡片,检查卡片的信息是否合理,然后对旧文件进行修改,产生一个修改过的新文件,并被修改的记录打印成一份报告。
对此系统的数据流图,应采用_________________设计策略,导出模块结构。
(变换流)
28、若模块内的各处理元素都在同一时间间隔内执行完成,这种模块内元素间的联系称为__________________内聚。
(时间)
三、名词解释
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、驱动模块
四、简答题
1、软件生命周期分为哪三个时期?
每一时期所完成的基本任务是什么?
2、简述需求分析阶段的具体任务有哪些?
3、什么是结构化程序设计?
结构化程序设计采用几种控制结构?
4、程序设计语言的特点?
5、软件测试的基本任务是什么?
测试与调试的区别是什么?
6、管理复审与技术审查的任务是什么?
7、可行性研究的步骤?
8、从哪些方面验证软件需求的正确性?
9、对象的特点?
10、用面向对象方法开发软件时,通常需要建立哪三种形式的模型?
11、什么是模块的作用域?
什么是模块的控制域?
12、简述两种不同集成测试策略的比较?
13、什么是类?
类与对象间是什么关系?
14、面向对象方法特征有哪些?
15、可行性研究的目的?
应该从哪些方面研究目标系统的可行性?
16、什么是软件工程?
构成软件工程的要素是什么?
17、简述软件测试的步骤?
18、对象有哪几种定义?
19、类—&
—对象间的关系可以概括为哪三种?
20、简述渐增模型的特点?
21、总体设计的过程如何?
22、有几种效益的分析方法?
23、面向对象方法的主要优点有哪些?
复习题参考答案
三、名词解释
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、驱动模块:
用以模拟被测模块的上级调用模埠,或向被测模块输以数据输出一些必要信息,调用被测模块。
四、简答题
1、答:
软件定义时期,开发时期,维护时期。
定义时期的任务:
问题定义;
可行性研究;
需求分析。
开发时期的任务:
总体设计;
详细设计;
编码与单元测试;
综合测试。
维护时期的任务:
使软件持久地满足用户的需要。
2、答:
3、答:
结构程序设计:
是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。
顺序,选择,循环。
4、答:
1、名字说明2、类型说明3、初始化4、程序对象的局部性5、程序模块
6、循环控制结构7、分支控制结构8、异常处理9、独立编译
5、答:
任务是在软件投入生产性运行之前,尽可能多地发现软件中的错误。
与测试的区别:
测试是为了发现软件中的错误,而调试是诊断并改正错误。
6、管理复审:
复查各个阶段的经费、开销、成本以及进度,投资回收期前景的展望。
技术审查:
对每个阶段进行严格的审查,从而保证了各个阶段技术的正确性,防上错误的积累和复审。
7、答:
(1)复查系统规模和目标。
(2)研究目前正在使用的系统。
(3)导出新系统的高层逻辑模型。
(4)重新定义问题。
(5)导出和评价供选择的解法。
(6)推荐行动方针。
(7)草拟开发计划。
(8)书写文档提交审查
8、答:
(1)一致性,即所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。
(2)完整性,需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能。
(3)现实性,指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。
(4)有效性,必须证明需求是正确有效的,确实能解决用户面对的问题。
答:
(1)以数据为中心。
(2)对象是主动的。
(3)实现了数据封装。
(4)本质上具有并行性。
(5)模块独立性好。
10、答:
(1)描述系统数据结构的对象模型。
(2)描述系统控制结构的动态模型。
(3)描述系统功能的功能模型。
11、答:
模块的作用域定义为受该模块内一个判定影响的所有模块的集合。
模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合。
12、答:
自顶向下测试方法主要优点是不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。
自顶向下测试方法的主要缺点是需要存根程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。
自底向上测试言法的优缺点与自顶向下测试方法的优缺点刚好相反。
13、答:
类是对具有相同数据和相同操作的一组相似对象的定义。
类是对具有相同属性和行为的一个或多个对象的描述,而对象是某个特定类所描述的一个具体对象。
14、答:
(1)客观世界是由各种对象组成的。
(2)所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。
(3)按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。
(4)对象彼此之间仅能通过传递消息互相联系。
15、答:
用最小的代价在尽可能短的时间内确定问题是否能够解决。
(1)技术可行性 (2)经济可行性 (3)操作可行性 (4)法律可行性
16、答:
软件工程:
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管