全国计算机等级考试二级公共基础知识讲义(第3章).ppt
1,计算机等级考试二级公共基础知识(2012年3月专用版),2,二级Access考试介绍,一、考试方式1笔试:90 分钟,满分100 分,其中含公共基础知识部分30分2上机操作:90 分钟,满分100 分二、笔试题型及分值(根据考试大纲及往年试题)1选择题70 分(每小题2分,共3 5题)2填空题30 分(每空2 分,共15题)三、上机操作1基本操作(30 分)2简单应用(40 分)3综合应用(30 分),3,我们的目标,通过二级考试,4,基础知识部分:30分,设有10道选择题和5道填空题,第三章 软件工程,3.1 软件工程的基本概念3.2 结构化分析方法3.3 结构化设计方法3.4 软件测试3.5 软件调试3.6 软件维护,返回到目录页,6,31 软件工程基本概念,计算机软件是包括程序、数据及相关文档的完整集合。软件的特点包括:(1)软件是一种逻辑实体;(2)软件的生产与硬件不同,它没有明显的制作过程;(3)软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;(5)软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。,7,31 软件工程基本概念,软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。软件危机主要表现在成本、质量、生产率等问题。软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。软件工程的主要思想是强调在软件开发过程中需要应用工程化原则。软件工程包括3个要素:方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理文档生成;过程支持软件开发的各个环节的控制、管理。软件工程过程是把输入转化为输出的一组彼此相关的资源和活动,包含4种基本活动:(1)P软件规格说明;Plan(2)D软件开发;Do(3)C软件确认;Check(4)A软件演进。Action,8,软件的分类,软件按功能可分为:应用软件、系统软件和支撑软件(或工具软件)。应用软件是为解决特定领域的应用而开发的软件。例如,事物处理软件、工程与科学计算软件、实时处理软件、嵌入式软件、人工智能软件等应用性质不同的各种软件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件,如操作系统、编译程序、汇编程序、网络软件、数据库管理系统等。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支撑开发和维护应用软件的工具软件,如需求分析工具软件、设计工具软件、编码工具软件、测试工具软件、维护工具软件等,也包括辅助管理人员控制开发进程和项目管理的工具软件,如计划进度管理工具软件、过程控制工具软件、质量管理及配置管理工具软件等。,9,软件危机,软件危机主要表现在:(1)软件需求的增长得不到满足;(2)软件开发成本和进度无法控制;(3)软件质量难以保证;(4)软件不可维护或维护程度非常低;(5)软件成本不断提高;(6)软件开发生产效率的提高赶不上硬件的发展和应用需求的增长。总之,可以将软件危机归结为成本、质量和生产率等问题。,10,软件周期,软件周期:软件产品从提出、实现、使用、维护到停止使用、退役的过程。软件生命周期三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:(1)可行性研究与计划制定;(2)需求分析;(3)软件设计;(4)软件实现;(5)软件测试;(6)运行和维护。,11,12,软件工程的目标和与原则:,目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发软件易于移植;需要较低的费用;能按时完成开发,及时交付使用。基本原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。,13,软件工程,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境。软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。软件管理学包括人员组织、进度安排、质量保证、配置管理、项目计划等。,14,软件开发工具与软件开发环境,1、软件开发工具。是协助开发人员进行软件开发活动所使用的软件或环境,它包括需求分析工具、设计工具、编码工具、排错工具、测试工具等。2、软件开发环境。是指全面支持软件开发全过程的软件工具集合。,15,历届试题,2005.4(8)下列描述中正确的是A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合2005.9(5)下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题,16,历届试题,(3)下列选项中不属于软件生命周期开发阶段任务的是A)软件测试B)概要设计C)软件维护D)详细设计2007.4(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于【4】阶段。2007.9(1)软件是指 A)程序 B)程序和文档 C)算法加数据结构 D)程序、数据与相关文档的完整结合,17,2008.9,(3)软件工程三要素包括方法、工具和过程,其中,【3】支持软件开发的各个环节的控制和管理。【4】是完成软件工程项目的技术手段。【5】支持软件的开发、管理文档生成。,18,32 结构化分析方法,结构化方法的核心和基础是结构化程序设计理论。需求分析方法有(1)结构化需求分析方法;(2)面向对象的分析方法。从需求分析建立的模型的特性来分:静态分析和动态分析。,19,需求分析与需求分析方法,1.需求分析需求分析是指用户对目标系统的功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求的过程。需求分析将创建所需数据模型、功能模型和控制模型。(1)需求分析定义 1997年IEEE软件工程标准对需求分析定义如下:用户解决问题或达到目标所需的条件或权能系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能 一种反映前面所述的条件或权能的文档说明。(2)需求分析阶段的工作需求分析阶段包括四个方面:需求获取。确定对目标系统的各方面需求。需求分析。对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。编写需求规格说明书。说明书作为需求分析的阶段成果,可为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据需求评审。需求分析最后一关,对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。,20,2.需求分析方法,需求分析方法有:结构化分析方法。包括面向数据流的结构化分析方法,面向数据结构的Jackson方法,面向数据结构的结构化数据系统开发方法。面向对象的分析方法。从需求分析建立的模型的特性来分,需求分析方法又为静态分析方法和动态分析方法。,21,3.2.2 结构化分析方法,1.关于结构化分析方法结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析的步骤如下:通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型。去掉具体模型中非本质因素,抽象出当前系统的逻辑模型。根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型。完善目标系统并补充细节,写出目标系统的软件需求规格说明。评审直到确认完全符合用户对软件的需求。,22,2.结构化分析的常用工具,(1)数据流图(DFD-Data Flow Diagram)数据流图(DFD):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。数据流图中主要图形元素有:数据流图中主要图形元素有:一般通过对实际系统的了解和分析后,使用数据流图为系统建立逻辑模型,建立数据流图步骤如下:(1)由外向里:先画系统的输入和输出,然后画系统的内部(2)自顶向下:顺序完成顶层、中间层、底层数据流图(3)逐层分解,23,银行取款业务的数据流图,24,(2)数据字典(DD),对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。概括地说,数据字典的作用是对DFD中出现的被命名的图形元素的确切的解释。数据字典的作用是对数据流图(DFD)中出现的被命名的图形元素的确切解释。通常数据词典包含的信息有:名称、别名、何处使用/如何使用、内容描述、补充信息等。数据字典是结构化分析的核心。,25,(3)判定树、(4)判定表,判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。,26,“检查发货单”判定树,27,“检查发货单”判定表,28,3.2.3 软件需求规格说明书,软件需求规格说明书是需求分析阶段的最后成果,是软件开发中重要文档之一。软件需求规格说明书的作用是:便于用户、开发人员进行理解和交流。反映出用户问题的结构,可以作为软件开发工作的基础和依据。作为确认测试和验收的依据。,29,软件需求规格说明书的特点:,(1)正确性;(2)无歧义性;(3)完整性;(4)可验证性;(5)一致性;(6)可理解性;(7)可追踪性。,30,历年试题:,2004.9(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是 A)可行性分析 B)需求分析 C)详细设计 D)程序编码2007.4(5)在结构化分析使用的数据流图(DFD)中,利用【5】对其中的图形元素进行确切解释。2007.9(1)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【1】。2008.4(4)在软件开发中,需求分析阶段产生的主要文档是A)可行性分析报告 B)软件需求规格说明书C)概要设计说明书 D)集成测试计划,31,2008.9,(5)数据流图中带有箭头的线段表示的是A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是A)N-S图 B)DFD图 C)PAD图 D)程序流程图,32,33 结构化设计方法,软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,软件设计是确定系统的物理模型。软件设计是开发阶段最重要的步骤,是将需求准确地转化为完整的软件产品或系统的唯一途径。从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义。接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。过程设计:把系统结构部件转换成软件的过程描述。,33,33 结构化设计方法,从工程管理角度来看:概要设计和详细设计。概要设计将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。,34,33 结构化设计方法,软件概要设计的基本任务是:(1)设计软件系统结构;(2)数据结构及数据库设计(3)编写概要设计文档;(4)概要设计文档评审。模块用一个矩形表示,箭头表示模块间的调用关系。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。还可用带实心圆的箭头表示传递的是控制信息,空心圆箭心表示传递的是数据。结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块 结构图中的有关术语:深度:表示控制的层数宽度:整体控制跨度(最大模块数的层)的表示,35,深度:表示控制的层数。(4)宽度:最大模块层的模块数。(6)扇入:调用一个给定模块的模块数。(2)扇出:一个模块直接调用其他模块的个数。(3)原子模块:树中位于叶子结点的模块数。(6),36,33 结构化设计方法,典型的数据流类型有两种:变换型和事务型。变换型系统结构图由输入、中心变换、输出三部分组成。事务型数据流的特点是:接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。,37,33 结构化设计方法,详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。常见的过程设计工具有:图形工具(程序流程图)表格工具(判定表)语言工具(PDL),38,1.程序流程图(Program Flow Diagram),是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图。主要元素:(1)方框:表示一个加工步骤(2)菱形框:表示一个逻辑条件(3)箭头:表示控制流向,39,2.N-S图,为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为N-S图。,N-S输送有以下特征:每个构件具有明确的功能域。控制转移必须遵守结构化要求。易于确定局部数据和全局数据的作用域。易于表达嵌套关系和模块的层次结构。,40,3.PAD图,选择结构,PAD图是问题分析图(Problem Analysis Diagram)的英文缩写。它是继程序流程图和方框图之后,提出的又一种主要用于描述软件详细设计的图形表示工具。,PAD图有以下特征:结构清晰,结构化程度高。易于阅读。最左端的纵线是程序的主干线,对于程序的第一层结构;每增加一层PAD图向右扩展一条纵线,程序的纵线是程序层次数。程序执行,从PAD图最左主干线端结点开始、自上而下、自左向右依次执行,程序终止于最左主干线。,顺序结构,41,4.表格工具(判定表)5.语言工具(PDL),42,33 结构化设计方法 历年试题,2004.9(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构 C)定义模块算法D)定义需求并建立系统模型2005.9(6)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言)B)PAD图 C)N-S图 D)DFD图,43,33 结构化设计方法 历年试题,2006.9(2)从工程管理角度,软件设计一般分为两步完成,它们是A)概要设计与详细设计 B)数据设计与接口设计C)软件结构设计与数据设计 D)过程设计与数据设计(1)下列软件系统结构图的宽度为【1】。2008.4(1)程序流程图中带有箭头的线段表示的是A)图元关系 B)数据流 C)控制流 D)调用关系,44,3.4 软件测试,3.4.1 软件测试的目的软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。关于软件测试的目的,Grenford J.Myers在The Art of Software Testing一书中给出了更深刻的阐述:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是发现了至今尚未发现的错误的测试。Myers的观点告诉人们测试要以查找错误为中心,而不是为了演示软件的正确功能。,45,3.4.2 软件测试的准则,要做好软件测试,设计出有效的测试方案和好的测试用例,软件测试人员需要充分理解和运行软件测试的一些基本准则:1.测试的根本目的是满足用户需求。2.严格执行测试计划,避免测试的随意性。3.充分注意测试中的群集现象。4.程序员应避免检查自己的程序。5.穷举测试不可能。6.妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。,46,3.4 软件测试,软件测试的目的:是为了发现错误而执行程序的过程。软件测试:若从是否需要执行被测软件的角度,可以分为静态测试和动态测试方法。若按照功能角度可以划分为白盒测试和黑盒测试。静态测试是指由人工进行,不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。使用人工测试能够有效地发现30%到70%的逻辑错误和编码错误。动态测试是基于计算机的测试,是为了发现错误而执行程序的过程。设计高效、合理的测试用例是动态测试的关键。测试用例的格式为:(输入值集),(输出值集),47,3.4 软件测试,白盒测试:也称结构测试或逻辑驱动测试。在程序内部进行,主要用于完成软件内部操作的验证。白盒测试的基本原则是:保证所测模块中每一独立路径至少要执行一次;保证所测模块所有判断的每一分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少各执行一次。验证所有内部数据结构的有效性。白盒测试的主要方法:逻辑覆盖、基本路径测试。,48,3.4 软件测试,黑盒测试:也称功能测试或数据驱动测试。是对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。所以,黑盒测试是在软件接口处进行,完成功能验证。黑盒测试主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错。黑盒测试的主要方法:等价类划分法、边界值分析法、错误推测法、因果法。,49,3.4 软件测试,软件测试过程一般按4个步骤进行:单元测试、集成测试、确认测试和系统测试。单元测试也称模块测试,单元测试的目的是发现各模块内容可能存在的各种错误。通常以白盒动态测试为主,辅之以黑盒测试。集成测试:是测试和组装软件的过程。确认测试:确认测试的任务是验证软件的功能和性能及其特性是否满足了需求规格说明书中确定的各种需求,以及软件配置是否完全、正确。系统测试:是将通过测试确认的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、支持软件、数据和人员等其他系统元素组合在一起,在实际运行环境下对计算机系统进行一系列的集成测试和确认测试。,50,3.4 软件测试 历年试题,2004.9(3)若按功能划分,软件测试的方法通常分为白盒测试方法和_测试方法。2005.4(6)下列对于软件测试的描述中正确的是A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确C)软件测试的目的是尽可能多地发现程序中的错误D)软件测试的目的是使程序符合结构化原则,51,3.4 软件测试 历年试题,2005.9(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中_的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。,注释:模拟环境是单元测试常用的。所谓模拟环境就是在单元测试中,用一些辅助模块去模拟与被测模块的相联系的其他模块。即为被测模块设计和搭建驱动模块和桩模块。其中,驱动模块相当于被测模块的主程序。它接收测试数据,并传给被测模块,输出实际测试结果。桩模块通常用于代替被测模块调用的其他模块,其作用仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。,52,3.4 软件测试 历年试题,2006.4(4)程序测试分为静态分析和动态测试。其中_是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。2007.4(3)下列叙述中正确的是A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(2)软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于【2】测试。,53,3.4 软件测试 历年试题,2007.9(2)在两种基本测试方法中,【2】测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。2008.4(1)测试用例包括输入值集和【】值集。2008.9(2)按照软件测试的一般步骤,集成测试应该在【2】测试之后进行。,54,3.5 程序的调试,在对程序进行了成功的测试之后将进入程序调试(通常称Debug,即排错)。程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助一定的调试工具去执行找出软件错误的具体位置。软件测试贯穿整个软件生命期,调试主要在开发阶段。,55,3.5 程序的调试,程序调试的基本步骤:(1)错误定位;(2)修改设计和代码,以排除错误;(3)进行回归测试,防止引进新的错误。,56,3.5 程序的调试,软件调试可分静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。主要调试方法有:(1)强行排错法;(2)回溯法;(3)原因排除法。,57,3.5 程序的调试 历年试题,2005.4(3)诊断和改正程序中错误的工作通常称为_。2005.9(1)下列叙述中正确的是A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试2006.4(3)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对,58,3.5 程序的调试 历年试题,2006.9(2)_的任务是诊断和改正程序中的错误。2007.9(2)软件调试的目的是A)发现错误 B)改正错误C)改善软件的性能 D)验证软件的正确性,59,3.6软件维护,软件维护活动包括以下几类:改正性维护、适应性维护、完善性维护和预防性维护。改正性维护是指在软件交付使用后,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程。适应性维护是指为了使软件适应变化,而去修改软件的过程。完善性维护是指为了满足用户对软件提出的新功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。预防性维护是为了提高软件的可维护性、可靠性等,为以后的进一步改进软件打下良好基础。,60,历年试题,05.9(7)下列叙述中正确的是A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令,61,一.选择题 1.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()A.概要设计 B.详细设计 C.可行性研究 D.需求分析 2.下面不属于软件工程的3个要素的是()A.工具 B.过程 C.方法 D.环境 3.检查软件产品是否符合需求定义的过程称为()A.确认测试 B.集成测试 C.验证测试 D.验收测试,62,一.选择题 4.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是()A.控制流 B.加工 C.数据存储 D.源和潭 5.下面不属于软件设计原则的是 A.抽象 B.模块化 C.自底向上 D.信息隐蔽 6.程序流程图(PFD)中的箭头代表的是()A.数据流 B.控制流 C.调用关系 D.组成关系,63,7.下列工具中为需求分析的常用工具的是()A.PAD B.PFD C.N-S D.DFD 8.在结构化方法中,软件功能分解属于下列软件开发中的阶段是()A.详细设计 B.需求分析 C.总体设计 D.编程调试 9.软件调试的目的是()A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能 10.软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及()A.阶段性报告 B.需求评审 C.总结 D.都不正确,64,1.软件是程序、数据和()的集合.2.Jackson方法是一种面向()的结构化方法.3.软件工程研究的内容主要包括()技术和软件工程管理.4.数据流图的类型有()和事务型.5.软件开发环境是全面支持软件开发全过程的()集合.,65,参考答案,一选择题 1D 2.D 3.A 4.A 5.C 6.B 7.D 8.C 9.B 10.B 二填空题 1)文档 2)数据结构 3)软件开发 4)变换型 5)软件工具,66,2009.03,(5)软件按功能可分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是A)编译程序 B)操作系统 C)教务管理系统 D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应该严格执行测试计划,排除测试的随意性(2)软件测试可分为白盒测试和黑盒测试,基本路径测试属于【2】测试。,67,2009.9,(7)软件详细设计产生的图如下A)N-S图 B)PAD图 C)程序流程图 D)E-R图(2)程序流程图中的菱形框表示的是【2】。(3)软件开发过程主要分为需求分析、设计、编码和测试四个阶段,其中【3】阶段产生软件需求规格说明书。,68,2010.3 真题,(3)软件按功能可分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A)编辑软件 B)操作系统 C)教务管理系统 D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误 B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误 D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具 B)软件详细设计的工具C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具(6)软件生命周期可为定义阶段,开发阶段和维护阶段。详细设计属于A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段(4)软件是【4】、数据和文档的集合。,69,2010.9,(3)软件测试的目的是A)评估软件可靠性 B)发现并改正程序中的错误C)改正程序中的错误 D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范 B)软件开发生产率低C)软件质量难以控制 D)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程,70,2011.3,(4)在软件开发中,需求分析阶段产生的主要文档是()。A软件集成测试计划 B软件详细设计说明书C用户手册 D软件需求规格说明书(6)下面描述中错误的是()。A系统总体结构图支持软件系统的详细设计B软件设计是将软件需求转换为软件表示的过程C数据结构与数据库设计是软件设计的任务之一DPAD图是软件详细设计的表示工具(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为【3】测试。,71,2011.9,(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是()。A学生成绩管理系统 BC语言编译程序CUNIX操作系统 D数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是()。A7 B6C3D2,72,2011.9,(6)程序调试的任务是()。A设计测试用例B验证程序的正确性C发现程序中的错误D诊断和改正程序中的错误(3)常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。,73,写在最后 二级考试公共知识部分考题特点及复习建议,考题特点1涉及面广,但难度小考试中有关公共知识部分的题目共有15道,涉及算法及数据结构、程序设计基础、软件工程基础和数据库设计基础等四门学科,但是从整体上分析,考核内容的难度不大,考点也相对集中些。2.考核重点为基本概念、基本方法和基本运算。3.考试中涉及的题目都是基本概念、基本方法和基本运算,考核以概念和认识性内容为主,理解性、应用性内容极少。,74,复习建议,考生的复习必须遵守:“80/20的原则”二级考试的公共知识部分的覆盖面广,至少涵盖了计算机应用专业的四门核心课程:算法及数据结构、程序设计基础、软件工程基础和数据库。事实上,这些课程本身的涉及面就很广,难度系数较大。因此,这些课程甚至也是计算机专业学生最头疼的课程,对大多数考生来说其难度之大不言而喻。所以,考生应把80%的时间用在20%的重点知识点上,争取用20%的重点知识点来答对80%的考题,这是考生复习二级考试的公共知识部分的总体思路。,75,记住,二级考试是一种合格考试,不是竞赛,及格就行了。,预祝大家顺利通过考试!,