2015年软件工程期末考试试题及答案(机密)解析
软件工程期末考试参考题及答案
软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。
题目一:根据给定的需求文档,设计一个在线购物系统。
请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。
答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。
请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。
答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。
题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。
```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。
2015年软件工程期末试卷(自己整理的_很完整的)
1、2、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( B)A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C)A、分析阶段B、设计阶段C、编码阶段D、测试阶段三.判断1.软件的开发与运行经常受到硬件的限制和制约。
《软件工程》期末复习题及答案
《软件工程》期末复习题及答案1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是A.系统建模B.软件开发C.问题求解D.验证确认3.结构化分析方法给出了一种能表达功能模型的工具是()。
A.HIP0图 B.PAD图 C.N-S图 D.DFD图7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。
A.可划分为2个有效等价类,2个无效等价类B.可划分为1个有效等价类,2个无效等价类C.可划分为2个有效等价类,1个无效等价类D.可划分为1个有效等价类,1个无效等价类10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。
A.继承B.多态C.消息D.封装11.分层DFD中父子平衡是指()。
A.父加工的数据流数目与子图中数据流数目相同B.父图应包含子图中的全部数据流C.子图应包含父图中的全部数据流D.父加工和子图的输入数据和输出数据应分别保持一致2.在建模过程中,可用以描述加工的工具是()。
A.数据流 B.判定树 C.数据字典 D.数据存储13.以下软件生存周期的活动中,要进行软件结构设计的是()。
A.测试用例设计 B.概要设计C.程序设计 D.详细设计16.CMMI 成熟度等级中的第四级为()。
A.已定义级B.已定量管理级C.持续优化级D.已重复17.以下选项中,最适合于用交互式计算机软件解决的问题是()。
A.非结构化决策问题B.半结构化决策问题C.结构化决策问题D.确定性问题18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。
不是系统测试的内容()。
A.路径测试 B.可靠性测试 C.安装测试 D.安全测试19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。
2015年软件工程期末考试试题及答案(机密)解析
2015年软件工程期末考试试题及答案(机密)解析班级姓名学号一.简要回答下列各问题(共40分,每个小题5分)(1) 阐述软件工程的定义。
答:●是指导计算机软件开发和维护的一门工程学科;●采用工程的概念、原理、技术和方法来开发和维护软件;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
(2) 简述软件危机的原因。
答:●缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。
●软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
●软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
●随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
●缺少有效的软件评测手段,提交用户的软件质量不能完全保证。
(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。
(4) 画出软件生存周期的增量模型的示意图,并简述其优点。
优点:●可强迫开发人员采用规范化的方法。
●严格地规定了每个阶段必须提交的文档。
●要求每个阶段交出的所有产品都必须是经过验证的。
缺点●由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格说明与用户需求之间有差异,就会发生这种情况。
●瀑布模型只适用于项目开始时需求已确定的情况。
1-2 瀑布模型示意图●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。
●逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。
●项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。
●优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。
因此,最重要的系统服务将接受最多的测试。
软件工程期末试题(含答案)
软件工程期末试题(含答案)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一、填空题(每空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 )。
《软件工程》期末考试试卷附答案
《软件工程》期末考试试卷附答案一、选择题(每小题3分,共10小题,共30分)1. 软件需求规格说明的内容不应包括()。
A.主要功能B.算法的详细描述C.用户界面及运行环境D.软件的性能2. 程序的三种基本控制结构是()。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、迭代和回溯D.调用、返回和转移3. 在E-R模型中,包含以下基本成分()。
A.数据、对象、实体B.控制、联系、对象C.实体、联系、属性D.实体、属性、操作4.软件测试的目标是()。
A.证明软件是正确的B.发现错误、降低错误带来的风险C.排除软件中所有的错误D.与软件调试相同5.软件是()。
A.处理对象和处理规则的描述B.程序C.程序及其文档D.计算机系统6. <!--[endif]-->面向对象的分析方法主要是建立三类模型,即()。
A.系统模型、ER模型、应用模型B.对象模型、动态模型、应用模型C.E-R模型、对象模型、功能模型D.对象模型、动态模型、功能模型7. <!--[endif]-->各种软件维护的类型中最重要的是( )。
A.完善性维护B.纠错性维护C.适应性维护D.预防性维护8.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法9.在软件开发模型中,提出最早,应用最广泛的模型是()A,瀑布B,螺旋C,演化D,智能10.软件工程方法是在实践中不断发展着的,而早期的软件工程方法一般是()A,原型化方法B,结构化方法C,面向对象方法D,功能分解法二、判断题(每小题3分,共10小题,共30分)()1、开发软件就是编写程序。
()2、系统测试的主要方法是白盒法和黑盒法。
()3、编程序时应尽可能利用硬件特点以提高程序效率.()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.DFD 14.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程-期末考试题(含答案)
一、选择题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.交替使用6。
UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(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。
软件工程期末考试试卷附答案
软件工程期末考试试卷附答案一. 选择题(每题4分,共30题,总分120分)1. 软件工程的目标是什么?A. 提高软件开发效率和质量B. 实现软件系统的功能需求C. 加快软件产品的上市时间D. 增加软件系统的用户体验答案:A2. 软件生命周期模型有哪些?A. 瀑布模型B. 原型模型C. 敏捷开发模型D. 螺旋模型答案:A、B、C、D3. 在软件工程中,需求工程的任务是什么?A. 收集用户需求B. 分析用户需求C. 规划需求开发过程D. 验证和确认需求答案:A、B、C、D4. 软件配置管理是指什么?A. 管理软件的需求变更B. 管理软件的源代码C. 管理软件的版本迭代D. 管理软件的错误修复答案:B、C、D5. 软件测试的目的是什么?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 提高软件的可靠性和质量D. 减少软件开发时间和成本答案:A、B、C6. 软件维护是指什么?A. 修复发现的软件错误B. 优化软件的性能和效率C. 更新软件的功能和特性D. 软件系统的日常管理和支持答案:A、B、C、D7. 软件风险管理包括哪些活动?A. 风险识别和评估B. 风险规避和转移C. 风险监控和控制D. 风险应对和应急处理答案:A、B、C、D8. 软件工程的核心原则是什么?A. 解释性和可行性原则B. 详细性和可测性原则C. 可维护性和可扩展性原则D. 可重复性和可验证性原则答案:B、C、D9. UML(统一建模语言)是用来做什么的?A. 描绘软件系统的静态结构B. 描述软件系统的行为和交互C. 绘制软件系统的数据流程D. 显示软件系统的部署结构答案:A、B、C、D10. 软件工程中的项目管理包括哪些主要过程?A. 项目计划和进度管理B. 项目风险和质量管理C. 项目需求和配置管理D. 项目团队和沟通管理答案:A、B、C、D11. 软件度量是用来做什么的?A. 评估软件产品的质量B. 监控软件开发的进展C. 改进和优化软件工艺D. 比较不同软件的性能答案:A、B、C、D12. 软件工程的伦理问题包括什么?A. 知识产权和版权问题B. 用户隐私和数据保护C. 软件安全和漏洞利用D. 职业道德和责任意识答案:A、B、C、D13. 什么是软件工程的标准?A. 是评估软件工程管理的指标B. 是规定软件开发流程的指南C. 是实现软件质量保证的方法D. 是确保软件安全性的基准答案:B、C14. 软件工程中的团队协作有哪些挑战?A. 沟通和协调不畅B. 人员技能和素质不匹配C. 资源和时间的约束D. 对项目目标和需求理解不一致答案:A、B、C、D15. 关于软件工程的学科范畴,下列说法正确的是:A. 软件工程包括软件开发过程的实施和管理B. 软件工程仅关注软件开发阶段C. 软件工程只涉及编程和代码实现D. 软件工程不包括对用户需求的研究答案:A二. 简答题(每题10分,共5题,总分50分)1. 什么是软件工程?软件工程的基本原理和方法有哪些?答案:软件工程是将工程学原理和方法应用于软件开发的学科,旨在提高软件开发的效率和质量。
软件工程期末考试试卷(附答案)
《软件工程》期末考试试卷一、填空题(在括号内填写正确的答案,每空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.下列关于模块的描述,正确的是()。
2015软考试题及答案
2015软考试题及答案一、单选题1. 软件工程的核心是________。
A. 需求分析B. 设计C. 编码D. 测试答案:A2. 在软件开发过程中,需求变更最频繁的阶段是________。
A. 需求分析B. 系统设计C. 编码实现D. 系统测试答案:A3. 下列哪个不是软件测试的目的?A. 发现错误B. 验证软件是否符合需求C. 评估软件质量D. 编写代码答案:D二、多选题1. 软件项目管理包括以下哪些方面?A. 项目范围管理B. 项目时间管理C. 项目成本管理D. 项目质量管理答案:A, B, C, D2. 软件维护包括以下哪些类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A, B, C, D三、判断题1. 软件危机是指软件项目无法按时完成。
()答案:错误2. 面向对象的分析和设计方法可以提高软件的可重用性和可维护性。
()答案:正确四、简答题1. 简述软件测试的目的。
答案:软件测试的目的是确保软件产品的质量,通过发现和修复错误来验证软件是否符合需求规格,评估软件的质量,并提供信息以支持软件的维护和改进。
2. 什么是软件工程的生命周期?答案:软件工程的生命周期是指软件开发过程中的一系列阶段,通常包括需求分析、设计、实现、测试、部署和维护等阶段。
五、案例分析题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需要的工作量(时间)。
2015软考试题及答案
2015软考试题及答案2015年软考(软件水平考试)试题及答案一、单项选择题(每题1分,共40分)1. 软件工程的基本原理不包括以下哪一项?A. 抽象B. 信息隐藏C. 模块化D. 迭代开发答案:B2. 在软件开发过程中,需求分析阶段的主要任务是什么?A. 设计软件架构B. 编写代码C. 确定软件需求D. 进行软件测试答案:C3. 以下哪个不是敏捷软件开发的核心价值?A. 个体和互动高于流程和工具B. 客户合作高于合同谈判C. 遵循计划高于客户合作D. 响应变化高于遵循计划答案:C4. 在面向对象的程序设计中,封装的主要目的是什么?A. 提高代码的可读性B. 隐藏对象的内部状态和行为C. 增加代码的复杂性D. 减少代码的可维护性答案:B5. 软件测试的目的是?A. 证明软件是正确的B. 发现软件中的错误C. 证明软件没有错误D. 增加软件的功能答案:B6. 软件项目管理中,风险管理的主要活动不包括以下哪一项?A. 风险识别B. 风险评估C. 风险转移D. 风险消除答案:D7. 在软件工程中,以下哪个不是软件配置管理的目的?A. 控制软件变更B. 维护软件版本C. 提高软件质量D. 减少软件开发成本答案:D8. 以下哪个不是软件质量保证的主要活动?A. 代码审查B. 软件测试C. 需求分析D. 软件审计答案:C9. 在软件维护中,以下哪个不是维护的类型?A. 校正性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D10. 以下哪个不是软件工程工具?A. 项目管理工具B. 配置管理工具C. 代码生成工具D. 文本编辑器答案:D(注:以上为部分题目示例,实际考试题目可能有所不同。
)二、多项选择题(每题2分,共20分)1. 软件工程的主要目标包括以下哪些?A. 提高软件生产率B. 提高软件质量C. 降低软件开发成本D. 增加软件功能答案:ABC2. 以下哪些是软件需求分析阶段的输出?A. 需求规格说明书B. 软件设计文档C. 用户手册D. 数据字典答案:AD3. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 以下哪些是软件项目管理的关键活动?A. 项目规划B. 项目监控C. 项目评估D. 项目终止答案:ABCD5. 软件配置管理的主要任务包括以下哪些?A. 版本控制B. 变更控制C. 配置审计D. 配置备份答案:ABC(注:以上为部分题目示例,实际考试题目可能有所不同。
软件工程考试题含答案 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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级姓名学号一.简要回答下列各问题(共40分,每个小题5分)(1) 阐述软件工程的定义。
答:●是指导计算机软件开发和维护的一门工程学科;●采用工程的概念、原理、技术和方法来开发和维护软件;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
(2) 简述软件危机的原因。
答:●缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。
●软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
●软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
●随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
●缺少有效的软件评测手段,提交用户的软件质量不能完全保证。
(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。
(4) 画出软件生存周期的增量模型的示意图,并简述其优点。
优点:●可强迫开发人员采用规范化的方法。
●严格地规定了每个阶段必须提交的文档。
●要求每个阶段交出的所有产品都必须是经过验证的。
缺点●由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格说明与用户需求之间有差异,就会发生这种情况。
●瀑布模型只适用于项目开始时需求已确定的情况。
1-2 瀑布模型示意图●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。
●逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。
●项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。
●优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。
因此,最重要的系统服务将接受最多的测试。
(5) 画出D.Ross 提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。
答:(6) 举例说明变换型和事务型流图的特点。
答:变换型流图由输入、中心变换和输出3部分组成,而且逐层展开。
如:事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。
(7) 给出下面变换型数据流图对应的模块结构图。
答:(8) 给出下面交易型数据流图对应的模块结构图。
答:(9) 举例说明模块结构图优化方法中的不同模块相似部分调整的原则。
答:● 完全相似的模块可以归并;● 两个模块部分相似的代码可以通过建立公共新模块,并设立对公共模块调用进行调整。
例如:(10) 举例说明模块结构图优化方法中作用域与控制域调整的原则。
答:作用域是指判断语句所在模块和他判断调用的下属模块,而控制域是指他本身以及他的下属模块;一般要求作用域在控制域内。
例如: D 通过B 判断调用C ,故D 的作用范围不在它的控制范围内,调整为右图。
(11) 试将下面的代码段进行局部调整,使其更容易理解。
1)要进行适当的缩排;2)增加必要的注释;3)增加必要的语句,以免产生错误;For(i=1;i<=n-1,i++){t=i;for(j=i+1,j<=n,j++)if(a[j]<a[t])t=j;if(t!=i){tm=a[t];a[t]=a[i];a[i]=tm}} 答:int i=0;/*实现***功能int t=0;int tm=0;For(i=1;i<=n-1,i++) /*实现***功能{t=i;for(j=i+1,j<=n,j++) /*实现***功能if(a[j]<a[t])t=j;if(t!=i){tm=a[t]; /*实现***功能a[t]=a[i];a[i]=tm}}(12)试按照规范编写一个求3个数中最小值的程序。
程序规范如下:1)禁止使用GOTO语句;2)使用缩排编写程序;3)变量命名明晰答:main() // a c code about finding out the small one in tree input number{int num1,num2,num3,min;printf("Please input three numbers:");scanf("%d,%d,%d",&num1,&num2,&num3);if (num1<num2)MIN=num1;elseMIN=num2;if (num3<MIN)MIN=num3;printf("The small one is:%d",small);(13)举例说明软件测试的不完备性。
答:就目前的软件测试方法而言,还无法做到对代码的完全覆盖测试,所以说软件测试是不完备的。
例如,下面的代码是无法完全测试的。
(14)试解释单元测试中“驱动模块”、“桩模块”与“被测模块”含义以及它们之间的关系。
答:● 驱动模块相当于被测模块的主程序,它接收测试数据,并把这些数据传送给被测模块,最后再输出实测结果。
● 桩模块也叫做存根模块,用以代替被测模块调用的子模块。
● 被测模块是单元测试要测试的模块,他与驱动模块和桩模块有被调用和调用的关系。
(15)简述软件改正性、适应性维护的含义。
答:改正性是为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。
适应性维护是指,随着信息技术的飞速发展,软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程叫做适应性维护包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 × 24小时,要想把所有路径测试完,需3170年。
(16)举例说明影响维护工作量的因素。
答:(1)系统规模:系统规模大,维护困难;(2)程序设计语言:开发语言复杂,维护也困难;(3)系统年龄大小:时间久远的系统,维护困难;(4)数据库技术的应用水平:数据应用水平低,维护工作量大。
(5)所采用的软件开发技术及软件开发工程化的程度:工程化程度高,维护相对容易。
例如:商业企业进销存管理软件。
由于商品品种多,经营手段灵活,所以对数据库技术应用的水平要求比较高;一般大型商业企业,如沃尔玛是全球连锁,所以系统规模巨大,维护困难;商业企业管理软件一般要处理的内容多样,目前还没有一种语言可以完成整个系统的开发任务,所以选择功能相对强大的语言会减少开发困难。
二、已知程序框图如图2-1所示,试分别给出(a)语句覆盖,(b)条件覆盖,(c)判断覆盖,(d)条件组合覆盖,(e)判断/条件的最小测试用例和路径。
(每小题5分,共25分)答:(a)语句覆盖测试用例【(2, 0, 4),(2, 0, 3)】(b)条件覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】(c)判断覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】(d)条件组合覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】路径:abe测试用例:【(2, 1, 1),(2, 1, 2)】路径:abe测试用例:【(1, 0, 3),(1, 0, 4)】(e)判断/条件覆盖路径:ace测试用例:【(2, 0, 4),(2, 0, 3)】路径:abd测试用例:【(1, 1, 1),(1, 1, 1)】三、现有一个PASCAL语言的编译器。
试采用黑盒测试法测试该编译器对语法规定:“标识符是由字母开头、后跟字母或数字的任意组合构成;有效字符数为8个,最大字符数为80个;标识符必须先说明,再使用;在同一说明语句中,标识符至少必须有一个。
”的一致性。
(每一个分类5分,共25分)答:等价类划分如下:测试用例:下面选取了8个测试用例,它们覆盖了所有的等价类。
① V AR x,T1234567:REAL;}(1)(2)(4)(7)(8)(11)(13)BEGIN x:=3.414;T1234567:=2.732;……② V AR :REAL;}(3)③ V AR x,:REAL;}(5)④ V AR T12345……:REAL;}(6)多于80个字符⑤ V AR T $:CHAR;}(9)⑥ V AR GOTO:INTEGER;}(10)⑦ V AR 2T:REAL;}(12)⑧ V AR PAR:REAL;}(14)BEGIN……PAP:=SIN(3.14*0.8)/6;四、已知程序伪代码如图4-1所示,试完成下列工作:1) 试用算法4.1给出对应的流图; 2) 计算流图的复杂性V(G);3) 求基本路径构成的基本集合(num 1,num 2,num 3各取一次最小值); 4) 给出每条路径执行的期望结果; 5) 给出每一条路径的测试用例。
(每小题3分,共15分)答:环形复杂性:3 基本路径集:12357 12457 12367 期望结果:12357的结果:num1是最小值 12457的结果:num2是最小值 12367的结果:num3是最小值测试用例:Num1=3;num2=4;num3=5 Num1=4;num2=3;num3=5 Num1=4;num2=5;num3=3main() // a c code about finding out the small one in tree input number {int num1,num2,num3,Min;printf("Please input three numbers:");(1)scanf("%d,%d,%d",&num1,&num2,&num3); (2)if (num1<num2) (3)MIN=num1; else(4)MIN=num2; (5)if (num3<MIN) (6)MIN=num3;(7)printf("The small one is:%d,Min); 图4-1 一个计算三个数中最小值的程序五、已知程序伪代码如图5-1所示,试完成下列工作:1)试用算法5.1给出对应的流图;2)计算流图的复杂性V(G);3)求基本路径构成的基本集合(num1,num2,num3各取一次最小值);4)给出每条路径执行的期望结果;5)给出每一条路径的测试用例。