软件工程-名词解释
全国2010年10月
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 软件生存周期模型
答案:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。(1分) 软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则,(1分) 确立开发过程所
遵守的规定和限制,便于各种活动的协调以及各种人员的有效通信,有利于活动重用和活动管理。(1分)
2. 模块
答案:模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。(2分) 在软件的体系结构中,模块是可组合、分解和更换的单元。(1分)
3. 可维护性
答案:软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度。(2分) 可维护性可用7个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和
效率。(1分)
4. 继承性
答案:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。(2分) 在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定
义的内容作为自己的内容,并加入若干新的内容。(1分)
5. 投资回收期
答案:投资回收期是衡量一个开发工程价值的经济指标。(1分) 投资回收期就是积累的经济效益等于最初的投资所需要的时间。(2分)
全国2010年1月
31.软件工程过程:即软件生命周期的方法、工具和概念
32.模块化:模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性. 每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能
33.集成测试:集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
34.软件可靠性:(1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率; (2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;
35.模块的控制范围
2008年10月
1. 过程设计语言(PDL)
答案:也称程序描述语言,又称为伪码,是一种用于描述模块算法设计和处理细节的语言。
2. 可移植性
答案:指程序从一个计算机环境移植到另一个计算机环境的容易程度。
3. 渐增式测试
答案:是把未经过测试的模块逐个组装到已经过测试的模块上进行集成测试,(2分)每增加一
个模块进行一次集成测试,重复此过程直至完成集成测试。(1分)
4. 详细设计
答案:也称过程设计,是在概要设计的基础上,设计出软件各模块内部的详细算法,并精确地表
达这些算法。(2分)一般采用过程设计的表达工具给出适当的算法描述。(1分)
5. 条件覆盖
答案:指设计足够多的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。
(意思符合加下划线部分即算对)
2007年10月
1. 软件生存周期
答案:是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
2. 需求分析
答案:是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,并由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
3. 程序设计风格
答案:是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。
4. 白盒测试
答案:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
5. 基线
答案:基线是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连接的工作在这些点上断开,以便于检查与肯定阶段成果。
2006年10月
1. 软件开发环境
答案:指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。
2. 错误推测法
答案:在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
3. 黑盒测试法
答案:把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
4. 软件质量保证
答案:是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。
5. 瀑布模型
答案:将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。
2005年10月
1. 软件工程过程
答案:软件工程过程规定了获取、供应、开发、操作和维护时,要实施的过程、活动和任务。
2. 基线
答案:是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。
3. 静态测试
答案:指被测程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
4. PAD
答案:PAD 是指问题分析图,是一种算法描述工具,它是一种由左往右展开的二维型树结构。
5. 需求分析
答案:是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义。再由需求定义转化为相应的形式功能规约的过程。
2004年10月
1. 冗余
答案:指实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。
2. 增量提交
答案:增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。
3. 维护的副作用
答案:维护的副作用是指因修改软件而造成的错误或其他不希望出现的情况。
4. 动态测试
答案:指通过运行程序发现错误。
5. 技术可行性
答案:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
2003年10月
1. 增量开发
答案:增量开发指在项目开发周期内,以一定的时间间隔开发部分工作软件。
2. 渐增式测试
答案:逐个把未经过测试的模块组装到已经测试的模块上,进行集成测试。每加入一个新模块,进行一次集成测试,重复此过程,直到程序组装完毕。
3. 详细设计
答案:是软件设计的第二阶段,主要确定每个模块具体执行过程,故也称“过程设计”。
4. 模块的控制范围
答案:一个模块的控制范围指模块本身以及其所有下属模块的集合。
5. 父图与子图的平衡
答案:建立分层的数据流图时,子图的输入输出数据流同父图相应加工的输入输出数据流必须保持一致,这就是父图与子图的平衡。
模拟10
1. 需求分析
答案:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明) 的过程。
2. 系统流程图
答案:是描绘物理系统的传统工具,它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流动的情况。
3. 结构化设计
答案:是根据模块独立性准则、软件结构准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。
4. 类
答案:具有相同或相似性质的对象的抽象就是类。
5. JSP 方法
答案:JSP 方法方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。
模拟9
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 动态冗余
答案:动态冗余的主要方式是多重模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。这里须有检测、切换和恢复过程,故称其为动态冗余。
2. 增量模型
答案:增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式
包括增量开发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可单独使用。
3. JSD 方法
答案:JSD 主要以活动事件为中心,通过由一串活动顺序组合构成的进程,建立系统模型,最后实现该模型。
4. 结构化分析
答案:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据图来建立系统的功能模型,从而完成需求分析工作。
5. 基于脚本的设计
答案:此方法主要用于解决要求的验证问题。一个脚本将模拟在系统运行期间用户经历的事件,它提供了输入——处理——输出的屏幕,以及有关对话的一个模型,开发者能够给用户显示一个系统的逼真视图。
模拟8
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 渐增式测试
答案:渐增式测试逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。
2. 可执行的规格说明
答案:这是一种使要求说明过程自动化的技术,通过可执行的规格说明语言来描述预期的行为“做什么”,人们可以从直接观察中用规格说明语言来规定任何系统行为。
3. 模型
答案:模型是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。
4. 抛弃策略
答案:抛弃策略是将原型用于开发过程的某一阶段,促使该阶段的开发结果更加完整、准确、一致、可靠,该阶段结束后,原型随之作废。
5. 对象模型
答案:对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。 模拟7
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 结构化设计
答案:面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此又称结构化设计(简称SD) 。
2. JSP 方法
答案:JSP 方法定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设
计阶段。
3. 程序图
答案:程序图是退化的程序流程图。也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连结不同处理符号的流线变成连接不同结点的有向弧,这
样得到的有向图就叫程序图。
4. 喷泉模型
答案:喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计、实现等开发活动之间不存在明显的边界。
5. 条件覆盖
答案:指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至少出现一次。满足条件覆盖并不一定满足判定覆盖。
模拟6
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 白盒法
答案:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。
2. 黑盒法
答案:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。
3. 动态模型
答案:动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质。它关心的是系统的控制,操作的执行顺序。它从对象的事件和状态的角度出发,表现了对象的相互行为。
4. 对象
答案:是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。 类的具体化就是对象,也可以说类的实例是对象。
5. 参数化抽象
答案:所谓参数化抽象,它是指当描述类的规格说明时并不具体指定所要操作的数据类型,而是把数据类型作为参数。
模拟5
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 功能模型
答案:功能模型描述了系统的所有计算。它表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。功能模型说明对象模型中操作的含义、动态模型中动作的意义以及对象模型中约束
的意义。
2. 抽象
答案:抽象是认识复杂现象过程中使用的思维工具即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素。
3. 模块化
答案:模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块
的过程。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
4. 原型模型
答案:又称快速原型模型。它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
5. 风险分析
答案:风险分析实际上就是贯穿在软件工程上的一系列风险管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督,它能让人们主动“攻击”风险。理学、软件经济学、软件心理学等。
模拟3
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 静态测试
答案:静态测试指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
2. 条件组合覆盖
答案:指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次:条件组合覆盖是比较强的覆盖标准。
3. 软件工程环境
答案:美国国防部在STARS 计划中定义如下:“软件工程环境是一组方法、过程及计算机程序(计算机化的工具) 的整体化构件,它支持从需求定义、程序生成直到维护的整个软件生存期”。
4. 系统设计说明书
答案:系统设计说明书是从系统总体的角度出发对系统建设中各主要技术方面的设计进行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术路线和方法,编写系统设计说明书将为后续的系统开发工作从技术和指导思想上提供必要的保证。
5. 瀑布模型
答案:瀑布模型是将软件生存各个活动规定为依线性顺序连接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。 模拟2
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 非渐增式测试
答案:非渐增式测试首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。
2. 附加策略
答案:附加策略是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统。
3. 软件概要设计
答案:进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计
4. 经济可行性
答案:对组织的经济状况和投资能力进行分析,对系统建设,运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。
5. IDEF 方法
答案:IDEF 方法是美国空军在1981年针对集成化计算机辅助制造(简称ICAM) 工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。
模拟1
三、名词解释题(本大题共5小题,每小题3分,共15分)
1. 面向对象设计
答案:面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。
2. 集成模块
答案:集成模块是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。
3. 路径覆盖
答案:指设计足够的测试用例,覆盖被测程序中所有可能的路径。
4. 判定/条件覆盖
答案:指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
5. 货币时间价值
答案:通常利用银行存款的利息来表示货币的时间价值。设年利率为i ,现存入p 元,n 年后得到本金和利息为F 。若不计复利,则P 元在n 年后的价值为:F=P×(1+n×i) 。反过来,若n 年后能收入的本金和利息为F ,则将来F 元的现在价值(本金)P 为:P=F/(1+n×i) 。可用这个公式来计算将来收入的现在价值。这是效益分析的最基本公式。