1、1内容提要内容提要n软件工程基本概念,软件生命周期概念,软件工具与软件软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。开发环境。n结构化分析方法,数据流图,数据字典,软件需求规格说结构化分析方法,数据流图,数据字典,软件需求规格说明书。明书。n结构化设计方法,总体设计与详细设计。结构化设计方法,总体设计与详细设计。n软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。软件测试的实施,单元测试、集成测试和系统测试。n程序的调试程序的调试3.1 3.1 软件工程基本概念软件工程基本概念33.1
2、.1 3.1.1 软件定义与软件特点软件定义与软件特点n1软件的定义和组成n定义:n计算机软件(Software)是计算机系统中与硬件相互依赖的另一部分。n组成:n程序n数据n文档n国标(GB)定义n与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。3.1.1 3.1.1 软件定义与软件特点软件定义与软件特点(续续)n2 2软件的特点软件的特点n软件是一种逻辑实体,而不是具体的物理实体,具有抽象性n软件没有明显的制造过程。对软件的质量控制,必须在软件开发方面下功夫n软件不存在老化问题,但存在退化问题,必须要修改和维护n对计算机系统有着依赖性软件移植的问题n软件复杂性
3、高,开发和维护成本高n软件开发涉及诸多社会因素453.1.1 3.1.1 软件定义与软件特点软件定义与软件特点(续续)n3软件的分类n应用软件n系统软件n操作系统n数据库管理系统n设备驱动程序nn支撑软件63.1.2 3.1.2 软件危机与软件工程软件危机与软件工程n1软件危机n软件工程源自于软件危机n主要表现:n软件需求的增长得不到满足n软件开发成本和进度无法控制n软件质量难以保证n软件不可维护或维护程度非常低n软件成本不断提高n软件开发生产效率的提高赶不上硬件的发展和应用需求的增长n归结为成本、质量和生产率等问题73.1.2 3.1.2 软件危机与软件工程软件危机与软件工程n2软件工程的产
4、生与定义n软件工程学工程学的新兴领域n定义:n国标(GB):应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。n主要思想:在软件开发过程中需要应用工程化原则的重要性83.1.2 3.1.2 软件危机与软件工程软件危机与软件工程n2软件工程的产生与定义n软件工程3个要素:n方法:完成工程项目的技术手段n工具:支持软件开发、管理、文档生成n过程:对开发的各个环节进行控制、管理93.1.3 3.1.3 软件工程过程与软件生命周期软件工程过程与软件生命周期n1软件工程过程nP(Plan)软件规格说明nD(Do)软件开发nC(Check)软件确认nA(Action)软件演进10
5、3.1.3 3.1.3 软件工程过程与软件生命周期软件工程过程与软件生命周期n软件产品从提出、实现、使用维护、停止使用到退役的过程n3个阶段n6个阶段工作可 行 性 研 究初 步 项 目 计 划需 求 分 析概 要 设 计详 细 设 计实 现测 试维 护使 用退 役定 义阶 段开 发阶 段维 护阶 段可行性报告可行性报告软件规格说软件规格说明书明书测试分析报告测试分析报告113.1.3 3.1.3 软件工程过程与软件生命周期软件工程过程与软件生命周期n定义阶段定义阶段n制定计划:”能做吗?“n需求分析:“做什么?”n开发阶段:开发阶段:n软件设计:“如何做?”,分为概要设计和详细设计两个阶段。
6、n软件实现:“实现”,编码。n软件测试:”做的怎么样?“n运行维护阶段运行维护阶段n使用,不断维护123.1.4 3.1.4 软件工程的目标与原则软件工程的目标与原则n1软件工程的目标n成功的项目:n成本n功能n移植n维护费用n按时n及时交付n目标:n在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品133.1.4 3.1.4 软件工程的目标与原则软件工程的目标与原则n2软件工程学的范畴143.1.4 3.1.4 软件工程的目标与原则软件工程的目标与原则n抽象抽象n抽取事物最基本的特性和行为,忽略非本质
7、细节n信息隐蔽信息隐蔽n采用封装技术,将程序模块的实现细节隐藏起来n模块化模块化n解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块n局部化局部化n确定性确定性n一致性一致性n完备性完备性n可验证性可验证性153.1.5 3.1.5 软件开发工具与软件开发环境软件开发工具与软件开发环境n1软件开发工具n协助开发人员进行软件开发活动所使用的软件或环境 n需求分析工具、设计工具、编码工具、排错工具、测试工具等。n2软件开发环境 n全面支持软件开发全过程的软件工具的集合n计算机辅助软件工程:CASE3.2 3.2 结构化分析方法结构化分析方法173.2.1 3.2.1 需求分析与需求分析方法需求
8、分析与需求分析方法n1需求分析n定义:n任务:导出目标系统的逻辑模型,解决“做什么”的问题n全面理解用户的各项要求n准确地表达各项要求n主要工作:n需求获取n需求分析n编写需求规格说明书n需求审评:验证需求文档的一致性、可行性、完整性和有效性183.2.1 3.2.1 需求分析与需求分析方法需求分析与需求分析方法n2需求分析方法需求分析方法n结构化分析方法n面向数据流的结构化分析方法(SA)n面向数据结构的Jackson方法(JSD)n面向数据结构的结构化数据系统开发方法(DSSD)n面向对象分析方法(OOA)n静态分析方法n动态分析方法193.2.2 3.2.2 结构化分析方法结构化分析方法
9、n1关于结构化分析方法n结构化程序设计理论在需求分析阶段的运用n面向数据流进行需求分析的方法n自顶向下、逐层分解n主要工具:数据流图(DFD)、数据字典(DD)、结构化英语、判定树、判定表203.2.2 3.2.2 结构化分析方法结构化分析方法n2结构化分析的常用工具结构化分析的常用工具n数据流图(DFD)n数据字典n结构化分析方法的核心n对数据流图中出现的被命名的图形元素的确切解释n判定树 n判定表213.2.2 3.2.2 结构化分析方法结构化分析方法n数据流图:基本图形元素 223.2.2 3.2.2 结构化分析方法结构化分析方法n数据流图233.2.3 3.2.3 软件需求规格说明书软
10、件需求规格说明书n需求分析阶段的最后成果需求分析阶段的最后成果n作用:作用:n便于用户、开发人员进行理解和交流;n反映出用户问题的结构,可以作为软件开发工作的基础和依据;n作为确认测试和验收的依据。n主要内容主要内容n概述、数据描述、功能描述、性能描述、参考文献、附录 n特点:特点:n正确性;无歧义性;完整性;可验证性;一致性;可理解性;可修改性;可追踪性。3.3 3.3 结构化设计方法结构化设计方法253.3.1 3.3.1 软件设计的基本概念软件设计的基本概念n1软件设计的基础软件设计的基础n开发阶段:设计、实现(编码)和测试n需求分析:主要解决“做什么”问题n软件设计:主要解决“怎么做”
11、问题263.3.1 3.3.1 软件设计的基本概念软件设计的基本概念n从技术观点来看,软件工程包括:从技术观点来看,软件工程包括:n结构设计、数据设计、接口设计、过程设计n从工程管理角度来看,软件工程分两步完成:从工程管理角度来看,软件工程分两步完成:n概要设计和详细设计273.3.1 3.3.1 软件设计的基本概念软件设计的基本概念n2软件设计的基本原理软件设计的基本原理 n抽象n一种思维工具n抽出事物本质的共同特点,不考虑细节n模块化n模块n模块化n信息隐蔽n每个模块的实现细节对于其它模块来说是隐蔽的n模块独立性n每个模块只涉及软件要求的具体的子功能和软件系统中其它的模块的接口是简单的n衡
12、量指标:耦合性、内聚性283.3.1 3.3.1 软件设计的基本概念软件设计的基本概念n内聚性内聚性n模块内部各个元素之间彼此结合的紧密程度的度量n一个模块只做一件事n7种类型293.3.1 3.3.1 软件设计的基本概念软件设计的基本概念n耦合性耦合性n模块间互相连接的紧密程序的度量n取决于接口的复杂程度、调用方式、哪些信息通过接口n模块连接方式有7种,构成耦合性的7种类型n一般较优秀的软件设计,应尽量做到高内聚,低耦合303.3.2 3.3.2 概要设计概要设计n1概要设计的基本任务n系统结构设计n主要任务:划分为模块n数据结构和数据库的设计n实现需求定义和规格说明过程中提出的数据对象的逻
13、辑表示n编写概要设计文档n概要设计说明书、数据库设计说明书、用户手册和集成测试计划。n概要设计的评审n对概要设计文档中给出的设计方案可行性、正确性、有效性、一致性等进行审核313.3.2 3.3.2 概要设计概要设计(续续)n2软件结构图n结构图(SC)n用来表示软件结构n基本图符323.3.2 3.3.2 概要设计概要设计(续续)n两个附加符号 333.3.2 3.3.2 概要设计概要设计(续续)n系统结构图(系统结构图(SCSC)中的模块)中的模块 n原子模块 n4种类型的模块 343.3.2 3.3.2 概要设计概要设计(续续)n结构图的形态特征结构图的形态特征 n深度、宽度、扇出、扇入
14、 353.3.2 3.3.2 概要设计概要设计(续续)n3面向数据流的设计方法n数据流图(DFD):需求分析工具n系统结构图(SC):概要设计工作n主要任务:数据流图变换成结构图n数据流的类型n变换流n事务流 363.3.2 3.3.2 概要设计概要设计(续续)n变换流变换流n数据流图:取得数据、变换数据、给出数据373.3.2 3.3.2 概要设计概要设计(续续)n变换流变换流n系统的结构图:输入、中心变换、输出383.3.2 3.3.2 概要设计概要设计(续续)n事务流事务流n数据流图 393.3.2 3.3.2 概要设计概要设计(续续)n事务流事务流n系统的结构图:403.3.2 3.3
15、.2 概要设计概要设计(续续)n实施要点与设计过程实施要点与设计过程n分析、确认数据流图的类型,区分是事务型还是变换型n说明数据流的边界n数据流图映射为程序结构n根据设计准则把数据流转换成程序结构图 413.3.2 3.3.2 概要设计概要设计(续续)n变换分析变换分析n确定数据流图是否具有变换特性n确定输入流和输出流的边界,划分出输入、变换和输出,独立出变换中心n第一级分解n按上述步骤如出现事务流的映射方式对各个子流进行逐级分解,直至分解到基本功能;n对每个模块写一个简要的说明n利用软件的设计原则对软件结构透一步转化n事务分析事务分析n与变换分析类似n主要差别:映射方法不同 423.3.2
16、3.3.2 概要设计概要设计(续续)n4.4.设计准则设计准则n提高模块独立性n深度、宽度、扇度和扇出适度n使模块的作用域在该模块的控制域内n应减少模块的接口和界面的复杂性n设计成单入口、单出口的模块n设计功能可预测的模块 433.3.3 3.3.3 详细设计详细设计n详细设计的任务:详细设计的任务:n确定实现算法和局部数据结构n不同于编码或编程n常用过程设计工具:常用过程设计工具:n图形工具:程序流程图、N-S、PAD和HIPOn表格工具:判定表;n语言工具:PDL(伪码)443.3.3 3.3.3 详细设计详细设计(续续)n程序流程图程序流程图n图形元素:n方框:处理步骤n菱形:逻辑条件n
17、箭头:控制流n5种控制结构n顺序型n选择型n先判断重复型n后判断重复型n多分支选择型。453.3.3 3.3.3 详细设计详细设计(续续)n程序流程图程序流程图 463.3.3 3.3.3 详细设计详细设计(续续)nN-SN-S图图n流程图:随意性与灵活性nN-S图:限制了随意的控制转移,保证了程序的良好结构n5种基本控制结构:473.3.3 3.3.3 详细设计详细设计(续续)nN-SN-S图图483.3.3 3.3.3 详细设计详细设计(续续)nN-SN-S图图n特点:n每个构件具有明确的功能域n控制转移必须遵守结构化设计要求;n易于确定局部数据和(或)全局数据的作用域n易于表达嵌套关系和
18、模块的层次结构493.3.3 3.3.3 详细设计详细设计(续续)nPADPAD图图nPAD问题分析图,Problem Analysis Diagramn表现程序逻辑结构的图形工具n5种基本控制结构503.3.3 3.3.3 详细设计详细设计(续续)nPADPAD图图513.3.3 3.3.3 详细设计详细设计(续续)nPADPAD图图n特征n结构清晰,结构化程度高n易于阅读n程序的纵线数等于程序的层次数n程序执行从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线523.3.3 3.3.3 详细设计详细设计(续续)nPDLPDL(伪码)(伪码)nPDL过程设计语
19、言,Program Design Languagen混合语言,类似编程语言n常用词汇:n顺序:n条件:IFTHENELSEETIDIFn循环:DOWHILEENDDOn循环:REPEAT UNTILENDREPEATn分支:CASE OFWHENSELECTWHENSELECTENDCASEnPDL特征:n有为结构化构成元素、数据说明和模块化特征提供的关键词语法;n处理部分的描述采用自然语言语法n可以说明简单和复杂的数据结构n支持各种接口描述的子程序定义和调用技术。3.4 3.4 软件测试软件测试543.4.1 3.4.1 软件测试的目的软件测试的目的n检验它是否满足规定的需求或是弄清预期结果
20、与实际结果检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别之间的差别nGrenford J.MyersGrenford J.Myers观点:观点:n测试是程序的执行过程,目的在于发现错误n一个好的测试用例在于能发现至今未发现的错误n一个成功的测试是发现了至今未发现的错误的测试553.4.2 3.4.2 软件测试的准则软件测试的准则n所有测试都应追溯到需求所有测试都应追溯到需求n严格执行测试计划,排除测试的随意性严格执行测试计划,排除测试的随意性n充分注意测试中的群集现象充分注意测试中的群集现象n程序员应避免检查自己的程序程序员应避免检查自己的程序n穷举测试不可能穷举测试不可能n妥善
21、保存测试计划、测试用例、出错统计和最终分析报告,妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便为维护提供方便563.4.3 3.4.3 软件测试技术与方法综述软件测试技术与方法综述n1 1静态测试与动态测试静态测试与动态测试n静态测试n人工评审软件文档或程序,借以发现其中的错误n主要方法:代码检查、静态结构分析、代码质量度量n动态测试n上机测试n关键:设计高效、合理的测试用例n分两类:白盒测试方法和黑盒测试方法573.4.3 3.4.3 软件测试技术与方法综述软件测试技术与方法综述(续续)n2 2白盒测试方法与测试用例设计白盒测试方法与测试用例设计n也称结构测试或逻辑驱动测
22、试n测试用例是根据程序的内部逻辑来设计n主要用于单元测试n基本原则n保证所测模块中每一个独立路径至少执行一次n保证所测模块所有判断的每一个分支至少执行一次n保证所测模块每一个循环都在边界条件和一般条件至少执行一次n验证所有内部数据结构的有效性n主要方法:逻辑覆盖、基本路径测试583.4.3 3.4.3 软件测试技术与方法综述软件测试技术与方法综述(续续)n逻辑覆盖测试逻辑覆盖测试 n程序中的逻辑:判断、分支、条件n可分为:n语句覆盖:每一个语句都能执行一次n路径覆盖:所有的可能路径都至少经历一次n判定覆盖:每个判定至少都获得一次“真值”和“假值”的机会n条件覆盖:每个判定中每个条件都获得一次“
23、真”和“假”的机会n判断-条件覆盖:判定中的每个条件都能取得各种可能的“真”和“假”值,并且使每个判定都能取到“真”和“假”两种结果n强度顺序n语句覆盖路径覆盖判定覆盖条件覆盖判定-条件覆盖 593.4.3 3.4.3 软件测试技术与方法综述软件测试技术与方法综述(续续)n基本路径测试基本路径测试 n把覆盖的路径数压缩到一定限度内n思想和步骤:n根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试603.4.3 3.4.3 软件测试技术与方法综述软件测试技术与方法综述(续续)n3黑盒测试方法与测试用例设计n也称功能
24、测试或数据驱动测试n对软件已经实现的功能是否满足需求进行测试和验证n根据程序的功能说明来设计测试用例n主要用于确认测试n主要方法n等价类划分法n边界值分析法n错误推测法613.4.3 3.4.3 软件测试技术与方法综述软件测试技术与方法综述(续续)n等价类划分法等价类划分法n有效等价类n无效等价类n边界值分析法边界值分析法n大量的错误是发生在输入或输出范围的边界上 n错误推测法错误推测法n根据经验或直觉推测程序易出错的地方 623.4.4 3.4.4 软件测试的实施软件测试的实施n软件测试步骤:软件测试步骤:n单元测试、集成测试、确认测试、系统测试单元测试、集成测试、确认测试、系统测试633.
25、4.4 3.4.4 软件测试的实施软件测试的实施(续续)n1 1单元测试单元测试n对象:针对程序模块,进行正确性检验的测试n目的:发现各模块内部可能存在的各种差错n依据:从程序的内部结构出发设计测试用例,其依据是详细的设计说明书和源程序n方法:以白盒测试为主,辅以黑盒测试643.4.4 3.4.4 软件测试的实施软件测试的实施(续续)n1 1单元测试单元测试n内容:n模块接口测试n局部数据结构测试n路径测试n错误处理测试n边界测试n步骤:n在编码阶段进行n源程序代码编制完成,经过评审和验证,确认没有语法错误之后n利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例n对于每一组输入,应
26、有预期的正确结果653.4.4 3.4.4 软件测试的实施软件测试的实施(续续)n1 1单元测试单元测试n驱动模块、桩模块663.4.4 3.4.4 软件测试的实施软件测试的实施(续续)n2 2集成测试集成测试n任务:把模块在按照设计要求组装起来的同时进行测试n目的:发现与接口有关的错误n依据:集成测试的依据是概要设计说明书n内容:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试n方式:非增量方式组装与增量方式组装。673.4.4 3.4.4 软件测试的实施软件测试的实施(续续)n2 2集成测试集成测试n非增量方式组装n也称为一次性组装方式n增量方式组装n也称渐增式集成方式n3种
27、方式:n自顶向下n自底向上n自顶向与自底向上相结合683.4.4 3.4.4 软件测试的实施软件测试的实施(续续)n自顶向下自顶向下693.4.4 3.4.4 软件测试的实施软件测试的实施(续续)n自底向上自底向上703.4.4 3.4.4 软件测试的实施软件测试的实施(续续)n3 3确认测试确认测试n又称有效性测试n目的:验证软件的功能和性能及其它特性是否与用户的要求一致n依据:软件需求规格说明书n方法:黑盒测试法n4 4系统测试系统测试n任务:在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试n目的:在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方
28、n依据:需求分析规格说明来设计n内容:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试3.5 3.5 程序的调试程序的调试723.5.1 3.5.1 基本概念基本概念n任务:诊断和改正程序中的错误任务:诊断和改正程序中的错误n时机:调试主要在开发阶段进行时机:调试主要在开发阶段进行733.5.1 3.5.1 基本概念基本概念(续续)n1.1.基本步骤基本步骤n错误定位、纠正错误、回归测试743.5.1 3.5.1 基本概念基本概念(续续)n2 2程序调试原则程序调试原则n确定错误的性质和位置的原则n用头脑去分析思考与错误征兆有关的信息n避开死胡同。n只把调试工具当作辅助手段来使
29、用n避免用试探法,最多只能把它当作最后手段n修改错误的原则n在出现错误的地方,很可能还有别的错误n只修改了这个错误的征兆或这个错误的表现,而没有修改错误的本身。n当心修正一个错误的同时有可能会引入新的错误n修改错误的过程将迫使人们暂时回到程序设计阶段n修改源代码程序,不要改变目标代码 753.5.2 3.5.2 软件调试方法软件调试方法n1 1强行排错法强行排错法n通过内存全部打印来排错(Memory Dump)n在程序特定部位设置打印语句n自动调试工具n2 2回溯法回溯法n3 3原因排除法原因排除法n演绎法n归纳法n二分法典型考题分析典型考题分析 77n【例【例3-13-1】下列描述中正确的
30、是】下列描述中正确的是_。(。(20052005年年4 4月)月)A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合78n【例【例3-23-2】下列描述中正确的是】下列描述中正确的是_。(。(20052005年年9 9月)月)A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题79n【例【例3-33-3】下面不属于软件工程的】下面不属于软件工程的3 3个要素的是个要素的是_。A)工具B)过程C)方法D
31、)环境80n【例【例3-43-4】下列叙述中正确的是】下列叙述中正确的是_。(。(20052005年年9 9月)月)A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令81n【例【例3-53-5】下列选项中不属于软件生命周期开发阶段任务】下列选项中不属于软件生命周期开发阶段任务的是的是_。(。(20062006年年9 9月)月)A)软件测试B)概要设计C)软件维护D)详细设计82n【例【例3-63-6】软件工程学一般包括软件开发技术和软件工程】软件工程学一般包括软件开发技术和软件工程管理两方面的内容。软件
32、工程经济学是软件工程管理的技管理两方面的内容。软件工程经济学是软件工程管理的技术内容之一,它专门研究术内容之一,它专门研究_。A)软件开发的方法学B)软件开发技术和工具C)软件成本效益分析D)计划、进度和预算83n【例【例3-73-7】下面不属于软件工程原则的是】下面不属于软件工程原则的是_。A)抽象B)模块化C)自底向上D)信息隐蔽84n【例【例3-83-8】计算机辅助软件工程,简称为】计算机辅助软件工程,简称为_。A)SAB)SDC)SCD)CASE85n【例【例3-93-9】需求分析阶段的任务是确定】需求分析阶段的任务是确定_。A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统
33、功能86n【例【例3-103-10】软件需求分析阶段的工作,可以分为四个方面:】软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及需求获取,需求分析,编写需求规格说明书,以及_。A)阶段性报告B)需求评审C)总结D)都不正确87n【例【例3-113-11】结构化分析方法是面向】结构化分析方法是面向_的自顶向下逐的自顶向下逐步求精进行需求分析的方法。步求精进行需求分析的方法。A)对象B)数据结构C)数据流D)目标88n【例【例3-123-12】下列工具中为需求分析常用工具的是】下列工具中为需求分析常用工具的是_。A)PADB)PFDC)N-SD)DFD89n【
34、例【例3-133-13】数据流图用于抽象描述一个软件的逻辑模型,】数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符号不属于数据数据流图由一些特定的图符构成。下面图符号不属于数据流图的是流图的是_。A)控制流B)加工C)数据存储D)源和潭90n【例【例3-143-14】下列叙述中,不属于软件需求规格说明书的作】下列叙述中,不属于软件需求规格说明书的作用的是用的是_。A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析91n【例【例3-153-15】JacksonJack
35、son方法是一种面向方法是一种面向_的结构化方法。的结构化方法。92n【例【例3-163-16】从工程管理角度,软件设计一般分为两步完成,】从工程管理角度,软件设计一般分为两步完成,它们是它们是_。(。(20062006年年9 9月)月)A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计93n【例【例3-173-17】两个或两个以上模块之间关联的紧密程度称为】两个或两个以上模块之间关联的紧密程度称为_。(。(20062006年年4 4月)月)A)耦合度B)内聚度C)复杂度D)数据传输特性94n【例【例3-183-18】为了提高模块的独立性,模块之间最好
36、是】为了提高模块的独立性,模块之间最好是_。A)控制耦合B)公共耦合C)内容耦合D)数据耦合n答案答案 D D95n【例【例3-193-19】为了使模块尽可能独立,要】为了使模块尽可能独立,要_。(20052005年年4 4月)月)A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 96n【例【例3-203-20】软件的结构化开发过程各阶段都应产生规范的】软件的结构化开发过程各阶段都应产生规范的文档,以下文档,以下_
37、不是在概要设计阶段应产生的文档。不是在概要设计阶段应产生的文档。A)集成测试计划B)软件需求规格说明书C)概要设计说明书D)数据库设计说明书97n【例【例3-213-21】软件结构设计的图形工具是】软件结构设计的图形工具是_。A)DFD图B)程序图C)PAD图D)N-S图98n【例【例3-223-22】下列软件系统结构图的宽度为】下列软件系统结构图的宽度为_。(。(20062006年年9 9月)月)99n【例【例3-233-23】数据流图的类型有】数据流图的类型有_和事务型。和事务型。n答案答案 变换型变换型100n【例【例3-243-24】在软件设计中,不属于过程设计工具的是】在软件设计中,
38、不属于过程设计工具的是_。(。(20052005年年9 9月)月)A)PDL(过程设计语言)B)PAD图C)N-S图D)DFD图101n【例【例3-253-25】程序流程图】程序流程图(PFD(PFD)中的箭头代表的是)中的箭头代表的是_。A)数据流B)控制流C)调用关系D)组成关系102n【例【例3-263-26】为了避免流程图在描述程序逻辑时的】为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为图,通常也把这种图称为_。A)PAD图B)N-S图C)结构图D)数据流图103n【例【例3-273-27】下列
39、对于软件测试的描述中正确的是】下列对于软件测试的描述中正确的是_。(20052005年年4 4月)月)A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能地多发现程序中的错误 D)软件测试的目的是使程序符合结构化原则 104n【例【例3-283-28】为了提高测试的效率,应该】为了提高测试的效率,应该_。A)随机地选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)选择发现错误可能性大的数据作为测试数据105n【例【例3-293-29】程序测试分为静态分析和动态测试,其中】程序测试分为静态分析和动态测试,其
40、中_是指不执行程序,而只是对程序文本进行检查,通是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(过阅读和讨论,分析和发现程序中的错误。(20062006年年4 4月)月)106n【例【例3-303-30】使用白盒测试方法时,确定测试数据应根据】使用白盒测试方法时,确定测试数据应根据_和指定的覆盖标准。和指定的覆盖标准。A)程序的内部逻辑B)程序的复杂结构C)使用说明书D)程序的功能107n【例【例3-313-31】等价类型划分法是】等价类型划分法是_测试常用的方法。测试常用的方法。n答案答案 黑盒黑盒108n【例【例3-323-32】在进行模块测试时,要为每
41、个被测试的模块另】在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中外设计两类模块:驱动模块和承接模块(桩模块)。其中_的作用是将测试数据传送给被测试的模块,并显示的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(被测试模块所产生的结果。(20052005年年9 9月)月)n答案答案 驱动模块驱动模块109n【例【例3-333-33】检查软件产品是否符合需求定义的过程称为】检查软件产品是否符合需求定义的过程称为_。A)系统测试B)集成测试C)验收测试D)单元测试110n【例【例3-343-34】_的任务是诊断和改正程序中的错误。的任务是诊断和改正程序中的错误。(20062006年年9 9月)月)111n【例【例3-353-35】以下所述中,】以下所述中,_是软件调试技术。是软件调试技术。A)错误推断B)集成测试C)回溯法D)边界值分析
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。