软件工程考试题一

合集下载

软件工程考试题库

软件工程考试题库

软件工程概述一单项选择1.软件生命周期一般包括:软件开发期和软件运行期,下述(D)不是软件开发期所应包含的内容。

A需求分析B结构设计C程序编制D软件维护2.软件是一种逻辑产品,它的开发主要是(A)。

A研制B拷贝C再生产D复制3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(C)。

A喷泉模型B增量模型C瀑布模型D螺旋模型4.在软件生存周期中,(B)阶段必须要回答的问题是“要解决的问题是做什么?”。

A详细设计B可行性分析和项目开发计划C概要设计D软件测试5.软件产品与物质产品有很大区别,软件产品是一种(C)产品A有形B消耗C逻辑D文档6.(C)把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。

A原型模型B螺旋模型C基于知识的智能模型D喷泉模型7.(B)阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。

A概要设计B详细设计C编码D测试8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A)。

A原型模型B瀑布模型C基于知识的智能模型D变换模型9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。

A原型模型B瀑布模型C喷泉模型D螺旋模型10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D)。

A原型模型B瀑布模型C喷泉模型D螺旋模型11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C)。

A可修改性B可靠性C可适应性D可重用性12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B)。

A可移植性B可重用性C容错性D可适应性13.软件特性中,(A)是指系统具有清晰的结构,能直接反映问题的需求的程度。

A可理解性B可靠性C可适应性D可重用性14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B)。

软件工程试卷及答案多套精品试卷

软件工程试卷及答案多套精品试卷

软件工程试卷及答案多套精品试卷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。

软件工程试卷及参考答案

软件工程试卷及参考答案

试卷(一)一、单项选择题1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( )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、PascalB、CC、FortranD、 Prolog10、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。

A. 技术可行性B. 经济可行性C. 社会可行性D. 法律可行性11、中级结构性成本模型COCOMO是一个( )A、静态单变量模型B、动态单变量模型C、静态多变量模型D、动态多变量模型12、PAD图为()提供了有力的工具。

A、系统分析B、软件的自动化生成C、自动分析数据D、测试软件13、下列关于JSP方法不正确的说法是( )A、JSP方法主要用于规模不大的数据处理系统B、JSP方法不明确的划分软件概要设计和详细设计的两个阶段C、JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D、JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。

因此它只适用于详细设计阶段14、在详细设计阶段,经常采用的工具有()A、PADB、SAC、SCD、DFD15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B、恢复测试C、验收测试D、单元测试16、盒图(N-S图)为()提供了有力的工具。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。

答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。

答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。

答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。

它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。

2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。

通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。

3. 请简述软件开发生命周期中的各个阶段。

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

- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。

- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。

- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。

- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。

- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。

软件工程师考试题目

软件工程师考试题目

1、在软件开发过程中,需求分析的主要目的是?A. 确定软件开发所需的技术栈B. 明确软件的功能和性能要求C. 设计软件的架构和模块划分D. 测试软件的可用性和用户体验(答案)B2、下列哪项不属于软件设计的基本原则?A. 高内聚低耦合B. 模块化设计C. 尽可能使用最新技术D. 遵循设计模式(答案)C3、在敏捷开发方法中,迭代计划会议的主要任务是?A. 详细规划整个项目的开发流程B. 确定下一个迭代周期要完成的用户故事C. 评估项目风险并制定应对措施D. 对已完成的工作进行回顾和总结(答案)B4、关于软件测试,下列说法错误的是?A. 单元测试是对单个模块进行测试B. 集成测试是在单元测试之后进行,关注模块间的交互C. 系统测试是验证软件是否满足用户需求D. 验收测试是由开发人员自行完成的最终测试(答案)D5、在数据库设计中,ER图(实体-关系图)主要用于表示?A. 数据表的字段和数据类型B. 实体、属性和实体间的关系C. 数据的存储结构和访问方法D. 数据的流程和处理逻辑(答案)B6、下列哪项不是版本控制工具(如Git)的主要功能?A. 跟踪代码变化历史B. 协助多人协作开发C. 自动编译和部署代码D. 管理代码分支和合并(答案)C7、关于软件架构,下列说法正确的是?A. 软件架构只在软件设计初期考虑,后续开发无需关注B. 软件架构是软件开发过程中的固定不变的部分C. 软件架构影响软件的可维护性、可扩展性和性能D. 所有软件的架构都是相同的,不存在差异(答案)C8、在面向对象编程中,继承的主要作用是?A. 实现代码的复用和扩展B. 提高代码的执行效率C. 减少代码的内存占用D. 简化代码的编写过程(答案)A9、关于软件测试中的回归测试,下列说法错误的是?A. 回归测试是在修改代码后进行的测试B. 回归测试的目的是确保修改没有引入新的错误C. 回归测试只需测试修改过的部分D. 回归测试通常包括全部或部分已经执行过的测试用例(答案)C10、在软件开发过程中,代码审查的主要目的是?A. 检查代码是否符合编码规范B. 发现并修复代码中的错误和潜在问题C. 评估代码的性能和优化空间D. 确定代码是否满足用户需求(答案)B。

软件工程考试试题含答案

软件工程考试试题含答案

一、填空题每空1分,共25分1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、编码、测试和____________;2.基于软件的功能划分,软件可以划分成__________、__________、__________三种;3.可行性研究,应从、技术可行性、运行可行性、和开放方案可行性等方面研究;4.系统流程图是描绘的传统工具;它的基本思想是用图形符号以描绘系统里面的每个部件;5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、和;6.结构化分析方法是面向________________进行需求分析的方法;结构化分析方法使用________________与________________来描述;7.是自动地共享类、子类和对象中的方法和数据的机制;8.软件详细设计工具可分为3类,即________________、________________和________________;9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、复查和管理复审、________________;10.大型软件测试包括、、确认测试和四个步骤;1、可行性研究需求分析运行与维护2、系统软件支撑软件应用软件3、经济可行性法律可行性4、物理系统黑盒子形式5、加工数据流数据存储文件6、数据流数据流图DFD数据字典DD7、继承性8、图示工具、设计语言表格工具9、审查测试10、单元测试集成测试系统测试二、单项选择题每小题2分,共20分1.软件设计中划分模块的一个准则是;A、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D、高内聚高耦合2.Jackson设计方法是由英国的提出的,它是一种面向的软件设计方法;A、对象B、数据流C、数据结构D、控制结构3.试判断下列叙述中,哪个些是正确的4.;a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c5.是用户和设计交换最频繁的方法;A、原型化方法B、瀑布模型方法C、螺旋模型方法D、构件组装模型6.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是;A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质7.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言;A、PASCALB、VISUALBASICC、C++D、汇编语言8.软件测试的目的是A、证明软件的正确性B、找出软件系统中存在的所有错误C、证明软件系统中存在错误D、尽可能多的发现软件系统中的错误9.使用白盒测试方法时,确定测试数据应根据和指定的覆盖标准;A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能10.软件维护工作的最主要部分是;A、校正性维护B、适应性维护C、完善性维护D、预防性维护11.PDL是语言;A、高级程序设计语言B、伪码式B、C、C、中级程序设计语言D、低级程序设计语言三、判断题正确的在括号内打上“√”,错误的打上“×”;每题2分,共20分1.用黑盒法测试时,测试用例是根据程序内部逻辑设计的;X2.发现错误多的程序模块,残留在模块中的错误也多;V3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目;X4.软件维护就是改正软件中的错误;X5.质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动;V6.软件开发的主要任务是写程序;X7.测试只能证明程序有错误,不能证明程序没有错误;V8.模块化程序设计中,模块越小,模块化的优点越明显;一般来说,模块的大小都在10行以下;X9.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等;X10.程序设计风格指导原则提出,尽量多使用临时变量;X四、简答题每题5分,共20分1.什么是软件工程软件工程是指导计算机软件开发和维护的工程学科;采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来;2.耦合性和内聚性有几种类型其耦合度、内聚强度的顺序如何低:非直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合:高强:功能内聚信息内聚通信内聚过程内聚时间内聚逻辑内聚巧合内聚:弱3.简述需求分析工作可以分成哪四个方面软件需求分析的有哪三个基本原则4.:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审;三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图;5.什么是黑盒测试法黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息;五、程序设计与算法描述题共15分1.根据下面的伪代码程序,完成相应要求;8分STARTIFC1THENWHILEC2DOfENDDOELSEBLOCKgpENDBLOCKENDIFREPEATUNTILC3qrENDREPSTOP1)画出程序流程图4分2)用N—S图描述4分2.有下列伪码程序:STARTINPUTM,NIFM>=10THENX=10ELSEX=lENDIFIFN>=20THENY=20ELSEY=2ENDIFPRINTX,YSTOP设计该程序的语句覆盖和路径覆盖测试用例;7分M=9或<l0,N=l9或<20;M=l0或>=10,N=20或>=20路径覆盖的测试用例为M=9,N=19;M=9、N=20;M=l0,N=l9;M=10,N=20要目标是提高软件质量,减少软件维护代价;软件过程五个模型对比瀑布模型、快速原型、增量、螺旋、喷泉模型可行性研究:1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决;2、四个方面:技术、经济、操作可行性3、数据流图四种成分:1、源点/终点2、处理3、数据存储4、数据流需求分析:1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求;2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法;3、实体联系图:1、数据对象2、属性3、联系1:1、1:N、M:N总体设计:任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构;系统设计阶段确定系统具体实施方案、结构设计阶段确定软件结构模块独立:内聚和耦合耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统内聚Cohesion:一个模块内各元素结合的紧密程度面向数据流的设计方法:变换流和事务流详细设计:任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序;过程设计的工具程序流程图、盒图、PAD图、判定表、判定树面向数据结构的设计方法jackson方法:程序复杂程度的定量McCabe方法:1、VG=E-N+2E是流图中边的条数,N是结点数2、VG=P+1P是流图中判定结点的个数3、流图中的区域数等于环形复杂度;编码单元测试:又称模块测试;每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试;由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性;集成测试:在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试;这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等;白盒测试技术逻辑覆盖、基本路经测试白盒测试时将程序看作是一个透明的盒子,也就是说测试人员完全了解程序的内部结构和处理过程;所以测试时按照程序内部的逻辑测试程序、检验程序中的每条通路是否都能按预定的要求正确工作;白盒测试又称为结构测试;语句覆盖就是设计足够的调试用例,使得程序中的每个语句至少执行一次;判定覆盖就是设计足够的测试用例,使得程序中每个判定的取“真”分支和取“假”分支至少都执行一次,判定覆盖又称分支覆盖条件覆盖就是设计足够的测试用例,使得程序判定中的每个条件能获得各种可能的结果;判定/条件覆盖就是设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果;条件组合覆盖就是设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次;基本路经测试:黑盒测试技术等价划分黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求;黑盒测试是在程序接口进行的测试,又称为功能测试;1、黑盒测试检查的主要方面有:程序的功能是否正确或完善;数据的输入能否正确接收,输出是否正确;是否能保证外部信息如数据文件的完整性等;用黑盒法设计测试用例时,必须用所有可能的输入数据来检查程序是否都能产生正确的输出2、等价类划分等价类的划分在很大程度上依靠的是测试人员的经验,下面给出几条基本原则:1如果输入条件规定了取值范围,则可划分出一个有效的等价类输入值在此范围内和两个无效的等价类输入值小于最小值、输入值大于最大值;2如果输入条件规定了输入数据的个数,则可相应地划分出一个有效的等价类输入数据的个数等于给定的个数要求和两个无效的等价类输入数据的个数少于给定的个数要求、输入数据的个数多于给定的个数要求;3如果输入条件规定了输入数据的一组可能的值,而且程序对这组可能的值做相同的处理,则可将这组可能的值划分为一个有效的等价类,而这些值以外的值划分成无效的等价类;4如果输入条件规定了输入数据的一组可能的值,但是程序对不同的输入值做不同的处理,则每个输入值是一个有效的等价类,此外还有一个无效的等价类所有不允许值的集合;5如果输入条件规定了输入数据必须遵循的规则,则可以划分一个有效的等价类符合规则和若干个无效的等价类从各种角度违反规则;维护改正性维护、适应性维护、完善性维护、预防性维护决定软件可维护性因素可理解性、可测试性、可修改性、可移植性、可重用性面向对象方法学优点:1、与人类习惯的思维方法一致2、稳定性好3、可重用性好4、较易开发大型软件产品5、可维护性好对象模型1、关联2、聚集3、泛化4、依赖和细化贰软件工程软件危机1、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题;熟记2、了解软件危机主要的一些典型表现;P23、出现软件危机的原因:4、消除软件危机的途径:首先,我们要对计算机软件有一个正确的认识;更重要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严格、各类人员协同配合、共同完成的工程项目;最后,应该开发和使用更好的软件工具;总之,为了解决软件危机,既要有技术措施方法和工具,又要有必要的组织管理措施;软件工程1、软件工程:采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它;熟记2、了解软件工程的本质特征:1、软件工程关注于大型程序的构造2、软件工程的中心课题是控制复杂性3、软件经常变化4、开发软件的效率非常重要5、和谐的合作是开发软件的关键6、软件必须有效地支持它的用户7、在软件工程的领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品3、缺乏应用领域地相关知识,是软件开发项目出现问题的常见原因;4、软件工程的基本原理:1、用分阶段的生命周期计划严格管理2、坚持进行阶段审评3、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组的人员应该少而精7、承认不断改进软件工程实践的必要性5、方法学范型:在软件生命周期全过程中使用的一整套技术方法的集合;6、软件工程方法学3要素:方法、工具和过程;7、目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学8、传统方法学也成为生命周期方法学或结构化范型;9、面向对象方法学具有的4个要点;P10软件生命周期1、概括地说,软件生命周期由软件定义、软件开发和运行维护也称为软件维护3个时期组成,每个时期又进一步划分成若干个阶段;2、软件定义时期的任务3、软件定义时期通常进一步划分成3个阶段:问题定义、可行性研究、需求分析4、维护时期的主要任务是使软件持久地满足用户的需要;5、软件开发时期通常分成4个阶段:总体设计、详细设计、编码和单元测试、综合测试;前两个阶段又称为系统设计,后两个阶段又称为系统实现;6、软件生命周期每个阶段的基本任务:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试;软件工程生命周期模型过程模型:瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型;对各种模型要了解小结熟读,对本章系统地了解可行性分析可行性分析的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决;可行性研究的任务研究解法的可行性的三个方面:技术可行性、经济可行性、操作可行性;可行性研究最根本的任务:对以后的行动方针提出建议;可行性研究需要的时间长短取决于工程的规模;可行性研究过程复查系统规模和目标研究目前正在试用的系统导出新系统的高层逻辑模型进一步定义问题导出和评价供选择的解法推荐行动方针草拟开发计划书写文档提交审查系统流程图1、系统流程图:概括地描绘物理系统的工具;2、系统流程图的基本思想:用图形符号以黑盒子形式描绘组系统的每个部件程序、文档、数据库、人工过程等;3、P39符号4、系统流程图的习惯画法:使信息在图中从顶向下或从左向右流动;5、面对复杂的系统时,一个比较好的方法时分层次地描绘这个系统;数据流图数据流图DFD:一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换;数据流图的四种基本符号P41数据存储静止状态和数据流运动都是数据;数据流图的基本要点是描绘“做什么”,而不是考虑“怎么做”;星号是数据流之间的“与”关系;加号+表示“或”关系;⊕号表示只能从中选一个互斥关系;画数据流图的基本目的是利用它作为交流信息的工具;数据字典数据字典应由对下列4类元素的定义组成:数据流、数据流分量即数据元素、数据存储、处理;由数据元素组成数据的方式的三种基本类型:顺序、选择、重复;+可选用以下符号描述由数据元素组成数据的关系:=意思是等价于或定义为、+意思是和即连接两个分量、}意思是或通常用“|”号隔开供选择的分量、{}意思是重复、意思是可选;数据字典最重要的用途是作为分析阶段的工具;成本/效益分析成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定;软件开发成本:主要表现为人力消耗;成本估算技术:代码行技术、任务分解技术、自动估计成本技术;货币的时间价值:用利率的形式;假设年利率为i,如果现在存入P元,则n年后的价值:F=P1+i^n衡量一项开发工程的价值:投资回收期;纯收入投资回收率小结三需求分析需求分析是软件定义时期的最后一个阶段;基本任务:准确地回答“系统必须做什么”这个问题;用于需求分析的结构化分析方法必须遵守下述准则:1、必须理解并描述问题的信息域,根据这条准则应该应该建立数据模型;E-R图2、必须定义软件应完成的功能,这条准则要求建立功能模型;数据流图3、必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型;状态图4、必须对描述信息、功能和行为的模型进行分解,用层次的方式展开细节;需求分析的任务对软件系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求;需求分析的任务:确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型修正系统开发计划与用户沟通获取需求的方法访谈、面向数据流自顶向下求精、简易地应用规格说明技术,快速建立软件原型;结构化分析方法就是面向数据流自顶向下求精进行需求分析的方法;快速建立软件原型是最准确、最有效、最强大的需求分析技术;分析建模与规格说明需求分析过程应建立3种模型:数据模型、功能模型、行为模型;数据流图是建立功能模型的基础;状态转换图是行为建模的基础;实体-联系图E-RE-R图中包含着实体即数据对象、关系和属性3种基本成分;数据规范化第一范式:每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构;第二范式:满足第一范式的条件,而且每个非关键字都由整个关键字决定而不是由关键字的一部分来决定;第三范式:符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述即一个非关键字属性值不依赖于另一个非关键字属性值;状态转换图状态转换图简称状态图:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为;在状态图中定义的状态主要有:初态即初始状态、终态即最终状态和中间状态;在状态图中只能有一个初态,而终态则可以有0至多个;事件就是引起系统做动作或和转换状态的控制信息;在状态图中,初态用一对同心圆内圆为实心圆表示;中间状态用圆角矩形表示;如图:/动作表达式3种标准事件:EntryExitDo;/动作表达式事件说明与守卫条件同时使用时,则当且仅当事件发生且布尔表达式为真时,状态转换才发生;如果只有守卫条件没有事件说明则只要守卫条件为真,状态转换就发生;守卫条件是一个布尔表达式;动作表达式是一个过程表达式,当状态表达式开始时执行该表达式;其他图形层次方框图、warnier图、IPO图输入、处理、输出图的简称验证软件需求从四个方面进行验证:一致性、完整新、现实性、有效性小结五总体设计设计过程总体设计过程通常有两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件的结构;典型的总体设计过程包括下述9个步骤:1、设想宫选择的方案需求分析阶段得出的数据流程图是总体设计的极好的出发点;2、选择合理的方案对每个合理的方案,分析员都应准备下列四份材料:A.系统流程图B.组成系统的物理元素清单C.成本/效益分析D.实现各个系统的进度计划3、推荐最佳方案4、功能分解5、设计软件结构软件结构可以用层次图或结构图来描绘;6、设计数据库7、制定测试计划8、书写文档这个阶段完成的文档有:系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果;9、审查和复查设计原理模块化、抽象、逐步求精、信息隐藏和局部化、模块独立模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它;模块是构成程序的基本构件;模块化就是把程序分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求;抽象:把相似的方面集中和概括起来,暂时忽略它们之间的差异,或者说,抽出事物的本质特性而暂时不考虑它们之间的细节;逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术的基础;定义:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑;信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息过程和数据对于不需要这些信息的模块来说,是不能访问的;局部化:把一些关系密切的软件元素物理地放得彼此靠近;模块独立的概念是模块化,抽象,信息隐藏和局部化概念的直接结果;模块独立化重要性的原因:第一,有效地模块化的软件比较容易开发出来;第二,独立的模块化比较容易测试和维护;模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合;耦合是对一个软件结构内不同模块之间互连程度的度量;耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据;如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合;如果传递的信息中有控制信息尽管有时这种控制信息以数据的形式出现,则这种耦合称为控制耦合;数据耦合是低耦合;公共环境耦合、最高程度的耦合式内容耦合;内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展;偶然内聚、逻辑内聚、时间内聚低内聚、中内聚、高内聚的分类;启发规则/软件结构提高模块独立性模块规模应该适中深度、宽度、扇出和扇入都应适当模块的应用域应该在控制域之内力争降低模块接口的复杂程度设计单入口单出口的模块模块功能应该可以预测。

软件工程师考试题

软件工程师考试题

软件工程试题一、单项选择题(每题1分,共10分):1.( ) 计算机系统就是:A)主机,显示器,硬盘,软驱,打印机等。

B)CPU,存储器,控制器,I/O接口及设备。

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)程序流程图,Jackson图,IPO图。

C)数据流程图,数据字典,ER图。

D)Jackson图,ER图,IPO图。

7.( ) 耦合是对软件不同模块之间互连程度的度量。

各种耦合按从强到弱排列如下:A)内容耦合,控制耦合,数据耦合,公共环境耦合。

B)内容耦合,控制耦合,公共环境耦合,数据耦合。

C)内容耦合,公共环境耦合,控制耦合,数据耦合。

D)控制耦合,内容耦合,数据耦合,公共环境耦合。

8.()在详细设计阶段所使用到的设计工具是:A)程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B)数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试题(一)单项选择题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。

软件工程基础考试试题

软件工程基础考试试题

软件工程基础考试试题一、单选题(每题2分,共20分)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. PERT/CPMC. UMLD. 敏捷开发8. 在软件测试中,下列哪种测试方法是通过测试人员的随机操作来检验软件系统的可靠性:A. 黑盒测试B. 白盒测试C. 灰盒测试D. 增量测试9. 软件工程的核心原则包括:A. 模块化B. 重用C. 抽象D. 以上答案都正确10. 软件工程的关键技术包括:A. 需求分析和规格说明B. 概要设计和详细设计C. 编码和调试D. 以上答案都正确二、填空题(每题2分,共20分)1. 软件开发生命周期包括需求分析、设计、编码、测试、____和维护。

2. 软件需求分析的目标是明确软件的功能、性能和____。

3. 软件测试的基本原则之一是:测试应该完全独立于____。

4. 软件工程中常用的项目管理方法之一是____,用于确定最短的完成项目所需时间。

全国软件工程师认证考试题与答案

全国软件工程师认证考试题与答案

全国软件工程师认证考试题与答案1. 考试题1请问软件工程师的主要职责是什么?答案:软件工程师的主要职责包括软件开发、测试、维护和优化等工作,以确保软件系统的高质量和稳定性。

2. 考试题2在软件开发过程中,什么是软件需求分析?答案:软件需求分析是指对用户需求进行详细的调研、分析和规划,以确定软件系统的功能、性能和约束条件等方面的要求。

3. 考试题3请问软件工程中的软件测试是什么?答案:软件测试是一种评估软件质量的过程,通过运行软件系统,并比较实际结果和预期结果,以发现潜在的问题和错误。

4. 考试题4在软件项目管理中,什么是敏捷开发方法?答案:敏捷开发方法是一种以迭代和增量方式进行软件开发的方法,强调团队合作、快速响应变化和持续交付高质量软件。

5. 考试题5请问软件工程师在项目开发过程中如何保证代码质量?答案:软件工程师可以通过编写清晰、可维护的代码,进行代码审查和测试,使用代码重构和设计模式等方法来保证代码质量。

6. 考试题6在软件工程中,什么是软件配置管理?答案:软件配置管理是一种管理和控制软件开发过程中各种配置项的方法,包括版本控制、变更管理和发布管理等。

7. 考试题7请问软件工程师在项目中如何进行团队协作?答案:软件工程师可以通过有效的沟通、合作和任务分配等方式来进行团队协作,同时使用项目管理工具和版本控制系统来协调工作。

8. 考试题8在软件开发中,什么是软件架构?答案:软件架构是指对软件系统整体结构的设计和组织,包括系统的组件、模块、接口和它们之间的关系。

以上是全国软件工程师认证考试题与答案的简要介绍,希望对您的学习和备考有所帮助。

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

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

软件工程-期末考试题(含答案)软件工程-期末考试题(含答案)1. 题目一:软件需求工程软件需求工程是软件开发的重要环节之一,主要包括需求获取、需求分析、需求规格、需求验证等阶段。

在软件开发的整个过程中,需求工程的目标是确保开发出的软件能够满足用户的需求,同时保证软件的质量和可靠性。

1.1 需求获取需求获取是软件需求工程的第一步,它涉及到对用户的需求进行调研和收集。

需求获取的方法可以包括面谈、问卷调查、观察等。

通过与用户的沟通和了解,开发团队可以获取到用户对软件的期望和需求,为后面的分析和规格阶段提供依据。

1.2 需求分析需求分析是对收集到的需求进行认真分析和理解的过程。

在这个阶段,开发团队将准确定义软件所需具备的功能、性能和约束。

通过对需求的分析,可以帮助开发团队更好地理解用户的需求,并将其转化为可执行的任务。

1.3 需求规格需求规格是将需求分析的结果进行详细描述和规范化的过程。

在这个阶段,开发团队需要将需求规格书写成可读、可理解的形式,以便于开发人员进行后续的开发工作。

需求规格书通常包括用例图、类图、时序图等各种工具和技术。

1.4 需求验证需求验证是对需求的正确性和完整性进行验证的过程。

在这个阶段,开发团队需要与用户进行确认,确保所开发的软件能够满足用户的期望和需求。

需求验证也可通过模拟测试、原型验证等方式进行。

2. 题目二:软件设计原则软件设计原则是开发人员编写高质量软件的指导原则,旨在提高软件的可维护性、可扩展性和可重用性。

下面介绍几个常用的软件设计原则。

2.1 单一职责原则单一职责原则(SRP)要求每个类或模块只负责一种功能或职责。

这样可以保持代码的简洁性和可读性,并使得类或模块更加易于维护和扩展。

2.2 开放封闭原则开放封闭原则(OCP)要求软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。

这样可以使得软件设计能够适应需求的变化,而不需要修改原有的代码。

2.3 里氏替换原则里氏替换原则(LSP)要求子类必须能够替换父类,并且不影响程序的正确性。

软件工程基础考试题目和答案

软件工程基础考试题目和答案

软件工程基础考试题目和答案一、选择题(每题5分,共25分)1. 软件工程的主要目标是什么?A. 提高软件开发效率B. 确保软件质量C. 降低软件开发成本D. 提高软件的可维护性答案:B2. 下列哪个阶段不属于软件开发生命周期?A. 需求分析B. 设计C. 测试D. 需求变更答案:D3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 面向过程编程答案:A4. 下列哪个工具主要用于软件项目进度监控?A. Gantt图B. 思维导图C. 帕累托图D. 直方图答案:A5. 下列哪种方法主要用于风险管理?A. 风险识别B. 风险评估C. 风险应对D. 风险监控答案:A二、填空题(每题5分,共25分)1. 软件工程的核心思想是______,通过规范的开发过程和严格的质量控制,提高软件的质量和可靠性。

答案:工程化2. 软件需求分析的主要目的是______,明确软件的功能和性能要求。

答案:理解用户需求3. 结构化分析方法主要包括______、数据流图、实体关系图等。

答案:数据字典4. 软件测试的主要目的是______,发现并修复软件中的缺陷。

答案:保证软件质量5. 敏捷开发方法的核心价值观是______,强调快速响应变化和客户合作。

答案:个体和互动三、简答题(每题10分,共30分)1. 请简要描述软件开发生命周期的主要阶段及其作用。

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

需求分析阶段用于理解用户需求,设计阶段用于制定软件架构和详细设计,编码阶段用于实现软件功能,测试阶段用于发现并修复软件缺陷,维护阶段用于提供软件支持和更新。

2. 请简要介绍敏捷开发方法的主要特点和实践原则。

答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。

实践原则包括短迭代周期、持续反馈、自我组织和协作等。

敏捷开发方法强调快速响应变化,提高软件质量和开发效率。

软件工程考试题一-(3)

软件工程考试题一-(3)

软件工程考试题一一、选择题,请从四个可选项中选择正确答案。

(60分,每题3分)1.软件、程序和代码是()。

A. 相同的软件概念B.程序语言写的代码C.计算机代码和数据D. 三个不同的概念2.下面哪个选项不是软件工程研究的内容()。

A. 生产无故障的软件B. 精通一门编程语言C.生产满足用户需求的软件D.生产及时交付的软件3.SW-CMM是一种()规范。

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.UML是一种()语言。

A.程序设计B.面向对象C.交互式建模D.过程描述11.面向对象分析过程中建立的模型有()。

A. 数据模型、功能模型、活动模型B. 对象模型、功能模型、测试模型C. 属性模型、功能模型、对象模型D. 对象模型、功能模型、动态模型12.下面建立功能模型的步骤哪个顺序是正确的()。

A.确定角色/确定用例模型/确定用例B.确定用例/确定用例模型/确定角色C.确定角色/确定用例/确定用例模型D.确定用例模型/确定角色/确定用例13.在图书馆信息管理系统中,已经构造了一个读者类,后来发现图书馆的学生和教师在借书中有不同要求。

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

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

一、选择题:(每题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 分)请在每小题的空格中填上正确答案。

软件工程题库(含答案)

软件工程题库(含答案)

软件工程题库(含答案)一、单选题(共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、下列说法中,不正确的是( )。

软件工程考试试题及答案

软件工程考试试题及答案

软件工程考试试题及答案一、单选题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. 简述软件生命周期模型中的瀑布模型。

答案:瀑布模型是软件生命周期模型中最早的模型之一。

它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。

软件工程考试试题与答案

软件工程考试试题与答案

专业:移动通信科目:软件工程一、单项选择题1.好的软件结构应该是〔〕A.低耦合、低内聚B.高耦合、高内聚C.高耦合、低内聚D.低耦合、高内聚答案:D2.需求分析中开发人员要从用户那里了解〔〕A.软件的规模B.软件做什么C.用户使用界面D.输入的信息答案:B3.软件调试技术包括〔〕A.演绎法B.循环覆盖C.边界值分析D.集成测试答案:A4.软件需求规格说明书的内容不应包括对〔〕的描述。

A.用户界面及运行环境B.主要功能C.算法的详细过程D.软件的性能答案:C5.常用动词或动词词组来表示〔〕A.属性B.关联C.类D.对象答案:B6.软件可行性研究实质上是要进行一次〔〕需求分析、设计过程。

A.详细的B.深入的C.彻底的D.简化、压缩的答案:D7.软件部分的内部实现与外部可访问性别离,这是指软件的〔〕A.继承性B.共享性C.抽象性D.封装性答案:D8.软件部分的内部实现与外部可访问性别离,这是指软件的〔〕A.共享性B.继承性C.抽象性D.封装性答案:D9.在详细设计阶段,经常采用的工具有〔〕A.PDLB.DFDC.SCD.SA答案:A10.数据字典是对数据定义信息的集合,它所定义的对象都包含于〔〕A.软件结构B.程序框图C.方框图D.数据流图答案:D11.软件工程结构化生命周期方法,提出将软件生命周期划分为计划、开发和运行三个时期,下述〔〕工作应属于软件开发期的内容。

A.问题定义B.可行性研究C.都不是D.总体设计答案:D12.应用执行对象的操作可以改变该对象的〔〕A.功能B.数据C.属性D.行为答案:C13.软件质量因素不包括〔〕A.可理解性B.可测试性C.正确性D.高性能答案:D14.软件可行性研究实质上是要进行一次〔〕需求分析、设计过程。

A.详细的B.彻底的C.深入的D.简化、压缩的答案:D15.结构化设计是一种面向〔〕的设计方法。

A.数据结构B.数据流C..程序D.数据库答案:B16.结构分析法就是面向〔〕自顶向下逐步求精进行需求分析的方法。

软件工程考试题及答案

软件工程考试题及答案

软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。

答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。

答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。

答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。

答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。

答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。

答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。

其优点包括:- 易于管理:模块化使得软件更容易理解和维护。

- 可重用性:模块可以在不同的项目中重复使用。

- 并行开发:模块化允许多个团队并行开发不同的模块。

- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。

12. 解释什么是软件的可维护性,并说明其重要性。

软件工程考题——部分答案

软件工程考题——部分答案

一._单项选择题_____(本大题共__15__题,每题___1___分,共___15___分。

)1. 软件生存周期中时间最长的是 ( ) 阶段。

A. 需求分析B. 概要设计C. 测试D. 维护2. 技术可行性要解决 ( ) 。

A. 存在侵权否B. 成本效益问题C. 运行方式可行D. 技术风险问题3. 需求说明书的作用不应包括 ( ) 。

A. 软件设计的依据B. 用户与开发人员对软件要做什么的共同理解C. 软件验收的依据D. 软件可行性研究的依据4. 分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的 ( ) 。

A. 细节B. 输入与输出C. 软件的作者D. 绘制的时间5. 结构化分析方法 (SA) 的一个重要指导思想是 ( ) 。

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. 下列哪项内容不属于OOD的重要特征()。

A.抽象B.信息隐蔽C.性能独立性D.模块性11. 白盒测试方法一般适合用于 ( ) 测试。

A. 单元B. 系统C. 集成D. 确认12. 在黑盒测试中,着重检查输入条件的组合是 ( ) 。

A. 等价类划分法B. 边界值分析法C. 错误推测法D. 因果图法13.()不属于OO三要素。

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

软件工程考试题一
1、选择题,请从四个可选项中选择正确答案。

(60分,每题3
分)
1. 软件、程序和代码是( )。

A. 相同的软件概念
B.程序语言写的代码
C.计算机代码和数据
D. 三个不同的概念
2. 下面哪个选项不是软件工程研究的内容( )。

A. 生产无故障的软件
B. 精通一门编程语言
C.生产满足用户需求的软件
D.生产及时交付的软件
3. SW-CMM是一种( )规范。

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. UML是一种( )语言。

A.程序设计
B.面向对象
C.交互式建模
D.过程描述
11. 面向对象分析过程中建立的模型有( )。

A. 数据模型、功能模型、活动模型
B. 对象模型、功能模型、测
试模型
C. 属性模型、功能模型、对象模型
D. 对象模型、功能模型、动态模型
12. 下面建立功能模型的步骤哪个顺序是正确的( )。

A.确定角色/确定用例模型/确定用例
B.确定用例/确定用例模型/确定角色
C.确定角色/确定用例/确定用例模型
D.确定用例模型/确定角色/确定用例
13. 在图书馆信息管理系统中,已经构造了一个读者类,后来发现
图书馆的学生和教师在借书中有不同要求。

请问在面向对象设
计中用( )方法可以有效地设计这3个类?
A.信息隐藏
B. 多态
C.动态联编
D.继承
14. 面向对象设计的步骤中,正确的顺序是( )。

A.系统构架设计、用例设计、类设计
B.系统构架设计、数据库设计和用户界面设计
C.类设计、用例设计、构架设计
D.用例设计、构架设计、类设计
15. 所有程序设计语言的基本成分都可归纳为4种:数据成分、
( )、控制成分和传输成分。

A.运算成分
B.循环成分
C.说明成分
D.输入成分
16. 程序结构清晰且简单易懂,单个函数的行数一般( )行。

A.等于300
B.大于500
C.不超过30
D.100左右
17. 一个测试用例是( )。

A.输入数据
B.输出结果
C.输入数据和预期的输出数据
D.实际的输出数据
18. 下述哪一种测试方法,测试人员必须接触到源程序( )。

A.功能测试
B.结构测试
C.界面测试
D.性能测试
19. 为了适应软硬件环境变化而修改软件的过程是( )。

A.校正性维护
B.完善性维护
C.适应性维护
D.预防性维护
20. 不属于软件项目管理的是( )。

A.开发机构能力评估
B.项目风险评估
C.质量监控
D.软件销售利润
2、简答题(30分,每小题6分)
1. 什么是软件工程?请分析软件工程的目标是什么?
2. 根据你的理解,为下面的数据流程图加上箭头,并把下列内容
添加到合适的位置:用户名/密码、用户输入预订信息、保存预订信息、预订信息记录、登录确认、图书信息记录、图书信
息、查询条件、查询结果、读者账号信息记录、预订信息。

3. 公司为本科以上学历的员工重新安排工作,原则如下:①如果
年龄不满23岁,学历是本科,一律考研生;②如果年龄在23岁至50岁之间,学历本科,任项目经理;③如果年龄在50岁以
下,学历硕士,任命为中层领导;④如果年龄超过50岁,不做调整,要求画出判定表。

4. 面向对象的分析通常要建立三个模型,请问三个模型的作用?
5. 将下列代码画出对应的程序流程图。

START
INPUT x, n
DIMENSION a(n),f(n)
DO i=1 TO n
INPUT f(i)
END DO
k=0
DO WHILE (k<n)
a(k)=0
DO j=1 TO n-k
a(k)=a(k)+f(j)*f(j+k)/(n-k+1)
END DO
PRINT k*x, a(k)
k=k+1
END DO
STOP
3、应用题(10分)
简化的图书馆图书信息管理系统有以下要求:(1)借书:输入读者借书证和书号,系统检查借书证是否有效;查阅借还书文件,检查该读者所借图书是否超过8本,若已达8本,显示信息“已经超出借书数量”,拒借;然后查询是否有超过1个月期限的图书,若有则显示信
息“有超期未还图书”;两项检查通过后,办理借书(检查库存、修改库存文件并将读者借书信息登入借还书文件)(2)还书:输入书号和读者号,从借书文件中读出有关的借书记录,查阅所借日期,如果超过1个月,作罚款处理。

否则,修改库存文件与借还书文件。

请就以上需求画出DFD图,并给出借还书文件的数据字典。

软件工程考试题一答案
1、选择题,请从四个可选项中选择正确答案。

(60分,每题3
分)
1. D
2. B
3. D
4. B
5. A
6. D
7. A
8. A
9. D
10. C
11. D
12. C
13. D
14. A
15. A
16. D
17. C
18. B
19. C
20. D
2、简答题(30分,每小题6分)
1.答案:软件工程是:① 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;② 对①中所选方法的研究”。

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
a) 实现预期的软件功能,达到较好的软件性能,满足用户的需
求。

b) 增强软件过程的可见性和可控性,保证软件的质量。

c) 提高所开发软件的可维护性,降低维护费用。

d) 提高软件开发生产率,及时交付使用。

e) 合理预算开发成本,付出较低的开发费用。

2.答案:
3.答案:
条件1234
<23T
[23,50]T
<50T F
本科T T
研究生T
报考研究生T
项目经理T
中层领导T
不变T
4.答案:
a)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。

在面向对象方法中,由用例图和场景描述组成。

b)对象模型:表示静态的、结构化的系统“数据”性质。

描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。

在面向对象方法中,类图是构建对象模型的核心工具。

c)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。

面向对象方法中,常用状态图、顺序图、合作图、活动图构建系统的动态模型。

5.答案:
3、应用题(10分)
答案: 画数据流程图6分:考生可以有不同的答案,基本流程正确即可。

数据字典4分:可以用表格的方式说明也可以按照传统的数据字典格式,例如:
名称:借还书信息
编号:DS03
简述:保存读者的借还书记录
数据存储的组成:编号+读者号+图书号+借书日期+还书日期+操作员编号
存储方式:数据库表
访问频率:每日大约300条记录。

数据元素名称:编号
简称:NO
类型:CHAR
长度:6
取值范围:000000-999999
初始值:系统自动产生
其他……
或者:
编号:DS03 名称:借还书信息
名称简称键值类型长度值域初值备注
编号NO P字符6自动
读者号ReadNO字符11
图书号BookNO字符13
借书日期Bdate日期当前日期还书日期Rdate日期当前日期操作员编号OPNO字符。

相关文档
最新文档