河南大学计算机与信息工程学院软件工程试卷1答案
软件工程考试题(含答案)

软件工程考试题简答题1、什么叫软件?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合2、什么叫软件危机?软件危机包含哪两点?软件危机产生的原因是什么?软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重问题。
包括两点:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
软件开发和维护过程中存在的许多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
具体表现如下:(1)软件是逻辑部件而不是物理部件。
(2)软件的规模越来越大,复杂性越来越大。
(3)轻视需求分析的重要性,轻视软件维护的错误观点和方法。
3、什么叫软件工程?1968年在第一届NATO会议上的早期定义:“建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法”。
1993年IEEE的定义:“①软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②进而研究①实现的途径”。
我们国家最近定义:软件工程是指导计算机软件开发和维护的工程学科。
它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
4、两种软件工程方法学开发软件时要建立哪些模型?软件工程方法学包括:传统方法学和面向对象方法学。
常用的开发模型有:瀑布模型(需求稳定,而且可以预先指定)原型模型(需求模糊或者随时间变化)增量模型(分析员先作出需求分析和概要设计,用户参与逐步完善)螺旋模型(将瀑布模型与原型化模型结合起来,并加入了风险分析)喷泉模型(使开发过程具有迭代性和无间隙性)5、软件过程模型有哪些?简述它们的特点。
过程模型分为五大类:1.管理过程模型。
2.瀑布模型(又称为生命周期模型)。
3.增量过程模型:包括增量模型,,RAD模型。
4.烟花过程模型:包括原型开发模型,螺旋模型,协同开发模型。
软件工程考试试题及参考答案

软件工程考试试题第一部分选择题一、单项选择题每小题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.DFD14.详细设计的结果基本决定了最终程序的()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图)为()提供了有力的工具。
软件工程考试题含答案 2015

河南师范大学计算机与信息工程学院2013―2014学年度 2010级计算机科学与技术专业期末考试《软件工程》A 卷1. 软件:是计算机系统中与硬件相互依存的一部分,它包括程序数据及其相关文档软件生命周期模型:是描述软件开发过程中各项活动如何执行的模型 软件危机:是计算机软件开发和维护过程中所遇到的一系列严重的问题软件生存周期:软件从定义开始,经过开发,使用和维护,直到最终退役的全过程 2. 软件工程 将系统的、规范的、可度量的工程化方法用于软件开发、运行和维护的过程3. 结构化分析方法:是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。
它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。
结构化分析的步骤如下:①分析当前的情况,做出反映当前物理模型的DFD ;②推导出等价的逻辑模型的DFD ;③设计新的逻辑系统,生成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD ;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案;⑦建立完整的需求规约。
4. 软件工程三要素:过程、方法、工具5. 软件开发工具:是支持软件开发人员开发和维护软件活动而使用的软件1. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案(F )2. SA 方法是面向数据流,建立在数据封闭原则上的需求分析方法(T )3. 模块的设计要力求做到高内聚、低耦合(T )4. 软件开发、设计几乎都是从头开始,成本和进度很难估计。
(F )5. 类图用来表示系统中类和类之间的关系,它是系统动态结构的描述(F )6. 划分模块可以降低软件复杂度和工作量,所以应该将模块划分得越小越好。
(F )7. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
(T)8. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。
《软件工程》试卷参考答案

考试试卷课程名称:软件工程一、选择题1、软件是一种实体。
A.有形的C.虚拟的答案:D 2、在一个用面向对象编程语言实现的软件系统中,当一个对象内的一个方法被激活,则称之为向该对象发送-A.命令B.代码C.消息D.数据答案:C 3、在整个软件过程中,哪个阶段花费最长的时间和最多的成本?A.分析B.设计C.实现D.维护答案:D 4、是语义上相连的、由边界符号界定的、由一个聚合标识符标识的一系列程序语句。
A.for 循环B.模块C.if 语句D.文件答案:B 5、好的软件设计,模块应该是。
A.低内聚、高耦合B.低内聚、低耦合C.r¾内聚、低耦合D.高内聚、高耦合答案:C6、针对下面这个用例图,哪个说法是错误的?B.物理 D.逻辑A.学生能够与系统中的用例A交互。
B.用例A的成功执行必须包括用例B的成功执行。
C.如果用例A执行,用例C也必须执行。
D,用例C可能不被激活。
答案:C7、顺序图与协作图都是图。
A.交互B.状态C.协作D.顺序答案:C8、以下关于软件系统中的实体的说法,哪个是正确的?A.实体类必须有属性。
B.实体类必须是实实在在的物理实体。
C.实体类不与逻辑类和边界类打交道。
D,用例图中的参与者是系统的外部,所以参与者肯定不能成为软件系统内部的实体类。
答案:A9、以下哪个是自顶向下实现与集成的缺点?A.逻辑模块得不到充分的测试。
B.操作模块得不到充分的测试。
C.主要设计错误发现的晚。
D.故障隔离。
答案:B10、软件测试oA.谁都能做,不需要计划和技术B.对于高水平的软件开发团队来说是不需要的,或可有可无的C.是紧接在实现阶段后面的一个阶段D.包括可执行测试和非执行测试答案:D11、使软件系统适应新的操作系统而做的维护是维护。
A.纠错性维护B.完善性维护C.适应性维护D.哪个也不是答案:C128、以下哪个软件生命周期模型是最好的?A.瀑布模型B.快速原型模型C,增量模型D.不能简单地比较优劣,要具体情况具体分析答案:D13、多态与动态绑定是所特有的。
软件工程试卷及答案软件工程试题和答案

软件工程试卷及答案软件工程试题和答案软件工程试卷及答案第一部分:选择题(共40小题,每题2分,共80分)1. 软件工程的定义是:A. 软件设计和开发B. 软件项目管理C. 软件测试和维护D. 软件工程师的工作答案:A2. 下面哪个不是软件生命周期的阶段?A. 需求分析B. 设计C. 开发D. 运营答案:D3. 软件开发过程中的需求分析阶段的主要作用是:A. 编写代码B. 确定软件的功能和性能需求C. 进行软件测试D. 用户培训答案:B4. 下面哪项不是软件开发中常用的软件开发模型?A. 瀑布模型B. 敏捷开发模型C. 增量模型D. 平衡模型答案:D5. 软件项目管理中的关键路径是指:A. 工期最短的路径B. 工期最长的路径C. 工期变动最多的路径D. 工期变动最少的路径答案:B6. 软件测试的目标是:A. 发现尽可能多的缺陷B. 验证软件满足需求C. 确保软件质量D. 所有选项都是目标答案:D7. 下面哪项不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 接口测试答案:D8. 软件维护的类型包括:A. 预防性维护B. 改正性维护C. 完善性维护D. 所有选项都是维护类型答案:D9. 下面哪个不是软件开发中常用的编程语言?A. JavaB. C++C. PythonD. HTML答案:D10. 软件配置管理包括以下哪些方面?A. 版本控制B. 缺陷管理C. 变更管理D. 所有选项都是配置管理的方面答案:D...第二部分:简答题(共4题,每题10分,共40分)1. 请简要介绍一下软件工程的基本原则。
答案:软件工程的基本原则包括:尽早发现和修复缺陷、适应需求变化、迭代开发、团队合作、持续改进。
这些原则旨在提高软件开发的效率和质量。
2. 什么是软件需求工程?请列举一些软件需求工程的主要活动。
答案:软件需求工程是确定和记录软件系统应当具备的功能、性能和接口要求等方面的活动。
软件需求工程的主要活动包括需求获取、需求分析、需求规格和需求验证等。
计算机软件工程试题及答案

计算机软件工程试题及答案一、选择题(每题5分,共30分)1. 下列哪项不是软件工程的目标之一?A. 提高软件质量B. 缩短软件开发周期C. 降低软件成本D. 增加软件功能答案:D2. 面向对象分析的重要产品是什么?A. 类图B. 时序图C. 用例图D. 类的详细设计答案:C3. 在敏捷软件开发中,团队重视的价值是?A. 测试通过的软件B. 设计文档C. 客户满意D. 项目进度答案:C4. 下列哪个是软件验证的过程?A. 编码B. 测试C. 需求分析D. 部署答案:B5. 软件过程模型中,下列哪项是瀑布模型的主要特点?A. 适合迭代式开发B. 强调反馈和调整C. 开发流程线性且有序D. 所有阶段同时进行答案:C6. 下列哪项不是软件需求的特性?A. 可理解性B. 可靠性C. 可维护性D. 可修改性答案:B二、简答题(每题10分,共30分)1. 请简述软件生命周期的主要阶段及其特点。
答案:软件生命周期主要包括需求分析、设计、编码、测试、部署和维护阶段。
需求分析阶段:明确用户需求和系统要求。
设计阶段:制定软件结构和模块设计方案。
编码阶段:将设计方案转化为可执行代码。
测试阶段:验证软件是否符合需求,包括单元测试、集成测试和系统测试。
部署阶段:将软件交付给用户并安装部署。
维护阶段:修复漏洞、改进功能、提供技术支持。
2. 解释迭代开发和增量开发的区别。
答案:迭代开发是指将整个开发过程分成多个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等阶段,每个迭代周期都会不断改进和完善软件,最终得到用户满意的产品。
增量开发是指在软件开发过程中,将系统功能模块化,按模块分阶段开发。
每个阶段都增加新的功能,并将之前开发的功能进行整合和测试。
最终形成完整的软件系统。
3. 简要介绍敏捷开发方法。
答案:敏捷开发是一种迭代和增量的开发方法,强调团队合作和灵活性,专注于快速交付可工作的软件。
敏捷开发方法包括Scrum、XP (极限编程)等。
软件工程试题及答案

软件工程试题及答案在现代信息技术的推动下,软件工程发展迅速,并成为各个行业中不可或缺的一部分。
为了保证软件工程师的专业素养和能力,考试成为评估他们水平的重要方式之一。
本文将介绍一套软件工程试题及答案,希望能够对软件工程师的准备和学习提供一些参考。
第一部分:理论知识1. 什么是软件工程?它在软件开发中的作用是什么?答:软件工程是一门研究如何开发和维护软件的学科。
它通过系统化的方法论和工具,帮助开发人员提高软件质量、提高开发效率,并降低软件开发过程中的风险。
2. 请简要说明软件工程的生命周期模型,并列举其中一种模型。
答:软件工程的生命周期模型指的是软件开发过程中的各个阶段或阶段组合。
常见的模型包括瀑布模型、迭代模型、敏捷模型等。
其中瀑布模型是一种线性的顺序模型,包括需求分析、设计、编码、测试和维护等阶段。
3. 请简述软件需求的分类和重要性。
答:软件需求可以分为功能需求和非功能需求。
功能需求描述了软件要实现的具体功能,而非功能需求指的是软件的性能、可靠性、安全性等方面的要求。
需求的准确、清晰和全面对于软件开发至关重要,它是开发人员理解用户需求、设计和测试软件的基础。
第二部分:软件设计1. 请简述面向对象设计的基本原则。
答:面向对象设计的基本原则包括单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。
这些原则旨在提高软件系统的可维护性、可扩展性和复用性。
2. 请简要介绍UML类图的基本元素,并通过一个例子进行说明。
答:UML类图的基本元素包括类、对象、关联、继承、接口等。
类用矩形表示,其中包含类名、属性和方法;关联表示不同类之间的关系;继承表示一种类派生自另一种类;接口用带虚线的矩形表示,表示类对外提供的服务。
例如,假设我们要设计一个图书管理系统,其中包含图书馆、图书和读者三个类。
图书馆类有属性(名称、地址)和方法(借书、还书),图书类有属性(书名、作者)和方法(查询、借阅次数统计),读者类有属性(姓名、借阅记录)和方法(借书、还书)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、B
2、A
3、C
4、D
5、D
6、C
7、A
8、B
9、D 10、C
11、A 12、B 13、C 14、B 15、D
二、判断题(本题共10小题,每题1分,共10分)
1—5:×、×、×、×、√
6—10:√、×、×、√、×
三、填空题(本题共10空,每空2分,共20分)
1、驱动模块(程序),存根模块(程序);
2、数据,文档
3、多对多;
4、模块的扇出,模块的扇入
5、事物流,变换流
6、依赖
四、简答题(本题共4小题,共20分,答对要点即得分)
1.答:软件生命周期一般包括分析、设计、实现、测试、维护等阶段。
分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
设计阶段:设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。
实现阶段:将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。
测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。
然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。
维护阶段:为了改正错误、适应环境变化和增强功能,对软件进行一系列的修订。
2.答:结构化方法的最大特点是面向功能分解问题。
但由于处理与数据是分离的,并且在设计阶段与分析阶段采用不同的模型。
优点是:简单、实用,适合于瀑布模型,易于为开发者掌握,特别适合于数据处理领域中的应用。
缺点是:对于规模大、复杂的项目不太适应;难以解决软件重用,难于适应需求变化,难以解决维护问题。
面向对象方法以最稳定的对象与类系统作为考虑问题的出发点,通过不
断反复、累增,逐步改进系统,从而更易获得符合用户需求、简单可靠、适应性强的系统。
面向对象方法强调对象结构,而不是程序结构,从而解决了抽象和重用问题,成为当今的主流模式。
3.答:黑盒测试法把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。
它只检查程序功能是否能按照SRS规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,又称为功能测试。
白盒测试法:把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。
这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
又称为结构测试。
4.答:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立。
五、综合题(本题共2小题,共20分)
1.
款文件
户文件流水帐
文件文件(2)
2.无统一答案,酌情给分。