北京邮电大学网络教育学院-软件工程综合练习题及解答
- 格式:doc
- 大小:190.50 KB
- 文档页数:44
1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1)and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件工程模拟试卷和答案软件工程模拟试卷和答案北京语言大学网络教育学院《软件工程》模拟试卷一注意:1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。
请监考老师负责监督。
2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。
3.本试卷满分100分,答题时间为90分钟。
4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。
一、【单项选择题】(本大题共15小题,每小题2分,共30分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。
1、在软件开发领域中,“描述了实现概念模型的软件解决方案”的系统模型被称为()。
2、一般来说,整个需求的主体是()。
[A] 设计模型 [B] 软件模型 [C] 实现模型 [D] 部署模型[A] 功能需求[B] 性能需求 [C] 外部接口需求 [D] 设计约束3、总体设计的第二阶段是()。
4、在模块内聚类型中,常常通过研究流程图确定模块的划分,得到的是()。
5、一个模块直接控制(调用)的下层模块的数目称为模块的()。
6、UML 术语中,限定符常被用在()。
7、UML 提供的13种图形化工具中,用于概念模型和软件模型静态结构的是()[A] 初始设计 [B] 详细设计 [C] 复审阶段 [D] 精化设计[A] 逻辑内敛 [B] 顺序内敛 [C] 功能内敛 [D] 过程内敛[A] 扇入 [B] 扇出 [C] 深度 [D] 宽度[A] 依赖关系 [B] 泛化关系 [C] 关联关系 [D] 细化关系[A] 用况图 [B] 状态图 [C] 类图 [D] 活动图8、RUP 的迭代、增量式开发规定的4个阶段不包括()。
9、根据RUP 实现的活动,输入为设计类,活动为实现类,则输出为()。
10、软件评估可分为静态评估和动态评估,其中属于动态评估技术的是()。
11、黑盒测试技术,又称为()。
12、若有语句if(A<1 and C>0)then B=1/C else B=1/A ,选用类似数据A=2,C=1;A=-2,C=1;A=2,C=-1;A=-2,C=-1;得到不同B 的值,这种测试策略为()。
软件工程综合习题(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)中的各个成份的具体含义的。
北京邮电大学2020年硕士研究生招生考试试题考试科目:807软件工程专业综合请考生注意:(1)所有答案(包括选择题和填空题)一律写在答题纸上,否则不计成绩。
(2)允许使用计算器。
(3)本考题包括数据结构,操作系统,数据库三个科目。
其中数据结构为必选。
操作系统与数据库为二选一,考生需选择其中一个科目答题并且注明所选科目的名称。
必选科目数据结构(90分)一、选择题(每小题2分,共20分)1.考虑下面的程序段void running (int n)int j = 0; int k = O;w h ile (j < n) { k = k+ 1; j = j + k;此段代码的时间复杂度为A.O(logn)B.0 (n112)C.0 (n)D.0 (n2)2.设T是高度为h的平衡二叉树(又称A VL树),并且是高度为h的包含节点最少的平衡二叉树,则T包含节点数目的数量级是?A. 1. 41421 hB. 1. 61803hC.2. 71828hD. 3. 14159h3.循环单链表的主要优点是A.不再需要头节点指针B.从表的任一节点出发都能够遍历整个链表C.已知某个节点位置后能够容易找他其前趋D.在进行插入删除操作时能够保证链表不断开4.将n阶对称矩阵A=[a j,k](O<=j, k<n)的上三角元素按行优先压缩存储在数组b[O, N)中,则矩阵元素a j,k(j<=k)在数组中对应的位置是A. b U*n-j* (j—1) /2 + k]B.b U* (j-1) /2 + k]C.b[j*n-j*(j+l)/2 + k-1]D.b[j*(j+l)/2 +k-1]5.对快速排序算法较为不利的情况是A.数据量太大B.数据基本有序C.数据中包含太多的相同键值D.数据量为奇数6.n个节点的二叉树大约有多少个不同的形状?A.3. 14159"B.2"C.2. 71828"D.4"7.在采用线性探测处理冲突的散列表上作查找操作。
北京邮电大学2019年硕士研究生招生考试试题考试科目:软件工程专业综合请考生注意:(1)所有答案(包括选择题和填空题)一律写在答题纸上,否则不计成绩。
(2)允许使用计算器。
(3)本考题包括数据结构,操作系统,数据库三个科目。
其中数据结构为必选部分。
操作系统,数据库为二选一,考生只需选择其中一个科目答题即可。
考生需在答题纸上标明选答科目的名称。
必选科目数据结构部分(90分)一、选择题(每小题2分,共20分)1.考虑下面程序段:void power(int m,int n){ //前提:n>=0int result=1;while(n>1)if(n为偶数){m=m*m;n=n/2;}else{result=result*m;n=n-1;}return result;}则调用power(m,n)的时间复杂度是:A.O(n)B.O(n logn)C.o(logn)D.O(n2)2.下面是对有序数组进行二分查找程序的教学版。
bool search(T a[ ],int n,T key){ //n:数组a的长度。
前提:n>=0,T是某种数据类型if(n<=0)return false;int mid=n/2;if(a[mid]==key)return true;if(almid]<key)return search(a,mid,key);else return search(a+mid+1,n-mid-1,key);}考虑函数调用search(a,n,key);下面三个命题中哪些是正确的?(1)成功查找的键值比较次数的时间复杂度是O(logn)。
(2)不成功查找的键值比较次数的时间复杂度是O(logn)。
(3)若键值x,y均不在数组中,则查找他们所执行的键值比较次数相A.(1),(2),(3)全部正确B.仅(1),(2)正确C.仅(1),(3)正确D.仅(2),(3)正确3.n个结点的简单有向图最多有多少条弧边?4.以下哪个函数是O(n3)?A.n3log(n)+n3B.n3+log(n)C.3nD.n3log(n3)5.将键值个数分别为m,n的两个有序表归并为一个大的有序表最多需要多少次键值比较?A.min(m,n)B.m+n-1C.max(m,n)D.m+n6.假设队列是用循环单链表存储,队列的长度是n,头指针是front,尾指针rear 指向队列的最后一个元素所在的结点,指针x指向的结点包含的元素需要入队,需要下面的那个选项的入队操作序列?A.front=x;front=front->next;B.x->next=front->next;front=x;C.rear->next=x;rear=x;D.rear->next=x;x->next=null;rear=x;7.具有n(n>0)个结点的完全二叉树的高度为(假设只有一个结点的二叉树的高度为0)。
网络学院软件工程作业(一)一、选择题(32分)1.(5分)对象是面向对象范型的(A①)。
每个对象可用它自己的一组(B⑤)和它可以执行的一组(C③)来表征。
应用执行对象的(C③)可以改变该对象的(B⑤)。
它的应用必须通过(D②)的传递。
可以认为,这种(D②)的传递大致等价于过程性范型中的函数调用。
某些语言提供了特殊功能,允许对象引用自己。
若一个对象没有显式地被引用,则可让该对象(E③)。
供选择的答案.A:①基本单位②最小单位③最大单位④语法单位B~C:①行为②功能③操作④数据⑤属性D:①接口②消息③信息④操作⑤过程E:①撤消②歇着③缺省④隐式引用⑤引用自己2.(5分)类常常被看做是一个抽象数据类型的实现,更合适的是把类看做是某种(A②)的一个模型。
事实上,类是单个的(B③)语义单元。
类的用户能够操纵的操作叫做类的(C①)。
类定义的其余部分给出数据定义和辅助功能定义,包括类的实现。
类的实现常常包括了其它类的实例,这些实例(D④)被其它对象存取,包括同一个类的其它实例。
类的实现可能还包括某些私有方法,实现它们的类可以使用,而其它任何对象都不能使用。
类,就它是一个数据值的聚合的意义上来看,与Pascal中的记录或C 中的结构类似,但又有差别。
类扩展了通常的记录语义,可提供各种级别的(E③)。
类不同于记录,因为它们包括了操作的定义,这些操作与类中声明的数据值有相同的地位。
供选择的答案.A:①功能②概念③结构④数据B:①语法②词法③语义④上下文环境C:①界面②操作③行为④活动D:①可自由地②可有控制地③可通过继承④应受保护不E:①可移植性②可重复性③可访问性④继承性3.(5分)由RumBaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),即三视点技术,它要求把分析时收集的信息建立在三个模型中。
第一个模型是(A⑦),它的作用是描述系统的静态结构,包括构成系统的对象和类,它们的属性和操作,以及它们之间的联系。
1、面向对象方法中,以下哪项不属于类间的关系()。
•A、关联关系•B、泛化关系•C、依赖关系•支持过程—对应于工程支持;组织过程—对应于()。
•A、软件开发•B、工程管理•C、软件测试•3、质量保证工作是()•A、只与质量保证小组有关•B、项目生存期的各个阶段都需要实施的•C、只需要做一次•4、在基于代码行的规模估算中如果采用多名专家估算法进行估算,每个专家需要估计至少三种规模,不属于专家估算范围的是()。
•A、最小规模•B、最大规模•C、最可能规模•5、下列模型属于成本估算方法的有( )•A、COCOMO 模型•B、McCall 模型•C、McCabe 度量法•D、甘特图法6、问题分析图的英文缩写是()•A、PRD•B、PAD•C、QAD•7、()是用系统的功能数量来测量其规模,与实现产品所使用的语言和技术没有关系。
•A、功能点•B、对象点•C、代码行•8、软件维护的副作用主要有以下哪几种()•A、编码副作用、数据副作用、测试副作用•B、编码副作用、数据副作用、调试副作用•C、编码副作用、数据副作用、文档副作用•D、•A、对外不可见•B、黑盒子•C、外部可访问•D、无须知道内部实现细节10、与确认测试阶段有关的文档是()。
•A、需求规格说明书•B、概要设计说明书•C、详细设计说明书•D、11、风险的三个属性是()•A、风险发生的时间、地点、负责人•B、风险事件、时间、影响•C、风险事件、概率、影响•12、使用因果图法最终产生的是()。
•A、用例图•B、判定表•C、因果图•13、从技术角度分,不是一类的测试是()•A、黑盒测试•B、白盒测试•C、单元测试•14、关联是建立()之间关系的一种手段。
•A、对象•B、类•C、功能•D、15、软件结构中,()表示软件结构中从顶层模块到最底层模块的层数。
•A、深度•B、宽度•C、扇入数•D、16、()管理主要通过一系列技术,方法来维护产品的历史,标识和定位产品独有的版本,并在产品的开发和发布阶段控制变化。
软件工程习题(附答案)软件工程习题(附答案)1.概述1.1 介绍本文档是一份软件工程习题文档,包含了一系列关于软件工程的习题及其对应的答案。
这些习题涵盖了软件工程的各个方面,旨在帮助读者巩固和扩展自己的软件工程知识。
1.2 目的本文档的目的是提供一份全面而详细的习题文档,供软件工程学习者参考和学习。
每个习题都配有答案,以便读者可以自行对比答案和解答过程,提高自己的理解和运用能力。
2.软件需求工程2.1 需求获取2.1.1 什么是需求获取?为什么它在软件工程中非常重要?答案:需求获取是指在软件开发过程中,获取并理解用户对软件系统所需功能和约束的过程。
它在软件工程中非常重要,因为一个完整、清晰、准确的需求基础是成功软件开发的关键,它直接影响着软件系统的功能、性能和质量。
2.1.2 几种常见的需求获取方法。
答案:常见的需求获取方法包括面谈、问卷调查、观察、原型展示等。
2.2 需求分析与规格2.2.1 什么是需求分析?它的目标是什么?答案:需求分析是指对需求进行深入的分析和理解,以确定需求的准确性、完整性和一致性。
它的目标是明确系统需求,并将其规格化,为软件开发提供指导和依据。
2.2.2 需求分析的主要步骤有哪些?答案:需求分析的主要步骤包括需求获取与识别、需求验证与确认、需求排序与组织、需求规格化等。
3.软件设计3.1 结构化设计3.1.1 什么是结构化设计?答案:结构化设计是指将系统进行层次化和模块化分解,定义各个模块之间的接口和关系,从而使系统具有更好的可维护性、可扩展性和可重用性。
3.1.2 结构化设计的原则有哪些?答案:结构化设计的原则包括模块化原则、信息隐藏原则、高内聚低耦合原则等。
3.2 面向对象设计3.2.1 什么是面向对象设计?答案:面向对象设计是一种基于对象的思维方式,将系统分解为各个独立的对象,通过对象之间的交互和协作来实现系统的功能。
3.2.2 面向对象设计的主要特点是什么?答案:面向对象设计的主要特点包括封装、继承、多态等。
软件工程试题题库含答案一、软件开发过程1. 软件工程的定义是什么?答:软件工程是一门学科,研究并应用以系统化的方法开发和维护软件的原则、概念、方法和工具。
2. 请列举并解释软件开发过程的基本活动。
答:软件开发过程包括以下基本活动:- 需求分析与说明:收集和分析用户需求,并将其明确、清晰地记录下来。
- 软件设计:将需求转化为软件架构和设计规范,确定技术方案和实施计划。
- 编码和单元测试:根据设计规范进行编码,并进行单元测试以确保代码的正确性。
- 综合与测试:将各个模块进行综合,进行系统级测试以验证软件的正确性和稳定性。
- 软件发布与维护:发布软件版本,并对软件进行后续的维护和更新。
3. 请解释敏捷开发方法的基本原则。
答:敏捷开发方法的基本原则包括: - 个体和互动高于流程和工具:注重团队成员的沟通和合作,更加关注人与人之间的交互。
- 可工作的软件高于详尽的文档:重视软件的实际可用性和功能,减少过多的文档记录。
- 客户合作高于合同协商:与客户保持紧密的合作,及时获取反馈并调整软件开发进程。
- 相应变化高于遵循计划:灵活应对需求变化,允许在开发过程中根据实际需要进行调整。
二、需求工程1. 需求工程的目的是什么?答:需求工程的目的是准确、清晰地确定、分析和记录用户对软件系统的需求。
2. 请解释需求工程的关键活动。
答:需求工程的关键活动包括以下几项: - 需求获取:通过与用户交流和研究,确定用户的需求,并进行系统化的收集。
- 需求分析:对收集到的需求进行分析,确定需求的可行性和优先级,并拆解出软件需求规格说明。
- 需求规格说明:编写清晰、明确的需求规格文档,对软件需求进行详细描述和说明。
- 需求验证:与用户进行需求验证,确保需求规格与用户的期望一致,并能够满足用户的需求。
3. 请解释用户需求和系统需求的区别。
答:用户需求是用户对软件系统的需求和期望,通常表达为用户对系统功能和性能的描述。
而系统需求是对用户需求的进一步细化和明确化,包括对系统功能、性能、界面、输入输出等方面的具体要求。
软件工程习题及答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解释:需求分析阶段的主要任务是确定软件系统的功能和性能要求,解决软件“做什么”的问题。
2、下面不属于软件设计阶段任务的是()A 软件总体结构设计B 算法设计C 制定测试计划D 数据库设计答案:C解释:制定测试计划属于软件测试阶段的任务,软件设计阶段主要包括总体结构设计、详细设计(如算法设计、数据库设计等)。
3、软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是()A 循环的集合B 地址的集合C 路径的集合D 目标的集合答案:C解释:白盒测试是把程序看成装在一个透明的白盒子里,也就是清楚了解程序的结构和处理过程,测试用例要覆盖程序中的所有可能路径。
4、软件维护工作中,大部分工作属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:C解释:在软件维护工作中,完善性维护占了大部分,因为随着用户需求的变化和使用过程中的新发现,需要对软件功能进行扩充和增强。
二、填空题1、软件危机产生的主要原因是软件产品的_________和软件生产的_________之间的矛盾。
答案:复杂性;规模性解释:软件产品的复杂性不断增加,而软件生产的规模性又使得管理和控制变得困难,这两者之间的矛盾导致了软件危机。
2、结构化分析方法使用的主要工具是_________和_________。
答案:数据流图;数据字典解释:数据流图用于描述系统中数据的流动和处理过程,数据字典则对数据流图中的元素进行详细的定义和说明。
3、软件测试的步骤包括单元测试、_________、_________和系统测试。
---------------------考试---------------------------学资学习网---------------------押题------------------------------软件工程考试题简答题、什么叫软件?1软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?2、软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
(软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:1)软件是逻辑部件而不是物理部件。
()软件的规模越来越大,复杂性越来越大。
(2 )轻视需求分析的重要性,轻视软件维护的错误观点和方法。
(3 什么叫软件工程?3、“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上年在第一届NATO会议上的早期定义:1968 。
有效运行的可靠软件的一系列方法”“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也年IEEE的定义:1993 就是把工程应用于软件;②进而研究①实现的途径”。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
、两种软件工程方法学开发软件时要建立哪些模型?4 软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)并加入了风险分析)螺旋模型(将瀑布模型与原型化模型结合起来, 喷泉模型(使开发过程具有迭代性和无间隙性)软件过程模型有哪些?简述它们的特点。
《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
一、判断题(共 8 道小题,共 40.0 分)1.一般情况下,如果软件的行为与它的设计者的目标是一致的,那软件才成功。
A. 正确B. 错误知识点: 第一章软件工程介绍2. 大部分软件开发项目首先设法满足一些企业的需要。
A. 正确B. 错误知识点: 第一章软件工程介绍3. 所谓“新经济”的笼罩在 90 年代的商业和金融死亡,不再影响的企业和软件工程师的决定。
A. 正确B. 错误知识点: 第一章软件工程介绍4. 软件过程可以在预先已有的软件模式之外被构造出来,以更好地满足软件工程的需要。
A. 正确B. 错误知识点: 第二章过程综述试题分5. 在统一过程模型中,需求被迭代德确定,而且可能跨越一个以上的过程阶段。
A. 正确B. 错误知识点: 第三章过程模型试题分6. 所有的敏捷过程模型或多或少不同程度上符合了敏捷的“软件开发宣言” 的原则。
A. 正确B. 错误知识点: 第四章敏捷视角下的过程7. 每个沟通会议应该有一个推动者,以确保客户不能去控制会议议项。
A. 正确B. 错误知识点: 第五章软件工程实践综述8.软件工程实践的本质是理解问题,计划解决方案,实施计划,并检查结果的精确度。
A. 正确B. 错误知识点: 第五章软件工程实践综述9.二、单项选择题(共 12 道小题,共 60.0 分)1. 软件退化不是磨损导致的,是因为A. 软件工作在在恶劣环境中B. 软件被经常使用后,缺陷可能被发现C. 多次需求变更引进了组件交互的错误产生D. 软件的备用构件变得很难去布置知识点: 第一章软件工程介绍2. 下面那个是团队软件过程的目标?A. 加速软件过程改进B. 允许训练有素的专业人士更好的时间管理C. 建立自我指导软件团队D. 显示经理如何降低成本和保持质量E. b 和 c知识点: 第二章过程综述试题分3. 下面这些哪个不是个人软件过程的特点?A. 强调对工作产品的个人测量B. 第一线工作人员需要由项目经理严谨监督C. 单个第一线工作人员负责项目估算和调度D. 第一线工作人员有权控制软件产品质量工作知识点: 第二章过程综述试题分4. 过程模型被描述为敏捷,因为他们A. 取消繁琐文件的需要B. 强调灵活性和适应性C. 在计划活动时,不浪费开发时间D. 广泛使用原型开发知识点: 第二章过程综述试题分5. 形式化方法软件开发模式使用数学方法去A. 规范定义的基于计算机的系统B. 开发无缺陷的计算机为基础的系统C. 正确性验证计算机的系统D. 以上所有知识点: 第三章过程模型试题分6. 快速应用程序开发模式(RAD)是A. 基于组件开发模式的另一个名字B. 一个有用的方式,当用户不能很清楚的定义需求的时候C. 线性顺序模型的高速变体。
《软件工程》综合练习题第一章一、单项选择题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、最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是。
5、简单实用,应用广泛、技术成熟的开发方法是。
6、构成一个完整计算机系统的两部分是硬件与。
7、程序设计时代的生产方式是。
8、软件工程涉及到几个学科,它是一门学科。
9、软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能。
10、将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是模型。
11、喷泉模型是一种以用户需求为动力,以为驱动的模型。
12、结构化方法是一种面向数据流的开发方法。
由结构化分析、、结构化程序设计构成。
13、软件工程研究的主要内容是软件开发管理和两个方面。
14、软件工具是支持软件开发人员的开发和维护活动而使用的。
15、一个软件项目的开发中,要采用一种生存周期模型,要按照某种使用相应的工具来进行。
三、名词解释1、软件2、文档3、软件工程4、软件生存周期5、软件工程过程6、软件生存周期模型7、软件开方法8、软件工具四、问答题1、软件产品的特性是什么?2、软件生产有几个阶段?各有何特征?3、什么是软件危机?4、什么是软件工程?它的目标和内容是什么?5、软件工程面临的问题是什么?6、软件生存周期有哪几个活动?7、软件生存周期模型主要有哪些?8、有哪些主要的软件开发方法?第二章一、选择题1、可行性研究的目的是决定()。
A、开发项目B、项目值得开发否C、规划项目D、维护项目2、技术可行性要研究的问题之一是()。
A、存在侵权否B、成本效益问题C、运行方式可行否D、技术风险问题3、纯收入是累计效益现在值与投资之()A、和B、差C、积D、商4、项目开发计划这类文档是一种()A、技术性文档B、管理性文档C、需求分析文档D、设计文档5、表示磁盘的系统流程图的符号是()ABCD6、表示人工操作的系统流程图的符号()A B C D7、表示文档的系统流程图的符号是()A B C D8、研究软件资源的有效性是进行()研究的一方面。
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 C D、二、填空题1、可行性研究可从、、三个方面分析研究每种解决方法的可行性。
2、经济可行性研究包括:成本分析、公司经营策略、开发所需的和、潜在的前景3、社会可行性研究包括、、、用户组织的模式及,其他一些技术人员常常不了解的等。
4、技术可行性一般要考虑的情况包括、、。
5、系统流程图用图形符号表示系统中各个元素,表达了系统中各元素之间的。
6、软件工程有两种效益,它们是无形效益和。
7、若年利率为I,不计复利,n年后能收入F元的现在价值P是_________。
8、纯收入是软件生存周期内两项值之差,这两项是_________。
9、项目开发计划是一种______________ 文档。
10、可行性研究具体步骤的最后一步是_________。
11、系统流程图符号←的名称是___________,用于连接其他符号,指明数据流动方向。
12、系统流程图符号的名称是_________,指出转到另一页图上或由另一页图转来。
13、假定开发库房管理系统共需5000元,系统建成后估计每年能节约2500元,若年利率为5%,项目生存周期为5年,则该项目的纯收入预计为_________ 千元。
14、系统的经济效益等于加上。
15、可行性研究实质上是进行一次简化、压缩了的。
三、名词解释1、系统流程图2、投资回收期四、问答题1、可行性研究的任务是什么?2、可行性研究有哪些步骤?3、可行性研究报告有哪些主要内容?4、成本是一效益分析可用哪些指标进行度量?5、项目开发计划有哪些内容?第三章一、选择题1、分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的()。
A、细节B、输入与输出C、软件的作者D、绘制的时间2、需求规格说明书的内容不应包括对()描述。
A、主要功能B、算法的详细过程C、用户界面及运行环境D、软件的性能3、需求规格说明书的作用不应包括()。
A、软件设计的依据B、用户与开发人员对软件要做什么的共同理解C、软件验收的依据D、软件可行性研究的依据4、SA方法用DFD描述()。
A、系统的控制流程B、系统的数据结构C、系统的基本加工D、系统的功能5、一个局部数据存储只有当它作为()时,就把它画出来。
A、某些加工的数据接口B、某个加工的特定输入C、某个加工的特定输出D、某些加工的数据接口或某个加工的特定输入/输出6、对于分层的DFD,父母与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流()A、必须一致B、数目必须相等C、名字必须相同D、数目必须不等7、需求分析阶段不适用于描述加工逻辑的工具是()A、结构化语言B、判定表C、判定树D、流程图8、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后()。
A、获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型。
B、获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型。
C、获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型。
D、获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型。
9、SA方法的基本思想是()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、结构化语言外层中的选择结构使用IF—THEH—EUE—ENDIF等关键词C、结构化语言的内层可以采用祈使语句的自然语言短语。
D、结构化语言外层中的重复结构使用CASE—OF—ENDCASE等关键词。
二、填空题1、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是实现需求。
2、结构化分析的基本思想是采用的方法,能有效地控制系开发的复杂性。
3、由于数据流是流动中的数据,所以必须有。
除了与之间的数据流不用命名外,数据流应该用名词或名词短语命名。
4、流向数据存储的数据流可理解为文件或文件,从数据存储流出的数据可理解为从文件数据或得到结果。
5、利用“数据字典的定义式中出现的符号”,试解释以下定义的数据组成及数据项:①机票=姓名+日期+航班号+起点+终点+费用,表示②姓名={字母}218,是表示③航班号=“Y7100”“Y8100”,表示④终点=[上海]北京[西安],表示。
6、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,其加工逻辑使用描述较好。
7、在IDEF O图中,连在方框上的箭头有四种类型,它们分别是、、和。
8、为了较完整地描述用户对系统的需求,DFD应与数据库中的图结合起来。
9、建立数据字典一般的两种形式是和。
10、结构化语言是介于语言和语言之间的一种半形式语言。
它是在语言基础上加了一些限定,使用有限的词汇和有限的语句来描述加工逻辑,它的结构可分外层和内层两层。
三、名词解释1、需求分析2、结构化分析方法3、IDEF方法四、问答题1、需求分析阶段的基本任务是什么?2、结构化分析方法使用什么描述工具?3、结构化分析方法通过哪些步骤来实现?4、什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?5、什么是数据字典?其作用是什么?它有哪些条目?6、IDEF0方法有什么特点?7、简述SA方法的优缺点?五、应用题1、某银行计算机储蓄系统的功能是:将储户填写存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单给储户。
请用DFD和IDEF0描绘该功能的需求。
2、某考务中心准备开发一个成人自学考试考务管理系统(简称EMS),经过调研,该系统有如下功能:(1)对考生填写的报名单进行审查,对合格的新生,编写准考证发给考生,汇总后的报名单送给阅卷站;(2)对合格的考生制做考试通知单,将考试科目时间、地点安排告诉考生;(3)对阅卷站送来的成绩进行登记,按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书。