logo资料库

软件工程期末考试试题题集.doc

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
一、名词解释
二、填空题
三、简答题
一、名词解释 1、需求分析:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用 户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需 求规格说明)的过程。 2、白盒法:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构 和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查 内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可 能进行穷举测试。 3、黑盒法:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结 构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要 求。因此,黑盒测试又称为功能测试或数据驱动测试。 4、渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测 试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。 5、非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要 求组装在一起进行测试。 6、可执行的规格说明:这是一种使要求说明过程自动化的技术,通过可执行的规格说 明语言来描述预期的行为“做什么”,人们可以从直接观察中用规格说明语言来规定任何系 统行为。 7、经济可行性:对组织的经济状况和投资能力进行分析,对系统建设,运行和维护费 用进行估算,对系统建成后可能取得的社会及经济效益进行估计。 8、系统设计说明书:是从系统总体的角度出发对系统建设中各主要技术方面的设计进 行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术 路线和方法,编写系统设计说明书将为后续的系统开发工作从技术和指导思想上提供必要的 保证。 9、面向对象设计:是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系 统实现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。 10、结构化设计:面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定 的步骤映射成软件结构,因此又称结构化设计(SD)。 11、结构化分析:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据图来 建立系统的功能模型,从而完成需求分析工作。 12、基于脚本的设计:此方法主要用于解决要求的验证问题。一个脚本将模拟在系统运 行期间用户经历的事件,它提供了输入、处理、输出的屏蔽,以及有关对话的一个模型,开 发者能够给用户显示一个系统的逼真视图。 13、IDEF 方法:是美国空军在 1981 年针对集成化计算机辅助制造(简称 ICAM)工程 项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来 的。 14、JSP 方法:定义了一组以数据结构为指导的映射过程,他根据输入、输出的数据结 构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方 法适于详细设计阶段。 15、软件概要设计:进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做” 的物理模型,即着手实现软件的需求,并将设计的结果反应在“设计规格说明书”文档中, 所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总
的体系结构,称为软件的概要设计或结构设计。 16、信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据), 对于不需要这些信息的其它模块来说,是不能访问的。 17、系统流程图:是描述物理系统的传统工具,它用图形符号来表示系统中的各个元素, 例如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流 动的情况。 18、集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的 系统进行的测试,故也称组装测试或联合测试。 19、附加策略:是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的 功能和新的需求,反复修改反复扩充,最后发展为用户满意的最终系统。 20、抛弃策略:是将原型用于开发过程的某一阶段,促使该阶段的开发结果更加完整、 准确、一致、可靠,该阶段结束后,原型随之作废。 21、抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂 不考虑它的细节,不考虑其它因素。 22、参数化抽象:所谓参数化抽象,它是指当描述类的规格说明时并不具体指定所要操 作的数据类型,而是把数据类型作为参数。 23、静态测试:指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分 析的手段对程序进行检测。 24、原型:是指模拟某种产品的原型模型。软件开发中的原型是软件的一个早期可运行 的版本,它反映了最终系统的重要特征。 25、事件:是指定时刻发生的某件事情。它是某事情发生的信号,它没有持续时间,它 是一种相对性的快速事件。 26、动态冗余:动态冗余的主要方式是多种模块待机储备,当系统检测到某工作模块出 现错误时,就用一个备用的模块来顶替它并重新运行。这里须有检测、切换和恢复过程,故 称其为动态冗余。 27、模块化:是指解决一个复杂问题是自顶向下逐层把软件系统划分成若干模块的过程, 每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整 个系统所要求的功能。 28、JSP 方法:定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结 构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方 法适于详细设计阶段。 29、模型:是为了理解事务而对事物做出一种抽象,它忽略不必要的细节,它也是事物 的一种抽象形式,一个规划,一个程式。 30、瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包 括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规 定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。 31、增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增 量开发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件; 增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应稳当。 增量开发和增量提交可以同时使用,也可单独使用。 32、喷泉模型:是一种以用户需求为动力,以对对象作为驱动的模型,适合于面向对象 的开发方法。他克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使 开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中 随之加入演化的系统。无间隙是指在分析、设计、实现等开发活动之间不存在明显的边界。
33、功能模型:描述了系统的所有计算,它表明一个计算如何从输入值得到输出值,他 不考虑所计算的次序。功能模型说明对象模型中操作的涵义、动态模型中动作的意义以及对 象模型中约束的意义。 34、动态模型:是与时间和变化有关的系统性质。该模型描述了系统的控制结构,他表 示了瞬时的、行为化的系统控制性质。它关心的是系统的控制,操作的执行顺序。它从对象 的事件和状态的角度出发,表现了对象的相互行为。 35、对象模型:表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是 从客观世界实体的对象关系角度来描述,表现了对象的相互关系。 36、货币的时间价值:通常利用银行的存款利息来表示货币的时间价值。设年利率为 I, 现存入 p 元,n 年后得到本金和利息为 F。若不计复利,则 P 元在 n 年后的价值为:F=P*(1+n*i)。 反过来,若 n 年后能收入的本金和利息为 F,则将来 F 元的现在价值(本金)P 为:P=F/(1+n*i)。 可用这个公式来计算将来收入的现在价值。这是效益分析的最基本公式。 37、类:具有相同或相似性质的对象的抽象就是类。 38、对象:是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对 象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。类的具体化就是对象, 也可以说类的实例是对象。 39、多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。 不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 40、风险分析:实际上就是贯穿在软件工程上的一系列风险管理步骤,其中包括风险识 别、风险估计、风险管理策略、风险解决和风险监督,它能让人们主动“攻击”风险。 41、模块:模块在程序重视数据说明、可执行语句等程序对象的集合,或者是单独命名 和编址的元素,如高级语言中的过程、函数、子程序等等。 42、JSD 方法:主要以活动事件为中心,通过有一串活动顺序组合构成的进程,建立系 统模型,最后实现该模型。 43、路径覆盖:指设计足够的测试用例,覆盖被测程序中所有可能的路径。 44、判定/条件覆盖:指设计足够的测试用例,使得判定表达式中的每个条件的所有可 能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。 45、条件组合覆盖:是指设计足够的测试用例,使的每个判定表达式中条件的各种可能 的值的组合都至少出现一次,条件组合覆盖是比较强的覆盖标准。 46、条件覆盖:是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值 至少出现一次。满足条件覆盖并不一定满足判定覆盖。 47、原型模型:又称快速原型模型,它是在开发真实系统之前,构造一个原型,在该原 型的基础上,逐渐完成整个系统的开发工作。 48、软件工程环境:美国国防部在 STARS 计划中定义如下:“软件工程环境是一组方法、 过程及计算机程序(计算机化的工具)的整体化构件,他支持从需求定义、程序生成知道维 护的整个软件生存期”。 49、程序图:是退化的程序流程图。也就是说,把程序流程图中每个处理符号都退化成 一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就 叫程序图。 二、填空题 1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。 2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,
软件工程时代的生产方式是工程化。 3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。 4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。 5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经 济可行性、社会可行性。 6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发, 其中的问题能否解决。 7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都 考虑到。可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。 8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。重视用户 界面的设计,不断的采用新理论和新技术。软件工具的商品化推动了软件产业的发展,而软 件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。 9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。 10、 可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。 11、 结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数 据流的开发方法。 12、 投资回收期就是累计的经济效益等于最初的项目投资所需的时间。 13、 详细描述处理过程常用三种描述工具:图形、表格和语言。 14、 数据流图中,每个加工至少有一个输入流和一个输出流。 15、 结构化设计以数据流为基础映射成软件结构。 16、 当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定 表或判定树较好。 17、 由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略 和附加策略。 18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术, 在维护阶段用来提高维护的效率和质量的维护支援技术。 19、 软件开发中原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性。 20、 产品管理包括版本管理和配置管理。 21、 任何程序都可由顺序、选择、重复三种基本控制结构构造。 22、 测试用例应有输入数据和预期的输出数据两部分组成。这样便于对照检查。 23、 需求分析阶段产生的最重要的文档之一是需求规格说明书。 24、 项目开发计划是一个管理性文档。 25、 软件配置管理,简称 SCM,软件配置项简称 SCI。 26、 在算法描述工具中,PAD 图可自动生成程序。由机器自动通过走树的办法生成相 应的源代码,大大提高软件的生产率。 27、在 CASE 集成中,控制集成支持工作台或环境中一个工具对系统中其它工具的访 问。过程集成是指 CASE 系统嵌入了关于过程活动、阶段、约束和支持这些活动所需的工 具的知识。 28、 解决一个复杂问题,往往采取的策略是分解。 29、 效益分析有有形效益和无形效益两种。 30、 两个模块都是用同一张表,这种耦合称为公共耦合。 31、 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为数据耦合。 32、 一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为通信内聚。 33、在 SA 方法的需求描述工具中,数据流图描述系统的分解,即描述系统有哪几部分
组成,各部分之间有什么联系等等。数据字典定义了数据流图中每一个图形元素;结构化语 言、判定表或判定树则详细描述数据流图中不能被再分解的每一个加工。 34、IDEF 图是一种功能模型,表示系统功能的图形称为活动图形,连方框上的箭头有 四种类型,他们分别是输入、输出、控制、机制。 35、软件项目计划是可行性研究阶段的结果产品。但由于可行性研究是在高层次进行系 统分析,未能考虑软件系统开发的细节情节,因此软件项目计划一般在需求分析阶段完成后 才定稿的。 36、信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对 于不需要这些信息的其它模块来说,是不能访问的。 37、同一个类中的共享是指同一个类中的对象有着相同的数据结构和相同的行为特征。 38、 通过抽象,可以确定组成软件的过程实体。通过信息隐蔽,可以定义和实施对模 块的过程细节和局部数据结构的存取限制。 39、 IPO 图描述分层图中一个模块的输入、输出和处理内容。 40、 软件是一种逻辑产品,它与物质产品有很大区别。 41、 数据流图中的箭头表示数据流。 42、 软件测试时需要三类信息:软件配置、测试配置、测试工具。 43、 基于 IDEF0 图的设计也是结构化设计技术之一,它以系统的功能模型和信息结构 为基础设计软件结构。 44、 系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素,表达 了系统中各种元素之间的信息流动情况。 45、 桩模块是用来代替被测试模块所调用的模块,它的作用是返回被测模块所需的信 息。 46、 建立数据字典一般的两种形式是手工建立和利用计算机辅助建立并维护。 47、 汇编语言是面向机器的,可以完成高级语言无法满足要求的特殊功能,如与外部 设备之间的一些接口操作。 48、黑盒测试是功能测试,因此设计测试用例时,需要研究需求规格说明书和概要设计 说明书中有关程序功能或输入、输出之间的关系等信息,从而与测试后的结果进行分析比较。 49、在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。子类继承 了多个父类的数据结构和方法,则称为多重继承。 50、 由于数据流是流动中的数据,所以必须有流向。除了与数据存储之间的数据流不 用命名外,数据流应该用名词或名词短语命名。 51、投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。项目的纯收入 是指在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。 52、 程序设计语言的简洁性是指人们必须记住的语言成分的数量。人们要掌握一种语 言,需要记住的成分数量越多,简洁性越差。 53、 不同对象的同一属性可以具有相同或不同的属性值。 54、 软件开发划分的各阶段任务尽可能相对独立,同一阶段任务性质尽可能相同。 55、 瀑布模型是将生存周期各活动规定为线性顺序联接的若干阶段的模型。 56、 成本效益分析的目的是从经济角度评价开发一个软件项目是否可行。 57、 在需求分析阶段要进行以下几方面的工作:问题识别、分析与综合、导出软件的 逻辑模型、编写文档。 58、 静态冗余常用的有:三模冗余 TMR 和多模冗余。 59、 McCabe 质量度量模型,针对面向软件产品的运行、修正、转移。 60、程序设计语言的局部性是指语言的联想性。在编码过程中,由语句组合成模块,由
模块组装成系统结构,并在组装过程中实现模块的高内聚,低耦合,使局部性得到加强。 61、 软件复杂性度量的参数主要有规模、难度、结构和职能度。 62、 项目开发计划的主要内容有:项目概述、实施计划、人员组织及分工、交付期限。 63、 可行性研究要在较高层次上以较抽象方式进行需求分析和设计。 64、 软件工程是一门综合性交叉学科,计算机科学着重于原理和理论,软件工程着重 于建造软件系统。 65、 维护的副作用有编码副作用、数据副作用、文档副作用三种。 66、 若年利率为 I,不计复利,P 元在 n 年后的价值 F=P*(1+n*i) 67、 软件结构是以模块为基础而组成的一种控制层次结构。 68、 软件设计阶段产生的最重要的文档之一是概要设计说明书。 69、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一 条独立路径是至少包含有一条在其它独立路径中未有过的边的路径。 70、 各模块经过单元测试后,将各模块组装起来进行集成测试,以检查与设计相关的 软件系统结构的有关问题。 71、 开发过程管理包括项目计划和控制和任务管理等。 72、 临时维护小组采用“同事复审”或“同行复审”等方法来提高维护工作的效率。 73、数据字典中的加工逻辑主要描述该加工做什么,即实现加工的策略,而不是实现加 工的细节,它描述如何把输入数据流变换为输出数据流的加式规则。 74、 为了较完整的描述用户对系统的需求,DFD 应与数据库中的 ER 图结合起来。 75、 纯收入是软件生存周期内累计经济效益与投资之差。 76、 反映软件结构的基本形态特征是深度、宽度、扇入和扇出。 77、 若年利率为 I,不计复利,n 年后能收入 F 元的现在价值 p=F/(1+n*i)。 78、 在一个模块中,功能状态与接口反映模块的外部特性,逻辑反映它的内部特性。 79、 硬件与软件一起构成完整的计算机系统。 80、 SA 方法中主要描述工具是 DFD 与 DD。 81、 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 82、 结构化设计对数据流有两种分析方法,他们是变换分析设计和事务分析设计。 83、 数据字典中有四类条目:数据流、数据项、数据存储、加工。 84、常借用硬件可靠性的定量度量方法来度量软件的可靠性与可用性。常用指标有平均 失效等待时间 MTTF 和平均失效间隔时间 MTBF。 85、 Lisp 是一种函数型语言,Prolog 是一种逻辑性语言。 86、 Jackson 结构图能对结构进行自顶向下分解,因此可以表示层次结构。 87、 变换模型是一种适合于形式化开发方法的模型,从软件需求形式化说明开始,经 过一系列变换,最终得到系统的目标程序。 88、 软件开发环境的主要目标是提高软件开发的生产率,改善软件质量和降低软件成 本。 89、 “软件”包含计算机程序及其说明程序的各种文档。 90、 开发过程依序包括需求分析、设计、编码、集成、软件安装和验收等活动。 91、 社会可行性研究包括合同、责任、侵权、用户组织的管理模式及规范,其他一些 技术人员常常不了解的陷阱等。 92、 IDEF0 方法中,将系统功能称为活动,将表示系统功能的图形称为活动图形。 93、 数据库的设计指数据存储文件的设计,主要进行的设计方面有:概念设计、逻辑 设计、物理设计。 94、如果只有两个模块之间有公共数据环境,这种公共耦合有两种情况:一是一个模块
只是给公共数据环境送数据,另一个模块是只从公共环境中去数据,这是比较松散的公共耦 合;二是两个模块都往公共环境中送数据又从里面取数据,这是紧密的数据耦合。 95、Jackson 方法是面向数据结构的设计方法。早期的 Jackson 方法用于开发模型较少 的数据处理系统的设计,简称 JSP。 96、 工程网络图只有一个开始点和一个终止点,开始点没有流入箭头,称为入度为零; 终止点没有流出箭头,称为出度为零。 97、为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行质量 检验,检验的实施有实际运行检验(即白盒测试和黑盒测试)和鉴定两种形式。 三、简答题 1、可行性研究的任务是什么? 首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制, 把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建 立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法, 对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。 ㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下, 技术风险有多大,项目是否能实现。㈡经济可行性:进行开发成本的估算以及了解取得效益 的评估,确定要开发的项目是否值得投资开发。㈢社会可行性:要开发的项目是否存在任何 侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、 人员素质、操作方式是否可行。 2、 什么是模块的影响范围?什么是模块的控制范围?他们之间应该建 立什么关系? 一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。 一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。 一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽 量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点” 或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。 3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块? 非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和 集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而 渐增式测试往往把单元测试与集成测试和在一起,同时完成。㈡非渐增式需要更多的工作量, 因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模 块,因此工作量较少。㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发 现。㈣渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错 误推迟到最后,很难判断是哪一部分接口出错。㈤渐增式比较彻底,已测试的模块和新的模 块再测试。㈥渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时 间。㈦非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。渐 增式测试有以下两种不同的组装模块的方法:㈠自顶向下组合。该方法只需编写桩模块,其 步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模
块都结合起来,它又有两种组合策略:①深度有先策略:先从软件结构中选择一条主控制路 径,把该路径上的模块一个个结合进来进行测试,以便完成一个特定的子功能,接着再结合 其它需要优先考虑的路径。②宽度有先策略:逐层结合直接下属的所有模块。㈡自低向上结 合。该方法仅需编写驱动模块。其步骤为:①把底层模块组合成实现一个个特定子功能的族。 ②为每一个族编写一个驱动模块,以协调测试用例的输入和测试结果的输出。③对模块族进 行测试。④按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的族。 ⑤重复②至④步,直至软件系统全部测试完毕。 4、软件质量与软件质量保证的含义是什么? 从实际应用来说,软件质量定义为:㈠与所确定的功能和性能需求的一致性。㈡与所成 文的开发标准一致性。㈢与所有专业开发的软件所期望的隐含特性的一致性。软件质量保证 就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的 质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。 5、软件工程标准化的意义是什么?都有哪些软件工程标准?积极推进软件工程标准化,其 道理是显而易见的。仅就一个软件开发项目来说,有许多层次,不同分工的人员相互配合, 在开发项目的各个部分以及各开发阶段之间也都存在许多联系和衔接问题。如何把这些错综 复杂的关系协调好,需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后 完成是时,需要进行阶段评价和验收测试。投入运行的软件,其维护工作中遇到问题又与开 发工作者有着密切的关系。软件的管理工作则渗透到软件生存期的每一个环节。所有这些都 要要求提供统一的行动规范和衡量准则,使得各种工作都有章可循。软件工程的标准主要有 以下三个:㈠FIPS135 是美国国家标准局发布的《软件文档管理指南》㈡NSAC ——39 是美 国核子安全分析中心发布的《安全参数显示系统的验证与确认》。㈢ISO5807 是国际标准化 组织公布(现已成为中国的国家标准)的《信息处理—数据流程图、程序流程图、程序网络 图和系统资源图的文件编制符号及约定》。 1、需求分析阶段的基本任务是什么?需求分析阶段的基本任务是要准确的定义 新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方 面的工作:㈠问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、 环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面 的需求。㈡分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析 检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分 解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起 新系统的逻辑模型。㈢编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确 认测试计划、修改完善软件开发计划。 2、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点? ㈠等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划 分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。㈡边界值分析。 该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况, 根据这些情况选择测试用例。㈢错误推测。错误推测法没有确定的步骤,凭检验进行。它的 基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。㈣因果图。因果 图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果 图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。 3、说明动态建模的过程。㈠准备脚本。动态分析从寻找事件开始,然后确定各对
分享到:
收藏