软件工程《软件工程》习题集文档格式.docx
《软件工程《软件工程》习题集文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程《软件工程》习题集文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
三、简答题
1、什么软件工程?
什么是软件过程?
2、软件工程学的主要内容是什么?
3、什么是软件生命周期?
软件生命周期为什么要划分阶段?
划分阶段的原则是什么?
第二章可行性研究与软件开发计划
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)待开发的软件是否会有质量问题
1.可行性研究的目标是规划项目。
2.需求规格说明书是软件可行性研究的依据。
3.软件需求规格说明书的内容应当包括对算法的详细过程性描述。
4.分层DFD图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于描绘了系统的实现细节.()
5.对于软件项目,投资回收期越长,越快获得利润。
6.项目效益分析中投资回收率越低越好。
7.甘特图表是一种比较常用的进度图表。
8.数据流图应采用由外向里画的原则逐步细化。
1、什么是可行性研究?
可行性研究报告的内容是什么?
可行性研究的结论有哪几种?
第三章需求分析
1.软件需求分析的任务不应包括()。
进行需求分析可使用多种工具,但()是不适用的。
在需求分析中,分析员要从用户那里解决的最重要的问题是()。
需求规格说明书的内容不应当包括()。
该文档在软件开发中具有重要的作用,但其作用不应当包括()。
A.①问题分析②信息域分析③结构化程序设计④确定逻辑模型
B.①数据流图②判定表③PAD图④数据词典
C.①要让软件做什么②要给该软件提供哪些信息
③要求软件工作效率如何④要让软件具有什么样的结构
D.①对重要功能的描述②对算法的详细过程性描述
③软件确认准则④软件的性能
E.①软件设计的依据②用户和开发人员对软件要“做什么”的共同理解
③软件验收的依据④软件可行性分析的依据
2.在结构化分析方法中,用以表达系统内数据的运动情况的工具有()。
①数据流图②数据词典③结构化英语④判定表与判定树
3.在结构化分析方法中,用以表达系统内数据的运动情况的工具有()。
A.数据流图B.数据词典C.结构化英语D.判定表与判定树
4.在SD方法中全面指导模块划分的最重要的原则是()
A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性
5.需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出()。
(A)模块说明书(B)软件规格说明书(C)项目开发计划(D)合同文档
6.分层DFD图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于()。
A.描绘了系统的实现细节
B.表明了被开发系统的范围以及它和周围环境的数据交换关系
C.描绘了系统的抽象
D.描绘了软件实现的作者和绘制的时间
1.数据流图可分为两种基本形式:
事务型数据流图和变换型数据流图。
2.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
3.HIPO图由H图和IPO图组成,即一个H图对应一个或多个IPO图()。
4.软件模块之间的耦合性越弱越好。
5.模块的内聚度越高,则说明模块的独立性越强。
6.模块独立性有两个定性的度量标准是扇入与扇出。
7.模块化就是将系统划分为若干个模块,每个模块完成一个子功能。
因此,模块分得越小越好。
8.用例图的主要元素是用例和执行者及其它们之间的联系。
9.模块独立性有两个定性的度量标准是耦合和内聚。
10.模块的作用范围可不限制在其控制范围之内()
11.事务调度中心并不对输入数据进行加工,而只是根据不同的输入数据作出不同的事务流程选择。
12.事务数据流以事务调度中心为核心,在此之前为接收事务,在此之后为事务分流处理。
13.变换数据流所体现的是数据从输入到加工再到输出的一般步骤。
14.模块接口简单是软件发生错误的一个主要原因。
15.C/S结构的系统客户端要安装程序,维护起来比较麻烦()
16.模块分为传入模块、传出模块、协调模块、变换模块()
17.公共耦合是一种通过访问公共数据环境而实现通信的模块耦合形式。
18..一个较好的软件结构有这样的特征:
顶层模块高扇出,中间层模块低扇出,底层模块高扇入()
19.模块独立性是衡量软件中模块质量最重要的指标。
20.系统构架中集中式结构是最传统的系统构架,系统建设费用和运行费用都非常便宜()
1、什么是需求分析?
结构化分析的基本任务是什么?
结构化分析的步骤有哪些?
2、什么是实体-关系图?
它的基本符号有哪些?
3、什么是数据流图?
它的基本符号各表示什么含义?
第四章概要设计
1.Jackson方法是以()为基本依据的程序算法设计方法。
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)最小模块必须是50~100行代码范围
9.概要设计的结果是提供一份()。
A.模块说明书B.框图C.程序D.数据流图
10.Jackson方法数据分三种结构:
顺序结构、选择结构、()结构。
A.重复B.选择C.顺序D.有规则GOTO
11.Jackson详细设计方法中数据结构不包括()。
A.重复结构B.顺序结构C.选择结构D.有规则GOTO
1.结构化程序的基本特征是程序的任何位置是单入口、单出口的。
2.“顺序”、“选择”、“循环”这三种基本的控制结构能实现任何复杂的程序计算问题。
3.结构化程序设计的基本途径是对程序问题自顶向下、逐步求精。
4.聚集关系可以分为共享聚集与复合聚集两种形式。
5.复合聚集是一种较强的聚集关系,也称组合关系,其图形符号是实心菱形。
6.共享聚集是一种较弱的聚集关系,其图形符号是空心菱形。
1、什么是概要设计?
基本任务是什么?
2、什么是模块?
模块有哪些属性?
3、什么是模块化?
划分模块的原则是什么?
4、什么是软件结构设计?
软件结构设计的准则是什么?
第五章详细设计
1.下列哪一个不是详细设计时使用的工具。
(A)系统流程图(B)盒图
(C)PAD图(D)判定树
2.详细设计算法工具有程序流程图、N-S图、()、PDL等。
(C)PAD图(D)功能图
3.PDL是一种过程设计语言,又叫()
(C)伪码(D)功能图
4.在详细设计算法工具中,()能够清楚地表现程序的层次结构
(A)系统流程图(B)层次图
5.详细设计算法工具中,()图是一种历史悠久的图,直观地描述了程序的控制流程。
(A)程序流程图(B)系统流程图
(C)PAD图(D)盒图
6.详细设计阶段,一种二维树型结构来描述算法的工具称为()
A.IPO图B.PAD图C.PDLD.判定树
7.详细设计的方法不包括()
A.Jackson方法B.结构化设计方法C.面向对象设计法D.程序流程图
8.一般来说,详细设计的方法包括结构化设计方法、()和Jackson方法。
A.PAD图B.判定树C.面向对象设计法D.程序流程图
1.软件开发就是指编写程序。
()
2.软件就是程序代码。
3.现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。
4.单元测试时需要用到辅助模块,如驱动模块、桩模块。
5.模块的功能完整是指执行规定的功能就行了()
6.程序流程图又称为程序框图;
N-S图又称盒图。
1、数据代码具有哪三项基本功能?
代码有哪些特性?
2、代码的种类有哪些?
3、详细设计的主要任务是什么?
第六章软件实现
1.软件测试方法分为白盒法和()。
(A)白盒法(B)黑盒法(C)动态测试(D)盒法
2.软件测试方法分为动态测试和()。
(A)白盒法(B)黑盒法(C)静态测试(D)盒法
3.用不同的方法可将软件测试分为白盒法和黑盒法,或者()和静态测试。
(A)白盒法(B)黑盒法(C)动态测试(D)盒法
4.基于程序外部功能规格而进行的测试叫(),又叫功能测试
(A)白盒法(B)黑盒法(C)动态测试(D)盒法
5.()是基于程序程序内部结构与处理过程而进行的测试。
6.软件测试的过程,不包括()
(A)单元测试(B)集成测试(C)确认测试(D)测试计划
7.单元测试中使用的辅助模块分为驱动模块和()
(A)传入模块(B)主模块(C)桩模块(D)传出模块
8.集成测试分为渐增组装测试和()
(A)非渐增组装测试(B)确认测试(C)单元测试(D)测试计划
9.软件测试的目的是()
(A)发现软件中隐藏的错误
(B)解决软件中隐藏的错误
(C)尽量不发现错误以便早日提交软件
(D)证明软件的正确性
10.软件调试的目的是()
(B)解决测试中发现的错误
11.单元测试的测试用例主要根据()的结果来设计。
A.需求分析B.源程序C.概要设计D.详细设计
12.在软件开发的各种资源中,()是最重要的资源。
A开发工具B方法C硬件环境D人员
13.下列各方法中()不是软件测试方法。
1.程序的控制结构一般采用顺序、选择、GoTo语句三种构成,这样可确保结构比较简单。
2.评价一个测试是否成功,就是看这个测试是否发现了至今为止尚未发现的软件错误。
3.如果通过软件测试没有发现错误,则说明软件是正确的。
4.详细说明是用户关于软件的外界特征的规格表述。
5.黑盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
6.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
7.白盒法测试主要检测软件内部模块的功能是否达到要求,而黑盒法测试主要考虑测试用例对程序内部逻辑结构的覆盖程度。
8.白盒测试又被称为结构测试。
9.一个测试用例尽可能覆盖多个有效等价类。
10.一个测试用例尽可能覆盖多个无效等价类。
11.软件测试过程就是发现软件中错误的过程。
12.越是早期错误,其对软件质量的影响越大。
因此,软件错误应该尽早发现,尽早克服。
1、在进行软件开发时,如何选择程序设计设计语言?
2、什么是程序设计的风格?
为了具有良好的程序设计风格,应注意哪些问题?
第七章软件维护
1.根据是否按照工程化原则实行来划分,软件维护分为()
A.改正性维护、适应性维护、完善性维护
B.非结构化维护和结构化维护
C.预防性维护和非预防性维护
D.正确维护和错误维护
2.软件维护的工程流程中,最先应做的是()
A.确定维护的优先次序
B.对错误严重性进行评价
C.确定维护类型
D.对维护进行评审
3.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()
A.改正性维护B.适应性维护
C.完善性维护D.预防性维护
4.()这种维护性活动数量较大,占整个维护活动的50%。
A.校正性维护B.适应性维护C.预防性维护D.完善性维护
1、软件维护分为修改性维护、适应性维护、完善性维护和预防性维护。
2、提高软件的可维护性是软件工程各阶段追求的目标。
3、软件维护是在软件产品交付之后对其进行修改,以纠正故障,或改进性能和其他属性,或使产品适应新的环境。
4.软件的质量保证工作一般在编码工作结束后才开始。
1、如何提高软件的可维护性?
2、如何度量软件的可维护性?
3、软件维护有哪些副作用?
第八章面向对象方法学与UML
1.在UML的图形中哪个是对单个对象进行建模。
(A)状态图(B)活动图(C)顺序图(D)协作图
2.UML是一种建模()
(A)方法(B)工具(C)语言(D)图形
3.在UML的图形建模中,()图描述了系统的业务功能和应用接口
(A)用例图(B)活动图(C)顺序图(D)协作图
4.UML动态模型的描述工具是()。
A.对象图B.结构图C.流程图D.状态图
5.UML对象模型的描述工具是()。
A.类图B.结构图C.流程图D.状态图
6.UML功能模型的描述工具是()。
A.用例图B.结构图C.流程图D.状态图
7.UML分析建型分为三类:
功能模型、动态模型、()。
A.对象模型B.结构图C.流程图D.状态图
8.对象的抽象是类,类的具体化就是对象,也可以说类的实例是()
A.操作B.方法C.对象D.类
1.用例图三要素包括角色、用例、系统()
2.序列图强调时间和顺序,协作图强调上下文之间实例关系,二者可以相互转换。
3.面向对象分析阶段需要创建类分析图,设计阶段需要创建类设计图。
4.用例之间的关系主要有“扩展”和“使用”。
5.类与类之间的关系主要有:
关联、泛化和聚集。
6.关联限定符通常用于一对多或多对多关联关系中,可使多重性由一对多或多对多缩减为一对一或多对一。
7.状态模型图是行为图。
8.序列图和协作图合称交互图()
9.类图和对象图是交互图()
10.类之间的泛化关系也就是类的继承关系。
11.序列图中两个坐标轴,其中的纵坐标表示时间,横坐标表示不同的对象。
由此能够表现对象间消息传递的时间顺序。
12.设计类图中需要考虑实体类、边界类和控制类。
13.类图中公有的,用“+”表示,私有的用“-”表示,受保护的用“#”表示。
1、什么是对象、属性、服务、关系?
举实例说明。
2、什么是状态、事件、行为?
举例说明。
3、什么是UML?
它有哪些特点?
第九章面向对象技术与UML应用
一、简答题
1、建立对象模型时需对问题领域中的对象进行抽象。
抽象的原则是什么?
2、什么叫面向对象?
面向对象方法的特点是什么?
为什么要用面向对象方法开发软件?
第十章软件开发环境
1、软件开发工具有哪些功能?
2、什么是CASE技术?
CASE技术如何分类?
3、软件环境的定义是什么?
4、软件环境的分类有哪些?
5、什么是CASE技术?
第十一章软件重用
1、简述类构件的3种重用方式。
2、简述构件分类的3种模式。
附录综合题
1、流程图
1、根据商品进货的协作图,画出商品进货的序列图。
如下图所示:
2、请作出教育基金会的“捐助资金管理系统”的第一层DFD。
教育基金会的“捐助资金管理系统”
⑴由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记并授予捐助证书,捐款存入银行。
⑵由教育单位提出用款申请,在进行相应的合法性校验和核对相应的捐款储备后做出支出。
⑶每月给基金会的理事会一份财政状况报表,列出本月的收入和支出情况和资金余额。
3、请用数据字典定义准考证号。
某市公务员招考的准考证号共六位数字,编排规则如下。
第一位是专业编号:
1代表行政专业、2代表法律专业、3代表经济学专业。
第二位是地区编号:
1表示黄浦区、2表示卢湾区、3表示徐汇区...。
第三、第四位是考场编号。
第五、第六位是考场内序号,一个考场最多30人。
4、在教学管理中,学校开设若干门课程,一个教师可以教授其中的一门或多门课程,每位学生也需要学习其中的几门课程。
因此,教学管理中涉及的对象(实体型)有学生、教师和课程。
用E-R图描述它们之间的联系。
5.根据以下系统画出第一层的数据流图(DFD)
银行储蓄系统的工作过程大致如下:
⑴由储户填写存款单或取款单,然后交由银行工作人员输入系统。
⑵如果是存款,系统将提示储户键入密码。
在此之后,系统会打印一张存款凭据给储户。
⑶如果是取款,则系统会根据存款帐号核对储户密码。
若密码正确,则系统会计算利息并打印出利息清单给储户。
6.某算法设计程序流程图如下所示。
将该图转换为N-S图(即盒图)。
7.以下是项目管理模块的一个设计图,请阅读此图,回答问题。
(1)这是一个什么图?
(2)请描述此图所表达的业务功能。
8.将下列伪代码表示的详细设计规格说明书转换成N-S图。
START
IFX1THEN
IFX2THEN
DO
A
B
WHILEX3
ELSE
C
ENDIF
ELSE
WHILEX4DO
D
E
ENDDO
ENDIF
STOP