软件工程习题

上传人:1888****888 文档编号:38754617 上传时间:2021-11-08 格式:DOC 页数:38 大小:662.51KB
返回 下载 相关 举报
软件工程习题_第1页
第1页 / 共38页
软件工程习题_第2页
第2页 / 共38页
软件工程习题_第3页
第3页 / 共38页
点击查看更多>>
资源描述
软件工程一、填空题 1、软件工程学的内容可包括 、 、 、 、环境、管理、规范等。 2、N-S图中的顺序结构在PAD图中表示为 ,PAD图设置五种基本控制结构,并允许 使用。3、面向对象方法是一种运用 、 、 、 、聚合、消息传递、多态性等概念来构造系统的软件开发方法。 4、模块的独立程度可以由两个定性标准度量,这两个标准分别为 和 。 耦合衡量 ; 内聚衡量 。 5、软件测试方法按测试过程是否在实际应用环境中分为 和 。二、单项选择(每小题4分,共20分) 1、模块在同一段时间内完成各种初始化工作,这属于( )。 A、偶然内聚 B、逻辑内聚 C、时间内聚 D、过程内聚 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、Jackson系统开发方法是一种典型的面向对象的分析设计方法。 ( ) 2、HIPO图是由一组IPO图加一张HC图组成。是美国IBM公司在软件设计中使用的主要表达工具。 3、在软件开发中采用原型系统策略的主要困难是成本问题。 ( ) 4、软件开发所需的资源可以画成一个金字塔,塔的高层最基本的资源是人。 ( ) 5、下图表示的是WHILE型循环。 ( ) 6、数据流图与程序流程图的主要区别是程序流程图中各处理框之间有严格的时间上的顺序。而数据流图只反映数据的流向,不反映处理逻辑的先后。 ( ) 7、UML是面向对象技术领域的建模语言。 ( )四、问答题(每小题5分,共20分) 1、什么是软件? 2、简述面向数据流的需求分析方法。 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、对象 类 继承 封装 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来描述,面向数据流问题的需求分析适合于数据处理类型软件的需求描述。其核心思想是分解化简问题,将物理与逻辑表示分开,对系统进行数据与逻辑的抽象。具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。 3、答:具有独立的模块软件比较容易开发出来。独立的模块比较容易测试和维护。 4、答: 源程序文档化; 数据说明的方法: 语句结构; 输入/输出方法。五、分析题(第一小题10分,第二小题9分,共19分) 1、答: 2、答:第四部分 综合练习(含参考答案)一、填空题1.软件是一种产品,同时又是开发和运行产品的载体。2.软件危机指的是软件开发和维护过程中遇到的一系列严重问题。3.软件危机包括下面两方面的问题:如何开发软件,满足对软件的日益增长的需求和如何维护数量不断膨胀的已有软件。4.软件工程学的内容可包括:理论、结构、方法、工具、环境、管理、规范等。(全部加下划线表示考查其中某1-2个空,下同)5.软件生存周期一般可分为以下阶段:问题定义、可行性研究、需求分析、设计、编码、测试、运行与维护。6.软件生存周期也可分为三个大阶段:计划阶段、开发阶段、维护阶段。7.可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。8.可行性研究的目的不是解决问题,而是确定问题是否值得去解决。9.一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性、开发可行性等方面研究可行性。10.只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明。11.需求分析的基本任务是准确的回答系统必须做什么这个问题。12.需求分析所要做的工作是深入描述软件的功能和性能。13.需求分析阶段研究的对象是软件项目的用户要求。14.需求分析结束时交出的文档中应该包括详细的数据流图DFD,数据字典DD,一组简明的算法描述。15.对系统的综合需求主要有:系统功能需求、系统性能需求、运行需求、将来可能提出的需求。16.任何信息处理系统的基本功能都是把输入数据变成需要的输出信息。17.结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。18.数据域具有三种属性:数据流、数据内容和数据结构。19.数据流图是描述数据处理过程的工具。20.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。21.数据流图的特性有:抽象性、概括性、层次性。22.数据字典的作用是在软件分析和设计的过程中提供关于数据的描述信息。23.数据流图和数据字典共同构成系统的逻辑模型。24.必须从一致性、完整性、现实性、有效性等四个不同角度验证软件需求的正确性。25.信息隐蔽原理是指每一个模块的实现细节对其它模块来说是隐蔽的。26.耦合是对一个软件结构内各个模块之间互连程度的度量。27.模块间耦合程度强弱的种类有:非直接耦合、数据耦合、控制耦合、公共环境耦合、内容耦合、标记耦合、外部耦合。28.内聚标志着一个模块内各个元素彼此结合的紧密程度。29. Jackson图有三种逻辑数据结构:顺序结构、选择结构、重复结构。30. Warnier程序设计方法是一种面向数据结构的设计方法。31.详细设计又称过程设计。32.面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。33.面向对象方法的基本思想是从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。34.面向对象的软件工程学方法是面向对象方法在软件工程领域的全面运用。35.面向对象的软件工程学方法包括:面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的软件维护等主要内容。36. OO方法中把组成客观世界的实体称为问题空间的对象。37.所谓的方法,它们实际上是类对象上的各种操作。38.类有方法和数据集成,它是关于对象性质的描述,包括外部特性和内部实现两个方面。39. UML即:标准建模语言。40. UML包括:UML语义和UML表示法两个部分。41.标准UML的重要内容可以由五类图来定义:用例图、静态图、行为图、交互图、实现图。42.所谓编码就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。43.从应用特点看,高级语言可以分为基础语言、现代语言、专用语言三类。44.程序的注释一般分为:序言性注释和功能性注释。45.程序效率是指程序的执行速度及程序占用的存储空间。46.源程序的效率与详细设计阶段确定的(算法)的效率直接有关。47.冗余是改善系统(可靠性)的一种重要技术。48.防错程序设计可以分为主动式和被动式两种49.按照测试过程是否在实际应用环境中来分,有静态分析和动态测试。50.大型软件系统的测试基本上由下述四个步骤组成:单元测试、集成测试、确认测试、系统测试。51.在软件运行维护阶段对软件产品所进行的修改就是维护。二、判断题52.在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题,软件维护比硬件维护要复杂得多。(对)53.软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。(对)54.软件的开发至今尚未完全摆脱手工的开发方式。(对)55.软件的开发费用越来越高,成本相当昂贵。(对)56.软件的开发费用越来越低,但成本仍然相当昂贵。(错)57.在需求分析阶段,所有的用户要求都是合理的,必须满足。(错)58.在需求分析阶段,不是所有的用户要求都是合理的,没有必要全部满足。(对)59.任何一个软件系统本质上都是信息处理系统。(对)60.数据流图中可以带有控制流。(错)61.数据流图中不可以带有控制流。(对)62.模块是数据说明、可执行语句等程序对象的集合。(对)63. Jackson系统开发方法是一种典型的面向数据结构的分析设计方法。(对)64. Jackson系统开发方法是一种典型的面向对象的分析设计方法。(错)65. Warnier程序设计方法是一种面向数据结构的设计方法。(对)66. Warnier程序设计方法是一种面向对象的设计方法。(错)67.详细设计是编码的前奏。(对)68.详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内的数据结构。(对)69.良好的编码风格有助于编写可靠而有容易维护的程序,编码风格在很大程度上决定程序的质量和机器执行的速度。(错)70.良好的编码风格有助于编写可靠而有容易维护的程序,编码风格在很大程度上决定程序的质量,但不影响机器执行程序的速度。(对)71.源程序的效率与详细设计阶段确定的算法的效率直接有关。(对)72.冗余是改善系统可靠性的一种重要技术。(对)73.冗余是改善系统速度的一种重要技术。(错)74.判定覆盖比语句覆盖强有效。(对)75.语句覆盖比判定覆盖强有效。(错)76.软件开发所需的资源可以画成一个金字塔,塔的最基本的资源是人。(对)三、简答分析题77.软件的发展经过哪几个阶段?程序设计阶段、程序系统阶段、软件工程阶段、第四阶段。78.软件的定义是什么?在运行中能够提供所希望的功能和性能的指令集(程序);使程序能够正确运行的数据结构;描述程序研制过程、方法所用的文档。79.基于软件的功能,软件分为哪几种?系统软件、支撑软件、应用软件。80.基于软件的工作方式分,软件分为哪几种?实时处理软件、分时软件、交互式软件、批处理软件。81.基于软件的规模分,软件分为哪几种?微型软件、小型软件、中型软件、大型软件、甚大型软件、极大型软件。82.基于软件的服务对象的范围分,软件分为哪几种?定制软件、产品软件。83.软件危机包括哪两方面的问题?(1)如何开发软件,满足对软件的日益增长的需求。(2)如何维护数量不断膨胀的已有软件。84.产生软件危机的原因是什么?(1)软件是计算机系统中的逻辑部件而不是物理部件。(2)软件本身独有的特点确实给开发和维护带来一些客观困难。(3)开发和管理人员只重视开发而轻视问题的定义,使软件产品无法满足用户的需求。(4)软件管理技术不能满足现代软件开发的需要,没有统一的软件质量规范。(5)在软件的开发与维护关系问题上存在错误的概念。85.软件工程的原则是什么?(1)分解。(2)独立性。(3)一致性。(4)确定性。86.软件开发模型有哪些?(1)瀑布模型。(2)螺旋模型。(3)第四代技术模型。(4)原型模型。87.某图书馆闭架借书流程如下:读者须先被验明证件后才能进入查询室。读者在查询室内通过检书卡来查找自己所需的图书。找到所需图书并填好索书单到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者,否则读者借不了图书。下图是上述系统的系统流程图,请填写空缺。1:验证 2:图书查询 3:检书卡 4:借书 5:取书88.需求分析的原则是什么?(1)必须能够表达和理解问题的数据域和功能域。(2)自顶向下、逐层分解问题。(3)要给出系统的逻辑视图和物理视图。89.一家计算机公司的全部软件产品有系统软件和应用软件,其中系统软件有操作系统、编译程序和包括编辑程序、测试驱动程序、设计辅助工具等的软件工具三类。请画出系统的Warnier图和层次方框图。系统软件软件产品操作系统编译程序软件工具编译程序测试驱动程序设计辅助工具应用软件 90.在概要设计中两个主要任务是什么?(1)将系统划分成物理元素,即程序、文件、数据库、文档等等。(2)设计软件结构,即将需求规格转换为体系结构,划分出程序的模块组成,模块间的相互关系。91.概要设计的过程是怎样的?(1)设计系统方案。(2)选取一组合理的方案。(3)推荐最佳实施方案。(4)功能分解。(5)软件结构设计。(6)数据库设计、文件结构设计。(7)制定测试计划。(8)编写概要设计文档。(9)审查与复审概要设计文档。92.为何要强调模块的独立性?(1)由于能够分割功能而且接口可以简化,具有独立的模块软件比较容易开发出来。(2)修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够插入模块,使得独立的模块比较容易测试和维护。93.如何改进软件设计、提高软件质量?(1)提高模块的独立性。(2)模块规模应该适中。(3)适当选择深度、宽度、扇出和扇入。(4)模块的作用域应该在控制域之内。(5)力争降低模块接口的复杂程度。(6)设计单入口单出口的模块。(7)模块功能应该可以预测。94.用Jackson 图表示下面二维表格:工人工资单工号姓名性别工龄月工资.表头表体95.详细设计的原则是什么?(1)模块的逻辑描述要清晰易读、正确可靠。(2)采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。(3)选择恰当描述工具来描述各模块算法。96.写出下面伪码程序的程序流程图和N-S图BEGIN AIf x1 then Repeat until x2 If x3 then C Else DEnd if End repeatElse E HEnd ifIEND97.将下面的程序流程图转换为N-S图。98.什么是面向对象技术?一整套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。99.面向对象方法的基本思想是什么?从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。100.面向对象的软件工程学方法包括哪些内容?面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的软件维护等主要内容。101.什么是对象?对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。102.什么是封装?封装定义为:(1)一个清楚的边界,所有的对象的内部软件的范围被限定在这个边界内。(2)一个接口,这个接口描述这个对象和其他的对象之间相互的作用。(3)受保护的内部实现。103.栈是一种常见的数据结构,它的状态和服务如下: 状态服务空半满满压入可执行可执行不可执行弹出不可执行可执行可执行请画出它的状态转换图。104.标准UML的重要内容可以哪五类图来定义?用例图、静态图、行为图、交互图、实现图。105.什么是编码?所谓编码就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。106.要求进行软件维护的原因有哪些?(1)改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷。(2)因在软件使用过程中数据环境发生变化或处理环境发生变化,需要修改软件加以适应这种变化。(3)用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能的要求。107.软件维护的步骤有哪些?(1)分析和理解程序。(2)修改程序。(3)重新验证程序。(4)维护组织。108.软件管理的主要功能有哪些?(1)制定计划。(2)建立项目组织。(3)配备人员。(4)指导。一,选择题: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.在SD方法中全面指导模块划分的最重要的原则是( )A.程序模块化 B.模块高内聚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.软件编码 C.软件测试 D.软件维护9.下列属于维护阶段的文档是( )A.软件规格说明 B.用户操作手册C.软件问题报告 D.软件测试分析报告10.下列文档与维护人员有关的有( )A.软件需求说明书 B.项目开发计划C.概要设计说明书 D.操作手册11.系统定义明确之后,应对系统的可行性进行研究.可行性研究应包括( ).A.软件环境可行性,技术可行性,经济可行性,社会可行性B.经济可行性,技术可行性,运行可行性,法律可行性C.经济可行性,社会可行性,系统可行性,D.经济可行性,实用性,社会可行性12.通过( )可以完成数据流图的细化.A. 结构分解 B, 功能分解 C, 数据分解 D, 系统分解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.制定进度计划的两个重要工具是( ).A. Gantt图 B, CoCoMo C, 工程网络图 D, HIPO图19.软件测试的目的是( ).A. 评价软件的质量 B. 发现软件的错误C. 找出软件的所有错误 D. 证明软件是正确的20.在整个软件维护阶段所花费的全部工作中,( )所占比例最大.A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护21.面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是( ),一个类获得其父类的全部描述(数据和操作).A. 传递性 B. 继承性 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. OPENDOC26.在设计测试用例时,( )是用得最多的一种黑盒测试方法.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.在软件开发过程中要产生大量的信息,要进行大量的修改, 软件配置管理能协调软件开发,并使混乱减到最低程度.2. 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件. 3. 数据项是指_不可再分解的_数据单元. 4. 软件概要设计的主要任务就是_软件结构的设计 _. 5. 为了便于对照检查,测试用例应由输入数据和预期的输出结果 两部分组成.6. 软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_自底向上_集成的过程. 7. 软件结构是以模块 为基础而组成的一种控制层次结构.8. 在结构化分析中,用于描述加工逻辑的主要工具有三种,即结构化语言,判定表, 判定树.9. 结构化语言是介于自然语言和 形式语言之间的一种半形式语言.10. 数据流图有四种基本成分:_加工_,_数据流_,_数据存储_,_数据源和数据潭_.11._软件_是计算机程序及其说明程序的各种文档._文档_是有关计算机程序功能,设计,编制,使用的文字或图形资料.12.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期.通常,软件生存周期包括问题定义,_可行性研究_,_需求分析_,总体设计,详细设计,_测试_,_编码_,软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成.13.面向对象开发方法包括OOA,_OOD_,_OOP_三部分.14._可行性研究_的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发.15.模块的耦合性由弱到强分为:_数据_,_控制_,_公共_,_内容_.16.内聚性有七种类型,最强的是_功能_,最弱的是_偶然_.17.结构图的深度指结构图_控制的层数,结构图宽度指_同一层的个数_.18.在类层次中,子类只继承一个父类的数据结构和方法,则称为_单重继承_.子类继承了多个父类的数据结构和方法,则称为_多重继承.19.面向对象分析模型核心是_使用用例_,由此抽取的三个模型为类-对象,对象-关系,对象-行为20.SC图有两种结构.即_变换型,_事务型_.教材购销系统整体结构是_事务型_,各分支结构是_变换型_.三,名词解释1.软件生存周期模型 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.什么是数据流图 其中的基本符号各表示什么含义 画出教材购销系统系统第二层数据流图.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:=A-3END先画出程序流程图. 再按语句覆盖法设计测试数据.3.谈谈你对软件工程的学习认识.4.谈谈你对我国软件工程现状及将来的认识5.一本书有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录.试建立该书的对象模型. 6.某旅馆的电话服务如下: 可以拨分机号和外线号码.分机号是从7201至7299.外线号码先拨9,然后是市话号码或长话号码.长话号码是以区号和市话号码组成.区号是从100到300中任意的数字串.市话号码是以局号和分局号组成.局号可以是455,466,888,552中任意一个号码.分局号是任意长度为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)路径5:(0)_(17)_(19)路径6:(0)_(18)_(19)路径7:(0)_(12)_(19)其他答案请参照教材中有关内容软件工程习题解答第一章 概述1.软件产品的特性是什么? a.软件产品是一种逻辑产品。 b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。 c.软件产品不会用坏,不存在磨损、消耗问题。 d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是定做的。 e.软件费用不断增加,成本相当昂贵。2.软件产品有几个阶段?各有何特征?阶段A.程序设计时代(1946-1956)B.程序系统时代(1956-1968)C.软件工程时代(1968-今)生产方式个体手工劳动小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么? 软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现在以下几个方面: a.经费预算经常突破,完成时间一再拖延。 b.开发的软件不通满足用户要求。 c.开发的软件可维护性差。 d. 开发的软件可靠性差。软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。b.软件开发管理困难而复杂。c.软件开发费用不断增加。d.软件开发技术落后。e.生产方式落后。f.开发工具落后,生产率提高缓慢。4.什么是软件工程?它的目标和内容是什么?软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本; b.面到要求的软件功能; c.取得较好的软件性能; d.开发的软件易于移植; e.需要较低的维护费用; f.能按时完成开发任务,及时交付使用; g.开发的软件可靠性高;软件工程的内容:) 软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。) 软件开发管理:软件管理学、软件经济学、软件心理学。5.软件工程面临的问题是什么?软件工程面临的问题: a.软件费用。b.软件可靠性。c.软件维护。d.软件生产率。e.软件重用。6.什么是软件生存周期?它有哪几个活动? 软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.7.什么是软件生存周期模型?有哪些主要模型?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等9.什么是软件开发的方法?有哪些主要方法?软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。主要方法:结构方法、Jackson方法、维也纳开发方法()、面向对象的开发方法。第二章 可行性研究1.可行性研究的任务是什么?a.技术可行性: 考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。b.经济可行性。c.社会可行性。2、可行性研究有哪些步骤?a.确定项目规模和目标 b.研究正在运行的系统 c.建立新系统的高层逻辑模型 d.导出和评价各种方案 e.推荐可行的方案 f.编写可行性研究报告3、可行性研究报告有哪些就要内容?a.引言 b.可行性研究前提 c.对现有系统的分析 d.所建议系统的技术可行性分析 e.所建议系统的经济可行性分析 f.社会因素可行性分析 g.其他可供选择方案 h.结论意见4.成本-效益分析可用哪些指标进行度量? 有形效益度量: a.货币的时间价值 b.投资回收期 c.纯收入 无形效益:主要从性质上、心理上进行衡量,很难直接进行量的比较。通常以有形效益度量作为成本-效益分析的度量。5.项目开发计划有哪些内容?a.项目概述 b.实施计划c.人员组织及分工d.交付期限第三章 需求分析1.什么是需求分析?需求分析阶段的基本任务是什么?需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。需求分析阶段的基本任务是: (1) 问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求. (2) 分析与综合,导出软件的逻辑模型. (3) 编写文档2.什么是结构化分析方法?该方法使用什么描述工具? 结构化分析方法:是面向数据汉进行需求分析的方法。 描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。3.结构化分析方法通过哪些步骤来实现?结构化分析方法步骤: a.了解当前系统的工作流程,获得当前系统的物理模型. b.抽象出当前系统的逻辑模型. c.建立上标系统的逻辑模型. d.作进一步补充和优化.4.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。作 用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.基本符号有四种: ,箭头,表示数据流; ,圆或椭圆,表示加工; =,双杠,表示数据存储;,方框,表示数据的源点或终点.5.画数据流图应该注意什么事项?画数据流图注意事项: a.命名.不论是数据流数据存储还是加工,合适的命名使人们易于理解基含义 b.画数据流而不是控制流 c.一般不画物质流 d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果 e.编号 f.父图与子图的平衡 g.局部数据存储 h.提高数据流图的易理解性6.什么是字据字典?其作用是什么?它有哪些条目?字据字典:简称,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的无二义 性的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述.作 用:1)为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述. 2)为分析人员查找数据流图中有关名字的详细定义而服务的. 3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分. 条 目:数据流、数据项、数据存储、基本加工。7.描述加工逻辑有哪些工具?a,结构化语言b,判定表c.判定树8.什么是IDEF方法?IDEF0方法有什么特点? IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(Integrated Computer Aided Manufacturing,简称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。 IDEF是ICAM Definition的缩写。 IDEF0方法特点: a.采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束及实现机制。b.采用严格的自顶向下、逐层分解的方式建立系统功能模型。9、简述SA方法的优缺点。优点:1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。 2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、 评价提供了有利条件。 缺点:1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统做什么的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。2)SA方法在使用DFD在分析与描述数据要求方面是有局限的。3) DFD不适合描述人机界面系统的要求。4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法结合起来。10.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD和IDEF0描绘该功能的需求,并建立相应的数据字典。 (1)数据流条目:数据流名称:存款单别 名:无简 述:储户存款时填写的项目来 源:储户去 向:记帐数据 流 量:未知组 成:姓名+住址+存款类型+存款日期+利率数据流名称:取款单别 名:无简 述:储户取款时填写的项目来 源:储户去 向:统计数据 流 量:未知组 成:姓名+住址+取款类型+取款日期+利率数据流名称:清单别 名:无简 述:储户取款后得到的项目来 源:记录去 向:储户数据 流 量:未知组 成:姓名+住址+取款类型+取款日期+利率+余额 (2)数据存储条目:数据存储名称:账单别 名:无简 述:存放储户信息及其账目组 成:姓名+住址+余额+存款类型+最后修改日期+利率组 织 方 式:未知查 询 要 求:能立即查询 (3)数据项条目: 未知 (4)加工条目:加工 名:分类检查编 号:无激发条件:接收到存/取款单优 先 级:优先输 入:存/取款单输 出:存/取款单加工逻辑:IF 存款单 THEN 把存款单输出到统计 ELSE 把取款单输出到统计 ENDIF加工 名:统计编 号:无激发条件:取款单优 先 级:无输 入:取款单输 出:清单加工逻辑:根据账单检查此储户是否存在,不存在输出错误 IF 取款数余额 THEN 余额=余额-取款数 输出清单到储户,输出现金到储户 ELSE 输出错误清单到储户 ENDIF加工 名:记录编 号:无激发条件:存款单优 先 级:无输 入:存款单输 出:存款单加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户 余额=余额+存款数 输出存款单到储户 11.某图书管理系统工程有以下功能:(1)借书:输入读者借书证。系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库存、修改库存目录并将读者借书情况登入借书文件).(2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理。否则,修改库存目录与借书文件。(3)查询:可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。请就以上系统功能画出分层的DFD图,并建立重要条目的数据字典。12.某厂对部分职工重新分配工作的政策是:年龄在伙岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。(1)结构化语言: 根据职工年龄和文化程序:REPEATIf年龄=20If初中文化Then脱产学习endifelseif高中文化Then电工endifendifIf20年龄=40If中学文化Then材料员elseif大学文化Then技术员 endifendifendifUntil没有剩余未分配员工判定表1234567891011年龄CCDDDDDEEE文化GHHGGHIGHI性别-MMFF-脱产学习电工钳工车工技术员材料员条件取值表条件名取值符号取值数年龄20,=40E文化程度中学GM2=3高中H大学I性别男MM3=2女F附加题:1、自学考试报名过程中有个“记录报名单”的加工。该加工主要是根据报名表(姓名、 性别、身份证号、课程名)和开考课程(课程名、开考时间)、经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的DFD图,并写出数据词典中的数据流条目。 答:数据流词典 数据流条目: 报名单 = 姓名 + 性别 + 身份证号 + 课程名 开考课程 = 课程名 + 开考时间 考生名册 = 准考证号 + 姓名 + 课程2、“决定比赛
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!