(完整word版)浙江大学城市学院2014年软件工程期末考题

合集下载

软件工程期末试题(含答案)解析

软件工程期末试题(含答案)解析

一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。

2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。

3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。

4.系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。

6.结构化分析方法是面向_数据流_进行需求分析的方法。

结构化分析方法使用_数据流图DFD_与_数据字典_来描述。

7.继承性是自动地共享类、子类和对象中的方法和数据的机制。

8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。

10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C )。

A、低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。

A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。

(完整word版)软件工程习题及答案解析

(完整word版)软件工程习题及答案解析

软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。

A、变换型B、事务型8。

PAD(Problem Analysis Diagram)图是一种工具.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. 结构化程序设计主要强调程序的。

《软件工程》期末考试复习题及参考答案

《软件工程》期末考试复习题及参考答案

软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。

2.软件概要设计的主要任务就是___软件结构的设计___。

3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。

4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。

5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。

6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

8.软件结构是以模块为基础而组成的一种控制层次结构。

9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。

10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。

12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。

14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。

15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。

16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。

17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。

18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。

19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。

软件工程期末考试参考考试试题

软件工程期末考试参考考试试题

软件工程期末考试参考试题一、填空题1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护阶段;2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件;3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择;4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标;5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计方SD,以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法OOD;6、数据流图和数据字典共同构成系统的逻辑模型;7、软件测试的方法有分析方法和非分析方法即黑盒法;8、单元测试一般以白盒测试为主,黑盒测试为辅;9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型;10.文档document—一种数据媒体和其上所记录的数据;11机器语言、汇编语言:依赖于机器,面向机器12.软件有效性efficiency,指软件系统的时间和空间效率;13.软件定义过程可通过软件系统的可行性研究和需求分析两个阶段来完成;14.软件定义的基本任务是确定软件系统的工程需求,也就是要搞清“做什么”;15.为了使用户需求逐步精细化、完全化、一致化,通常采用需求建模技术;16.一个软件的深度是指其控制的层数;17.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫编码过程;18.软件维护是软件生命周期的最后一个阶段19.软件工程由方法、工具和过程三部分组成,称软件工程的三要素;20.基于计算机系统的软件要素中的软部件由程序、数据和文档组成;21.数据流图就是用来刻画数据流和转换的信息系统建模技术;它用简单的图形记号分别表示数据流、转换、数据源以及外部实体;22.被继承的类我们称之为基类父类,在基类的基础上新建立的类我们称之为派生类子类;23.流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和循环三个基本控制构件;24.机器语言和汇编语言,也称为低级语言;25.软件测试是执行程序发现并排除程序中潜伏的错误的过程;26.软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的难易程度;27.软件可理解性,指系统具有清晰的结构,能直接反映问题的需求;28在实体-关系图简称E-R图中,数据对象实体用长方形、关系用菱形、属性用椭圆表示;29.建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的来源和一个输出数据流来反映加工的结果30.从工程管理的角度软件设计可分为概要设计和详细设计两大步骤;31.通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可交互性的措施之一;32.程序设计语言的可靠性是指程序设计语言本身不出错或对错误的纠正能力;33.对发现错误较多的程序模块,应进行重点测试;34.测试用例中,不仅要选择合理的输入数据,还要选择不合理的输入数据;二、单项选择题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、对在数据流图中每一个命令的图形元素均给以定义是BA、条目定义B、数据字典C、数据定义D、数据说明7、软件的可行性研究中不包括DA、法律可行性B、技术可行性C、经济可行性D、政治可行性8、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为C;A.纠错性维护B.适应性维护C.改善性维护D.预防性维护9、人机界面的风格大致经过了B代的演变;A.三B.四C.五D.六10、以下不属于白盒测试技术的是DA.逻辑覆盖B.基本路径测试C.循环覆盖测试D.等价类划分11、为改正软件系统中潜藏的错误而进行的维护活动称为A;A.纠错性维护B.适应性维护C.改善性维护D.预防性维护12、从事物的组成部件及每个部件的属性、功能来认识事物;这种方法被称为A的方法;A、面向对象B、面向数据C、面向过程D、面向属性13、判定表由四部分组成:左上部列出B;A.条件组合与动作之间的对应关系B.所有条件C.所有可能的动作D.可能的条件组合14、面向对象的分析和设计OOA&OOD方法出现在20世纪C年代中期;、耦合度也可以分为七级:其中最松散的耦合是A;A.非直接耦合B.数据耦合C.特征耦合D.控制耦合16、面向对象方法是将现实世界的事物以对象的方式B到计算机世界的方法;A.对应B.映射C.反映D.反射17、盒图也称为D或Chapin图;这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题;A.流程图B.框图C.判定表图18、描述静态数据结构的概念模式是A;A、E-R图B、DFDC、结构图D、框图19、结构化程序设计理论认为,实现良好的程序结构要应用A的分析方法;A、自顶向下B、自底向上C、面向对象D、基于组件20、在结构化程序设计当中,不建议使用D;A、分支语句B、循环语句C、子程序调用语句D、转向语句21、软件生产过程中,需求信息由D给出;A、程序员B、项目管理者C、软件分析设计人员D、软件用户22、在下列的基本成分中,哪个不是数据流程图的基本成分DA、信息处理B、信息存储C、外部实体D、系统状态23、与设计测试数据无关的文档是D;A、需求说明书B、设计说明书C、源程序D、项目开发设计三、多项选择题每小题2分,共10分1. 下面哪些测试属于白盒测试AE;A、基本路径测试B、等价类划分C、边界值分析D、错误推测E、逻辑覆盖测试2. 下列哪些选项是属于内容耦合ABC;A、一个模块直接访问另一个模块的内部数据B、一个模块有多个入口C、一个模块不通过正常入口转到另一模块内部D、一个模块只有一个入口3. 下列属于度量效益方法的是ABC;A、货币的时间价值B、投资回收期C、收入D、投资回报率4. 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的ACD;A、自顶向下B、自底向上C、分层绘制D、逐步求精5. 软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具ACD;A、结构图B、实体联系图C、IPO图D、层次图四、判断题;1、在进行总体设计时应加强模块间的联系;×2、系统结构图是精确表达程序结构的图形表示法;因此,有时也可以将系统结构图当作系统流程图使用;×3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的;×4、在程序调试时,找出错误的位置和性质比改正该错误更难;√5、以对象、类、继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一;√6、如果通过软件测试没有发现错误,则说明软件是正确的;×7、快速原型模型可以有效地适应用户需求的动态变化;√8、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品;√9、集成测试主要由用户来完成;×10、软件危机完全是由于硬件问题引起的;×11.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一;√12.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力;×13.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求;√14.快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合;√15.流程图也称为程序框图是最常用的一种表示法;√16.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤;√17.理想的人机界面应针对具有典型个性的特定的一类用户设计;√18.数据输入的一般准则中包括尽量增加用户输入的动作;×19.用穷举测试是较现实的测试方法;×20、编码时应尽可能使用全局变量×21、重视程序结构的设计,能使程序具有较好的层次结构√22、程序中的注解越少越好×23.纠错性维护是改正运行期间发现的潜伏错误;√24.软件可移植性portability,是指软件从一个计算机系统或环境移植到另一个上去的难易程度;√25.软件复杂性不能反映出软件的可理解性、模块化、简单性等属性;×26.当程序内的分支数和循环数增加时,VG值将随之增加,即程序的复杂性增大;√27.一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合;√28.设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以及人-机工程学、语言学等学科的知识;×29.第四代语言4GL还局限在某些领域内,如数据库查询语言;√30.不同程序设计语言在程序的效率上的差异不大;×31.编码的依据是详细设计说明书;√32.程序文档应该包括代码的功能、代码的完成者等内容;√33.软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成;√34.预防性维护是修改软件,以适应软硬件环境的变化;×35.开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一;√36.据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以下;×37.数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能;×38.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程;√39.最高耦合度是数据耦合;×40.人机界面Human-ComputerInterface,简称HCI又称人-机接口或用户界面;√41.在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形式和风格;×42.判定覆盖必然满足语句覆盖;√43.为提高可交互性一般对大多数操作动作应允许用户恢复;同时应尽量减少用户记忆的信息量;√44.编程中应采用统一的标准和约定,降低程序的复杂性;√45.软件在使用过程中维护不十分复杂;×46.软件可重用性reusability,是指软部件可以在多种场合使用的程度;√47.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一;√48.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合;√49.流程图也称为程序框图是最常用的一种表示法;√50.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤;√51、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动;×52.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动;√53.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义;×语言编译器是一个CASE工具;√55.软件是指用程序设计语言如PASCAL,C,VISUALBASIC等编写的程序,软件开发实际上就是编写程序代码;×56.软件模块之间的耦合性越弱越好;√57.数据库设计说明书是一个软件配置项√58.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板;×59.过程描述语言可以用于描述软件的系统结构;×60.快速原型模型可以有效地适应用户需求的动态变化;√61.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品;√62.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解;√63.并发系统中遇到的一个主要问题是定时问题;√64.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换;√65.软件重用是提高软件开发生产率和目标系统质量的重要途径;√66.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖;√67.PowerDesigner是一个CASE工具;√68.在进行需求分析时需同时考虑维护问题;×69.UML是一种面向对象的分析设计方法,即OOA/OOD方法;×70.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板;√五、简答题1、什么是软件危机为什么会产生软件危机答:软件危机是指软件在开发和维护过程时所遇到的一系列问题;主要包含二方面的问题:一是如何开发软件以满足社会对软件日益增长的需求,二是如何维护数量不断增长的已有软件;产生软件危机的原因:一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关;2、耦合性有哪几种类型 其耦合度的顺序如何其中,1、2、3属于弱耦合,4属于中度耦合,5、6属于较强耦合、7属于强耦合;非直接耦合数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合其中,1、2、3属于低内聚,4属于中内聚,5、6属于高内聚;3、简述需求分析工作可以分成哪四个方面软件需求分析的有哪三个基本原则答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审;三个基本原则:①必须能够表达和理解问题的数据域和功能域;②必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;③要给出系统的逻辑视图和物理视图;4、什么是黑盒测试法答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息;5、什么是软件生存周期答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到软件产品被淘汰的全过程;6、在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么内内聚聚性性低高 模块独立性强 弱 耦合性低 高答:系统流程图是描述物理系统的传统工具;它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件程序、文件、数据库、表格、人工过程等;系统流程图表达的是部件的信息流程,而不表示信息进行加工处理的控制过程;7、为什么数据流图要分层答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的;为表达稍微复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系;8、软件的质量反应为哪些方面的问题答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量;在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件;如果不遵这些开发准则,软件质量就得不到保证;往往会有一些隐含的需求没有明确地提出来;如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证;软件质量是各种特性的复杂组合;它随着应用的不同为不同,随着用户提出的质量要求不同而不同;9、软件工程的基本原则有抽象、信息隐藏、模块化和其他哪些内容软件工程必须遵循那些基本原则答:1抽象2信息隐藏2分3模块化2分4局部化5一致性6完全性7可验证性2分10、常用的软件项目的估算方法主要有哪4种1自顶向下的估算方法2自底向上的估算方法3差别估算法4根据经验估算公式11、原型法模型一般适应哪些场合它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员包括分析员、设计员、程序员和用户不能很好交流或通信有困难的情况;12、简答结构化程序设计的内容及基本要点;内容:是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件;基本要点:1采用自顶向下,逐步求精的程序设计方法;2使用三种基本控制结构构造程序,分别是顺序,选择和循环3采用主程序员组的组织形式;4采用单入口单出口的模块形式;13、瀑布模型一般适应哪些场合瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发;例如操作系统、编译系统、数据库管理系统等系统软件的开发;应用有一定的局限性;14、软件工程的目标是什么答:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品;15、螺旋模型的适应场合有哪些答:适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型;16、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容答:1风险标识2风险估算3风险评价4风险驾驭和监控;17、软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成答:1详细设计2实现3组装设计4验收测试18、实体—关系Entity-Relation图简称E-R图,是表示数据对象及其之间关系的图形语言机制;19、需求评审标准按照重要性的次序包括哪些内容答:1正确性2无歧义性3完全性4可验证性5一致性6可理解性7可修改性8可追踪性;20、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据;21、需求分析的任务是什么答:需求分析的任务是确定待开发的软件系统“做什么”;具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册;22、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用;23、快速原型技术的基本思想是什么答:在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进;24、程序设计语言有哪些特点答:1一致性2二义性3紧致性4局部性25、可将软件生存周期划分为哪3个过程和哪9个阶段答:13个过程是:软件定义过程、软件开发过程、软件使用与维护过程;29个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役;六、分析设计题1. 某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同助教,讲师,副教授,教授作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资;请用等价类划分法设计测试用例;答:设计测试用例:2. 当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国内乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半;用判定树表示计算行李费的算法;3、画出与图1所示的程序流程图对应的流图,并试计算其环形复杂度VG;解:1流图如图2所示:2计算其环形复杂度:VG=E–N+2=13–10+2=5。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。

需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。

(2) 什么是软件需求?简述软件需求分析的过程。

答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。

软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。

其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。

3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。

请简要讨论软件版本控制的几种常见方式及其优缺点。

答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。

每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程试题及答案第一部分选择题一、单项选择题每小题1分,共20分。

(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。

A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的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。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

一、填空题二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。

1.在进行需求分析时同时考虑维护问题。

()2.完成测试后,为缩短源程序长度而删去程序中的注释。

()3.尽可能在软件开发过程中保证各阶段文档的正确性。

()4.编码时尽可能使用全局变量。

()5.选择时间效率和空间效率尽可能高的算法。

()6.尽可能利用硬件的特点以提高效率。

()7.重视程序结构的设计,使程序具有较好的层次结构。

()8.使用维护工具或软件工程环境。

()9.进行概要设计时尽可能加强模块间的联系。

()10.提高程序可读性,尽可能使用高级语言编程。

()三、按下述要求完成给出的程序流程图,即在答案栏内写出图中A、B、C、D、E的正确内容给程序输入二维数组W(I,J),其中I≤M,J≤N(MT N均为正整数)。

程序打印出数组中绝对值最小的元素值Q=W(K,L),及其下标K、L的值。

假定数组中仅有一个绝对值最小的元素。

应该完成的程序流程图如下所示[答案栏]A:B:C:D:E:四、下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做到用语句覆盖和路径覆盖五、某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨外地电话需先拨0,如果是本市电话再接着拨8位电话号码(第1位不是0),如果是外地电话则先拨区码(3~5数字),再拨当地电话号码(7或8位数字,第1位不是0)。

请定义上述的电话号码。

六、以下是用程序流程图描绘的处理算法,请把它改画为等价的盒图。

七、办公室复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排队故障,故障排除后回到闲置状态。

《软件工程》期末考试试卷(A卷)

《软件工程》期末考试试卷(A卷)

2016-2017学年度第一学期 2014级信安《软件工程》期末考试试卷(A卷)第一部分.单选题(共30分,每小题1分)软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指 1 。

在软件工程思想提出之前,开发软件所需的高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 2 ,产生它的原因是 3 。

为了解决这种矛盾,人们提出用工程化的原则指导软件的生产、维护和管理,以达到 4 的目标。

1.(A). 原型化方法(B). 面向对象方法(C). 结构化方法(D). Jackson方法2.(A). 软件投机(B). 软件过程(C). 软件生命周期(D). 软件危机3.(A). 不重视需求,开发过程中缺乏科学的方法(B). 开发过程中管理困难(C). 软件本身的特点(D). 以上都是4.(A). 获取需求(B). 消除软件固有的复杂性(C). 努力发挥开发人员的潜能(D). 经济地开发出高质量的软件5 是软件生存期中的一系列相关软件工程活动或任务的框架,它规定了完成各项任务的步骤,有多种典型的软件过程模型,其中,瀑布模型是6 ;增量模型是7 ,快速原型模型是8 ,喷泉模型是9 。

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 。

软件工程期末试题(部分答案)

软件工程期末试题(部分答案)

软件⼯程期末试题(部分答案)选择题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. ()先于任何技术活动之前开始,贯穿于软件的整个⽣命周期中。

A.项⽬计划B.风险评估C.软件测试D.软件项⽬管理14. 实现包括编码和()两个阶段。

A.选择开发⼯具B.测试C.数据库设计D.程序复杂度计算16.下⾯具有继承关系的⼀组是()。

A.铅笔-钢笔B.冰箱-空调C.汽车-客车D.教师-学⽣17. 软件的()是理解和使⽤该系统的容易程度。

软件工程期末考试试卷(附答案)

软件工程期末考试试卷(附答案)

《软件工程》期末考试试卷一、填空题(在括号内填写正确的答案,每空1分,共25分)1.软件工程学的基本原则包括、、一致性、确定性等。

2.软件生存周期一般可分为、可行性研究、、设计、编码、、运行与维护阶段。

3.成本估计方法主要有、和算法模型估计三种类型。

4.数据流图的基本符号包括、、、。

5.JSD是一种典型的的分析设计方法。

6.详细设计的工具有、表格工具和。

7.IPO图由、处理和三个框组成。

这个图的特点是能够直观的显示三者之间的关系。

8.面向对象技术是一整套关于如何看待和的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。

面向对象方法是一种运用、、、、聚集、消息传送、多态性等概念来构造系统的软件开发方法。

9.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的。

10.程序测试是对编码阶段的语法错、和进行查找的编码执行活动。

二、单项选择题(将一个正确的答案代码填入括号中,每小题2分,共10分)1.下列哪个阶段不属于软件生存期的三大阶段()。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.下列哪个图不是N-S图的构件()。

3.对于下列各图,有关描述中正确的是()。

A、数据A和B同时输入变成CB、数据A变换成B和CC、数据A或数据B(不能同时)输入,变换成CD、数据A变换成B和C4.下列哪种方法不是度量效益的方法()。

A、货币的时间价值B、算法模型估计C、投资回收期D、纯收入5.下列描述错误的是()。

A、数据流图将各种信息流抽象成数据流的形式B、数据流图不反映控制关系、调用关系C、数据流图不反映处理逻辑的先后顺序D、数据流图不反映数据的流向XYA、WHILE MBB、XYC、UNTIL NCD、BCBCCC三、多项选择题(将正确的答案代码填入括号中,每小题3分,共15分)1.需求分析阶段应该完成的文档资料包括()。

A、系统规格说明B、数据要求C、用户系统描述D、修正的开发计划2.下列关于模块的描述,正确的是()。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

软件⼯程期末试题(含答案)⼀、填空题(每空1分,共25分)1.软件⽣存周期⼀般可以划分为,问题定义、可⾏性研究、需求分析、设计、编码、测试和运⾏和维护。

2.基于软件的功能划分,软件可以划分成___系统软件_、⽀撑软件、应⽤软件__三种。

3.可⾏性研究,应从经济可⾏性、技术可⾏性、运⾏可⾏性、法律可⾏性和开放⽅案可⾏性等⽅⾯研究。

4.系统流程图是描绘物理系统的传统⼯具。

它的基本思想是⽤图形符号以⿊盒⼦形式描绘系统⾥⾯的每个部件5.数据流图的基本四种成分:数据输⼊的源点和数据输出汇点、加⼯、数据流和数据存储⽂件。

6.结构化分析⽅法是⾯向_数据流_进⾏需求分析的⽅法。

结构化分析⽅法使⽤_数据流图DFD_与_数据字典_来描述。

7.继承性是⾃动地共享类、⼦类和对象中的⽅法和数据的机制。

8.软件详细设计⼯具可分为3类,即_图⽰⼯具_、_设计语⾔_和_表格⼯具_。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。

10.⼤型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

七、单项选择题(每⼩题2分,共20分)1.软件设计中划分模块的⼀个准则是(C )。

A、低内聚低耦合 B.低内聚⾼耦合C.⾼内聚低耦合 D.⾼内聚⾼耦合2.Jackson设计⽅法是由英国的M. Jackson提出的,它是⼀种⾯向( C )的软件设计⽅法。

A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是⽤户和设计交换最频繁的⽅法。

A、原型化⽅法B、瀑布模型⽅法 C. 螺旋模型⽅法D、构件组装模型5.软件⼯程⽅法学的⽬的是:使软件⽣产规范化和⼯程化,⽽软件⼯程⽅法得以实施的主要保证是( C )。

软件工程 期末考试题(含答案)

软件工程 期末考试题(含答案)

软件工程期末考试题(含答案)软件工程期末考试题(含答案)一、选择题1. 在软件项目管理中,以下哪个阶段不属于软件开发的基本阶段?A. 需求分析阶段B. 设计阶段C. 开发阶段D. 测试阶段答案:D2. “面向对象”是一种软件系统开发的基本方法论,以下哪个不属于面向对象的特点?A. 封装性B. 继承性C. 多态性D. 并发性答案:D3. 软件开发过程中,以下哪个模型不属于常见的软件开发模型?A. 瀑布模型B. 敏捷模型C. 增量模型D. 螺旋模型答案:D4. 在软件测试中,以下哪个不属于黑箱测试方法?A. 等价类划分测试B. 边界值测试C. 功能性测试D. 白盒测试答案:D二、简答题1. 请简述软件工程的定义和目标。

软件工程是研究和应用工程原理、方法和工具,以开发、维护和管理软件系统的工程学科。

其目标是提高软件开发效率、软件质量和软件项目管理能力,以满足用户的需求。

2. 什么是软件需求工程?请简要阐述软件需求工程的过程。

软件需求工程是指在软件开发过程中,通过系统化的方法和工具,对用户需求进行获取、分析、定义和规格化的过程。

软件需求工程的过程包括以下几个步骤:1) 需求获取:通过与用户沟通、分析用户需求文档等方式,获取用户对软件系统的需求。

2) 需求分析:对获取的需求进行验证、整理和分类,识别出关键需求和优先级,并进行需求的可行性评估。

3) 需求定义:将需求进行详细而准确的描述,包括功能需求、性能需求、界面需求等。

4) 需求规格化:将需求转化为形式化的规格说明,包括用例图、状态图、数据流图等工具。

5) 需求验证:通过与用户或相关人员的确认,验证需求规格是否准确、完整和一致。

三、综合题某公司决定开发一个在线购物系统,你作为软件工程团队的负责人,请围绕该系统的需求分析、设计和测试等方面,给出相应的工作计划。

1. 需求分析阶段:(1) 与项目发起人进行需求讨论,明确系统的功能和性能需求,并进行需求分析和整理,编写需求文档。

软件工程期末考试试卷附答案

软件工程期末考试试卷附答案

软件工程期末考试试卷附答案软件工程期末考试试卷(附答案)引导语:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。

以下是店铺整理的软件工程期末考试试卷(附答案),欢迎参考!一、选择题:(每题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需要的工作量(时间)。

软件工程期末考试题含答案(供参考)

软件工程期末考试题含答案(供参考)

一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的概念、可行性研究、软件需求分析、系统整体设计、详细设计、编码、测试和运行、保护。

八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。

( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪个阶段概念的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段D .可行性研究阶段,3.软件工程的出现主如果由于(C ) ,A.程序设计方式学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方式学的目的是:使软件生产规范化和工程化,而软件工程方式得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常利用的两种大体方式是结构化和原型化方式,在实际的应用中,它们之间的关系表现为(B)A.彼此排斥B彼此补充C独立利用 D.交替利用是软件开发中的一个重要工具,它主要应用于哪一种软件开发方式(C)A.基于瀑布模型的结构化方式 B.基于需求动态概念的原型化方式C.基于对象的面向对象的方式 D.基于数据的数据流开发方式7.在下面的软件开发方式中,哪个对软件设计和开发人员的开发要求最高(B)A.结构化方式B原型化方式C面向对象的方式 D.控制流方式8.结构化分析方式是一个预先严格概念需求的方式,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方式将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.整体设计.详细设计.编程调试 D.需求分析.功能概念.系统设计10.软件开发的瀑布模型,一般都将开发进程划分为:分析、设计、编码和测试等阶段,一般以为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方式学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节犯错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

诚信应考 考出水平 考出风格 浙江大学城市学院 2013 — 2014 学年第 一 学期期末考试试卷 《 软件工程 》 开课单位: 计算分院 ;考试形式:闭、开卷;考试时间:__2014_年__1__月__10_日; 所需时间: 120 分钟一._单项选择题_____(本大题共__15__题,每题___1___分,共___15___分。

) 1. 软件开发的各种资源中,( )是最重要的资源。

A 开发工具 B 方法 C 硬件环境 D 人员 2. ( )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A 多态性 B 继承 C 封装 D 消息 3. CMM 提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干( )。

A 关键实践 B 软件过程性能 C 软件过程能力 D 软件过程 4.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流 ( ) 。

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. 在面向对象的高层设计体系结构中,( ) 是OOD导出的体系结构的核心部分。

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. 可维护的特性中,相互矛盾的是( ) 。

A. 可修改性和可理解性B. 效率和可修改性C. 可测试性和可理解性D. 可理解性和可读性请从供选择的答案中选出正确或合适的答案填入( ) 中。

1. 软件需求分析的任务不应包括( A ) ,进行需求分析可使用多种工具,但( B )是不适用的。

在需求分析中,开发人员要从用户那里解决的最重要问题是( C ) 。

需求规格说明书的内容不应包括( D ) 。

该文档在软件开发中具有重要作用,但其作用不应包括( E ) 。

供选择的答案:A:①问题分析②信息域分析③结构化程序设计④确定逻辑模型B:①数据流程图②判定表③PAD图④数据词典C:①要让软件做什么②要给该软件提供哪些信息③要求软件工作效率怎样④要让该软件具有何种结构D:①对重要功能的描述②对算法的详细过程描述③软件确认准则④软件的性能E: ①软件设计的依据②用户和开发人员对软件“要做什么”的共同理解③软件验收的依据④软件可行性分析的依据2. 结构化分析方法(SA)、结构化设计方法(SD) 和Jackson方法是在软件开发过程中常用的方法。

人们使用SA方法可以得到( A ) ,这方法采用的基本手段是( B ) ;使用SD方法时可以得到( C ) ,并可以实现( D ) ,而使用Jackson方法可以实现( E ) 。

供选择的答案:A,C:①程序流程图②具体的语言程序③模块结构图及模块功能说明书④分层数据流程图和数据字典B:①分解与抽象②分解与综合③归纳与推导④试探与回溯D,E:①从数据结构导出程序结构②从数据流程图导出初始结构图③从模块结构导出数据结构④从模块结构导出程序结构3. 软件测试的目的是(A )。

为了提高测试的效率,应该(B )。

使用白盒测试方法时,确定测试数据应根据(C )和指定的覆盖标准。

与设计测试数据无关的文档是(D )。

软件的集成测试工作最好由(E )承担,以提高集成测试的效果。

供选择的答案:A. ①评价软件的质量②发现软件的错误③找出软件中的所有错误④证明软件是正确的B. ①随机地选取测试数据②取一切可能的输入数据作为测试数据③在完成编码以后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据C. ①程序的内部逻辑②程序的复杂程度③使用说明书④程序的功能D. ①该软件的设计人员②程序的复杂程度③源程序④项目开发计划E. ①该软件的设计人员②该软件开发组的负责人③不属于该软件开发组的软件设计人员④该软件的编程人员4. UML是一种面向对象的统一建模语言,它包含(A)种图。

其中用例图中的外部actor指(B),用例可以用(C)图来描述。

协作图描述了协作的(D)之间的交互和联结。

A ①7 ②8 ③9 ④10B ①人员②单位③人员或单位④人员或外部系统C ①类②状态③效果④协作D ①对象②类③用例④状态5. 在面向对象软件开发过程中特别重视复用。

软件构件应独立于当初开发它们的应用而存在。

在以后的应用开发中,可以调整这些独立构件以适应新问题的需要。

因此,应使得类成为一个( A )的单元。

这样就有一个( B )生存期问题。

( B )生存期有自己的步骤,与任何特定应用的开发( C )。

按照这些步骤,可以完整地描述一个基本( D ),而不仅仅考虑当前正在开发的系统。

系统开发的各个阶段都可能会标识新的类。

随着各个新类的标识,( B )生存期引导开发工作逐个阶段循序渐进。

在设计与实现类时,应尽可能利用既存类提供为当前应用所需要的功能,利用既存类的3个可能途径是:( E )复用既存类,对既存类进行( F )以得到满足要求的类,重新开始进行开发。

供选择的答案:A:①可复用②可测试③可适用④可靠B:①应用②寿命③类④软件C:①相关②密切相关③负相关④无关D:①概念②实体③事件④事情E,F:①修改②更新③照原样④演化6. 下列关于软件质量因素的定义中,关于诊断和改正运行现场发现的错误所需要的工作量大小称为( A )。

对未经授权的人使用软件或数据的企图,系统能够控制的程度称为( B )。

在硬件发生故障、输入无效的情况下,系统能够做出适当的响应称为( C )。

软件容易测试的程度称为( D ) 。

软件在其他应用中可以被再次使用的程序称为( E )供选择的答案:A ,B,C D, E: ①正确性②健壮性③完整性④可用性⑤可理解性⑥可维修性⑦可测试性⑧可移植性⑨可再用性___15_____分。

)(1) 文档是软件产品的一部分,没有文档的软件就不称其为软件。

(2) 把常见的局部优化工作留给编译程序去做。

(3) 需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

(4) 一组测试用例是判定覆盖,则一定是语句覆盖。

(5) 一组测试用例是条件覆盖,则一定是语句覆盖。

(6) 面向对象的分析是面向计算机系统建立软件系统的对象模型。

(7) 在有虚拟存储器的计算机系统上开发软件。

(8) 只有质量差的软件产品才需要维护。

(9) 软件错误可能出现在开发过程的早期,越早修改越好。

(10) 模型是对现实的简化,建模是为了更好地理解所开发的系统。

(11) 一般单元测试不可以并行进行。

(12)在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。

(13) 好的测试用例应能证明软件是正确的。

(14) 目前绝大多数软件不适合于快速原型开发。

(15) 完善性维护是提高或完善软件的性能。

四.简答题(本大题共__2__题,每题___5___分,共___10_____分。

) 1. 传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。

2.简述UML 图形中的5种关系类型。

五.综合题(本大题共__3__题,每题___10___分,共___30_____分。

)1. 问题陈述:在一简化的百货商店系统中,营业员负责录入、修改或删除每一销售商品的有关信息(商品号,单价,数量);收款员根据用户的优惠级别(由部门经理确定),负责录入交付的商品款(当录入出现操作失误时,可以进行修改),部门经理随时查询某种商品的销售情况(商品号,销售量,销售金额),并在每日结算时,计算本部门销售总额。

(10 分)(1) 以结构化方法建立该问题的DFD(至少2层,即顶层和0层) (6分)(2) 定义一个交互,并以顺序图该处该交互的描述(4分)2. 把下面的伪码转换为控制流程图,并将其转化为PAD 图,在此基础上,设计最少测试用例,实现条件覆盖。

(10分,流程图3分,PAD 图3分,测试用例4分)(s1,s2,s3不影响x 和y 的值) Begins1;s2;if (x>1) and (y=2) thens3;else y=y+1;if (x < 3) or (y>1) theny = 2*y;elsex = 2*x;end.3. 请建立下述肉食店问题的对象模型(10分)一家肉食店想使其库存管理自动化,这家肉食店拥有能记录顾客购买的所有种类肉食的名称和数量的销售终端。

顾客服务台也有类似的终端,以处理顾客的退货。

它在码头有另一个终端用户处理供应商发货。

各种肉食都有终端用于输入由于损耗导致的损失和折扣。

根据上述需求建立肉食店问题相应的对象模型。

(用例图 3分 类图 4分一个顺序图3分)。

相关文档
最新文档