软件工程考试题
软件工程试卷及参考答案
试卷(一)一、单项选择题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图)为()提供了有力的工具。
全国2024年秋季自考本科软件工程02333考试试题含解析
全国2024年秋季自考本科软件工程02333考试试题一、单项选择题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、RUP设计阶段的主要活动不包含______。
A.程序设计B.体系结构设计C.用况设计D.类设计7、《ISO/IEC软件生存周期过程12207-1995》标准按过程主体把软件生存周期过程分为基本过程、组织过程和______。
A.供应过程B.开发过程C.测试过程D.支持过程8、集成化能力成熟度模型(CMMI)针对每个过程域设定了能力等级,其中最高级为______。
A.3级B.4级C.5级D.6级9、结构化分析方法给出了一种能表达功能模型的工具是______。
A.HIPO图B.PAD图C.N-S图D.DFD图10、软件结构化设计中,支持“自顶向下逐步求精”的详细设计,并且能够以一种结构化方式严格地控制从一个处理到另一个处理的转移,这个详细设计工具是______。
A.PAD图B.程序流程图C.DFD图D.N-S图11、类的状态机一般有几种不同的运行状态,其中处于等待接收事件,接收处理完事件后又进入等待状态,通常采用______。
A.IdleB.InitializingC.CommandD.Active12、下列不属于创建一个系统的类图步骤是______。
软件工程考试试题(含答案)
软件⼯程考试试题(含答案)⼀、填空题(每空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 2 3 4 5C C C A C6 7 8 9 10D D A C B1.软件设计中划分模块的⼀个准则是()。
A、低内聚低耦合B、低内聚⾼耦合C、⾼内聚低耦合D、⾼内聚⾼耦合2.Jackson设计⽅法是由英国的M. Jackson提出的,它是⼀种⾯向()的软件设计⽅法。
软件工程师考试题
软件工程师考试题?答:以下是一些可能的软件工程师考试题目,涵盖了软件工程的基础知识、编程技能、软件测试等方面。
请注意,以下仅为示例,实际考试题目会根据具体的考试大纲和要求而有所不同。
一、选择题1.在软件开发生命周期中,哪个阶段的主要目标是确定软件系统的需求和功能?A.需求分析B.设计C.编码D.测试2.以下哪种方法不属于黑盒测试?A.等价类划分B.边界值分析C.路径覆盖D.错误推测3.在面向对象编程中,封装指的是什么?A.将数据和操作数据的函数放在一起B.将类的所有成员设置为私有C.只允许通过类的公有接口访问数据D.以上都不是二、填空题1.在软件工程中,__________是一种将复杂问题分解为更小、更易管理的子问题的技术。
(答案:模块化)2.__________是软件开发过程中用于描述系统如何满足特定需求的文档。
(答案:需求规格说明书)三、简答题1.请简述软件测试的目的和重要性。
答案要点:软件测试的目的是尽可能多地找出软件中的缺陷,确保软件的质量满足用户的需求和预期。
软件测试的重要性在于它有助于减少软件发布后可能出现的问题和故障,提高软件的可靠性和稳定性,增强用户对软件的信任度。
2.请描述瀑布模型和敏捷开发模型的主要区别。
答案要点:瀑布模型是一种线性的开发模型,按照需求分析、设计、编码、测试和维护的顺序依次进行,每个阶段都有明确的任务和输出。
瀑布模型强调阶段的顺序性和文档的完整性。
而敏捷开发模型则是一种迭代和增量的开发模型,强调快速响应变化、持续交付和团队协作。
敏捷开发模型将开发过程划分为多个短周期的迭代,每个迭代都包含需求分析、设计、编码和测试等活动,以便及时发现问题并进行调整。
敏捷开发模型更注重与客户的沟通和协作,以及适应变化的能力。
软件工程期末考试参考题及答案
一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程考试题(含答案)
软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:(1)软件是逻辑部件而不是物理部件。
(2)软件的规模越来越大,复杂性越来越大。
(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、什么叫软件工程?1968 年在第一届NATO 会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。
1993 年 IEEE 的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)5、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类: 1.管理过程模型。
2.瀑布模型(又称为生命周期模型)。
3.增量过程模型:包括增量模型,,RAD模型。
软件工程考试题及答案
软件工程考试题及答案一、选择题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.5B.7C.8D.32 、()是职业软件工程师的必要条件。
A. 自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋计算机病毒是指() 。
18、配置视图体现了系统的实现环境,反映系统的() 。
A. 逻辑架构B. 物理架构C.组成结构D.体系结构19、角色可以有四种类型:系统的使用者,硬件设备,外部系统和 () 。
A.数据库B.接口C.对象D. 时间20、功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。
在面向对象方法中,由( )实现。
A. 场景描述B.活动图和场景描述C. 用例图和场景描述D.交互图和场景描述A. 计算机系统的漏洞B. 一组自我复制和自动执行的具有破坏能 21、下面的哪个选项不是软件工程的宗旨() 。
力的代码 C.一种细菌 D. 程序中的 BUG 4、软件需求具有() 。
A.开发满足用户需求的软件 B.研究算法C.及时交付软件 D.生产无故障软件A.主观性B.不确定性C.多变性D. 以上全部5、描述软件需求通常不用哪个工具() 。
A.数据流程图B.数据字典C.模块结构图D.E-R 图22、针对需求不确定的软件开发,比较好的模型是() 。
A. 快速原型化模型B. 瀑布模型C.软件成熟度模型D.系统化模型6 、软件结构图中没有()元素。
23、可行性分析研究的费用大约是项目总经费的() 。
A.模块 B.调用参数 C.返回结果 D.判断 A.2% B.6% C.20% D.5‰7、程序流程图与数据流程图的关系() 。
24、业务需求描述的是() 。
A.不确定 B.数据流程图可以转换成程序流程图 A. 功能需求 B.用户需求 C.用户的具体业务流程 D.软件的目C.数据调用关系 D.程序流程图可以转换成数据流程图标、规模和范围8、包含关系用于构造多个用例() 。
25 、一个数据流程图中的图形符号有且仅有()种。
《软件工程》11套考试复习练习题、作业题(含答案)
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
软件工程师考试题
软件工程试题一、单项选择题(每题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图。
软件工程基础考试题目和答案
软件工程基础考试题目和答案一、选择题(每题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. 请简要介绍敏捷开发方法的主要特点和实践原则。
答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。
实践原则包括短迭代周期、持续反馈、自我组织和协作等。
敏捷开发方法强调快速响应变化,提高软件质量和开发效率。
软件工程试题
软件工程考试题三一、选择题,请从四个可选项中选择正确答案。
(60分,每题3分)1.软件工程四个层次由下至上是(),它们的顺序不能互换。
A.质量层、过程层、方法层、工具层B.过程层、方法层、质量层、工具层C.方法层、过程层、质量层、工具层D.方法层、质量层、过程层、工具层2.根据软件工程的7条基本原理判断下面正确的选项是()。
A.软件错误发现的时机不重要,重要的是错误的严重程度B.软件错误只能通过运行代码才能发现C.软件错误发现的越早改正的成本越低D.。
需求阶段一般不会引入错误3.下列有关标准的符号,属于国内标准的是( )A. ZGB. GBC.GND.CB4.经济可行性研究的主要内容包括()。
A.开发过程B.开发工具C.风险分析D. 效益分析5.()定义了用户使用该软件要完成的任务。
A.用户需求B.业务需求C.性能需求D.功能需求6.数据流程图上的数据流必须封闭在()之间。
A.外部过程B.内部数据C.内部过程D.外部实体7.按照模块独立性,耦合程度由强至弱正确的顺序是()。
A.外部耦合、控制耦合、数据耦合B.控制耦合、数据耦合、外部耦合C.外部耦合、数据耦合、控制耦合D.数据耦合、外部耦合、控制耦合8.PDL是描述处理过程( )。
A.做什么B.为什么做C.怎么做D.对谁做9.面向对象的这种()模式与人们对客观世界的认识规律相符,从而使得面向对象技术在软件工程领域中获得了广泛的应用。
A.主体/动作B.主体/对象C.主体/类D.对象/属性10.()是从用户的观点描述系统功能,它由一组用例、参与者以及它们之间关系所组成。
A.类图B.对象图C.顺序图D.用例图11.面向对象分析和设计涉及到三个方面的内容:()、一系列有效的分析步骤和一个方便易用的建模工具。
A.一套完善的建模符号B.有效的数据结构C.灵活的体系结构D.稳定的系统架构12.确定角色是()的任务。
A.对象模型B.用例模型C.动态模型D.交互模型13.面向对象设计首先要进行高层设计:确定系统的总体结构和风格,构造系统的(),将系统划分成不同的子系统。
软件工程考试试题(含答案)
一、选择题:(每题1分,共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.面向数据流的设计方法把()映射成软件结构。
软件工程考试试题及答案
软件工程考试试题及答案一、单选题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. 简述软件生命周期模型中的瀑布模型。
答案:瀑布模型是软件生命周期模型中最早的模型之一。
它将软件开发过程分为需求分析、系统设计、详细设计、编码、测试和维护等阶段,并按照顺序执行。
软件工程题库(含答案)
软件工程题库(含答案)一、单选题(共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) 1.在软件开发的各种资源中,(D )是最重要的资源。
A 开发工具B 方法C 硬件环境D人员2.软件的复杂性是(A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A 固有的B 人为的C 可消除的 D不可降低的3. 3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D )。
A. 程序、数据B.程序、文档C.程序D.程序、数据、文档4.软件是一种(B )产品。
A 、有形B 、逻辑C 、物质D 、消耗软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C )A.软件工程B.软件周期C.软件危机D.软件产生6. 2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A )A.软件危机B.软件工程C程序设计革命D.结构化程序设计7.3:以下哪一项不是软件危机的表现形式(C )(A )成本高(B )生产率低(C )技术发展快(D )质量得不到保证8. 4: “软件危机”产生的主要原因是(A )软件工程(2)10. 1:为了解决软件危机人们提出了用基础。
11. 2.在软件工程时期,决定软件质量的主要因素是(A )A.软件日益庞大B. 开发方法不当C.开发人员编写程序能力差D.没有维护好软件9.5:软件危机是指在软件开发和( C)过程中遇到的一系列严重问题。
A 开发B 使用C 维护D 更新B )的原理来设计软件,这就是软件工程诞生的(C )软件学(D )数学(A )运筹学(B )工程学A.管理水平B. 个人程序技术 C ?小组技术水平 D.硬件的发展12. 3.软件管理工作涉及到的直接对象不包括(B )A ?软件开发人员B ?硬件设备C ?项目经费13. 4.软件工程方法学有三个要素,它们是( A )16. 3:下列哪个模型没有采用迭代的思想( A )17. 4:下列关于瀑布模型的描述正确的是(D )。
软件工程考试题及答案
软件工程考试题及答案一、选择题(每题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. 解释什么是软件的可维护性,并说明其重要性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题1. 软件生命周期可划分为定义、开发和维护3个时期,通常把这3个时期再细分为8个阶段,它们是① 问题定义、②可行性研究、③ 需求分析、④ 总体设计、⑤ 详细设计、⑥ 编码和单元测试、⑦ 综合测试和⑧ 维护,其中的维护阶段的工作量是8个阶段中最大的。
2. 可行性研究的任务是从技术、经济和操作等三个方面研究软件项目可行性。
3. 至少应该从一致性、现实性、完整性和有效性4个方面验证软件需求的正确性,其中完整性和有效性这两个方面的正确性必须有用户的积极参与才能验证,而且为了验证这两个方面的正确性,往往需要开发原型系统。
4. 软件总体设计时应遵循模块化、抽象、逐步求精、信息隐藏、局部化、和模块独立等6条基本原则。
详细设计通常以结构程序设计技术为逻辑基础,因为从软件工程观点看,可理解性是软件最重要的质量标准之一。
5. 软件测试的目的是发现错误,通常把测试方法分为黑盒测试和白盒测试两大类。
因为通常不可能做到穷尽测试,所以精心设计测试方案是保证达到测试目的所必须的。
6. 软件维护通常包括4类活动,它们分别是改正性维护、适应性维护、完善性维护、预防性维护。
二、判断下述提高软件可维护性的措施是否正确,正确的在括弧内写对,错的写错。
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:|Q|>|W(i,j)|B:j = j+1C:j循环until j>ND:i = i+1E:i循环until i>N四、下面给出了用盒图描绘的一个程序的算法,请用逻辑覆盖法设计测试方案,要求做到用语句覆盖()和路径覆盖解:实现语句覆盖的测试方案如下:1) 覆盖THEN部分的语句,即使得条件(A>0)AND(B>0)和条件(C>A)OR(D<B)均为真输入:A=1,B=1,C=0,D=1预期输出:X=2,Y=22) 覆盖ELSE部分的语句,即使得条件(A>0)AND(B>0)和条件(C>A)OR(D<B)均为假输入:A=0,B=-1,C=0,D=1预期输出:X=1,Y=12. 实现路径覆盖的测试方案如下:1) 覆盖两个条件均为假的路径输入:A=-1,B=-2,C=-3,D=3预期输出:X=1,Y=02) 覆盖第一个条件为假第二个条件为真的路径输入:A=-1,B=-2,C=1,D=-3预期输出:X=1,Y=43) 覆盖第一个条件为真第二个条件为假的路径输入:A=1,B=1,C=0,D=2预期输出:X=2,Y=24) 覆盖两个条件均为真的路径输入:A=-1,B=-2,C=2,D=1预期输出:X=3,Y=1总结:逻辑覆盖法:语句覆盖:测试用例能使被测程序的每条执行语句至少执行一次判断覆盖:测试用例能使被测程序中的每个判断至少取得一次“真”和一次“假”,又称分支覆盖条件覆盖:测试用例能使被测程序中每个判断的每个条件至少取得一次“真”和一次“假”。
如果判断中只有一个条件,则条件覆盖便满足判断覆盖,否则,不一定。
判断/条件覆盖:测试用例既满足判断覆盖,又满足条件覆盖。
条件组合覆盖:测试用例使每个判定中所有可能的条件取值组合至少执行一次。
(本题:16种)(最佳)五、某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨外地电话需先拨0,如果是本市电话再接着拨8位电话号码(第1位不是0),如果是外地电话则先拨区码(3~5数字),再拨当地电话号码(7或8位数字,第1位不是0)。
请定义上述的电话号码。
解:电话号码=[校内号码|校外号码]校内号码=非零数字+3位数字校外号码=[本市号码|外地号码]本市号码=数字零+非零数字+7位数字外地号码=数字零+区码+当地号码当地号码=非零数字+6{数字}7区码=3{数字}5非零数字=[1|2|3|4|5|6|7|8|9]数字零=03位数字=3{数字}37位数字=7{数字}7数字=[0|1|2|3|4|5|6|7|8|9]以下是用程序流程图描绘的处理算法,请把它改画为等价的盒图(N-S图)。
解:七、办公室复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现缺纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排队故障,故障排除后回到闲置状态。
请用状态转换图描绘复印机的行为。
解八、为开发一个铁路自动售票系统(该系统预计从2009年使用到2019年),请完成下面的数据流图和数据字典,即从供选择的答案中选出A、B、C、D和E的内容1.数据流图[供选择的答案]A~E⑴车次表;⑵接受;⑶售票记录;⑷购票请求;⑸拒绝。
解:A:购票请求,B: 接受C:拒绝D:车次表E: 售票记录2.数据字典购票请求={乘车日期+到站+车次}乘车日期=“2009”...“2019”+ “/”+ “01”...“12”+ “/” + ‘“01” (31)到站=4{字母}20字母=[“A”…“Z”|“a”…“z”]车次=“001” (999)拒绝=[无车次|无票]无车次=“no train”无票=“no ticker”接受=“to sale”已收款=“yes”车次表={起站+止站+车次}起站=止站=到站售票记录={乘车日期+起站+止站+车次+座号}座号=车厢号+座位号车厢号=“01” (20)座位号=“001” (100)注:⑴ “01” …“20”表示数字范围从01到20;启示⑵乘车日期应给出年、月、日,例如,2009/08/21;⑶假设每个车厢有100个座位。
九、画出简化的文本编辑程序的用例模型,该编辑程序的主要功能有建立文件、打开文件、插入文本、修改文本和保存文件。
解:十、如下图所示的程序流程图描绘了一个非结构化的程序(非结构化===>结构化)。
为什么说它是非结构化的?解:循环控制结构有两个出口。
利用附加变量flag 设计一个等价的结构化程序,用盒图描绘设计结果。
不用附加变量,设计一个等价的结构化程序,用盒图描绘设计结果。
解:十一、画出图形用户界面(GUI )的状态转换图。
该界面具有一个主菜单和一个带有文件打开命令的文件菜单,在每个菜单上都有一条退出命令。
假设每次只有一个文件能够打开。
解:十二、有一个长度为48000条机器指令的程序,第一个月由甲、乙二人分别测试它。
甲改正了20个错误,使程序的平均无故障时间(MTTF )达到了8小时。
乙在测试该程序的另一个副本时改正了24个错误,其中6个错误与甲改正的相同。
然后,由甲一个人继续测试这个程序。
请问⒈ 刚开始测试时程序逻辑中的错误总数ET 是多少? 解:估计:20*24/6 = 80个⒉ 为使平均无故障时间达到240h ,如果甲不利用乙的工作成果,则他还需再改正多少个错误? 解:由(1),Et=80 ===>K = 100==>Ec(1) = 78 ,故他还需改正78-20 = 58个错误。
注:采用此法,纠错接受后,依然有80-78 = 2个错误潜伏在程序中。
⒊为使平均无故障时间达到480h ,如果甲利用了乙的工作成果,则他还需再改正多少个错误? 解:))((480008t E E K MTTF c t -==)()1(E -8010048000MTTF 240c ====>Ec (2) = 79甲乙共已经测试了20+24-6 = 38个错误,因此还需测试79-38 = 41 个错误。
注:采用此法,纠错接受后,依然有80-79 = 1个错误潜伏在程序中。
十三、用Jackson 图表示下图所示的二维表格:解::十四、有一过程,其流程如下图所示。
其中b1、b2、b3为判定的逻辑条件,s1、s2为加工处理。
试用判定表给予描述。
解:)((2)E -8010048000MTTF 240c ==。