软件工程试题与答案-(20)
软件工程复习试题及答案
一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。
2.数据流图和数据字典共同构成了系统的逻辑模型。
3.盒图也称为 N-S图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
4.软件有效性,指软件系统的时间和空间效率。
5.IPO6.数据流图有四种基本成分:源、终点,处理,存储,数据流。
7.其中数据项是组成数据流和数据存储的最小元素。
8.软件工程中的结构化分析SA是一种面向数据流的分析方法。
9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。
10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。
2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。
3.软件测试的步骤:单元、集成、系统、验收。
4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。
5.IPO图由输入、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。
7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。
8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。
9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。
10.常用的测试方法有黑盒测试和白盒测试。
1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。
2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。
3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段。
软件工程试卷及答案多套精品试卷
软件工程试卷及答案多套精品试卷IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()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.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的()A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模 B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程试题及答案
软件工程一、填空题(每题2分,共20分)1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。
2、成本效益分析的目的是从( )角度评价开发一个项目是否可行。
3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( ) 。
4、在JSP方法中解决结构冲突的具体办法是( )。
5、详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。
6、所有软件维护申请报告要按规定方式提出,该报告也称( )报告。
7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。
从程序图来看,一条独立路径是至少包含有一条( )的边的路径。
8、设计任何一个人机界面,一般必须考虑()四个方面。
9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行的方法称为()测试法。
10、()是对软件结构中模快间关联程度的一种度量。
三、判断题(每题2分,共20分)1. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。
()2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。
()3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。
()4. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。
()5. 流程图也称为程序框图是最常用的一种表示法。
6. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。
()7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。
()8. 数据输入的一般准则中包括尽量增加用户输入的动作。
()9. 用穷举测试是较现实的测试方法。
()10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。
软件工程开发学考题(带答案)
一.选择题:1.软件危机出现于___,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。
(C、B )A.50年代末B.60年代初C.60年代末D.70年代初A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作__B_。
A.软件投机B.软件危机C.软件工程D.软件产生3.产生软件危机的原因有如下几点,除了___D__。
A、软件开发过程未经审查B、软件开发不分阶段,开发人员没有明确的分工C、所开发的软件,除了程序清单外,没有其他文档D、采用工程设计的方法开发软件,不符合软件本身的特点4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是__B_。
A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.一个软件项目是否进行开发的结论是在___B__文档中作出的。
A、软件开发计划B、可行性报告C、需求分析说明书D、测试报告6 .变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于_A__。
A.变换型 B 事务型7 .需求分析说明书不能作为___A__。
A、可行性研究的依据B、用户和开发人员之间的合同C、系统概要设计的依据D、软件验收测试的依据8 .结构化分析方法以数据流图、_D__和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图B.PAD图C.IPO图D.数据字典9 .系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在____B_阶段进行的。
A、需求分析B、总体设计C、详细设计D、编码阶段10.下列___D不是模块化设计的目的。
A、可采用结构化设计方法B、降低复杂度C、有利于信息隐蔽D、描述系统的功能与性能11.某个模块的作用域是指___D__。
《软件工程》单项选择题答案
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共20分)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.下列关于JSD方法不正确的说法是( )A.JSD方法主要用于规模不大的数据处理系统B.JSD方法不明确的划分软件概要设计和详细设计的两个阶段C.JSD方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSD方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段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."类库这种机制是( )级别的信息共享。
软件工程试题及答案
一、填空1.结构化分析方法的分析策略是自顶向下逐步求精。
2.衡量模块独立性的两个定性标准是_耦合性与内聚性。
3.软件集成测试的方法主要有两种,它们是渐增式与非渐增式测试。
4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。
5.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求_。
6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是维护阶段。
7.计算机辅助软件工程这一术语的英文缩写为_CASE 。
8.McCall 提出的软件质量模型包括11 个软件质量特性。
9.软件结构是以模块10.软件概要设计的主要任务就是为基础而组成的一种控制层次结构。
软件结构的设计。
11.结构化程序设计方法是使用三种基本控制结构 (条件\控制\循环) 构造程序。
12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和数据存储对象_二、选择1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。
A、Booch 方法B、UML 语言C、OMT 方法D、Coad 方法3、功能模型中所有的( A)往往形成一个层次结构。
在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。
A、数据流图B、概念模型图C、状态迁移图D、事件追踪图4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。
A、问题域分析 B 、高层分析C、实例的建立D、类的开发5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。
A、接口 B 、消息C、信息D、操作6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)A、说明 B 、方法C、过程D、类型9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A)A、多态性 B 、完整性C、可移植性D、兼容10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B)A、隐藏复杂性 B 、信息隐藏C、即存类的重用 D 、类的开发13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
软件工程考试试题(含答案)
一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________.2.基于软件的功能划分,软件可以划分成__________、__________、__________三种.3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究。
4.系统流程图是描绘的传统工具。
它的基本思想是用图形符号以描绘系统里面的每个部件。
5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和。
6.结构化分析方法是面向________________进行需求分析的方法。
结构化分析方法使用________________与________________来描述。
7.是自动地共享类、子类和对象中的方法和数据的机制.8.软件详细设计工具可分为3类,即________________、________________和________________。
9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________。
10.大型软件测试包括、、确认测试和四个步骤.1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD 数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试1.软件设计中划分模块的一个准则是()。
A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的M。
Jackson提出的,它是一种面向()的软件设计方法.A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个(些)是正确的( ).a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.()是用户和设计交换最频繁的方法.A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。
自考软件工程试题答案
自考软件工程试题答案自考软件工程试题及答案一、单项选择题(本大题共20小题,每小题1分,共20分)1.软件生存周期中,准确地确定软件系统必须做什么的阶段是(B)A.可行性分析和项目开发计划B.需求分析C.概要设计D.详细设计2.把瀑布模型和专家系统结合在一起的软件生存周期模型是(B)A.增量模型B.基于知识的模型C.螺旋模型D.喷泉模型3.以下不属于项目开发计划主要内容的是(C)A.实施计划B.交付期限C.测试用例D.人员组织及分工4.使用数据流图来表示系统逻辑模型的是(D)A.JacksonB.VDMC.OOAD.SA5.用于描述结构化分析中数据流加工逻辑的是(A)A.判定树B.ER图C.状态图D.用例图6.若一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入,则该模块的内聚性类型是(C)A.时间内聚B.偶然内聚C.顺序内聚D.功能内聚7.下列几种耦合类型,耦合性最高的是(A)A.公共耦合B.控制耦合C.标记耦合D.数据耦合8.程序流程图的优点不包括(B)A.历史最悠久,使用最广泛B.容易表示逐步求精的过程C.支持程序的三种基本控制结构D.直观清晰,易于使用9.第一个体现结构化编程思想的程序设计语言是(C)A.Cobol语言B.C语言C.Pascal语言D.FORTRAN语言10.确认测试也称为(A)A.有效性测试B.无效性测试C.静态测试D.动态测试11.黑盒测试技术不包括(B)A.等价类划分B.路径覆盖C.边界值分析D.错误推测12.为了增加软件功能和性能、提高软件运行效率而进行的维护活动称为(C)A.校正性维护B.适应性维护C.完善性维护D.预防性维护13.瀑布模型与增量模型之间的本质区别是(B)A.瀑布模型属于非整体开发模型,增量模型属于整体开发模型B.瀑布模型属于整体开发模型,增量模型属于非整体开发模型C.瀑布模型容易适应需求变化,增量模型不容易适应需求变化D.瀑布模型减少技术、应用风险,增量模型增大技术、应用风险14.面向对象分析中,对象模型描述了系统的(A)A.静态结构B.动态结构C.控制结构D.顺序结构15.面向对象设计中存在三种内聚,分别是(D)A.属性内聚、操作内聚、类内聚B.操作内聚、类内聚、整体-部分内聚C.属性内聚、操作内聚、对象内聚D.操作内聚、类内聚、一般-具体内聚16.McCall质量度量模型中,与“软件系统对非授权人访问软件或数据行为的控制程度”所对应的软件质量特性是(B)A.正确性B.完整性C.可维护性D.可用性17.软件工程标准中,JIS属于(B)A.国际标准B.国家标准C.行业标准D.企业规范18.与“程序维护手册”文档有关的人员是(B)A.管理人员和开发人员B.管理人员和维护人员C.维护人员和用户D.管理人员和用户19.软件工具“代码生成程序”属于(C)A.需求追踪工具B.质量保证工具C.设计工具D.文档工具20.软件复杂性度量的参数中,能反映“软件总共的指令数,或源程序行数”的是(A)A.规模B.难度C.结构D.智能度二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
软件工程答案
1. “软件危机”是指( )A. 计算机病毒的浮现B. 利用计算机进行经济犯罪活动C. 软件开辟和维护中浮现的一系列问题D. 人们过分迷恋计算机系统2. DFD 中的每一个加工至少需要( )A. 一个输入流B. 一个输出流C. 一个输入或者输出流D. 一个输入流和一个输出流3. 为了提高模块的独立性,模块之间最好是( )A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合4. 下面关于 PDL 语言不正确的说法是( )A. PDL 是描述处理过程怎么做B. PDL 是只描述加工做什么C. PDL 也称为伪码D. PDL 的外层语法应符合普通程序设计语言常用的语法规则5. 详细设计与概要设计衔接的图形工具是( )A. DFD 图B. 程序图C. PAD 图D. SC 图6. 不适合作为数据处理与数据库应用的语言是( )A. SQLB. CobolC. 4GLD. Lisp7. 下列关于功能性注释不正确的说法是( )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. 快速原型是利用原型辅助软件开辟的一种新思想,它是在研究( )的方法和技术中产生的。
软件工程试卷(附答案)
C.功能模型说明动态模型中约束的含义
D.功能模型说明对象模型中动作的意义
16、以下说法错误的是(D)
A.面向对象方法不仅支持过程抽象,而且支持数据抽象
B.某些面向对象的程序设计语言还支持参数化抽象
C.信息隐蔽通过对象的封装性来实现
D.在面向对象方法中,类是最基本的模块
确认测试:也称为验收测试,它的目标是验证软件的有效性。
上面这句话中使用了确认(validation)和验证(verification)这样两个不同的术语,为了避免混淆,首先扼要地解释一下这两个术语的含义。通常,验证指的是保证软件正确地实现了某个特定要求的一系列活动,而确认指的是为了保证软件确实满足了用需求而进行的一系列活。
20、以下说法错误的是(A)
A.面向对象分析与面向对象设计的行医没有明显区别
B.在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的
C.面向对象分析和面向对象设计活动一个多次迭代的过程
D.从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程
一、多项选择题(每题2分,共20分)
1、软件危机产生的主要原因是(AE)。
4.两个模块通过全程变量相互作用,这种耦合方式称为_____公共耦合______。
5.再详细设计阶段,除了对模块内的算法进行设计,还应对模块内的_____数据结构_____进行设计。
6.子类自动共享父类的属性和操作的机制称为_____继承_____。
7.在UML语言中,利用_____用例图_____来对需求分析中的问题进行描述。
A.可修改性和可理解性
B.可测试性和可理解性
C.效率和可修改性
D.可理解性和可读性
19、以下说法正确的是(C)。
软件工程试题及答案(较详细)
软件工程试题及答案(较详细)软件工程试题及答案 (较详细)一、简答题1. 什么是软件工程?软件工程是一门综合应用计算机科学与工程学、管理学等知识的学科,它致力于开发和维护高质量的软件系统。
它包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件项目能够按时交付、高效运行,并满足用户需求。
2. 请解释什么是软件生命周期?软件生命周期是指软件从构思、开发、使用到废弃的整个过程。
它包括需求分析、设计、编码、测试、部署和维护等多个阶段。
软件生命周期管理的目标是确保软件产品按时、按质量要求交付,并提供后续的支持与维护。
3. 请解释什么是需求工程?需求工程是软件工程中的一个重要阶段,它主要涉及对用户需求的调研、分析、规划和文档化。
通过需求工程,开发人员能够更好地理解用户需求,并将其转化为具体的软件需求规格说明书,为后续的设计和开发提供基础。
4. 什么是软件设计模式?软件设计模式是一套在软件设计过程中重复出现的解决方案。
它们被广泛接受,并被认为是开发高质量、可维护和可扩展软件的有效方法。
常见的软件设计模式包括单例模式、工厂模式、观察者模式等。
二、分析题1. 请说明面向对象和面向过程的编程范式的区别。
面向对象编程(OOP)和面向过程编程(POP)是两种不同的编程范式。
面向过程编程更侧重于任务的步骤和流程,它将问题分解为多个步骤,通过一系列函数或过程的调用来完成任务。
面向过程编程更加注重解决问题的步骤和执行过程。
面向对象编程更注重数据和对象的定义和封装,它将问题看作是一组对象的交互。
面向对象编程通过定义类、创建对象以及对象之间的协作来解决问题。
2. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。
它定义了软件系统中各个组件的职责、交互方式和部署方式。
常见的软件架构模式包括分层架构、客户端-服务器架构、微服务架构等。
3. 解释软件测试中的黑盒测试和白盒测试。
黑盒测试是一种测试方法,它基于对软件系统的功能需求进行测试,而不考虑内部的实现细节。
软件工程期末试卷(十套含答案)
软件工程期末试题(一)单项选择题1.瀑布模型的存在问题是(B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。
A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。
A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。
A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。
A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。
A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A )。
A .状态图 B. 数据流图 C. 系统结构图 D. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
软件工程考试试题(含答案)
一、选择题:(每题1分,共20分)(将答案写在题号前的()中)( C )1. 软件是()。
A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统( B )2. 软件需求规格说明的内容不应包括()。
A. 主要功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能( B )3. 程序的三种基本控制结构是()。
A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。
A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型( C ) 5. 在E-R模型中,包含以下基本成分( )。
A) 数据、对象、实体B) 控制、了解、对象C) 实体、了解、属性D) 实体、属性、操作( A ) 6. 各种软件维护的类型中最重要的是( )。
A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护( B ) 7.软件测试的目标是()。
A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同( D )8.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法( D )10、详细设计的基本任务是确定每个模块的( )设计A.功能 B.调用关系 C.输入输出数据 D.算法( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:()A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则()A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖( A )13.面向数据流的设计方法把()映射成软件结构。
软件工程试卷及答案
一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. “软件工程的概念是为解决软件危机而提出的”这句话的意思是 ( )A.强调软件工程成功解决了软件危机的问题B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题2.瀑布模型的主要特点是 ( )A.将开发过程严格地划分为一系列有序的活动B.将开发过程分解为阶段C.提供了有效的管理模式D.缺乏灵活性3.在软件工程的需求分析阶段,不属于问题识别内容的是 ( )A.功能需求B.性能需求C.环境需求D.输入/输出需求4.画某系统的数据流图时,顶层图有 ( )A.0 张B.1 张C.2 张D.3 张及其以上5.软件模块内聚性最强的是 ( )A.功能内聚B.通信内聚C.偶然内聚D.逻辑内聚6.最早提出软件系统维护问题的阶段是 ( )A.可行性分析B.需求分析C.概要设计D.详细设计7.SD(结构化设计)方法设计的结果是( )A.模块B.模块结构图C.模块的算法D.数据流图8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试( )A.单元测试B.系统测试C.集成测试D.确认测试9.软件详细设计阶段的任务是 ( )A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计10.下列属于静态测试方法的是 ( )A.黑盒法B.路径覆盖C.白盒法D.人工检测11.Fortran 语言主要作为以下哪个方面的语言 ( )A.科学工程计算B.系统软件C.事务处理D.人工智能12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是 ( )A.顺序结构B.选择结构C.嵌套结构D.重复结构l3.可维护软件的主要特性包括 ( )A.可理解性、可修改性、可移植性B.可使用性C.可维护性、可使用性、可靠性D.可测试性14.程序设计语言不具有的特性是 ( )A.心理特性B.工程特性C.应用特性D.技术特性15.下列不属于项目进度安排主要方法的是 ( )A.工程网络图B.Gantt 图C.进度结构图D.任务资源表16.下列不属于通常冗余技术的是 ( )A.结构冗余B.信息冗余C.时间冗余D.代码冗余17.下列工具中,属于需求追踪工具的是 ( )A.在 DBMS 上的应用运行工具B.追踪和状态报告C.访问和版本控制机构D.文件和修改管理18.关于软件测试的目的,下面观点错误的是 ( )A.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C.证明程序是正确、没有错误的D.一个成功的测试用例是发现了至今尚未发现的错误的测试19.在制定项目开发计划文档时,不包含的内容是 ( )A.项目概述B.实施计划C.测试计划D.交付期限20.面向对象的开发方法中,以下哪种方法原是面向 Ada 语言的,并处于面向对象开发方法的奠基性地位( )A.Booch 方法B.Coad 方法C.UML 语言D.OMT 方法二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)请在每小题的空格中填上正确答案。
软件工程期末试卷答案
软件工程试题一一.单项选择题1. 以下不是软件危机的典型表现的是:( D ) 。
A. 对软件开发成本和进度的估计常常很不准确B. 用户对“已完成的”软件系统不满意的现象经常发生C. 软件产品的质量往往靠不住D. 采用面向对象方法开发软件3. 下列哪个不是软件工程方法学中的要素( C )。
A. 方法B. 工具C. 程序D. 过程4. 下列模块的独立性的耦合方式中,最好的是( C )A.公共耦合B. 控制耦合C. 数据耦合D. 内容耦合5.概要设计中,开发人员要解决的最重要的问题是( D ) 。
A. 要让软件做什么B. 要给该软件提供哪些信息C. 要求软件工作效率怎样D. 要让该软件模块具有何种结构6. 为了提高模块的独立性,模块内部最好是( C ) 。
A. 逻辑内聚B. 时间内聚C. 功能内聚D. 通信内聚7. 程序的三种基本控制结构的共同特点是( C ) 。
A. 不能嵌套使用B. 只能用来写简单程序C. 只能一个入口和一个出口D. 已经用硬件实现8. 以下说法错误的是( ) 。
AA. 面向对象分析与面向对象设计的定义没有明显区别B. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程C. 在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的D. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程9. 软件测试过程中的确认测试主要是为了发现( A ) 阶段的错误。
A. 需求分析B. 概要设计C. 详细设计D. 编码10. 在面向对象的高层设计体系结构中,( C ) 是用来描述用户一般使用软件习惯的部分A. 人机交互界面B. 问题论域C. 系统交互界面D. 数据管理11. 为适应软硬件环境变化而修改软件的过程是( B ) 。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护12. 在UML的各类图中,( A )图是描述软件功能的。
A 用例图B 类图C 活动图D 顺序图13.( D )不属于OO三要素。
软件工程考试试题及答案
软件工程考试试题及答案一、单选题1. 软件需求分析是软件工程的哪个阶段?a. 需求分析与定义b. 软件设计c. 软件测试d. 软件维护答案:a. 需求分析与定义2. 下列哪项不是软件工程的基本原则?a. 可复用性b. 高效性c. 可维护性d. 可理解性答案:b. 高效性3. 下列哪项不是软件质量保证的措施?a. 程序员的自我质量保证b. 审计c. 代码复用d. 测试答案:c. 代码复用4. 下列哪个是软件生命周期模型?a. 瀑布模型b. 程序开发模型c. 螺旋模型d. 增量模型答案:a. 瀑布模型5. 在软件工程中,什么是软件配置管理?a. 设计和开发软件的过程b. 管理软件的版本和更改c. 测试软件的过程d. 分配和调度任务的过程答案:b. 管理软件的版本和更改二、多选题1. 下列哪些是软件需求规格说明的内容?(多选)a. 需求的功能描述b. 系统性能要求c. 用户界面设计d. 软件的安装要求答案:a. 需求的功能描述、b. 系统性能要求、d. 软件的安装要求2. 软件测试的目的是什么?(多选)a. 发现软件中的错误b. 确保软件满足需求c. 评估软件的质量d. 提高软件的可维护性答案:a. 发现软件中的错误、b. 确保软件满足需求、c. 评估软件的质量3. 下列哪些是软件维护的类型?(多选)a. 纠错性维护b. 适应性维护c. 完善性维护d. 增量性维护答案:a. 纠错性维护、b. 适应性维护、c. 完善性维护、d. 增量性维护三、判断题1. 软件工程是一门工程学科,它包括对软件进行开发、测试、维护和管理等方面的知识。
(正确/错误)答案:正确2. 软件需求分析是软件开发的最后一步。
(正确/错误)答案:错误3. 软件测试的目的是为了证明软件是没有错误的。
(正确/错误)答案:错误四、简答题1. 简述软件生命周期模型中的瀑布模型。
答案:瀑布模型是软件生命周期模型中最早的模型之一。
它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。
软件工程测试题+参考答案
软件工程测试题+参考答案一、单选题(共40题,每题1分,共40分)1、窃听是一种()攻击,攻击者()将自己的系统插入到发送站和接收站之间。
截获是一种()攻击,攻击者()将自己的系统插入到发送站和接受站之间。
A、被动,无须,主动,必须B、被动,必须,主动,无须C、主动,无须,被动,必须D、主动,必须,被动,无须正确答案:A2、如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击?A、重放攻击B、Smurf 攻击C、中间人攻击D、字典攻击正确答案:C3、黑客攻击服务器以后,习惯建立隐藏用户,下列哪一个用户在DOS命令net user下是不会显示的。
A、fg#B、fg%C、fg_D、fg$正确答案:D4、下列哪一种方法在支持向量机中有应用A、拉格朗日乘子法B、二分法C、最小二乘法D、极大似然估计正确答案:A5、设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为A、6B、6.5C、11D、5正确答案:B6、对N个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为A、NB、N/2C、(N+1)/2D、[(1+N)*N ]/2正确答案:C7、信息安全中PDR模型的关键因素是()。
A、人B、客体C、技术D、模型正确答案:A8、某业务系统具有上传功能,页面上传的文件只能上传到UPLOAD目录,由于上传页面没有过滤特殊文件后缀,存在上传漏洞,而短时间厂家无法修改上传页面源码,现采取如下措施,哪种措施可以暂时防止上传漏洞危害又不影响业务系统正常功能。
A、禁止UPLOAD目录访问权限B、删除上传页面C、禁止UPLOAD目录执行脚本文件D、以上措施都不正确正确答案:C9、在各种作业调度算法中 , 若所有作业同时到达 , 则平均周转时间最短的算法是()。
A、多级反馈队列调度算法B、先来先服务调度算法C、高优先级优先调度算法D、短作业优先调度算法正确答案:D10、下面()不是数据字典的内容。
软件工程题库(含答案)
软件工程题库(含答案)一、单选题(共60题,每题1分,共60分)1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( )A、可用性B、正确性C、完整性D、可靠性正确答案:D2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ).A、可移植性B、可理解性C、可重用性D、可修改性正确答案:A3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。
A、容错性B、检测性C、可操作性D、安全性正确答案:C4、下列属于维护阶段的文档是( )A、软件问题报告B、用户操作手册C、软件测试分析报告D、软件规格说明正确答案:B5、快速原型模型的主要特点之一是( )A、及早提供工作软件B、开发完毕才见到产品C、及早提供全部完整的软件产品D、开发完毕后才见到工作软件正确答案:C6、可维护性通常包括( )。
A、可用性和可理解性B、可修改性、数据独立性和数据一致性C、可理解性、可修改性和可测试性D、可测试性和稳定性正确答案:C7、软件的可修改性支持软件的( )。
A、可互操作性B、可维护性C、可追踪性D、有效性正确答案:B8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )A、数据通信B、数据定义C、数据维护D、数据库设计正确答案:B9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。
A、可追踪性B、可理解性C、可互操作性D、可维护性正确答案:C10、可维护性的特性中相互促进的是( )A、效率和可移植性B、可理解性和可测试性C、效率和结构好D、效率和可修改性正确答案:B11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
A、可靠性B、易使用性C、正确性D、准确性正确答案:A12、设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X 需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( )A、信息隐藏和局部化的根据B、逐步求精的根据C、抽象的根据D、模块化的根据正确答案:D13、下列说法中,不正确的是( )。
软件工程 考试 选择题带答案
一、选择题(每题2分,共40分)1.软件项目的可行性研究要进行一次( C )需求分析。
A.详细的 B.全面的 C.简化的、压缩的D.彻底的2、系统流程图用于可行性分析中的( A )的描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统3、程序的三种基本控制结构的共同特点是( D )A.不能嵌套使用 B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口4、维护中,因误删除一个标识符而引起的错误是( C )副作用。
A.文档B.数据C.编码D.设计5、( D )是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审6、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;( C );对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A.开发过程基于功能分析和功能分解B.强调需求分析重要性C.把对象划分成类,每个对象类都定义一组数据和方法D.对既存类进行调整7、原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。
A.需求不确定性高的B.需求确定的C.管理信息D.实时8、为了提高测试的效率,应该( D )。
A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据9、使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能10、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生11、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B )。
软件工程期末考试参考题及答案
软件工程期末考试参考题及答案Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#一、填空题(每空1分,共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。
5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。
6.__数据流图________和__数据字典___共同构成系统的逻辑模型。
7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。
9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每小题2分,共10分)1.下列哪个阶段不属于软件生存周期的三大阶段( C )。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是( A )。
3. A、软件开发工作的基础 B、软件生存周期的开始4. C、由系统分析员单独完成的 D、由用户自己单独完成的5.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要( B )。
6. A、明确的需求定义 B、完整的生命周期7. C、较长的开发时间 D、熟练的开发人员8.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程期末试卷(A)说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟一、选择题:(每题1分,共20分)(将答案写在题号前的()中)( C )1. 软件是()。
A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统( B )2. 软件需求规格说明的内容不应包括()。
A. 主要功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能( B )3. 程序的三种基本控制结构是()。
A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。
A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型( C ) 5. 在E-R模型中,包含以下基本成分( )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作( A ) 6. 各种软件维护的类型中最重要的是( )。
A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护( B ) 7.软件测试的目标是()。
A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同( D )8.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法( D )10、详细设计的基本任务是确定每个模块的( )设计A.功能 B.调用关系 C.输入输出数据 D.算法( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:()A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则()A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖( A )13.面向数据流的设计方法把()映射成软件结构。
A.数据流B.系统结构C.控制结构D.信息流( A )14.内聚程度最低的是( )内聚A.偶然B.过程C.顺序D.时间( A )15.确定测试计划是在( )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试(D )16.需求分析的产品是()A.数据流程图案B.数据字典C.判定表D.需求规格说明书(C )17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是()A.数据库设计B.数据通信C.数据定义D.数据维护( D )18.( )引入了“风险驱动”的思想,适用于大规模的内部开发项目。
A.增量模型B.喷泉模型C.原型模型D.螺旋模型( D )19.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚( D )20.提高测试的有效性非常重要,成功的测试是指( )A.证明了被测试程序正确无误B. 说明了被测试程序符合相应的要求C.未发现被测程序的错误D.发现了至今为止尚未发现的错误二.判断题(每题1分,共10分)将答案写在题号前的()中,正确用√,错误用χ。
(×)1、开发软件就是编写程序。
(×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。
(×)3、编程序时应尽可能利用硬件特点以提高程序效率.(×)4、软件需求分析的任务是建立软件模块结构图。
(√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。
(×)7、进行总体设计时加强模块间的联系。
(×)8、编码时尽量多用全局变量.(√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。
三、填空题(每题1分,共5分):将结果填在()1、将下面的关系按继承关系、聚集关系或普通关联进行分类。
小汽车---------红旗轿车(继承)小汽车---------驾驶员(普通关联)班级------------学生(聚集)2、将下列各项分为类或类的实例我的汽车(实例)交通工具(类)三、简答题:(每题5分,共25分)1. 软件生命期各阶段的任务是什么?答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。
2、软件重用的效益是什么?答:1、软件重用可以显著地改善软件的质量和可靠性。
2、软件重用可以极大地提高软件开发的效率。
3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。
3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点?答:①自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。
缺点:需要存根程序,底层错误发现较晚。
②自底而上渐增测试优点与缺点和自顶而下渐增测试相反。
4 、提高可维护性的方法有哪些?答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。
在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。
在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。
在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。
在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。
在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。
在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。
为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。
5、简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。
【解答】测试过程按4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。
单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。
集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
与其相关的文档是集成测试计划和软件需求说明书。
确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
与其相关的文档是确认测试计划和软件需求说明书。
平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。
与其相关的文档:用户指南、使用手册等。
四、应用题(每题8分,共40分)1、假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。
对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。
零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。
当某种零件的库存数量少于库存量临界值时就应该再次定货。
要求:画出系统的数据流图。
答:2、将下面给出的伪码转换为N-S图和PAD图。
void root ( float root1, float root2 ) {i = 1;j = 0;while ( i <= 10 ) {输入一元二次方程的系数a, b, c;p = b*b – 4*a*c;if ( p < 0 ) 输出“方程i无实数根”;else if ( p > 0 ) 求出根并输出;if ( p == 0 ) {求出重根并输出;j = j + 1;}i = i +1;}输出重根的方程的个数j;}【解答】(1)N-S图(2)PAD图i = 1; j = 0;while ( i <= 10 )输入a, b, c; 计算p = b2- 4ac;p < 0 ?输出“方程i”无实根求出根并输出↓p > 0 ?p == 0 ?求出重根并输出; j = j + 1;↓i = i + 1;输出重根的方程个数iTTTFFFi = 1; j = 0;while ( i <= 10 )输入a,b,c; 计算p = b2–4ac;求出根并输出p > 0 ?p < 0 ?3、:输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”. 要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度; 3.设计路径覆盖的测试用例。
答:路径: 1.①—②—③—④—⑥—⑦ 2.①—②—⑤—⑥—⑦ 3.①—⑤—⑥—⑦ 4.①—②—③—⑤—⑥—⑦程序复杂度=3+1=4测试用例① ②③ ④ ⑤⑥⑦ⅠⅡⅢⅣ路径测试用例(A,B,C)结果1 A=3,B=4,C=5 A=3,B=4,C=52 A=5,B=8,C=2 不能构成三角形3 A=2,B=2,C=5 不能构成三角形4 A=5,B=2,C=2 不能构成三角形4、某航空公司规定,乘客可以免费托运重量不超过30kg的行李。
当行李重量超过30kg时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。
用判定树表示与上述每种条件组合相对应的计算行李费的算法.答案:5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。
该公司有许多员工,员工分为经理,工作人员和开发人员。
开发部门有经理和开发人员,管理部门有经理和工作人员。
每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,每位经理可主持多个开发项目,建立该公司的对象模型。
答案:软件公司部门名部门开发部门管理部门软件产品开发人员经理开发项目工作人员员工是是有有有有开发参加1+1+1+1+1+1+1+▼▼▼▼▼有。