程序调试.docx_第1页
程序调试.docx_第2页
程序调试.docx_第3页
程序调试.docx_第4页
程序调试.docx_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。 2、程序调试的基本步骤:(1)错误定位;(2)修改设计和代码,以排除错误;(3)进行回归测试,防止引进新的错误。 3、程序调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,是主要的调试手段,而动态调试是辅助静态调试。主要调试方法有:(1)强行排错法;(2)回溯法;(3)原因排除法。真题分析 【真题1】软件调试的目的是_。(2007年9月) A)改善软件的性能 B)验证软件的正确性 C)发现错误 D)改正错误 解析:软件调试的任务是诊断和改正程序中的错误。程序调试活动由两部分组成,一是根据错误的迹象确定程序中错误的确切性质、原因和位置;二是对程序进行修改,排除这个错误。 答案:D 【真题2】软件_【2】_阶段的任务是诊断和改正程序中的错误。(2006年9月) 解析:软件测试的目的是发现程序中的错误,而调试的目的是确定程序中错误的位置和引起错误的原因,并加以改正。换句话说,调试的目的就是诊断和改正程序中的错误。调试不是测试,但是它总是发生在测试之后。 答案:调试 【真题3】下列叙述中正确的是_。(2006年4月) A)软件维护只包括对程序代码的维护 B)三种说法都不对 -50-C)软件测试应该由程序开发者来完成 D)程序经调试后一般不需要再测试 解析:本题考核软件测试、软件调试和软件维护的概念。软件测试具有挑剔性,测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷,就是说,测试是程序执行的过程,目的在于发现错误;一个好的测试在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误。由于测试的这一特征,一般应当避免由开发者测试自己的程序。 调试也称排错,目的是发现错误的位置,并改正错误,经测试发现错误后,可以立即进行调试并改正错误;经过调试后的程序还需进行回归测试,以检查调试的效果,同时也可防止在调试过程中引进新的错误。 软件维护通常有四类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。文档可以分为用户文档和系统文档两类。但无论是哪类文档,都必须与程序代码同时维护。只有与程序代码完全一致的文档才有意义和价值。 答案:B 【真题4】诊断和改正程序中错误的工作通常称为软件_【3】_。(2005年4月) 解析:调试也称排错,调试的目的是发现错误的位置,并改正错误。一般的调试过程分为错误检查、错误诊断和改正错误。 答案:调试 【真题5】软件(程序)调试的任务是_。(2010年3月) A)发现并改正程序中的所有错误 B)确定程序中错误的性质 C)诊断和改正程序中的错误 D)尽可能多地发现程序中的错误 解析:调试也称排错或纠错。它与成功的测试形影相随,测试成功的标志是发现错误。根据错误迹象,诊断错误的原因和位置,进而改正程序中的错误,这就是调试的任务。 答案:C 【真题6】下列叙述中正确的是_。(2005年9月) A)软件交付使用后其生命周期就结束 B)软件维护是指修复程序中被破坏的指令 C)软件交付使用后还需要进行维护 D)软件一旦交付使用就不需要再进行维护 解析:本题考核软件维护的概念。维护是软件生命周期的最后一个阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。 软件维护通常有以下四类: 1、为纠正使用中出现的错误而进行的改正性维护; 2、为适应环境变化而进行的适应性维护; 3、为改进原有软件而进行的完善性维护; 4、为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。 答案:C1、软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。2、软件测试的目的:软件测试是为了发现错误而执行程序的过程。3、软件测试的准则:所有测试都应追溯到需求;严格执行测试计划,排除测试的随意性;充分注意测试中的群集现象;程序员应避免检查自己的程序;穷举测试不可能。4、软件测试的方法和技术分类:从是否需要执行被测试软件的角度,分为静态测试和动态测试方法;按照功能划分,分为白盒测试和黑盒测试方法。5、静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进行;动态测试是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法。6、白盒测试:在程序内部进行,主要用于完成软件内部操作的验证。主要方法有逻辑覆盖、基本路径测试。黑盒测试:主要诊断功能不对或遗漏、界面错误、数据结构或外部数据率访问错误、性能错误、初始化和终止条件错,用于软件确认。主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。7、软件测试过程一般按四个步骤进行:单元测试、集成测试、验收测试(确认测试)和系统测试。(1)单元测试:是对软件设计的最小单位(模块)进行正确性检验的测试,目的是发现各模块内部可能存在的各种错误。依据是详细设计说明书和源程序。采用的技术有表静态分析和动态测试。对动态测试以白盒测试为主,辅助以黑盒测试。单元测试的内容包括:模块接口测试,局部数据结构测试,重要的执行路径的检查,出错处理测试,影响以上各点及其相关点的边界条件测试。单元测试需要辅助模块:驱动模块和桩模块。驱动模块相当于被测试模块的主程序,桩模块是主程序调用的其他模块。(2)集成测试:是把模块在按照设计要求组装起来的同时进行测试,主要目的是发现与接口有关的错误,依据是概要设计说明书。集成测试所涉及的内容包括:软件单元的接口测试,全局数据结构测试,边界条件和非法输入的测试。集成测试将模块组装成程序通常采用:非增量方式和增量方式组装。增量方式包括自顶向下,自底向上,自顶向下和自向上相结合。(3)确认测试的任务是验证软件的功能和性能及其他特性是否满足了需求规格说明中确定的各种需求,主要依据的是软件需求规格说明书。确认测试主要运用黑盒测试法。(4)系统测试的目的是在真实的系统工作环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致的地方。系统测试的具体实施一般包括:功能测试,性能测试,操作测试,配置测试,外部接口测试,安全测试等。真题分析【真题1】软件测试可分为白盒测试和黑盒测试。基本路径测试属于_【2】_测试。(2009年3月)解析:软件测试按照功能可以分为白盒测试和黑盒测试,白盒测试方法也称为结构测试或逻辑驱动测试,其主要方法有逻辑覆盖、基本路径测试等。答案:白盒【真题2】下面叙述中错误的是_。(2009年3月)A)程序调试通常也称为DebugB)软件测试应严格执行测试计划,排除测试的随意性C)软件测试的目的是发现错误并改正错误D)对被调试的程序进行“错误定位”是程序调试的必要步骤解析:软件测试是为了发现错误而执行程序的过程。软件调试的目的是发现错误并改正错误。软件测试要严格执行测试计划,排除测试的随意性。程序调试通常也称Debug,对被调试的程序进行“错误定位”是程序调试的必要步骤。答案:C【真题3】按照软件测试的一般步骤,集成测试应在_【2】_测试之后进行。(2008年9月)解析:软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。所以集成测试在单元测试之后。答案:单元【真题4】测试用例包括输入值集与_【1】_值集。(2008年4月)解析:测试用例由测试输入数据(输入值集)和与之对应的预期输出结果(输出值集)两部分组成。答案:输出【真题5】在两种基本测试方法中,_【2】_测试的原则之一是保证所测试模块中每一个独立路径至少要执行一次。(2007年9月)解析:白盒测试的基本原则是:保证所测模块中每一个独立路径至少执行一次;保证所测模块所有判断的每一个分支至少执行一次;保证所测模块每一条循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。按照白盒测试的基本原则,“白盒”法是穷举路径测试。答案:白盒【真题6】下列叙述中正确的是_。(2007年3月)A)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作B)软件测试是证明软件没有错误C)软件测试的主要目的是发现程序中的错误D)软件测试的主要目的是确定程序中错误的位置解析:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指尽可能地找到迄今为止尚未发现的错误的用例;一个成功的测试是指发现了至今尚未发现的错误的测试。为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。答案:C【真题7】软件测试分为白盒测试和黑盒测试。等价类划分法属于_【2】_测试。(2007年3月)解析:黑盒测试也称功能测试或数据驱动测试。它是对软件已经实现的功能是否满足需求进行测试和验证。黑箱测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。黑箱测试方法主要有等价类划分法、边界值分析法、错误推测法、因果图等,主要用于软件确认测试。答案:黑盒【真题8】程序测试分为静态分析和动态测试。其中_【4】_是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(2006年4月)解析:程序测试分为静态分析和动态测试。其中,静态分析是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。答案:静态分析【真题9】下列叙述中正确的是_。(2005年9月)A)程序经调试改错后还应进行再测试B)程序经调试改错后不必进行再测试C)程序设计就是编制程序D)程序的测试必须由程序员自己去完成解析:软件测试仍然是保证软件可靠性的主要手段,测试的目的是要尽量发现程序中的错误,调试主要是推断错误的原因,从而进一步改正错误。测试和调试是软件测试阶段的两个密切相关的过程,通常是交替进行的。答案:A【真题10】在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中_【3】_模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(2005年9月)解析:由于模块不是一个独立的程序,不能单独运行,因此,在进行模块测试时,还应为每个被测试的模块另外设计两类模块:驱动模块和承接模块。由于模块不是一个独立的程序,不能单独运行,因此,在进行模块测试时,还应为每个被测试的模块另外设计两类模块:驱动模块和承接模块。其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是模拟被测试模块的下层模块。通常,承接模块有多个。答案:驱动【真题11】下列对于软件测试的描述中正确的是_。(2005年4月)A)软件测试的目的是尽可以多地发现程序中的错误B)软件测试的目的是使程序符合结构化原则C)软件测试的目的是证明程序是否正确D)软件测试的目的是使程序运行结果正确解析:1、软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。2、软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。3、测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷。答案:A【真题12】软件测试的目的是_。(2010年9月)A)改正程序中的错误B)发现程序中的错误C)评估软件可靠性D)发现并改正程序中的错误解析:软件测试的目的是尽可能多的发现程序中的错误,而不是为了单纯的改正程序中的错误。答案:B1、数据库设计是数据应用的核心。数据库设计的两种方法:(1)面向数据:以信息需求为主,兼顾处理需求;(2)面向过程:以处理需求为主,兼顾信息需求。2、数据库的生命周期:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。3、数据库设计包括:需求分析、概念设计、逻辑设计、物理设计。(1)需求分析:常用结构分析方法和面向对象的方法。结构化分析(简称SA)方法用自顶向下、逐层分解的方式分析系统。用数据流图表达数据和处理过程的关系。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典是各类数据描述的集合,包括5个部分:数据项、数据结构、数据流(可以是数据项,也可以是数据结构)、数据存储、处理过程。(2)数据库概念设计的目的是分析数据间内在语义关联,并建立数据的抽象模型。设计的方法有两种:集中式模式设计法(适用于小型或并不复杂的单位或部门);视图集成设计法。常见的方法有:E-R模型与视图集成。视图设计一般有三种设计次序:自顶向下、由底向上、由内向外。视图集成的实质是将所有的局部视图统一与合并成一个完整的数据模式,常见的几种局部设计的冲突:命名冲突、概念冲突、域冲突、约束冲突。(3)数据库的逻辑设计主要工作是将E-R图转换成RDBMS中的关系模式。逻辑设计的另一个重要内容是关系视图的设计,又称为外模式设计。关系视图设计:关系视图的设计又称外模式设计。关系视图的主要作用:提供数据逻辑独立性:使应用程序不爱逻辑模式变化的影响。能适应用户对数据的不同需求;有一定数据保密功能。(4)数据库的物理设计主要目标是对数据内部物理结构做调整并选择合理的存取路径,以提高数据库访问速度有效利用存储空间。一般RDBMS中留给用户参与物理设计的内容大致有索引设计、集成簇设计和分区设计。4、数据库管理的内容:(1)数据库的建立;(2)数据库的调整;(3)数据库的重组;(4)数据库安全性与完整性控制;(5)数据库的故障恢复;(6)数据库监控。真题分析【真题1】数据库应用系统中的核心问题是_。(2009年3月)A)数据库维护B)数据库管理员培训C)数据库设计D)数据库系统设计解析:在数据库应用系统中的一个核心问题就是设计一个能满足用户要求,性能良好的数据库,这就是数据库设计。所以数据库设计是数据库应用的核心。答案:C【真题2】数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。(2006年9月)A)运行阶段B)物理设计C)编码设计D)测试阶段解析:数据库的生命周期可以分为两个阶段:一是数据库设计阶段;二是数据库实现阶段。数据库的设计阶段又分为如下四个子阶段:即需求分析、概念设计、逻辑设计和物理设计。答案:B【真题3】在数据库系统中,用户所见的数据模式为_。(2006年9月)A)内模式B)物理模式C)概念模式D)外模式解析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。数据库管理系统的三级模式结构由外模式、模式和内模式组成。1、外模式也称子模式或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。2、模式也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。3、内模式也称存储模式或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方法的描述。答案:D【真题4】数据库设计包括概念设计、_【4】_设计和物理设计。(2008年9月)解析:数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。它们是需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段和进一步修改阶段。在数据库设计中采用前4个阶段。答案:逻辑【真题5】在数据库设计中,将E-R图转换成关系数据模型的过程属于_。(2008年4月)A)逻辑设计阶段B)物理设计阶段C)需求分析阶段D)概念设计阶段解析:数据库的设计阶段包括需要分析、概念设计、逻辑设计和物理设计,其中将E-R图转换成关系数据模型的过程属于逻辑设计阶段。答案:A【真题6】数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_。(2010年3月)A)概念设计阶段B)物理设计阶段C)需求分析阶段D)逻辑设计阶段解析:E-R图是概念模式,在第二阶段概念设计阶段构造。答案:A【真题7】数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_【5】_。(2010年9月)解析:数据库的设计包括需求分析、概念设计、逻辑设计和物理设计四个阶段。答案:物理设计1、软件设计是软件工程的重要阶段,是一个把软件需求持换为软件表示的过程。软件设计的基本目标是用比较抽象慨括的方式确定目标系统如何完成预定的任务,即软件设计是确定系统的物理模型。 (1)需求分析主要解决“做什么”问题,软件设计解决“怎么做”的问题。 从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。 结构设计:定义软件系统各主要部件之间的关系。 数据设计:将分析时创建的模型转化为数据结构的定义。 接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。 过程设计:把系统结构部件转换成软件的过程描述。 (2)从工程管理角度来看,软件设计包括:概要设计和详细设计。 2、软件设计中应该遵循的基本原理和与软件设计有关的概念 (1)抽象:就是把事物本质的共同特征提取出来而不考虑其他细节。 (2)模块化:是指把一个待开发的软件分解成若干小的简单的部分。但划分模块不是越多越好。 (3)信息隐蔽:是指在一个模块中包含的信息,对于不需求这些信息的其他模块来说是不能访问的。 (4)模块独立性:每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。这是评价设计好坏的重要度量标准。 3、衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准: (1)内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量。内聚是从功能角度来度量模块内的联系。 (2)耦合性:耦合性是模块间互相连接的紧密程度的度量。耦合性的强弱取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚、低耦合。 4、软件概要设计 (1)概要设计的基本任务是:设计软件系统结构;数据结构及数据库设计;编写概要设计文档;概要设计文档评审。 (2)结构图(SC),是概要设计阶段的工具。其图形元素为: 矩形表示一般模块。 箭头表示模块间的调用关系。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。 用带实心圆的箭头表示传递的是控制信息。 空心圆箭心表示传递的是数据。 结构图的基本形式:基本形式、顺序形式、重复形式、选择形式。 结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。 结构图的形态特征:包括深度、宽度、扇出、扇入。 深度:表示控制的层数 宽度:表示整体控制跨度 扇入:调用一个给定模块的模块个数。 扇出:一个模块直接调用的其他模块数。 (3)面向数据流的设计方法: 典型的数据流类型有两种:变换型和事务型。 变换型系统结构图由输入、中心变换、输出三部分组成。 事务型数据流的特点是:接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。 5、软件详细设计 (1)是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。 (2)常见的过程设计工具有: 图形工具:程序流程图(PDF),N-S,PAD(问题分析图),HIPO 表格工具:判定表 语言工具:PDL(伪码) 真题分析 【真题1】软件详细设计产生图如下:软件详细设计产生图如下: 该图是_。(2009年9月) A)程序流程图 B)E-R图 -38-C)N-S图 D)PAD图 解析:程序流程图是一种传统的、应用,广泛的软件过程设计表示工具,通常也称为程序框图。 答案:A 【真题2】程序流程图中带有箭头的线段表示的是_。(2008年4月) A)控制流 B)调用关系 C)图元关系 D)数据流 解析:程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。其中,用带箭头的线段表示控制流,用矩形表示加工步骤,用菱形表示逻辑条件。 答案:A 【真题3】在软件开发中,需求分析阶段产生的主要文档是_。(2008年4月) A)概要设计说明书 B)集成测试计划 C)可行性分析报告 D)软件需求规格说明书 解析:需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标的确认,又可以作为控制软件开发进程的依据。 答案:D 【真题4】软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是_【1】_。(2007年9月) 解析:软件需求规格说明书是确保软件质量的有力措施,是需求分析阶段的最终成果。其质量好坏的标准、标准的优先级及标准的内涵是:正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性等。其中最重要的特性是无歧义性,即需要规格说明书应该是精确的、无二义的,需求说明书越精确,以后出现错误、混淆、反复的可能性越小。 答案:无歧义性 【真题5】下列选项中不属于软件生命周期开发阶段任务的是_。(2006年9月) A)软件维护 B)详细设计 C)软件测试 D)概要设计 解析:软件生命周期由软件定义、软件开发和软件维护三个时期组成,每个时期又进一步划分为若干个阶段。软件定义时期的基本任务是确定软件系统的工程需求。软件定义可分为软件系统的可行性研究和需求分析两个阶段。 1、软件开发时期是具体设计和实现在前一时期定义的软件,它通常由下面五个阶段组成:概要设计、详细设计、编写代码、组装测试和确认测试。 2、软件维护时期的主要任务是使软件持久地满足用户的需要。即当软件在使用过程中发现错误时应加以改正;当环境改变时应该修改软件,以适应新的环境;当用户有新要求时应该及时改进软件,以满足用户的新要求。 根据上述对软件生命周期的介绍,可知软件维护不是软件生命周期开发阶段的任务。 答案:A 【真题6】软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于_。(2010年3月) A)维护阶段 B)上述三个阶段 C)定义阶段 D)开发阶段 解析:详细设计属于软件生命周期中开发阶段的第一步骤,即设计。 答案:D 【真题7】软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中_【3】_阶段产生“软件需求规格说明书”。(2009年9月) 解析:软件开发过程为:需求确认-概要设计-详细设计-编码-单元测试-集成测试-系统测试-维护。其中,需求分析阶段产生需求规格说明书;概要设计阶段产生系统用例图和用例场景;详细设计阶段产生系统设计报告和数据库设计报告;测试阶段产生测试用例报告。 答案:需求分析 【真题8】从工程管理角度,软件设计一般分为两步完成,它们是_。(2006年9月) A)软件结构设计与数据设B)过程设计与数据设计 C)概要设计与详细设计 D)数据设计与接口设计 解析:从工程管理的角度,软件设计可分为概要设计和详细设计两大步骤。 1、概要设计是根据需求确定软件和数据的总体框架; 2、详细设计是将其进一步细化成软件的算法、数据结构和接口。 而在技术上,概要设计和详细设计又由若干活动组成,包括总体结构设计、数据设计和过程设计。 答案:C 【真题9】在软件设计中,不属于过程设计工具的是_。(2005年9月) A)N-S图 B)DFD图 C)PDL(过程设计语言) D)PAD图 解析:数据流图DFD,是结构化分析方法最主要的一种图形工具,不属于过程 设计工具。 答案:B 【真题10】下列软件系统结构图的宽度为_【1】_。(2006年9月) 解析:题目中的图形是倒置的树状结构,这是用层次图表示的软件结构。结构图中同一层次模块的最大模块个数称为结构的宽度,它表示控制的总分布。根据上述结构图宽度的定义,从图中可以看出,第二层的模块个数最多,即为3。因此,这个系统结构图的宽度就为3。 答案:3 【真题11】软件设计中划分模块的一个准则是_。(2009年9月) A)低内聚高耦合 B)高内聚高耦合 C)低内聚低耦合 D)高内聚低耦合 解析:模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 答案:D 【真题12】耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。(2009年3月) A)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 B)内聚性是指模块间互相连接的紧密程度 C)提高耦合性、降低内聚性有利于提高模块的独立性 D)降低耦合性、提高内聚性有利于提高模块的独立性 解析:耦合性是反映模块间互相连接的紧密程度,内聚性是指一个模块内部各个元素间彼此接合的紧密程度。提高模块的内聚性,降低模块的耦合性有利于提高模块的独立性。 答案:D 【真题13】软件设计中模块划分应遵循的准则是_。(2008年4月) A)低内聚高耦合 B)高内聚高耦合 C)低内聚低耦合 D)高内聚低耦合 解析:耦合性和内聚性是模块独立性的两个定性标准,各模块的内聚性越强,则耦合性越弱。软件设计应该遵循高内聚低耦合。 答案:D 【真题14】在结构化程序设计中,模块划分的原则是_。(2007年3月) A)各模块之间的联系应尽量紧密 B)模块内具有高内聚度、模块间具有低耦合度 C)各模块应包括尽量多的功能 D)各模块的规模应尽量大 解析:内聚性是对一个模块内部各个元素间彼此结合的紧密程度的度量。耦合性是对模块间互相连接的紧密程度的度量。在结构化程序设计中,模块划分应遵循高内聚、低耦合的原则,即减弱模块之间的耦合性和提高模块内聚性,有利于提高软件模块的独立性。 答案:B 【真题15】为了使模块尽可能独立,要求_。(2005年4月) A)模块的内聚程度要尽量低,且各模块间的紧密程度要尽量弱 B)模块的内聚程度要尽量低,且各模块间的紧密程度要尽量强 C)模块的内聚程度要尽量高,且各模块间的紧密程度要尽量强 D)模块的内聚程度要尽量高,且各模块间的紧密程度要尽量弱 解析:系统设计的质量主要反映在模块的独立性上。系统设计的质量主要反映在模块的独立性上。 1、评价模块独立性的主要标准有两个: 一是模块之间的耦合,它表明两个模块之间互相独立的程度; 二是模块内部之间的关系是否紧密,称为内聚。 2、一般来说,要求模块之问的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。 答案:D 【真题16】两个或两个以上模块之间关联的紧密程度称为_。(2006年4月) A)复杂度 B)数据传输特性 C)耦合度 D)内聚度 解析:本题考核模块独立性的评价。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度,也可以说是两个或两个以上模块之间关联的紧密程度;二是模块内各部分之间的关系是否紧密,称为内聚。一般来说,要求模块内各部分之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。 答案:C考点精讲1、软件定义阶段:包括制定计划与需求分析。可行性研究与计划制定:确定总目标,可行性研究,探讨解决方案,制定开发计划。2、需求分析:对待开发软件提出的需求进行分析并给出详细的定义。主要工作是编写软件需求规格说明书及用户手册。(1)需求分析的任务是导出目标系统的逻辑模型,解决“做什么”的问题。(2)需求分析一般分成4个阶段:需求获取,需求分析,编写需求规格说明书,需求评审。(3)软件需求规格说明书(SRS),是需求分析阶段的最后成果,是软件开发中的重要文档之一。该说明把在软件计划中确定的软件范围加以展开,制定出完整的信息描述,详细的功能说明,恰当的检验标准以及其他与要求有关的数据。其特点有:正确性;无岐义性;完整性;可验证性;一致性;可理解性;可追踪性。(4)需求分析的方法:结构化分析方法:包括面向数据流的结构化分析方法(SA),面向数据结构的Jackson方法(JSD)和面向数据结构的结构化数据系统开发方法(DSSD)。面向对象的分析的方法(OOA)。从需求分析建立的模型的特性来分:静态分析和动态分析。3、结构化方法的核心和基础是结构化程序设计理论。结构化分析方法的实质:面向数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。数据字典是结构化分析的核心。(1)结构化分析的常用工具有:数据流图;数据字典;判定树;判定表。(2)数据流图(DFD):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。建立数据流图的步骤:由外向里,自顶向下,逐层分解,完善求精。数据流图的主要图形元素:椭圆:代表加工(转换)。输入数据经加工变换产生输出。箭头:代表数据流。沿箭头方向传送数据的通道,一般在旁边标注数据流名。双横线:代表存储文件(数据)。表示处理过程中存入各种数据的文件。矩形:代表源,潭。表示系统和环境的接口,属系统之外的实体。(3)数据字典:是结构化分析的核心。是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。概括地说,数据字典是对DFD中出现的被命名的图形元素的确切解释。(4)判定树:是从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。(5)判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。真题分析【真题1】数据流图中带有箭头的线段表示的是_。(2008年9月)A)模块调用B)数据流C)控制流D)事件驱动解析:数据流图是从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。其中,带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。答案:B【真题2】在软件开发中,需求分析阶段可以使用的工具是_(2008年9月)A)PAD图B)程序流程图C)N-S图D)DFD图解析:在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。答案:D【真题3】在结构化分析使用的数据流图(DFD)中,利用_【5】_对其中的图形元素进行确切解释。(2007年3月)解析:数据字典(DataDictionary,简称DD)的作用是对DFD中出现的被命名图形元素进行确切解释。通常数据字典包含的信息有名称、别名、何处使用、如何使用、内容描述、补充信息等。答案:数据字典【真题4】数据流程图(DFD图)是_。(2010年3月)A)结构化方法的需求分析工具B)面向对象方法的需求分析工具C)软件概要设计的工具D)软件详细设计的工具解析:数据流图(DataFlowDiagram,DFD)用来描绘系统的逻辑模型,它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。DFD是结构化分析的工具,结构化分析是需求分析的一种方法。答案:A考点精讲1、数据模型的概念:是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。2、数据模型分为三种:(1)概念数据模型:简称概念模型,是对客观世界复杂事物的结构描述及它们之间的内在联系的刻画。主要有:E-R模型、扩充的E-R模型、面向对象模型及谓词模型等。(2)逻辑数据模型:又称物理模型,是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。主要有:层次模型、网状模型、关系模型、面向对象模型等。(3)物理数据模型:又称物理模型,它是一种面向计算机物理表示的模型,此模型给出-25-了数据模型在计算机上物理结构的表示。3、E-R模型(1)E-R模型的基本概念实体:现实世界中的事物;属性:事物的特性;联系:现实世界中事物间的关系。(2)实体集的关系有一对一(一个学校和一个校长)、一对多(学生和宿舍)、多对多(老师与学生)的联系。两个实体集间联系可分为:一对一联系(onetoonerelationship)简记为1:1。一对多联系(onetomanyrelationship)简记为1:m或m:1。多对多联系(monytomanyrelationship)简记为m:n。(3)E-R模型三个基本概念之间的联接关系:实体是概念世界中的基本单位,属性有属性域,每个实体可取属性域内的值。一个实体的所有属性值叫元组。(4)E-R模型的图示法:实体集表示法:在矩形内写上实体集的名字;属性表示法:在椭圆形内写上属性的名称;联系表示法:用菱形内写上联系的名称;实体集与属性的联接关系:用无向线段来表示;实体集与联系间的联接关系;E-R模型由实体、属性、联系这三个基本概念细成。只有实体、联系、属性三者结合起来才能表示一个现实世界。4、关系模型(1)在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名,表中的一行称为一个元组,相当于记录值。(2)在二维表中凡能唯一标识元组的最小属性称为键或码。从所有侯选健中选取一个作为用户使用的键称主键。表A中的某属性是某表B的键,则称该属性集为A的外键或外码。(3)关系中的数据约束:实体完整性约束:约束关系的主键中属性值不能为空值;参照完全性约束:是关系之间的基本约束;用户定义的完整性约束:它反映了具体应用中数据的语义要求。(4)关系模型的数据操作即是建立在关系上的数据操作,一般有查询、增加、删除和修改四种操作。真题分析【真题1】在E-R图中,用来表示实体联系的图形是_。(2009年9月)A)菱形B)三角形C)椭圆形D)矩形-26-解析:在E-R图中,用矩形表示实体集,用椭圆形表示属性,用菱形(内部写上联系名)表示联系。答案:A【真题2】在E-R图中,图形包括矩形框、菱形框、椭圆框、其中表示实体联系的是_【5】_框。(2009年3月)解析:在E-R图中,用菱形框来表示实体之间的联系。矩形框表示实体集,椭圆形框表示属性答案:菱形【真题3】将ER图转换为关系模式时,实体和联系都可以表示为_。(2009年3月)A)关系B)域C)属性D)键解析:将ER图转换为关系模式时,实体和联系都可以表示为关系。答案:A【真题4】一间宿舍可住多个学生,则实体宿舍和学生之间的联系是_。(2008年9月)A)多对一B)多对多C)一对一D)一对多解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一联系、多对多。由于一个宿舍可以住多个学生,但一个学生只能住在一个宿舍,所以它们的联系是一对多联系。答案:D【真题5】在E-R图中,矩形表示_【5】_。(2007年9月)解析:矩形表示实体,椭圆形表示属性,菱形表示联系。答案:实体【真题6】在E-R图中,用来表示实体之间联系的图形是_。(2007年3月)A)菱形B)平行四边形C)矩形D)椭圆形解析:ER图具有三个要素:实体用矩形框表示,框内为实体名称。属性用椭圆形来表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。实体间的联系用菱形框表示。用线将菱形框与实体相连,并在线上标注联系的类型。答案:A【真题7】在E-R图中,用来表示实体的图形是_。(2006年4月)A)菱形B)三角C)矩形D)椭圆形解析:在E-R图中,用三种图框分别表示实体、属性和实体之间的联系,其规定如下:用矩形框表示实体,框内标明实体名;用椭圆状框表示实体的属性,框内标明属性名;用菱形框表示实体问的联系,框内标明联系名。答案:C【真题8】在二维表中,元组的_【5】_是不能再分成更小的数据项的。(2008年9月)解析:元组分量的原子性是指二维表中元组的分量是不可分割的基本数据项。答案:分量【真题9】在关系数据库中,用来表示实体之间联系的是_【4】_。(2008年4月)解析:在关系数据库中,用关系来表示实体之间的联系。答案:关系【真题10】下列叙述中正确的是_。(2007年9月)A)一个关系的属性名表称为关系模式B)一个关系可以包括多个二维表C)为了建立一个关系,首先要构造数据的逻辑结构D)表示关系的二维表中各元组的每一个分量还可以分成若干个数据项解析:二维表中元组的分量是不可分割的基本数据项,这就是元组分量的原子性;二维表中元组的分量是不可分割的基本数据项,这就是元组分量的原子性;关系的框架称为关系模式;二维表中元组的分量是不可分割的基本数据项,这就是元组分量的原子性;关系的框架称为关系模式;一个满足“元组个数有限性、元组的唯一性、元组的次序无关性、元组分量的原子性、属性名唯一性、属性的次序无关性、分量值域的同一性”7个性质的二维表称为关系。-28-答案:C【真题11】一个关系表的行称为_【3】_。(2006年9月)解析:关系是关系数据模型的核心。关系可以用一个表来直观地表示,表的每一列表示关系的一个属性,每一行表示一个记录。答案:记录【真题12】在关系模型中,把数据看成是二维表,每一个二维表称为一个_【3】_。(2006年4月)解析:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。因此,本题的正确答案是关系。答案:关系【真题13】用树形结构表示实体之间联系的模型是_。(2005年4月)A)层次模型B)三个都是C)关系模型D)网状模型解析:在数据库系统中,由于采用的数据模型不同,相应的数据库管理系统(DBMS)也不同。目前常用的数据模型有三种:层次模型、网状模型和关系模型。在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型)是树中的结点,而树中各结点之间的连线表示它们之间的关系。答案:A【真题14】在关系数据库中,把数据表示成二维表,每一个二维表称为_【4】_。(2005年4月)解析:在关系模型中,把数据看成一个二维表,每一个二维

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论