1、软件工程选择题一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分)1.软件产品的开发主要是( D )。A.复制 B.再生产 C.拷贝 D.研制2.可行性研究的目的是决定( B )。A.开发项目 B.项目值得开发否 C.规划项目 D.维护项目3SA方法用DFD描述( D ) 。A系统的控制流程 B系统的数据结构C系统的基本加工 D系统的功能4.进行需求分析可使用多种工具,但( C )是不适用的。A. 数据流图(DFD) B. 判定表 C. PAD图 D. 数据字典5.软件设计阶段一般又可分为 ( B )。 A.逻辑设计与功能设计 B.总体设计与
2、详细设计 C.概念设计与物理设计 D.模型设计与程序设计6.软件设计中划分模块的一个准则是( C )。A.低内聚低耦合 B.低内聚高耦合C.高内聚低耦合 D.高内聚高耦合7.下列语言中哪个语言是低级语言( D )A. PASCAL B.VISUAL BASIC C. C+ D.汇编语言14.软件测试的目的是( B )。A.试验性运行软件 B.发现软件错误C.证明软件正确 D.找出软件中全部错误8.软件测试中,白盒法是通过分析程序的( B )来设计测试用例的。A.应用范围 B.内部逻辑 C.功能 D.输入数据9.黑盒法是根据程序的( C )来设计测试用例的。A.应用范围 B.内部逻辑 C.功能
3、D.输入数据10.把一组具有相似特性的对象组合在一起,称之为( C )。A、多态性 B、继承性 C、类 D、消息11.面向对象的主要特征除对象唯一性、封装、继承外,还有( A )A、多态性 B、完整性 C、可移植性 D、兼容12.软件生存周期中时间最长的是( D )阶段。A.需求分析 B.概要设计 C.测试 D.维护13.与计算机科学的理论研究不同,软件工程是一门( C )学科。A.理论性 B.原理性 C.工程性 D.心理性14.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( C )。A、详细设计阶段 B、总体设计阶段 C、 需求分析阶段
4、D、 测试和运行阶段15.软件工程的出现主要是由于( C )。A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展16. SA方法的基本思想是( C )A自底向上逐步抽象B自底向上逐步分解 C自顶向下逐步分解 D 自顶向下逐步抽象 17、为了提高软件测试的效率,应该( D) 。A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性较大的数据作为测试用例18. 与设计测试用例无关的文档是( A )。A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序19. 使用白箱测试方法时确定测试数据
5、应根据( A )和指定的覆盖标准。A.程序的内部逻辑 B.程序的复杂程度 C.使用说明书 D.程序的功能20. 软件部件的内部实现与外部可访问性的分离,是指软件的( C )。A.继承性 B.共享性 C.封装性 D.抽象性21、软件管理的具体内容包括对( D )A.开发人员、组织机构 B.用户管理、配置管理 C.控制、文档资料 D.(A) 、(B)和(C)22. 软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分 析文档以及( B )A. 软件的总结 B. 需求分析评审 C. 阶段性报告 D. 以上答案都不正确23. .数据流图是常用的进行软件需求分析的图形工具,其主
6、要图形元素是( C )A. 输入.输出.外部实体和加工 B. 变换.加工.数据流和存储C. 加工.数据流.数据文件和源或宿 D. 变换.数据存储.加工和数据流 24、软件的集成测试工作最好由( D )承担,以提高集成测试的效果。A.该软件的设计人员 B.该软件开发组的负责人 C.该软件的编程人员 D.不属于该软件开发组的软件设计人员25. 软件生命周期的最后的一个阶段是( B )A.书写软件文档 B.软件维护 C.稳定性测试 D.书写详细用户说明26 McCall提出了表明软件质量的11个质量特性。它们是正确性、可靠性、可使用性、完整性、( D ) 、可移植性、可复用性、效率、可测试性、互联性
7、。A.模块独立性、安全性 B.文档完备性、灵活性C.可维护性、安全性 D.可维护性、灵活性27、每个对象可用它自己的一组属性和它可以执行的一组( C )来表征。A、行为 B、功能 C、操作 D、数据28、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父类,下层可以有子类,这种层次结构系统的一个重要性质是( B ) ,一个类获得其父亲的全部描述(数据和操作)A、传递性 B、继承性 C、复用性 D、并行性29、软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是( C )A.初级、高级、高级、初级 B.中级、中级、高级
8、、中级C.高级、中高级、初级、中高级 D.中级、中高级、中级、初级30、软件重用的单位是( A )。A.软件模块 B.性能 C.系统 D.功能31、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B )A、 相互排斥 B、 相互补充 C、 独立使用 D、 交替使用32、系统分析员是( B )A、用户中系统的直接使用者 B、用户和软件人员的中间人C、软件的编程人员 D、用户和软件人员的领导 33、结构化分析SA方法以数据流图、( D )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。A、DFD图 B、PAD图 C、IPO图 D、数据字典
9、34、在E-R 模型中,包含以下基本成分( C )。A、数据、对象、实体 B、控制、联系、对象C、实体、关系、属性 D、对象、属性、操作35、结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。A、数据流 B、数据流图 C、数据库 D、数据结构36、初步用户手册在( B )阶段编写。A.可行性研究 B需求分析 C软件总体设计 D软件详细设计37、在软件结构化设计中,好的软件结构设计应该力求做到( B )。A、顶层扇出较少,中间层扇出较高,底层模块低扇入B、顶层扇出较高,中间层扇出较少,底层模块高扇入C、顶层扇入较少,中间层扇出较高,底层模块高扇入D、
10、顶层扇入较少,中间层扇入较高,底层模块低扇入 38、软件详细设计主要采用的方法是( D )。A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计39、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是( D )。 A、黑盒测试 B、正确性测试 C、动态测试 D、静态测试 40、黑盒测试在设计测试用例时,主要需要研究( A ) 。A、需求规格说明与概要设计说明 B、详细设计说明C、项目开发计划 D、概要设计说明与详细设计说明41、在整个软件维护阶段所花费的全部工作中,( C ) 所占比例最大。A、改正性维护 B、适应性维护 C、完善性维护 D、预防性维护 42
11、.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( C )。A. 总结 B. 阶段性报告 C. 需求分析评审 D. 以上答案都不正确43.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( A )。A. 数据流图 B. 数据词典 C. 结构化语言 D. 判定表与判定树44.来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为( D )工具。 A.CAD B.CAI C.CAM D.CASE 45. 螺旋模型综合了( A )的优点,并增加了风险分析。 A.瀑布模型和演化模型 B.瀑布模型和喷泉模型C.演化模型
12、和喷泉模型 D.原型和喷泉模型46SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( A )。A获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型47. 设计软件结构一般不确定( C )。A.模块的功能 B.模块的接口C.模块内的局部数据 D.模块间的调用关系48结构分析方法就是面向( D )自顶向下逐步求精进行需求分析的方法。A目标 B.功能 C
13、. 对象 D.数据流49. 软件是一种( B )产品。A.物质 B.逻辑 C.有形 D.消耗50. 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C )。A、详细计划 B、可行性分析 C、 运行阶段 D、 测试与排错51. 结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的( B)A、控制流 B、数据流 C、程序流 D、指令流52. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是( B )
14、A、 经济可行性 B、技术可行性 C、 操作可行性 D、 法律可行性53、下述任务中,不属于软件工程需求分析阶段的是( D ) 。A分析软件系统的数据要求 B确定软件系统的功能需求C确定软件系统的性能要求 D确定软件系统的运行平台54、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D )关系。A.组装 B.整体成员 C.has a D.一般具体55.瀑布模型的存在问题是( B )A用户容易参与开发 B缺乏灵活性C用户与开发者易沟通 D适用可变需求56.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程 B.软件周期C.软件危机 D.软件产生57软
15、件测试的目的是( B ) 。A 评价软件的质量 B. 发现软件的错误C 找出软件的所有错误 D. 证明软件是正确的58. 需求分析最终结果是产生( B )。 A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告59.快速原型模型的主要特点之一是( D )A.开发完毕才见到产品 B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件 D.及早提供工作软件60结构分析方法就是面向( B )自顶向下逐步求精进行需求分析的方法。A 目标 B.数据流 C.功能 D. 对象61. 研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。 A. 技术可行性 B.
16、 经济可行性 C. 社会可行性 D. 法律可行性62为了提高软件的可维护性,在编码阶段应注意( D )A.保存测试用例和数据 B.提高模块的独立性C.文档的副作用 D.养成好的程序设计风格软件工程填空题二、填空题(请把答案写在相应的横线上,每小题1.5分)1、面向对象开发方法包括 OOA 、OOD 、 OOP 三部分。2、在单元测试时,需要为被测模块设计 驱动模块 和 桩模块 。3、 软件工程管理的具体内容包括对开发人员、组织机构、 用户 、 文档资料 等方面的管理。4、可行性研究的三个方面是 技术可行性 、 社会可行性 和_经济可行性_。5、对象的抽象是_类_。6、 软件工程包括软件开发技术
17、和_软件工程管理_两大部分内容。7、需求分析阶段产生的最重要的文档是_需求规格说明书_。8、结构化方法是一种面向数据流的开发方法。由结构化分析、_结构化设计_、结构化程序设计构成。9、 对象之间进行通信的构造叫做_消息_。10、结构化分析方法的分析策略是_自顶向下逐步求精_。11、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为_容错_软件。12、软件生存周期包括问题定义、可行性研究,需求分析,总体设计, 详细设计 ,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成13、_可行性研究_的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开
18、发,是否值得去开发。软件工程简答题三、简答题(简要回答下列问题,每小题4分*5=20)1、什么是软件工程?它目标和内容是什么? 软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:包括开发技术和开发管理两个方面。2、什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。3、衡量
19、模块独立性的两个标准是什么?各表示什么含义? 内聚和耦合。 内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。4、软件设计的基本原理包括哪些内容?模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。 信息隐蔽:将模块实现自身功能的细节与数据“隐蔽“ 起来。模块间仅交换为完成系统功能所必须的信息。模块独立性:每个模块只完成系统要求的独立的子功能。5、软件生命周期划分为哪几个阶段? 软件生命周期分为三个时期八个阶段:软件定义:问题定义、可行性研究;软件开发:需求分析、概要设计、详细设计、编码、测试;软件运行:软件维护软件工程应用题四、综合应用题(每小题 10 分*3=30)1.给你一个 GIS 软件开发任务由 你负责,你将怎样进行?2.目前常用的 GIS 开发、应用平台软件有哪些,各有什么特点3.合格的 GIS 软件工程负责人应该有什么样的素质和知识?