1、软件工程填空题1、软件危机是指在计算机软件的_开发和维护_过程中所遇到的一系列严重问题。2、软件危机包含下述两个方面的问题:一是 _如何开发软件,以满足对软件日益增长的需求;二是 _如何维护数量不断膨胀的已有软件_ 。3、软件不同于硬件,它是计算机系统中的 _逻辑部件_ 而不是物理部件。4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为 _生命周期_ 。5、软件配置主要包括 _程序、 文档_和_数据_ 等成分。6、软件工程学的一个重要目标就是提高软件的 _可维护性 、减少 _软件维护_ 的代价。7、软件工程是指导计算机软件 _软件开发_ 和 _
2、维护_ 的一门工程学科。8、软件工程包括 _技术_ 和 _管理_ 两方面的内容,是技术与管理紧密结合所形成的工程学科。9、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 _方法学_ ,也称为范型。10、软件工程方法学包含_方法、工具 和_过程_ 三个要素。11、目前使用最广泛的软件工程方法学,分别是 _传统方法学 和 面向对象方法学_ 。12、概括地说,软件生命周期由 _软件定义_ 、 _软件开发_ 和 _运行维护(软件维护)_ 个时期组成,每个时期又进一步划分为若干个阶段。13、软件定义时期通常进一步划分为个阶段,即 _问题定义_ 、 _可行性研究_ 和需求分析。、14、螺旋模型
3、将 _瀑布、_ 模型和 _快速原型_ 模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。15、瀑布模型 _不能_ 适应需求可变的软件开发,只有到 _开发结束_ 才能见到整个软件系统。16、可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从 _技术可行性、经济可行性_和 _操作可行性_ 这三个方面研究每种解法的可行性。17、可行性研究_ 的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。18、可行性研究的目的不是解决问题,而是确定问题是否 _值得去解决_ 。19、_数据流图_ 和 _数据字典_ 定义了软件系统的逻辑模型,以后可以
4、从这个逻辑模型出发设计新系统。20、系统流程图_是概括地描绘物理系统的传统工具。21、系统流程图表达的是 _数据_ 在系统各部件之间流动的情况。22、数据流图是一种图形化技术,它描绘 _信息流_ 和 _数据_ 从输入移动到输入的过程中所经爱的变换。23、数据流图中的圆角矩形或圆形代表着对变换数据的 _处理_ 。24、数据流图有种成分:源点或终点、 _处理_ 、 _数据存储_ 和 _数据流_ 。25、_数据字典_ 是对数据流图中包含的所有元素的定义的集合。26、成本效益分析的目的正是要从 _经济_ 角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决
5、定。27、软件开发成本主要表现为 _人力消耗_ 。28、接口需求描述应用系统与它的环境通信的格式。常见的接口需求有: _用户接口需求、硬件接口需求、软件接口需求和通信接口需求。29、_逆向_ 需求说明软件系统不应该做什么。30、访谈是最早开始使用的获取 的技术,它有两种基本形式,分别是 _用户需求、的_正式、非正式_的访谈。31、_情景分析技术_ 就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析,系统分析员利用这种技术,往往能获知用户的具体需求。32、_结构化分析方法_ 是面向数据流自顶向下逐步求精进行需求分析的方法。33、使用传统的访谈或面向数据流自顶向下求精方法定义需求时,用
6、户处于被动地位,为了解决这个问题,人们研究出一种面向团队的需求收集法,称为简易的 _应用规格说明技术_ 。34、快速原型就是快速建立起来的旨在演示目标系统主要功能的可运行的程序。快速原型应具备的第一个特性是 _快速_ 、第二个特性是 _容易修改_ 。35、需求分析阶段得出的最主要文档是_软件需求规格说明书_ 。36、数据对象彼此之间相互连接的方式称为_联系_ ,也称为关系。它分为一对一联系、 _一对多_ 联系和 _多对多_ 联系。37、ER图中包含了 _实体_、_关系_ 和 _属性_ 等3种基本成分。38、按照形式化的程度,可以把软件工程使用的方法划分成 _非形式化_、 _半形式化_和 _形式
7、化_类。39、有穷 _状态机_可以准确地描述一个系统,因此它是表达规格说明的一种形式化方法。40、Petri网_可以有效地描述并发活动。它包含种元素:一组位置、一组转换、输入函数以及输出函数。41、Petri网的标记是在Petri网中_权标_的分配。42、在Petri网中,当每个输入线上至少有一个权标,而 _禁止_线上没有权标的时候,相应的转换才是允许的。43、总体设计过程通常由两个主要阶段组成,分别是 _系统设计_阶段和 _结构设计_阶段。44、需求分析阶段得出的数据流图是 _总体设计_的极好的出发点。45、对总体设计的结果在通过技术审查后还需由使用部门的负责人从 _管理_角度进行复审。46
8、、_模块化_是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能。47、_抽象_就是抽出事物的本质特征而暂时不考虑它们的细节。48、_逐步求精_是为了集中精力解决主要问题而尽量推迟对问题细节的考虑。49、定性度量模块独立程序的标准是_内聚_和_耦合_。50、耦合是对一个软件结构内不同模块之间 _互连程度_程度的度量。51、_功能内聚_是最高程度的内聚。52、_深度_表示软件结构中控制的层数,它往往能粗略地标志一个系统的大小和复杂程度。53、_层次_图用于描绘软件的层次结构,图中的每一个矩形框代表一个 _模块_,方框间的连线表示调用关系,而不像层次方框图那样表示组成关系。54、通常所
9、说的结构化设计方法,也是基于_数据流的设计方法。55、信息流有两种类型,分别是_变换流_和_事务流_。56、模块间还经常用带注释的短箭头表示调用过程中来回传递的信息。有时箭头尾部带空心圆表示传递的是_数据_,带实心圆的表示传递的是_控制信息_。57、模块之间联系越紧密,其耦合性就越_强_、模块的独立性就越_差_。58、详细设计阶段的根本目标是确定应该怎样 _具体地实现_ 所要求的系统。59、详细设计的结果基本上决定了最终的_程度代码_ 的质量。60、结构程序设计语言的重复结构有:_顺序_ 结构、_选择 结构、_循环_ 结构三种。61、系统响应时间有两个重要属性,分别是 _长度_和_易变_ 。6
10、2、常见的帮助设施可分为_集成的_ 和_附加的_ 两类。63、描述程序处理过程的工具称为过程设计的工具,它们可以分图形、表格和_语言_ 三类。64、程序流程图又称为_程序框图_ 。65、PAD是_问题分析图_ 的英文缩写。66、McCabe方法根据程序控制流的复杂程度,这样度量出的结果称为程序的_环形复杂度_ 。67、在流图中用圆表示_结点_ ,流图中的箭头线称为_边_ ,它和程序流程图中的箭头线类似,代表_控制流_ ,由边和结点围成的面积称为_区域_ 。68、Halstead方法是根据程序中的_运算符_ 和_操作数_ 的总数来度量程序的复杂程度。69、Jackson图不仅可表示程序结构,还可
11、表示操作和条件。70、通常把 _编码_ 和 _测试_ 统称为实现。71、 所谓 _编码_ 就是把软件设计结果翻译成用某种程序设计语言书写的程序。72、测试的目的就是在软件投入生产性运行之彰,尽可能多地发现软件中的_错误_ 。73、通过测试发现错误之后还必须诊断并改正错误,这就是 _调试_ 的目的。74、程序内部的文档包括恰当的 _标识符_ 、适当的_注解_ 和程序的_视觉组织_ 等等。75、测试是为了发现程序中的错误而_执行程序_ 的过程。76、应该从“小规模”测试开始,并逐步进行“ _规模_ ”测试。77、为了达到最佳的测试效果,应该由独立的 _第三方_ 从事测试工作。78、 _黑盒_ 测试
12、法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。79、 _模块测试_ 的目的是保证每个模块作为一个单元能正确运行,通常又称为单元测试。80、子系统测试,兼有检测和组装两重含义通常称为 _集成测试_ 。81、_验收测试_ 测试是在用户积极参与下进行的,而且可能主要使用实际数据进行测试,也称为_确认测试_ 测试。82、单元测试主要使用_白盒_ 测试技术。83、审查小组的任务是发现错误而不是 _改正_ 错误。84、人工测试源程序如果由审查小组正式地进行,则称为 _代码审查_ 。85、在测试过程中,由于模块并不是一个独立的程序,因此必须为每个单元测试开_驱动程序_ 和(或) _存根程序_
13、。86、由模块组装成程序时有两种方式,分别是 _非渐增式_ 测试和 _渐增式_ 测试。87、目前在进行集成测试时普遍采用_渐增式_ 测试方法。88、当使用渐增方式把模块结合到程序中去,有 _自顶向下_ 和 _自底向上_ 两种集成策略。89、自顶向下集成方法中,将模块组装到程序结构中时可使用的策略有深度优先和 _宽度优先_。90、确认测试的目标是验证软件的_有效性_ 。91、确认测试通常使用 _黑盒_ 测试法。92、_软件可靠性_ 是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。93、估计错误总数的方法有_植入错误法_ 和分别测试法。94、软件工程的主要目的就是提高软件的_可维护
14、性_ ,减少软件维护所需要的_工作量_,降低软件系统的_总成本_ 。95、_软件维护_ 就是在软件交付使用后,为了改正错误或满足新的需要而修改软件的过程。96、维护过程本质上是修改和压缩了的_软件定义_ 和_开发过程。97、决定软件可维护性的因素主要有可理解性、可测试性、可修改性、可移植性和可重用性5个。98、软件系统的文档可以分为_用户文档_和_系统文档_ 两类。99、_代码重构_是最常见的再工程活动。100、软件维护通常包括4类活动,分别是改正性、适应性、完善性和_预防性_ 维护。101、_文档_ 是影响软件可维护性的决定因素102、为了估算项目的工作量和完成期限,目前常采用 _代码行技术
15、_ 和 _功能点技术_ 两种技术估算软件规模。103、当用代码行技术估算软件规模时,当程序较小时,常采用的单位是 _代码行数_(LOC),当程序较大时,常用的单位是 _千行代码数(KLOC)。104、功能点技术定义了信息域的个特性,分别是输入项数、输出项数、查询数、主文件数和外部接口数。105、软件项目的开发时间最多可以减少到正常开发时间的_75%_ 。106、在工程网络中用箭头_表示作业,用_圆圈_ 表示事件。107、Gantt图与工程网络相比,工程网络_ 能显示地定义事件及作业之间的依赖关系 Gantt图_只能隐含地表示这种关系。108、三种典型的软件项目开发人员组织方式是民主制程序员组、主程序员组、现代程序员组 。109、甘特图中用 _水平横线_ 代表任务,它的长度代表任务 _持续时间_ 。110、软件质量保证的措施主要有:基于 _非执行_ 的测试,基于 _执行_的测试和程序正确性证明。111、主程序员组有两个重要特征:专业化_和 层次性_ 。112、基线就是通过了正式复审的软件 _配置项_ 。113、软件配置管理主要有项任务:标识、版本控制、变化控制、配置审计和报告。