《软件工程名词解释和简答题总结》由会员分享,可在线阅读,更多相关《软件工程名词解释和简答题总结(20页珍藏版)》请在金锄头文库上搜索。
1、软件工程名词解释和简答题总结名词解释总结:-9 软件开发环境-8 错误推测法-7 .黑盒测试法-6 软件质量保证-5 .瀑布模型-4.软件危机-3.软件工程-2.软件生存周期-1.软件生存周期模型0.软件开发方法1、需求分析2、白盒法3、黑盒法4、渐增式测试5、非渐增式测试6、可执行的规格说明7、经济可行性8、系统设计说明书9、面向对象设计10、结构化设计11、结构化分析12、基于脚本的设计13、IDEF 方法14、JSP方法15、软件概要设计16、信息隐蔽17、系统流程图18、集成测试19、附加策略20、抛弃策略21、抽象22、参数化抽象23、静态测试24、原型25、事件26、动态冗余27、
2、模块化28、JSP方法29、模型30、瀑布模型31、增量模型32、喷泉模型33、功能模型34、动态模型35、对象模型36、货币的时间价值37、类38对象39、多态性40、风险分析41、模块42、JSD方法43、路径覆盖44、判定/条件覆盖45、条件组合覆盖46、条件覆盖47、原型模型48、软件工程环境49、程序图50、结构化分析方法51、数据流图52、字据字典53.IDEF 方法54. 概要设计55. 耦合性56. 内聚性57. 无直接耦合58. 数据耦合59. 标记耦合60. 控制耦合61. 公共耦合62. 内容耦合63. 偶然内聚64. 逻辑内聚65. 时间内聚66. 通信内聚67. 顺序
3、内聚68. 功能内聚69. 软件结构70. 控制范围71. 作用范围72. 变换流73. 事物流74. 程序设计风格75. 集成测试76. 非渐增式77. 渐增式78. 确认测试79. 软件的可维护性80. 对象81. 类82. 类结构83. 消息84. 软件质量85. 质量保证86. 软件可靠性87. 软件评审88. 容错定义89. 软件配置管理90. 基线-9 指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统-8 .在测试程序时,人们可能根据经验或直觉推荐程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。-7 把被测试对象看成一个黑盒子,测试
4、人员完全不考虑程序的内部结构和处理过程。-6 .是向用户及社会提供满意的高质量的产品确保软件产品从诞生到消亡为止的所有阶段的 质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。-5 将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。-4.软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了, 但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法, 使问题积累起来,形成了尖锐的矛盾, 因
5、而导致了软件危 机。-3.软件工程:用科学的原理和理论定义,开发、维护软件的学科。-2.软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括: 可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.-1.软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象, 它忽略不必要的细节,它也是事物的一种抽象形式、 一个规 划、一个程式。)0.软件开发方法:用早就定义好的技术集合和符号表示习惯来组织软件生产的过程。主要有:结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方 法1、需求分析
6、:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。2、白盒法:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础, 对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进 行穷举测试。3、黑盒法:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和 处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。 因此,黑盒测
7、试又称为功能测试或数据驱动测试。4、渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。 每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。5、非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组 装在一起进行测试。6、可执行的规格说明:这是一种使要求说明过程自动化的技术,通过可执行的规格说明语 言来描述预期的行为“做什么”,人们可以从直接观察中用规格说明语言来规定任何系统行 为。7、经济可行性:对组织的经济状况和投资能力进行分析,对系统建设,运行和维护费用进 行估算,对系统建成后可能取得的社会及经济效益进行估计。8、系统设计说明书:
8、是从系统总体的角度出发对系统建设中各主要技术方面的设计进行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术路线和方法,编写系统设计说明书将为后续的系统开发工作从技术和指导思想上提供必要的保证。9、面向对象设计:是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实 现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。10、 结构化设计:面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此又称结构化设计(SD)。11、 结构化分析:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据图来建立系统的功
9、能模型,从而完成需求分析工作。12、 基于脚本的设计:此方法主要用于解决要求的验证问题。一个脚本将模拟在系统运行期 间用户经历的事件,它提供了输入、处理、输出的屏蔽,以及有关对话的一个模型,开发者能够给用户显示一个系统的逼真视图。13、 IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(简称ICAM)工程项目中 用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。14、JSP方法:定义了一组以数据结构为指导的映射过程,他根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。15、软件概要设计
10、:进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反应在“设计规格说明书”文档中,所 以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件的概要设计或结构设计。16、 信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于 不需要这些信息的其它模块来说,是不能访问的。17、系统流程图:是描述物理系统的传统工具,它用图形符号来表示系统中的各个元素,例 如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流动 的情况。18、 集成测试:是指在单元测
11、试的基础上,将所有模块按照设计要求组装成一个完整的系统 进行的测试,故也称组装测试或联合测试。19、 附加策略:是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能 和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统。20、 抛弃策略:是将原型用于开发过程的某一阶段,促使该阶段的开发结果更加完整、准确、一致、可靠,该阶段结束后,原型随之作废。21、 抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考 虑它的细节,不考虑其它因素。22、参数化抽象:所谓参数化抽象,它是指当描述类的规格说明时并不具体指定所要操作的 数据类型,而是把数据类型作为参数。2
12、3、 静态测试:指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的 手段对程序进行检测。24、 原型:是指模拟某种产品的原型模型。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特征。25、事件:是指定时刻发生的某件事情。它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。26、 动态冗余:动态冗余的主要方式是多种模块待机储备,当系统检测到某工作模块出现错 误时,就用一个备用的模块来顶替它并重新运行。 这里须有检测、切换和恢复过程,故称其 为动态冗余。27、 模块化:是指解决一个复杂问题是自顶向下逐层把软件系统划分成若干模块的过程,每 个模块完成
13、一个特定的子功能, 所有的模块按某种方法组装起来, 成为一个整体,完成整个 系统所要求的功能。28、JSP方法:定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。29、 模型:是为了理解事务而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一 种抽象形式,一个规划,一个程式。30、 瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可 行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水
14、,逐级下落。31、 增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应稳当。增量开发和增量提交可以同时使用,也可单独使用。32、 喷泉模型:是一种以用户需求为动力,以对对象作为驱动的模型,适合于面向对象的开发方法。他克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计、实现等开发活动之间
15、不存在明显的边界。33、 功能模型:描述了系统的所有计算, 它表明一个计算如何从输入值得到输出值,他不考 虑所计算的次序。功能模型说明对象模型中操作的涵义、动态模型中动作的意义以及对象模 型中约束的意义。34、 动态模型:是与时间和变化有关的系统性质。该模型描述了系统的控制结构,他表示了瞬时的、行为化的系统控制性质。它关心的是系统的控制,操作的执行顺序。它从对象的事 件和状态的角度出发,表现了对象的相互行为。35、对象模型:表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客 观世界实体的对象关系角度来描述,表现了对象的相互关系。36、 货币的时间价值:通常利用银行的存款利息来表示货币的时间价值。设年利率为I,现 存入p元,