软件工程考试题
- 格式:doc
- 大小:367.50 KB
- 文档页数:8
《软件工程》期末试卷(一)(满分100分)考试时间:120分钟(可根据具体情况适当调整)1.单项选择题(每题2分,共20分)(1)以下哪一项不属于软件工程三要素()。
A.过程B. 方法C. 工具D. 计划(2)以下哪一项不属于软件管理过程()。
A. ISO9000B. CMMC. IEEED. 软件企业文化(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. 包含关系、扩展关系2.填空题(每题2分,共20分)(1)需求分析员参与客户需求调研,撰写________________。
(2)_______________是软件策划的核心、重点与难点。
(3)软件由程序、数据和______________组成。
(4)______________是软件设计的基础,______________是软件开发的核心。
(5)需求分析分为两个阶段,_______________阶段和需求规约阶段。
(6)对象图的组成元素包括对象和______________。
软件工程概述一单项选择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 )是指系统具有清晰的结构,能直接反映问题的需求的程度。
软件⼯程考试试题(含答案)⼀、填空题(每空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. 可重用性答案: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、软件工程的研究者将软件开发和维护过程概括为()大活动。
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 、一个数据流程图中的图形符号有且仅有()种。
作业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图。
软件工程基础考试试题一、单选题(每题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. 软件工程中常用的项目管理方法之一是____,用于确定最短的完成项目所需时间。
国开期末考试《软件工程》机考试题及答案(第5套)一、选择题(每题2分,共20分)1. 以下哪个阶段是软件工程的核心?A. 软件开发B. 软件测试C. 软件维护D. 软件设计答案:A2. 下列哪个不是软件工程的目标?A. 提高软件开发效率B. 提高软件质量C. 降低软件开发成本D. 提高软件开发人员的技术水平答案:D3. 下列哪种方法可以用来减少软件开发中的复杂性?A. 增加开发人员的数量B. 提高开发人员的技术水平C. 采用模块化设计D. 减少开发时间的安排答案:C4. 下列哪个工具不用于软件项目管理?A. 甘特图B. 帕累托图C. 思维导图D. 需求跟踪矩阵答案:B5. 下列哪种编程范式主要用于降低软件的复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A二、填空题(每题2分,共20分)1. 软件工程主要包括______、软件开发、软件维护和软件管理四个阶段。
答案:软件需求分析2. 在软件开发过程中,需求分析是______阶段的工作。
答案:早期3. 软件项目管理主要包括______、人员管理、进度管理和质量控制等方面的工作。
答案:范围管理4. 结构化分析方法主要包括______、数据流图、实体关系图和数据字典等工具。
答案:业务流程图5. 面向对象设计的主要优点是______。
答案:提高软件的可重用性和可维护性三、判断题(每题2分,共20分)1. 软件工程的目标是开发出完全没有错误的软件。
()答案:错误2. 软件开发是一个简单的线性过程。
()答案:错误3. 软件项目管理的主要任务是控制软件开发进度。
()答案:错误4. 结构化设计方法只适用于大型软件系统。
()答案:错误5. 面向对象编程主要解决了软件的可重用性问题。
()答案:正确四、简答题(每题10分,共40分)1. 请简述软件工程的基本目标。
答案:软件工程的基本目标是通过工程化的方法,系统地开发和维护软件,以提高软件的质量、提高软件开发的效率、降低软件开发和维护的成本,同时使软件开发的过程和结果易于理解和易于管理。
软件工程基础考试题目和答案一、选择题(每题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. 请简要介绍敏捷开发方法的主要特点和实践原则。
答案:敏捷开发方法主要包括个体和互动、工作软件、客户合作、响应变化等价值观。
实践原则包括短迭代周期、持续反馈、自我组织和协作等。
敏捷开发方法强调快速响应变化,提高软件质量和开发效率。
《软件⼯程》专业考试题(专、本科学员必答)⾼等函授教育《软件⼯程》专业考试题(专、本科学员必答)⼀、单项选择题:1、⼗六进制数88H,可表⽰成下⾯⼏种形式,请找出错误的表⽰()。
A、⽆符号⼗进制数136B、带符号⼗进制数-120C、压缩型BCD码⼗进制数88D、8位⼆进制数-8的补码表⽰2、指令指针寄存器是()。
A、 IPB、 SPC、 BPD、 PSW3、当执⾏指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下⾯的叙述正确的是()。
A、表⽰结果中含1的个数为偶数B、表⽰结果中含1的个数为奇数C、表⽰该数为偶数D、表⽰结果中低⼋位含1的个数为偶数4、下⾯对于指针的描述不正确的是()。
A、指针是地址变量B、指针不能⽤除0以外的常量赋值C、两个指针变量的加减法⽆意义D、指针指向不同基类型的变量长度不同5、下⾯对于析构函数的描述中不正确的是()。
A、析构函数是内置函数B、析构函数与类名相同C、析构函数不能有参数D、析构函数在对象撤销时⾃动执⾏6、下列指针⽤法中错误的是()。
A、int i; int *ptr=&i;B、int i; int *ptr; i=*ptr;C、int *ptr; ptr=0;D、int i=5; int *ptr; *ptr=i;7、引进进程概念的关键在于:__________。
A、独享资源B、共享资源C、顺序执⾏D、便于调试8、UNIX命令的⼀般格式是__________。
A、命令名 [选项] [参数]B、[选项] [参数] 命令名C、[参数] [选项] 命令名D、命令名 [参数] [选项]9、外存(如磁盘)上存放的程序和数据__________。
A、可由CPU直接访问B、必须在CPU访问之前移⼊主存C、是使⽤频度⾼的信息D、是调整缓存中的信息10、UNIX下有四个作业,A、B、C、D的优先数分别为100,64,80和65,假设按优先级调度算法,则__________。
软件工程概述一单项选择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 )。
一、选择题:(每题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、下列说法中,不正确的是( )。
专业:移动通信科目:软件工程一、单项选择题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. 解释什么是软件的可维护性,并说明其重要性。
1、(可行性研究)得目得就就是用最小代价在尽可能短得时间内确定该软件项目就是否能够开发、就是否值得开发。
2、可行性研究得目得不就是就是开发一个软件项目,而就是研究这个项目就是否(就是否做值得)。
3、可行性研究需要从(经济)可行性、(技术)可行性、(操作)可行性与(社会)可行性四个方面分析研究每种解决方案得可行性。
4、技术可行性就是对开发项目得(功能、性能、限制条件)进行分析,确定现有资源条件下,技术风险有多大,项目就是否能实现。
5、经济可行性一般要考虑得情况包括:(成本与效益)。
6、社会可行性所涉及得范围包括(合同、责任、侵权)用户组织得管理模式、范围以及其她一些技术人员常常不了解得陷阱。
7、典型得可行性研究有以下步骤:确定项目得规模与目标、(研究正在运行得系统)、(建立新系统得高层逻辑模型)、导出与评价各种方案、推荐可行得方案与编写可行性研究报告。
8、系统效益=经济效益+(社会效益)。
9、效益分有型效益与(无形)两种。
10、可行性研究得第一个步骤就是(确定项目得规模与目标)。
11、数据字典就就是用来定义数据流图中得(各个成分得具体含义)得。
它与数据流图共同构成了系统得(逻辑模型),就是(需求说明书)得主要组成部分。
12、由于数据流就是流动中得数据,所以必须有(流向)。
除了与(数据存储)之间得数据流命名外,数据流应该采用名词或名词短语。
七、选择题1、研究开发资源有效性就是进行( D )可行性研究得一个方面A、技术B、经济C、社会D、操作2、在软件可行性研究中、可以从不同得角度对软件进行研究,其中从软件得功能可行性角度考虑得就是( B )可行性A、经济B、技术C、操作D、社会3、在遵循软件工程原则开发软件过程中,计划阶段应该依次完成( B )A、可行性研究、需求分析、问题定义B、问题定义、可行性研究、需求分析C、需求分析、问题定义、可行性研究D、可行性研究、问题定义、需求分析4、可行性研究要进行得需求分析与设计应就是( C )。
A、详细得B、全面得C、简化得D、彻底得七、填空题1、需求分析得基本任务就是要准确地定义(扇新系统得目标),为了满足用户需求,回答系统必须(做什么)得问题。
2、在需求分析阶段,首先进行问题识别,即双方确定对问题得综合需求,这些需求包括:(功能)需求、(性能)需求、(环境)需求、(用户界面)需求。
另外还有可靠性、安全性、保密性、可移植性、可维护性等方面得需求。
3、需求分析得困难主要体现在4个方面:问题得复杂性、(交流障碍)、(不完备性与不一致性)、需求易变性。
4、在需求分析阶段进行以下几个方面得工作:识别系统综合要求、(分析系统得数据要求)、导出软件逻辑模型、(编写文档)。
1、需求分析( D )。
A、要回答“软件必须做什么?”B、可概括为:“理解、分解、表达”6个字C、要求编写需求规格说明书D、以上都对2、需求分析阶段研究得对象就是软件项目得( A )。
A、用户要求B、合理要求C、系统要求D、环境要求3、软件需求分析阶段得工作,可以分成4个方面:确定系统综合要求、分析系统得数据要求、导出逻辑模型以及( D )。
A、进度规划B、测试计划C、需求分析评审D、编写文档4、需求规格说明书得作用不应包括( D )。
A、软件设计得依据B、用户与开发人员对软件要做什么得共同理解C、软件验收得依据D、软件可行性行研究得依据六、填空题1、在软件得体系结构中,模块就是可组合、分解与更换得单元。
模块具有(接口)、(功能)、(逻辑)、与(状态)等属性。
2、总体设计得文档主要有:(总体设计说明书)与(数据库设计说明书)。
3、数据库设计指(数据存储设计)得设计,主要进行一下几方面得设计(概念设计、逻辑设计、物理设计)。
4、软件设计得基本任务包括:(设计软件结构)、(数据结构与数据库设计)、(编写设计文档)与(评审)4个方面5、抽象就是认识复杂现象过程中使用得思维工具,即抽出事物(本质)得、(共同)得特性而暂不考虑它得(细节),不考虑其它因素。
6、软件结构设计就是以(模块)为基础,以需求分析得结果为依据,从实现得角度进一步划分(模块),并组成模块得(层次结构)。
7、软件设计就是一个把(需求分析)转换为软件表示得过程,包括总体设计与(详细设计)。
8、进入了设计阶段,要把软件“做什么”得(逻辑)模型变换为“怎么做”得(物理)模型,即着手实现软件需求,并将设计得结果反映在(设计)文档中。
9、总体设计评价就是对设计部分就是否完整地实现了需求中规定得(功能)、(性能)等要求,设计方案得(可行性),关键得处理及内外部接口定义(正确性)有效性,各部分之间得(一致性)等都一一进行评审。
10、在一个模块中,(功能)、(状态)与(接口)反映模块外部特征,(逻辑)反映它得内部特性。
11、(信息隐藏)就是指在设计与确定模块时,使得一个模块得内包含得信息对于不需要遮羞信息得其它模块来说就是不能(访问)得。
12、设计软件结构,具体为:(1)采用某种方法将一个复杂系统按功能划分为(模块)(2)确定每个模块得(功能)(3)确定模块之间得(调用关系) (4)确定模块之间得(接口),即模块之间传递得信息。
(5)评价模块结构得质量。
13、模块间耦合高低取决与模块间(接口得复杂性、调用方式、传递信息)。
14、耦合性分2种类型,最强耦合(内容耦合),最弱耦合(无直接耦合)。
15、模块独立性中每个模块只完成问题要求得(独立得)子功能,并且与其它模块得联系(最少且接口简单)。
16、内聚性分2种类型,最强内聚(偶然内聚),最弱内聚(功能内聚)。
17、耦合性指软件结构中(各模块间)相互联系紧密程度得一种度量。
模块之间联系越(紧密),其耦合性就越强,模块得(独立性)则越差。
18、(数据耦合)就是指两个模块之间有调用关系,传递得就是简单得数据值,相当于高级语言中得(值传递)。
19、(标记耦合)指两个模块之间传递得就是数据结构,如高级语言中得数据名、记录名、文件名等,其实传递得就是(这个数据结构得地址)。
20、功能内聚就是内聚程度最(强)得内聚,指模块内所有元素共同完成(一个功能),缺一不可。
功能内聚得模块与其它模块得耦合就是(弱)得。
21、结构图主要内容有(模块、模块得控制关系、模块得信息传递)。
22、变换型DFD由(输入、变换、输出)三部分组成。
23、软件结构从形态上总得考虑就是:顶层扇出数较(高)一些,中间层扇出数较(低)一些,底层(扇入)数较高一些。
24、软件结构设计就是以(模块)为基础,在需求分析阶段,已经把系统分解成层次结构。
设计阶段以需求分析得结果为根据,从实现得角度进一步划分为模块,并组成模块得层次结构。
选择题1、软件设计一般分为总体设计与详细设计,它们之间得关系就是( A )。
A、全局与局部B、抽象与具体C、总体与层次D、功能与结构2、软件结构使用得图形工具,一般采用( C )图。
A、 DFDB、 PADC、 SCD、 E-R3、下列中属于软件设计得基本原理得就是( D )。
A、数据流分析B、变换流分析C、事务流分析D、模块化4、将几个逻辑上相似得成分放在一个模块中,该模块属于( A )内聚。
A、逻辑B、时间C、功能D、通信5、模块内得某成分得输出就是另一成分得输入,该模块属于( B )内聚。
A、功能B、顺序C、逻辑D、时间6、结构图中不就是主要成分得就是( C )。
A、模块B、模块间传递数据C、模块内部数据D、模块得控制关系7、模块中得所有成分结合起来完成一项任务,该模块属于( D )内聚,它具有简明得外部界面,由它构成得软件易于理解、测试与维护。
A、偶然B、顺序C、通信D、功能8、软件设计中模块间得耦合性尽可能( B )。
A、强B、弱C、较强D、适中9、一个模块把一个数值量作为参数传递给另一模块。
这两个模块之间得耦合就是( B )。
A、逻辑耦合B、数据耦合C、控制耦合D、内容耦合10、一个模块把开关量作为参数传递给另一模块。
这两个模块之间得耦合就是()。
A、外部耦合B、数据耦合C、控制耦合D、内容耦合11、在面向数据流得软件设计方法中,一般将信息流分为( D )。
A、变换流与数据流B、变换流与控制流C、事务流与控制流D、数据流与控制流12、( D )着重反映得就是模块间得隶属关系,即模块间得调用关系与层次关系。
A、程序流程图B、数据流图C、 E-R图D、结构图13、首先将系统中得关键部分设计出来,再让系统得其余部分得设计去适应它们,这称为( C )。
A、模块化B、逐步求精C、抽象D、信息隐藏14、模块( C ),则说明模块得独立性越强。
A、耦合越强B、扇入数越多C、耦合越弱D、扇出数越多15、为了提高模块( B ),当修改与维护模块时减少把一个模块得错误扩散到其它模块中去得机会。
A、耦合性B、独立性C、内聚性D、共享性30、( D )把已确定得软件需求转换成特定形式得设计表示,使其得以实现。
A、系统设计B、详细设计C、逻辑设计D、总体设计第五章总体设计应用例1、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流与事物型数据流得映射方式。
变换型事务型例2:已知模块C中得一个判定影响到模块B,如图所示,它违反了SD得设计原则。
试问: 可以采用哪些手段对结构图作改进,请说明改进办法并画出改进得结构图。
例3、请将下图得DFD转换为软件结构图。
ADB CPQ RW UV X第六章详细设计●1、详细设计得基本任务就是什么?有那几种描述方法?●设计模块得数据结构、设计模块得详细算法、其它(代码设计、输入/输出格式设计、人机对话设计)、编写详细设计说明书、评审。
●程序流程图、N-S图、PAD图、PDL。
例题:某程序流程图如右图所示,请分别用N-S图与PAD图表示。
abcdef g h jx1x5x6x7x8x i i T Fx2x4x3T F T T TF F F例2、输入三个正整数作为边长,判断该三条边构成得三角形就是等边、等腰还就是一般三角形。
使用N-S 图描述。
例3、画出下面用PDL写出得程序得PAD图。
WHILE P DOIF A >O THEN A1 ELSE A2 ENDIF;S1;IF B>0 THEN B1;WHILE C DO S2;S3 ENDWHILE;ELSE B2ENDIF;B3ENDWHILE;例4、有一过程,其流程如下图所示。
其中b1 、b2、 b3为判定得逻辑条件,s1、 s2为加工处理。
试用判定表给予描述。
●计算流图得环形复杂度。
●V(G)=?第七章编码与测试●通常把编码与测试统称为实现。
●软件测试在软件生命周期中横跨两个阶段。
●通常在编写出每个模块之后就对它做单元测试。
●在这个阶段结束之后,对软件系统还应该进行各种综合测试,通常由专门得测试人员承担这项工作。