软件工程习题.doc

上传人:laozhun 文档编号:2885134 上传时间:2023-03-01 格式:DOC 页数:37 大小:593.50KB
返回 下载 相关 举报
软件工程习题.doc_第1页
第1页 / 共37页
软件工程习题.doc_第2页
第2页 / 共37页
软件工程习题.doc_第3页
第3页 / 共37页
软件工程习题.doc_第4页
第4页 / 共37页
软件工程习题.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《软件工程习题.doc》由会员分享,可在线阅读,更多相关《软件工程习题.doc(37页珍藏版)》请在三一办公上搜索。

1、软件工程一、填空题 1、软件工程学的内容可包括 、 、 、 、环境、管理、规范等。 2、N-S图中的顺序结构在PAD图中表示为 ,PAD图设置五种基本控制结构,并允许 使用。3、面向对象方法是一种运用 、 、 、 、聚合、消息传递、多态性等概念来构造系统的软件开发方法。 4、模块的独立程度可以由两个定性标准度量,这两个标准分别为 和 。 耦合衡量 ; 内聚衡量 。 5、软件测试方法按测试过程是否在实际应用环境中分为 和 。二、单项选择(每小题4分,共20分) 1、模块在同一段时间内完成各种初始化工作,这属于( )。 A、偶然内聚 B、逻辑内聚 C、时间内聚 D、过程内聚 2、在编程安全方面,一

2、般来说无法做到( )。 A、避开错误 B、完美无缺,绝无错误C、冗余 D、涉及防错程序 3、在衡量软件质量时,最重要的标准是( )。 A、成本低 B、可维护性好 C、符合要求 D、界面友好 4、下列工具中,不属于详细设计工具的是( )。 A、测试工具 B、图形工具 C、表格工具 D、语言工具 5、下列哪个做法会导致不利的语句结构( )。A、避免使用 ELSE GOTO 结构 B、对递归定义的数据结构尽量不再使用递归过程C、模块功能尽可能单一化,模块间的耦合能够清晰可见D、利用信息隐蔽,确保每一个模块的独立性三、判断题(正确的在括号内打上“”,错误的打上“”。每小题3分,共21分)1、Jacks

3、on系统开发方法是一种典型的面向对象的分析设计方法。 ( ) 2、HIPO图是由一组IPO图加一张HC图组成。是美国IBM公司在软件设计中使用的主要表达工具。 3、在软件开发中采用原型系统策略的主要困难是成本问题。 ( ) 4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。 ( ) 5、下图表示的是WHILE型循环。 ( ) 6、数据流图与程序流程图的主要区别是程序流程图中各处理框之间有严格的时间上的顺序。而数据流图只反映数据的流向,不反映处理逻辑的先后。 ( ) 7、UML是面向对象技术领域的建模语言。 ( )四、问答题(每小题5分,共20分) 1、什么是软件? 2、简述面

4、向数据流的需求分析方法。 3、模块独立性的重要性是什么? 4、简述在编码风格上需要注意的四个问题?五、分析题 1、根据伪码程序画出程序流程图,盒图(N-S图)。 START a IF x1 THENREPEAT UNTIL x2 bEND REPEAT ELSE BLOCKcd END BLOCK END IF STOP 2、用Jackson图表示下图所示的二维表格: 该学生名册由表头和表体两部分组成。其中表头又顺序包括表名和字段名。表体可由任意行组成,每行包括学生的姓名、性别、年龄和学号。参考答案及评分标准一、填空题(每小题4分,共20分)1、理论 结构 方法 工具2、 递归3、对象 类 继

5、承 封装 4、内聚 耦合 不同模块彼此之间互相依赖的紧密程度 一个模块内部各个元素彼此结合的紧密程度5、静态分析 动态测试二、单项选择(每小题4分,共20分)1、C 2、B 3、C 4、A 5、B三、判断题(每小题3分,共21分)1、 2、 3、 4、 5、 6、 7、四、问答题(每小题5分,共20分) 1、答:软件是一种产品。包含下面三个方面的含义: 在运行中能提供所希望的功能和性能的指令集(即程序); 使程序能够正确运行的数据结构; 描述程序研制过程、方法所用的文档。 2、答:结构化分析方法是面向数据流进行需求分析的方法。结构化分析方法使用数据流图DFD与数据字典DD来描述,面向数据流问题

6、的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 3、答:具有独立的模块软件比较容易开发出来。独立的模块比较容易测试和维护。 4、答: 源程序文档化; 数据说明的方法: 语句结构; 输入/输出方法。五、分析题(第一小题10分,第二小题9分,共19分) 1、答: 2、答:第四部分 综合练习(含参考答案)一、填空题1.软件是一种产品,同时又是开发和运行产品的载体。2.软件危机指的是软件开

7、发和维护过程中遇到的一系列严重问题。3.软件危机包括下面两方面的问题:如何开发软件,满足对软件的日益增长的需求和如何维护数量不断膨胀的已有软件。4.软件工程学的内容可包括:理论、结构、方法、工具、环境、管理、规范等。(全部加下划线表示考查其中某1-2个空,下同)5.软件生存周期一般可分为以下阶段:问题定义、可行性研究、需求分析、设计、编码、测试、运行与维护。6.软件生存周期也可分为三个大阶段:计划阶段、开发阶段、维护阶段。7.可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。8.可行性研究的目的不是解决问题,而是确定问题是否值得去解决。9.一般说来,应从经济可行性、技术可行

8、性、运行可行性、法律可行性、开发可行性等方面研究可行性。10.只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明。11.需求分析的基本任务是准确的回答系统必须做什么这个问题。12.需求分析所要做的工作是深入描述软件的功能和性能。13.需求分析阶段研究的对象是软件项目的用户要求。14.需求分析结束时交出的文档中应该包括详细的数据流图DFD,数据字典DD,一组简明的算法描述。15.对系统的综合需求主要有:系统功能需求、系统性能需求、运行需求、将来可能提出的需求。16.任何信息处理系统的基本功能都是把输入数据变成需要的输出信息。17.结构化分析方法就是面向数据流自顶向下

9、逐步求精进行需求分析的方法。18.数据域具有三种属性:数据流、数据内容和数据结构。19.数据流图是描述数据处理过程的工具。20.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。21.数据流图的特性有:抽象性、概括性、层次性。22.数据字典的作用是在软件分析和设计的过程中提供关于数据的描述信息。23.数据流图和数据字典共同构成系统的逻辑模型。24.必须从一致性、完整性、现实性、有效性等四个不同角度验证软件需求的正确性。25.信息隐蔽原理是指每一个模块的实现细节对其它模块来说是隐蔽的。26.耦合是对一个软件结构内各个模块之间互连程度的度量。27.模块间耦合程度强弱

10、的种类有:非直接耦合、数据耦合、控制耦合、公共环境耦合、内容耦合、标记耦合、外部耦合。28.内聚标志着一个模块内各个元素彼此结合的紧密程度。29. Jackson图有三种逻辑数据结构:顺序结构、选择结构、重复结构。30. Warnier程序设计方法是一种面向数据结构的设计方法。31.详细设计又称过程设计。32.面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。33.面向对象方法的基本思想是从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。34.面向对象的软件工程学方法是面向对象方法在软件工程领域的全面运用。

11、35.面向对象的软件工程学方法包括:面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的软件维护等主要内容。36. OO方法中把组成客观世界的实体称为问题空间的对象。37.所谓的方法,它们实际上是类对象上的各种操作。38.类有方法和数据集成,它是关于对象性质的描述,包括外部特性和内部实现两个方面。39. UML即:标准建模语言。40. UML包括:UML语义和UML表示法两个部分。41.标准UML的重要内容可以由五类图来定义:用例图、静态图、行为图、交互图、实现图。42.所谓编码就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。43.从应用特

12、点看,高级语言可以分为基础语言、现代语言、专用语言三类。44.程序的注释一般分为:序言性注释和功能性注释。45.程序效率是指程序的执行速度及程序占用的存储空间。46.源程序的效率与详细设计阶段确定的(算法)的效率直接有关。47.冗余是改善系统(可靠性)的一种重要技术。48.防错程序设计可以分为主动式和被动式两种49.按照测试过程是否在实际应用环境中来分,有静态分析和动态测试。50.大型软件系统的测试基本上由下述四个步骤组成:单元测试、集成测试、确认测试、系统测试。51.在软件运行维护阶段对软件产品所进行的修改就是维护。二、判断题52.在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,软

13、件维护比硬件维护要复杂得多。(对)53.软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。(对)54.软件的开发至今尚未完全摆脱手工的开发方式。(对)55.软件的开发费用越来越高,成本相当昂贵。(对)56.软件的开发费用越来越低,但成本仍然相当昂贵。(错)57.在需求分析阶段,所有的用户要求都是合理的,必须满足。(错)58.在需求分析阶段,不是所有的用户要求都是合理的,没有必要全部满足。(对)59.任何一个软件系统本质上都是信息处理系统。(对)60.数据流图中可以带有控制流。(错)61.数据流图中不可以带有控制流。(对)62.模块是数据说明、可执行语句等程序对象的集合

14、。(对)63. Jackson系统开发方法是一种典型的面向数据结构的分析设计方法。(对)64. Jackson系统开发方法是一种典型的面向对象的分析设计方法。(错)65. Warnier程序设计方法是一种面向数据结构的设计方法。(对)66. Warnier程序设计方法是一种面向对象的设计方法。(错)67.详细设计是编码的前奏。(对)68.详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内的数据结构。(对)69.良好的编码风格有助于编写可靠而有容易维护的程序,编码风格在很大程度上决定程序的质量和机器执行的速度。(错)70.良好的编码风格有助于编写可靠而有容易维护的程序,编码风格在很大

15、程度上决定程序的质量,但不影响机器执行程序的速度。(对)71.源程序的效率与详细设计阶段确定的算法的效率直接有关。(对)72.冗余是改善系统可靠性的一种重要技术。(对)73.冗余是改善系统速度的一种重要技术。(错)74.判定覆盖比语句覆盖强有效。(对)75.语句覆盖比判定覆盖强有效。(错)76.软件开发所需的资源可以画成一个金字塔,塔的最基本的资源是人。(对)三、简答分析题77.软件的发展经过哪几个阶段?程序设计阶段、程序系统阶段、软件工程阶段、第四阶段。78.软件的定义是什么?在运行中能够提供所希望的功能和性能的指令集(程序);使程序能够正确运行的数据结构;描述程序研制过程、方法所用的文档。

16、79.基于软件的功能,软件分为哪几种?系统软件、支撑软件、应用软件。80.基于软件的工作方式分,软件分为哪几种?实时处理软件、分时软件、交互式软件、批处理软件。81.基于软件的规模分,软件分为哪几种?微型软件、小型软件、中型软件、大型软件、甚大型软件、极大型软件。82.基于软件的服务对象的范围分,软件分为哪几种?定制软件、产品软件。83.软件危机包括哪两方面的问题?(1)如何开发软件,满足对软件的日益增长的需求。(2)如何维护数量不断膨胀的已有软件。84.产生软件危机的原因是什么?(1)软件是计算机系统中的逻辑部件而不是物理部件。(2)软件本身独有的特点确实给开发和维护带来一些客观困难。(3)

17、开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的需求。(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量规范。(5)在软件的开发与维护关系问题上存在错误的概念。85.软件工程的原则是什么?(1)分解。(2)独立性。(3)一致性。(4)确定性。86.软件开发模型有哪些?(1)瀑布模型。(2)螺旋模型。(3)第四代技术模型。(4)原型模型。87.某图书馆闭架借书流程如下:读者须先被验明证件后才能进入查询室。读者在查询室内通过检书卡来查找自己所需的图书。找到所需图书并填好索书单到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者,否则读者借

18、不了图书。下图是上述系统的系统流程图,请填写空缺。1:验证 2:图书查询 3:检书卡 4:借书 5:取书88.需求分析的原则是什么?(1)必须能够表达和理解问题的数据域和功能域。(2)自顶向下、逐层分解问题。(3)要给出系统的逻辑视图和物理视图。89.一家计算机公司的全部软件产品有系统软件和应用软件,其中系统软件有操作系统、编译程序和包括编辑程序、测试驱动程序、设计辅助工具等的软件工具三类。请画出系统的Warnier图和层次方框图。系统软件软件产品操作系统编译程序软件工具编译程序测试驱动程序设计辅助工具应用软件 90.在概要设计中两个主要任务是什么?(1)将系统划分成物理元素,即程序、文件、数

19、据库、文档等等。(2)设计软件结构,即将需求规格转换为体系结构,划分出程序的模块组成,模块间的相互关系。91.概要设计的过程是怎样的?(1)设计系统方案。(2)选取一组合理的方案。(3)推荐最佳实施方案。(4)功能分解。(5)软件结构设计。(6)数据库设计、文件结构设计。(7)制定测试计划。(8)编写概要设计文档。(9)审查与复审概要设计文档。92.为何要强调模块的独立性?(1)由于能够分割功能而且接口可以简化,具有独立的模块软件比较容易开发出来。(2)修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够插入模块,使得独立的模块比较容易测试和维护。93.如何改进软件设计、提高软

20、件质量?(1)提高模块的独立性。(2)模块规模应该适中。(3)适当选择深度、宽度、扇出和扇入。(4)模块的作用域应该在控制域之内。(5)力争降低模块接口的复杂程度。(6)设计单入口单出口的模块。(7)模块功能应该可以预测。94.用Jackson 图表示下面二维表格:工人工资单工号姓名性别工龄月工资.表头表体95.详细设计的原则是什么?(1)模块的逻辑描述要清晰易读、正确可靠。(2)采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。(3)选择恰当描述工具来描述各模块算法。96.写出下面伪码程序的程序流程图和N-S图BEGIN AIf x1 then

21、Repeat until x2 If x3 then C Else DEnd if End repeatElse E HEnd ifIEND97.将下面的程序流程图转换为N-S图。98.什么是面向对象技术?一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。99.面向对象方法的基本思想是什么?从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。100.面向对象的软件工程学方法包括哪些内容?面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的软件维护等主要内容。101.什么是对象

22、?对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。102.什么是封装?封装定义为:(1)一个清楚的边界,所有的对象的内部软件的范围被限定在这个边界内。(2)一个接口,这个接口描述这个对象和其他的对象之间相互的作用。(3)受保护的内部实现。103.栈是一种常见的数据结构,它的状态和服务如下: 状态服务空半满满压入可执行可执行不可执行弹出不可执行可执行可执行请画出它的状态转换图。104.标准UML的重要内容可以哪五类图来定义?用例图、静态图、行为图、交互图、实现图。105.什么是编码?所谓编码就是把软

23、件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。106.要求进行软件维护的原因有哪些?(1)改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷。(2)因在软件使用过程中数据环境发生变化或处理环境发生变化,需要修改软件加以适应这种变化。(3)用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能的要求。107.软件维护的步骤有哪些?(1)分析和理解程序。(2)修改程序。(3)重新验证程序。(4)维护组织。108.软件管理的主要功能有哪些?(1)制定计划。(2)建立项目组织。(3)配备人员。(4)指导。一,选择题:1.瀑布模型的存在问题是( )

24、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.在SD方法中全面指导模块划分的最重要的原则是( )A.程序模块化 B.模块高

25、内聚C.模块低耦合 D.模块独立性7.程序的三种基本控制结构是( )A.过程,子程序和分程序B.顺序,选择和重C.递归,堆栈和队列D.调用,返回和转移6.黑盒测试在设计测试用例时,主要需要研究( )A.需求规格说明与概要设计说明 B.详细设计说明C.项目开发计划 D.概要设计说明与详细设计说明7.若有一个计算类型的程序,它的输入量只有一个X,其范围是_1.0,1.0,现从输入的角度考虑一组测试用例:_1.001,_1.0,1.0,1.001.设计这组测试用例的方法是( )A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法8.软件生命周期中所花费用最多的阶段是( )A.详细设计 B.

26、软件编码 C.软件测试 D.软件维护9.下列属于维护阶段的文档是( )A.软件规格说明 B.用户操作手册C.软件问题报告 D.软件测试分析报告10.下列文档与维护人员有关的有( )A.软件需求说明书 B.项目开发计划C.概要设计说明书 D.操作手册11.系统定义明确之后,应对系统的可行性进行研究.可行性研究应包括( ).A.软件环境可行性,技术可行性,经济可行性,社会可行性B.经济可行性,技术可行性,运行可行性,法律可行性C.经济可行性,社会可行性,系统可行性,D.经济可行性,实用性,社会可行性12.通过( )可以完成数据流图的细化.A. 结构分解 B, 功能分解 C, 数据分解 D, 系统分

27、解13.模块( ),则说明模块的独立性越强.A. 耦合越强 B, 扇入数越高 C, 耦合越弱 D, 扇入数越低14.模块( )定义为受该模块内一个判断影响的所有模块集合.A. 控制域 B, 作用域 C, 宽度 D, 接口15.Jackson方法是面向( )的设计方法.A. 系统设计 B, 数据结构 C, DFD D, OO16.指出PDL是下列哪种语言( ).A.伪码 B,高级程序设计语言 C. 中级程序设计语言 D, 低级程序设计语言17.在进行软件测试时, 首先应当进行( ),然后再进行组装测试,最后再进行有效性测试.A. 单元测试 B, 集成测试 C, 确认测试 D, 组合测试18.制定

28、进度计划的两个重要工具是( ).A. Gantt图 B, CoCoMo C, 工程网络图 D, HIPO图19.软件测试的目的是( ).A. 评价软件的质量 B. 发现软件的错误C. 找出软件的所有错误 D. 证明软件是正确的20.在整个软件维护阶段所花费的全部工作中,( )所占比例最大.A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护21.面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是( ),一个类获得其父类的全部描述(数据和操作).A. 传递性 B. 继承性

29、 C. 复用性 D. 并行性22.通过执行对象的操作改变该对象的属性,但它必须通过( )的传递.A. 接口 B.操作 C. 信息 D.消息23.面向对象设计阶段的主要任务是系统设计,( ),消息设计和责任设计.A. 生存期设计 B. 数据设计 C. 面向对象程序设计 D. 对象设计24.在考察系统的一些涉及时序和改变的状态时,要用对象-行为模型来表示.动态模型着重于系统的控制逻辑,它包括三个图:一个是事件轨迹图和事件流图,另一个是( ).A .状态转换图 B. 数据流图 C. 系统结构图 D. 时序图25.下列( )不是流行的构件技术.A. COM B.COCOMO C. CORBA D. O

30、PENDOC26.在设计测试用例时,( )是用得最多的一种黑盒测试方法.A. 等价类划分 B. 边界值分析 C. 因果图 D. 判定表27.白盒测试逻辑覆盖测试法有( )种覆盖标准.A. 6 B. 3 C. 4 D. 528.软件能力成熟度为初始等( )个级别.A. 5 B.4 C. 2 D.629.在对数据流的分析中,主要是找到中心变换,这是从( )导出结构图的关键.A. 数据结构 B.实体关系 C. 数据流图 D. ER图30.结构分析方法就是面向( )自顶向下逐步求精进行需求分析的方法.A. 目标 B.数据流 C.功能 D. 对象二,填空题:1.在软件开发过程中要产生大量的信息,要进行大

31、量的修改, 软件配置管理能协调软件开发,并使混乱减到最低程度.2. 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件. 3. 数据项是指_不可再分解的_数据单元. 4. 软件概要设计的主要任务就是_软件结构的设计 _. 5. 为了便于对照检查,测试用例应由输入数据和预期的输出结果 两部分组成.6. 软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上_集成的过程. 7. 软件结构是以模块 为基础而组成的一种控制层次结构.8. 在结构化分析中,用于描述加工逻辑的主要工具有三种,即结构化语言,判定表, 判定树.9. 结构化语言是介于

32、自然语言和 形式语言之间的一种半形式语言.10. 数据流图有四种基本成分:_加工_,_数据流_,_数据存储_,_数据源和数据潭_.11._软件_是计算机程序及其说明程序的各种文档._文档_是有关计算机程序功能,设计,编制,使用的文字或图形资料.12.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期.通常,软件生存周期包括问题定义,_可行性研究_,_需求分析_,总体设计,详细设计,_测试_,_编码_,软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成.13.面向对象开发方法包括OOA,_OOD_,_OOP_三部分.14._可行性研究_的目的就是用最小的代价在尽可能短

33、的时间内确定该软件项目是否能够开发,是否值得去开发.15.模块的耦合性由弱到强分为:_数据_,_控制_,_公共_,_内容_.16.内聚性有七种类型,最强的是_功能_,最弱的是_偶然_.17.结构图的深度指结构图_控制的层数,结构图宽度指_同一层的个数_.18.在类层次中,子类只继承一个父类的数据结构和方法,则称为_单重继承_.子类继承了多个父类的数据结构和方法,则称为_多重继承.19.面向对象分析模型核心是_使用用例_,由此抽取的三个模型为类-对象,对象-关系,对象-行为20.SC图有两种结构.即_变换型,_事务型_.教材购销系统整体结构是_事务型_,各分支结构是_变换型_.三,名词解释1.软

34、件生存周期模型 2.结构化分析方法 3.数据字典(DD) 4.内聚性 5.多态性 6,软件工程 7,模块 8,对象 9,UML 10,面向对象 11,模块独立性 13,软件生存周期 14,静态分析技术: 15,动态测试技术: 四,简答题:1.简述软件工程目标和面临的主要问题.2.简述结构化程序设计方法的基本要点.3.简述文档在软件工程中的作用.4.以G.J.Myers的观点,简述对软件测试的目的5.模块的内聚性包括哪些类型 6.在软件开发中有哪几种模型 哪些适用于面向对象的软件开发 7.成本效益分析可用哪些指标进行度量 (写出公式)8.什么是数据流图 其中的基本符号各表示什么含义 画出教材购销

35、系统系统第二层数据流图.9.集成测试有哪几种实施策略 试比较它们的优缺点.10.在软件开发各阶段,简述GB中几种主要软件工程文档.11.软件复杂性度量的主要参数有哪些 简单说明其含义. 12.简述三种面向对象模型的主要功能. 13.试画出Jackson方法所用的结构图的三种基本结构及对应的图解逻辑.五,分析题:1.下面是某程序的流程图.(1)计算环路复杂度(2)为了完成基本路径测试,求它的一组独立的路径.2.对以下程序进行测试:PROCEDURE EX(A,B:REAL;VAR X:REAL);BEGINIF(A=3)OR(B 1)THEN X:=ABIF(A2)AND(B=0)THEN X:

36、=A-3END先画出程序流程图. 再按语句覆盖法设计测试数据.3.谈谈你对软件工程的学习认识.4.谈谈你对我国软件工程现状及将来的认识5.一本书有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录.试建立该书的对象模型. 6.某旅馆的电话服务如下: 可以拨分机号和外线号码.分机号是从7201至7299.外线号码先拨9,然后是市话号码或长话号码.长话号码是以区号和市话号码组成.区号是从100到300中任意的数字串.市话号码是以局号和分局号组成.局号可以是455,466,888,552中任意一个号码.分局号是任

37、意长度为4的数字串. 要求:写出在数据字典中,电话号码的数据条目的定义(即组成).附:部分参考答案选择题:1 b 2 a 3 c 4 b 5 d 6 d 7 b 8 d 9 c 10 c 11.B 12.B 13.C 14.B 15.B 16.A 17.A 18.A C 19.B 20.C21.B 22.D 23.D 24.A 25.B 26.A 27.D 28.A 29 C 30. B二,填空题:五,分析题:1,环路复杂性=判断数+1=6+1=7(个)2. 路径1:(0)_(13)_(19)路径2:(0)_(14)_(19)路径3:(0)_(15)_(19)路径4:(0)_(16)_(19)

38、路径5:(0)_(17)_(19)路径6:(0)_(18)_(19)路径7:(0)_(12)_(19)其他答案请参照教材中有关内容软件工程习题解答第一章 概述1.软件产品的特性是什么? a.软件产品是一种逻辑产品。 b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。 c.软件产品不会用坏,不存在磨损、消耗问题。 d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是定做的。 e.软件费用不断增加,成本相当昂贵。2.软件产品有几个阶段?各有何特征?阶段A.程序设计时代(1946-1956)B.程序系统时代(1956-

39、1968)C.软件工程时代(1968-今)生产方式个体手工劳动小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件

40、危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么? 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术

41、和人员引起的:a.软件的规模越来越大,结构越来越复杂。b.软件开发管理困难而复杂。c.软件开发费用不断增加。d.软件开发技术落后。e.生产方式落后。f.开发工具落后,生产率提高缓慢。4.什么是软件工程?它的目标和内容是什么?软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本; b.面到要求的软件功能; c.取得较好的软件性能; d.开发的软件易于移植; e.需要较低的维护费用; f.能按时完成开发任务,及时交付使用; g.开发的软件可靠性高;软件工程的内容:) 软件开发技术:软件开发方

42、法、软件开发过程、软件开发工具和环境。) 软件开发管理:软件管理学、软件经济学、软件心理学。5.软件工程面临的问题是什么?软件工程面临的问题: a.软件费用。b.软件可靠性。c.软件维护。d.软件生产率。e.软件重用。6.什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.7.什么是软件生存周期模型?有哪些主要模型?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等9.什么是软件开发的方法?有哪些主要方法?软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。主要方法:结构方法、Jackson方法、维也纳

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号