《软件工程》综合练习题
- 格式:doc
- 大小:39.00 KB
- 文档页数:7
第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
A 软件过程B 软件工具C 质量保证D 软件工程2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
A 业务需求B 功能要求C 非功能需求D 用户需求3、软件测试计划开始于需求分析阶段,完成于()阶段。
A 需求分析B 软件设计C 软件实现D 软件测试4.下面关于面向对象方法中消息的叙述,不正确的是( )。
A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。
A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的6.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性 D.可移植性7.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护8.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能9.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( )。
A.时间内聚 B.逻辑内聚C.通信内聚 D.信息内聚5.影响软件可维护性的决定因素是()A 文档B 可理解性C 可测试性D 可修改性10.实现单入口单出口程序的三种基本控制结构是()A 顺序、选择、循环B 过程、子程序、分程序C 调用、返回、转移D 递归、堆栈、队列11.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。
《软件工程》综合试卷一.选择题1。
软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及( )A).用户B).需求审评C).总结D).都不正确2。
在原型法中称( )为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。
A).用户B).开发人员C).系统分析员D).程序员3。
下面不属于软件工程的3个要素是( )。
A).工具B).过程C).方法D).环境4检查软件产品是否符合需求定义的过程称为( )。
A).确认测试B).集成测试C).验证测试D).验收测试5.数据存储和数据流都是( ),仅仅是所处的状态不同。
A).分析结果B).事件C).动作D).数据6。
数据流图和(C)共同组成系统的逻辑模型。
A).HIPO图B).PD)LC).数据字典D).层次图7。
数据元素组成数据的方式的基本类型(D)A).顺序B).选择C).循环D).以上全部8。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是(A)。
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。
程序流程图(PDF)中的箭头代表的是( )。
软件工程综合训练模拟题一、单选题1.下列哪一项不是项目组分配角色项( D )。
A.项目组长B.开发人员C.测试人员D.管理人员2.编码组长与开发人员共同协商制订实现与测试阶段的阶段性计划,需经(A )审批方可执行。
A.项目经理B.开发人员C.测试人员D.开发组长3.选中非连续单元格先按住( C )键,然后用鼠标左键逐个点击要选的单元格。
A.ALTB.SHIFTC.CTRLD.BACKSPACE4.选中连续单元格可以先选择该区域的第一个单元格,然后按下( B )键之后选。
A.ALTB.SHIFTC.CTRLD.BACKSPACE5.在项目计划中,“里程碑”的任务工期一般是(A )。
A.0B.1C.2D.36.要查看项目的总体信息,可以使用( B )菜单下的“项目信息”命令。
A.文件B.项目C.编辑D.工具7.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A)。
A.软件危机B.软件工程C.程序设计革命D.结构化程序设计8.瀑布模型的关键不足在于( B )。
A.过于简单B.不能适应需要的动态变更C.过于灵活D.各个阶段需要进行评审9.可行性研究的四大要素是( A )。
A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性10.经济可行性研究的主要内容包括( D )。
A.开发过程B.开发工具C.风险分析D.效益分析11.需求分析过程中,分析员要从用户那里解决的最重要的问题时( A )。
A.要求软件做什么B.要给软件提供哪些信息C.要求软件工作效率如何D.要求软件具有什么样的结构12.DFD中的每个加工至少需要( D )。
A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流13.PDL是描述处理过程( C )。
A.做什么B.为什么做C.怎样做D.对谁做14.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( D )。
综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。
3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
4、根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。
学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资金往来通过学校的会计科办理。
6、画出下列伪码程序的程序流程图,盒图(N-S图)。
STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe复杂度。
WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
宜宾学院200 –200 学年度期《软件工程》试题(第7套)第一部分选择题一、单项选择题(每小题1分,共20分)二、在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
1.CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A )。
A 关键实践B 软件过程性能C 软件过程能力D 软件过程2.Putnam成本估算模型是一个( D )模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量3.瀑布模型的存在问题是( B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。
A.确定B.行或不行C.正确 D.无二义5.系统流程图是用来( B )A 描绘程序结构的B 描绘系统的逻辑模型C 表示信息层次结构的图形工具D 描绘物理系统的6.最早的结构化语言是( A )A PASCALB AdaC ALGOLD FORTRAN7.白盒测试主要用于测试( A )A 程序的内部逻辑B 程序的正确性C 程序的外部功能D 结构合理性8.软件开发和维护过程中出现的一系列严重问题称为( D )A 软件工程B 软件开发C 软件周期D 软件危机9.需求规格说明书的作用不包括( B )A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件可行性研究的依据D.软件设计的依据10. 下面关于PDL语言不正确的说法是( B )A. PDL是描述处理过程怎么做B. PDL是只描述加工做什么C. PDL也称为伪码D. PDL的外层语法应符合一般程序设计语言常用的语法规则11. 快速原型是利用原型辅助软件开发的一种新思想,它是在研究( D )的方法和技术中产生的。
软件工程综合习题(1)及答案一、选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A )模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B )。
A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。
A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。
A.需求不确定性高的 B.需求确定的C.管理信息 D.实时6.下列有关软件工程的标准,属于国际标准的是(D )A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。
A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。
A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。
A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。
A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。
五、综合题(每小题10分,共20分)1.可将软件生存周期划分为哪3个过程和哪9个阶段。
答:(1)3个过程是:软件定义过程、软件开发过程、软件使用与维护过程。
(2)9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。
2.画出与图1所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。
答:(1)程序图如(图2)所示:(2)计算其巡回秩数:V(G)=E –N +2=13 –10 +2=5(图一)(图二)3.选择语言时要考虑的因素有:项目的应用领域、项目中算法、计算的复杂性和其余哪些内容?答:1)项目中数据结构的复杂性;2)用户的性能需求;3)软件运行的环境;4)软件开发人员开发水平;5)可用的编译器和交叉编译器4.已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。
试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。
解:1.软件开发的生产率P为:P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM2.开发每行代码的平均成本C为:C = S / L = 168000美元/ 12100LOC=13.9美元/LOC3.代码出错率EQR为:EQR = N / L = 29个/12.1KLOC=2.4个/KLOC4.软件的文档率D为:D = Pd / L = 365页/ 12.1KLOC = 30页/ KLOC5. 为以下程序流程图分别设计语句覆盖和判定覆盖测试用例并标明程序执行路径。
解:1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde 。
2)判定覆盖——分支覆盖可以设计如下两组数据以满足判定覆盖: x=3,y=0,z=1(通过路径abce );x=2,y=1,z=2(通过路径acde )。
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。
2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。
3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。
4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。
5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
在这种维护中,可能会因为修改软件而引入新的错误。
二、填空题1、软件工程包括()、()和()三个要素。
答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。
答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。
答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。
《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (28)综合试卷三 (31)附参考答案: (34)一软件与软件工程参考答案 (34)二软件工程管理参考答案 (37)三需求分析参考答案 (39)四面向对象的需求分析参考答案 (43)五软件设计参考答案 (52)六程序设计语言和编码参考答案 (55)七软件测试参考答案 (59)八软件维护参考答案 (62)综合试卷一参考答案及评分标准 (65)综合试卷二参考答案及评分标准 (68)综合试卷三参考答案及评分标准 (71)一软件与软件工程一、选择题1.软件的主要特性是()A、无形性B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()A、螺旋模型B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。
B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程综合练习题1. 题目描述设计一个学生成绩管理系统,其中包括以下几个功能:•输入学生信息:姓名、学号、年级、班级等信息;•输入学生考试成绩:包括语文、数学、英语等科目的成绩;•计算学生总分和平均分;•查询学生成绩:可以按照学号、班级、年级等条件进行查询;•排序学生成绩:可以按照总分或单科成绩进行排序;•修改学生成绩:可以修改学生的成绩;•删除学生信息:可以删除指定学生的信息。
2. 系统设计2.1 数据结构设计首先需要设计合适的数据结构来存储学生的信息和成绩。
可以使用一个类Student来表示学生,包括以下属性:•姓名(name)•学号(id)•年级(grade)•班级(class)•语文成绩(chinese)•数学成绩(math)•英语成绩(english)•总分(total)•平均分(average)2.2 功能设计2.2.1 输入学生信息可以通过以下步骤完成输入学生信息的功能:1.提示用户输入学生的姓名、学号、年级、班级等信息;2.创建一个Student对象,并将用户输入的信息赋值给相应属性;3.将Student对象添加到学生列表中。
2.2.2 输入学生考试成绩可以通过以下步骤完成输入学生考试成绩的功能:1.提示用户输入学生的学号;2.根据学号查找学生对象;3.提示用户输入语文、数学、英语等科目的成绩;4.将用户输入的成绩赋值给学生对象的相应属性。
2.2.3 计算学生总分和平均分可以通过以下步骤完成计算学生总分和平均分的功能:1.提示用户输入学生的学号;2.根据学号查找学生对象;3.计算学生的总分和平均分,并将结果赋值给学生对象的相应属性。
2.2.4 查询学生成绩可以通过以下步骤进行查询学生成绩的功能:1.提示用户选择查询条件,如学号、班级、年级等;2.根据用户选择的查询条件进行输入;3.根据查询条件查找学生对象,并将结果显示给用户。
2.2.5 排序学生成绩可以通过以下步骤进行排序学生成绩的功能:1.提示用户选择排序方式,如总分、语文成绩、数学成绩、英语成绩等;2.根据用户选择的排序方式对学生列表进行排序;3.将排序结果输出给用户。
软件工程综合训练西交《软件工程综合训练》在线作业一,单选题1. 在Project 2003中输入新任务的时候,所有的任务起始日期默认都是项目的开始日期,工期为()天A. 0B. 1C. 2D. 3?正确答案:B2. 对用例不需要在()处打对钩,其中打对钩用例的UUCW会自动计算得出A. 简单B. 普通C. 一般D. 复杂?正确答案:C3. 在Project 2003中工期后面的()表示为估计工期A. ?B. *C. %D. &?正确答案:A4. 下列哪一项不是项目组分配角色项()A. 项目组长B. 开发人员C. 测试人员D. 管理人员?正确答案:D5. 选中连续单元格可以先选择该区域的第一个单元格,然后按下()键之后选A. ALTB. SHIFTC. CTRLD. BACKSPACE?正确答案:B6. 下列不属于概要设计状态的是()A. 未编写B. 编写C. 评审通过D. 装订?正确答案:D7. 下列哪一项不属于保密级别()A. 普通B. 加密C. 保密D. 机密?正确答案:B8. 程序模块要采用缩进风格编写,缩进的空格数为()个。
A. 1B. 2C. 3D. 4?正确答案:D9. 要更改项目的工作时间,请点击()菜单下的“更改工作时间”选项A. 文件B. 编辑C. 工具D. 选项?正确答案:C10. 模板文件的后缀名是()A. *.mptB. *.proC. *.dotD. *.xls?正确答案:A二,判断题1. Project2003用于对制订的项目计划进行跟踪所用,一般应包含以下几列:WBS、任务名称、实际开始时间、实际完成时间、完成百分比、工期、实际开始时间、实际完成时间。
A. 错误B. 正确?正确答案:B2. 责任矩阵是完成这一任务的最好选择。
A. 错误B. 正确?正确答案:B3. 对象模型中的五个层次缺一不可。
A. 错误B. 正确?正确答案:A4. 接口需求项从以下四方面来描述:用户界面,硬件接口,软件接口,通信接口。
《软件工程》综合练习题一、选择题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.数据流图是常用的进行软件需求分析的图形工具,其基本符号是( )。
软件工程综合练习题第一章软件工程概述一、选择题1、瀑布模型本质上是一种()。
A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、运算机辅助软件工程,简称()。
A、SAB、SDC、SCD、CASE3、以下判定正确的是()。
A、所谓软件开发确实是编写程序。
B、利用软件工程的思想,已成功的解决了软件危机。
C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。
D、一样来说,程序中存在错误的概率与在该段程序中已发觉的错误数成正比。
4、_____是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术制造D.技术评审5、瀑布模型的存在问题是()。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的时期是()。
A.详细设计B.软件编码C.软件测试D.软件爱护7、运算机系统确实是()A.主机,显示器,硬盘,软驱,打印机等。
B.CPU,储备器,操纵器,I/O接口及设备。
C.运算机硬件系统和软件系统。
D.运算机及其应用系统。
8、产生软件危机的缘故要紧与两个方面的问题有关:A.软件在运算机中专门难识别,存在磁盘中也看不到。
B.软件设计对人的智商要求专门高,也要求专门高的资金投入。
C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和爱护过程中用的方法不正确。
D.软件专门难明白得,硬件也专门复杂。
9、软件开发瀑布模型中的软件定义时期各个时期依次是()A.可行性研究,问题定义,需求分析。
B.问题定义,可行性研究,需求分析。
C.可行性研究,需求分析,问题定义。
D.以上顺序都不对。
10、下列选项中()是软件开发中存在不正确的观念、方法。
A.重编程、轻需求B.重开发,轻爱护C.重技术,轻治理D.以上三条差不多上二、填空题1、软件工程的三个差不多要素包括()、()和()。
2、一样软件应该有三部分组成:()、()和()。
3、按软件的功能可将软件分成()、()和()等三类。
一、选择题1、软件是一种( B )性工业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( B )进行的。
(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( B )的研究。
(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( D )。
(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( A )。
(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( D )。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( D )。
(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( A )的过程。
(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( D )。
(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( B )。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、对象是面向对象开发的基本成分,每个对象可用它的一组( C )和它可以执行的一组操作来定义。
(1)服务(2)参数(3)属性(4)调用12、最高程度也是最差的耦合是( B )。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括( C )。
(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是( B )。
《软件工程》综合练习题第一章一、单项选择题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、1/2B、1/3C、1/4D、2/39、软件开发中大约要付出()%的工作量进行测试和排错A、20B、30C、40D、5010、()方法是一种面向数据结构的开发方法。
A、结构化B、JacksonC、维也纳开发D、面向对象开发11、准确地解决“软件系统必须做什么”是()阶段的任务:A、可行性研究B、需求分析C、详细设计D、编码12、软件生存周期中时间最长的是()阶段A、需求分析B、概要设计C、测试D、维护13、()方法是以数据结构为驱动的、适合于小规模的项目。
A、JSPB、JSDC、VDMD、Jackson14、软件是一种()产品A、物质B、逻辑C、有形D、消耗二、填空题1、软件与物质产品有很大的区别,软件产品是一种产品。
2、软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于。
3、概要设计主要是把各项功能需求转换成系统的。
4、最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是。
综合应用例题第一部分传统软件开发方法1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的X围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。
请用等价类划分法设计测试用例。
2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。
int GetMax(int n, int datalist[ ]){int k=0;for ( int j=1; j<n; j++ )if ( datalist[j] > datalist[k] ) k=j;return k;}画出该程序的程序流程图,并计算其McCabe复杂度。
3、有下列伪码程序:STARTINPUT (M,N)IF M>=10THEN X:=10ELSE X:=lENDIFIF N>=20THEN Y:=20ELSE Y:=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。
4、根据伪码程序画出程序流程图,盒图(N-S图)。
STARTaIF x1 THENREPEAT UNTIL x2bEND REPEATELSEBLOCKcdEND BLOCKEND IFSTOP5、根据下列描述,画出教材征订系统的第一层数据流图。
学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。
各种资金往来通过学校的会计科办理。
6、画出下列伪码程序的程序流程图,盒图(N-S图)。
STARTIF p THENWHILE q DOFEND DOELSEBLOCKgnEND BLOCKEND IFSTOP7、画出下面PDL伪码程序的程序流程图、N-S图、PAD图和程序流图,并计算其McCabe 复杂度。
WHILE P DOIF A>O THEN A1 ELSE A2 ENDIF;IF B>0 THEN B1;IF C>0 THEN C1 ELSE C2 ENDIFELSE B2ENDIF;B3ENDWHILE;8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖的测试用例。
2021软件工程复习综合题《软件工程》课后复习综合题一、单选题1.变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于【a】。
a)转换类型b)交易类型C)交易分析d)转换分析2。
Pad(问题管理图)是一种[b]工具。
a)系统描述b)详细设计c)测试d)编程辅助3.分析员是【b】。
a)用户之间的系统直接用户b)用户和软件人员之间的中介C)软件程序员d)用户和软件人员的领导者4.软件测试中设计测试实例(testcase)主要由输入数据和【c】两部分组成。
a)测试规则b)测试计划C)预期输出d)之前测试记录的分析5。
结构化编程主要强调程序的[C]。
a)效率b)速度c)可读性d)大小6.软件开发成本高与产品质量低之间存在着尖锐的矛盾。
这种现象被称为[b]。
a)软件投机b)软件危机c)软件工程d)软件产生7.模块本身的内聚性是衡量模块独立性的重要因素之一。
在七种衔接类型中,衔接最强的是[D]。
a)顺序性内聚b)过程性内聚c)逻辑性内聚d)功能性内聚8.月收入<=800元者免税,现用输入数800元和801元测试程序,则采用的是【a】方法。
a)边际价值分析b)条件覆盖C)错误推测d)等价类9。
月收入<=800元的免征所得税。
现在用800元和900元测试程序,采用[a]方法。
a)等价划分b)条件覆盖c)错误推测d)边界值分析10.ooa模型规定了一组对象如何协同才能完成软件系统所指定的工作。
这种协同在模型中是以表明对象通信方式的一组【a】连接来表示的。
a)消息b)记录C)数据d)属性11.现有一个计算类型的程序,它的输入只有一个y,其范围是-50≤y≤50。
现从输入的角度考虑设计了一组测试用例:-100,100,0。
设计这组测试用例的方法是【b】。
a)条件覆盖法B)等价分类法c)边值分析法d)误差推断法12。
结构设计中模块化方法的主要出发点是[D]。
a)增加内聚性b)减少耦合度c)提高有效性d)降低复杂度13.教学设备销售部门制定销售优惠政策,一次购买100台以上的将收取费用八五折优惠,购买者是教师、学生按九折优惠。
《软件工程》综合练习题一、选择题.软件是一种( )产品。
.有形.逻辑.物质.消耗.与计算机科学的理论研究不同,软件工程是一门( )学科。
.理论性.工程性.原理性.心理性.软件危机的主要原因有( )。
①软件本身的特点②用户使用不当③硬件可靠性差④对软件的错误认识⑤缺乏好的开发方法和手段.③④.①②④.①⑤.①③.软件工程学科出现的主要原因是( )。
.计算机的发展.其他工程科学的影响.软件危机的出现. 程序设计方法学的影响.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )。
.软件开发工程化.消除软件危机.实现软件可重用.程序设计自动化.软件生存周期模型有多种,下列选项中,( )不是软件生存周期模型。
.螺旋模型.增量模型.功能模型.瀑布模型.结构化方法和原型化方法是软件开发中常使用的两种基本方法,在实际的应用中,它们之间的关系表现为( )。
.相互排斥.相互补充.交替使用.独立使用.在软件生存周期的模型中,( )吸收了软件工程“演化”的概念,适合于大型软件的开发。
.喷泉模型.基于知识的模型.变换模.螺旋模型.瀑布模型是一种( )。
.软件开发方法.软件生存周期.程序设计方法学.软件生存周期模型.在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是( ).经济可行性.技术可行性.操作可行性.法律可行性.技术可行性要解决( )。
.存在侵权否.成本、效益问题.运行方式可行.技术风险问题.可行性研究要进行的需求分析和设计应是( )。
.详细的.全面的.简化、压缩的.彻底的.数据流图是常用的进行软件需求分析的图形工具,其基本符号是( )。
.输入、输出、外部实体和加工.变换、加工、数据流和存储.加工、数据流、数据存储和外部实体.变换、数据存储、加工和数据流.系统流程图是描述( )的工具。
.逻辑系统.程序系统.体系结构.物理系统.下列叙述中,( )是正确的。
①软件系统中所有的信息流都可以认为是事务流②软件系统中所有的信息流都可以认为是变换流③事务分析和变换分析的设计步骤是基本相似的.①.②.③.②③.加工是对数据流图中不能再分解的基本加工的精确说明,下述( )是加工的最核心。
.加工顺序.加工逻辑.执行频率.激发条件.系统定义明确之后,应对系统的可行性进行研究。
可行性研究包括( )。
.软件环境可行性、技术可行性、经济可行性、社会可行性.经济可行性、技术可行性、社会可行性.经济可行性、社会可行性、系统可行性.经济可行性、实用性、社会可行性.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )。
.数据流图.数据字典.结构化语言.判定表与判定树.原型化方法是一类动态定义需求的方法,下列叙述中,( )不具有原型化方法的特征。
.提供严格定义的文档.加强用户参与和决策.简化项目管理.加快需求的确定.需求分析( )。
.要回答“软件必须做什么?” .可概括为:“理解,分解,表达”六个字.要求编写需求规格说明书.以上都对.数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( )。
.对象.解释.符号.描述.在数据流图中,有名字及方向的成分是( )。
.控制流.信息流.数据流.信号流.在结构化分析方法中,用以表达系统内部数据的运行情况的工具有( )。
.数据流图.数据字典.结构化英语.判定树与判定表.软件需求规格说明书的内容不应包括对( )的描述。
.主要功能.算法的详细过程.用户界面及运行环境.软件的性能.在结构化分析方法()中,与数据流图配合使用的是( )。
.网络图.实体联系图.数据字典.程序流程图.通过( )可以完成数据流图的细化。
.结构分解.功能分解.数据分解.系统分解.需求分析过程中,对算法的简单描述记录在( )中。
.层次图.数据字典.数据流图.图.初步用户手册在( )阶段编写。
.可行性研究.需求分析.软件概要设计.软件详细设计.结构化分析方法()最为常见的图形工具是( )。
.程序流程图.实体联系图.数据流图.结构图.方法的基本思想是( ).自底向上逐步抽象.自底向上逐步分解.自顶向下逐步分解.自顶向下逐步抽象.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( ).抽象和信息隐蔽.局部化和封装化.内聚性和耦合性.激活机制和控制方法.结构化程序流程图中一般包括三种基本结构,下述结构中( )不属于其基本结构。
.顺序结构.条件结构.选择结构.嵌套结构.对软件进行分解,是为了( )。
.降低模块的复杂程度.降低模块间接口的复杂程度.降低模块的复杂程度,并降低模块间接口的复杂程度.降低模块的复杂程度,并提高模块间接口的复杂程度.软件设计一般分为总体设计和详细设计,它们之间的关系是( )。
.全局和局部.抽象和具体.总体和层次.功能和结构.软件结构使用的图形工具,一般采用( )图。
....软件设计阶段一般又可分为( )。
.逻辑设计与功能设计.概要设计与详细设计.概念设计与物理设计.模型设计与程序设计.模块中所有成分引用共同的数据,该模块的内聚度是( )的。
.逻辑性.瞬时性.功能性.通信性.结构图中,不是其主要成分的是( )。
.模块.模块间传递的数据.模块内部数据.模块的控制关系.好的软件结构应该是( ).高耦合、高内聚.低耦合、高内聚.高耦合、低内聚.低耦合、低内聚.结构分析方法就是面向( )自顶向下逐步求精进行需求分析的方法。
.目标.数据流.功能.对象.程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和( )。
.独立性.有效性.耦合性.安全性.在面向数据流的软件设计方法中,一般将信息流分为( ).变换流和事务流.变换流和控制流.事务流和控制流.数据流和控制流.在多层次的结构图中,其模块的层次数称为结构图的( ).深度.跨度.控制域.粒度.( )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系。
.程序流程图.数据流图.图.结构图.模块( ),则说明模块的独立性越强。
.耦合越强.扇入数越高.耦合越弱.扇入数越低.结构化设计方法在软件开发中,用于( )。
.测试用例设计.概要设计.程序设计.详细设计.软件概要设计结束后得到( )。
.初始化的软件结构图.优化的软件结构图.模块详细的算法.程序编码.方法是一种面向( )的方法。
.对象.数据结构.数据流.控制流.程序控制一般分为( )、分支、循环三种基本结构。
.分块.顺序.循环.分支.是下列( )语言。
.高级程序设计语言.伪码.中级程序设计语言.低级程序设计语言.下列叙述正确的是( ).图可以用于系统设计.语言可以用于运行.图表达的软件过程呈树型结构.结构化程序设计强调效率第一.模块的内部过程描述就是模块内部的( ),它的表达形式就是详细设计语言.模块化设汁.算法设计.程序设计.详细设计.方法根据( )来导出程序结构。
.数据结构.数据问的控制结构.数据流图.图.程序控制的三种基本结构中,( )结构可提供程序重复控制。
.遍历.排序.循环.分支.图上下层之间的关系是( )。
.调用关系.组成关系.继承关系.嵌套关系.详细设计的任务是确定每个模块的( )。
.外部特性.内部特性.算法和使用的数据.功能和输入输出数据.结构化程序设计的一种基本方法是( )。
.筛选法.递归法.迭代法.逐步求精法.结构化程序设计主要强调的是( ).程序的效率.程序执行速度.程序易读性.程序的规模.黑盒测试是从( )观点出发的测试,白盒测试是从( )观点出发的测试。
.开发人员、管理人员.用户、管理人员.用户、开发人员.开发人员、用户.为了提高测试的效率,应该( )。
.随机地选取测试数据.取一切可能的输入数据作为测试数据.在完成编码以后制定软件的测试计划.选择发现错误可能性大的数据作为测试数据.在结构测试用例设计中,有语句覆盖、条件覆盖、判定覆盖(即分支覆盖)、路径覆盖等,其中( )是最强的覆盖准则。
.语句覆盖.条件覆盖.判定覆盖.路径覆盖.使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准。
.程序的内部逻辑.程序的复杂结构.使用说明书.程序的功能.软件测试可能发现软件中的( ),但不能证明软件( )。
.所有错误、没有错误.错误、没有错误.逻辑错误、没有错误.设计错误、没有错误.在测试中,下列说法错误的是( )。
.测试是为了发现程序中的错误而执行程序的过程.测试是为了表明程序是正确的.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案.成功的测试是发现了迄今为止尚未发现的错误的方案. 在进行软件测试时,首先应当进行单元测试,然后再进行( ),最后再进行有效性测试。
.组合测试.集成测试.有效性测试.确认测试.在软件生存周期中,工作量所占比例最大的阶段是( )阶段.需求分析.设计.测试.维护.一个软件产品开发完成投入使用后,常常由于各种原因需要对它做适当的变更,通常把软件交付使用后所做的变更称为( )。
.维护.设计.软件再工程.逆向工程.在整个软件维护阶段所花费的全部工作中,( )所占的比例最大。
.校正性维护.适应性维护.完善性维护.预防性维护.软件工程对维护工作的主要目标是提高( ),降低维护的代价。
.软件的生产率.软件的可靠性.软件的可维护性.维护的效率.软件工程针对维护工作的主要目标是提高软件的可维护性,降低( )。
.维护的效率.维护的工作量.文档.维护的代价.人们称在软件运行/维护阶段对软件产品所进行的修改就是维护。
( )是由于开发时测试的不彻底、不完全造成的。
.校正性维护.适应性维护.完善性维护.预防性维护.维护由引起的原因不同可分为几类,( )是由于外部环境或数据库的环境的变化造成的。
.校正性维护.适应性维护.完善性维护.预防性维护.产生软件维护的副作用,是指( )。
.开发时的错误.隐含的错误.因修改软件而造成的错误.运行时的误操作.软件生存周期的( )工作和软件可维护性有密切的关系。
.编码阶段.设计阶段.测试阶段.每个阶段.软件维护的困难主要原因是( )。
.费用低.人员少.开发方法的缺陷.维护难.对象模型的描述工具是( )。
.状态图.数据流图.对象图.结构图.每个对象可用它自己的一组属性和它可以执行的一组( )来表现。
.行为.功能.动态模型的描述工具是( )。
.对象图.结构图.状态图.设计图.表示对象的相互行为的模型是( )模型。
.对象.动态.功能.静态.在软件工程学中,我们把一组具有相同数据结构和相同操作的对象的集合定义为( ),此定义包括一组数据属性和在数据上的一组合法操作.类.属性.对象.消息.对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。