计算机二级access笔试之软件工程基础课件_第1页
计算机二级access笔试之软件工程基础课件_第2页
计算机二级access笔试之软件工程基础课件_第3页
计算机二级access笔试之软件工程基础课件_第4页
计算机二级access笔试之软件工程基础课件_第5页
已阅读5页,还剩217页未读 继续免费阅读

下载本文档

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

文档简介

1内容提要软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。结构化分析方法,数据流图,数据字典,软件需求规格说明书。结构化设计方法,总体设计与详细设计。软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。程序的调试1内容提要软件工程基本概念,软件生命周期概念,软件工具与软件13.1软件工程基本概念3.1软件工程基本概念33.1.1软件定义与软件特点1.软件的定义和组成定义:计算机软件(Software)是计算机系统中与硬件相互依赖的另一部分。组成:程序数据文档国标(GB)定义与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。33.1.1软件定义与软件特点1.软件的定义和组成33.1.1软件定义与软件特点(续)2.软件的特点软件是一种逻辑实体,而不是具体的物理实体,具有抽象性软件没有明显的制造过程。对软件的质量控制,必须在软件开发方面下功夫软件不存在老化问题,但存在退化问题,必须要修改和维护对计算机系统有着依赖性——软件移植的问题软件复杂性高,开发和维护成本高软件开发涉及诸多社会因素43.1.1软件定义与软件特点(续)2.软件的特点4453.1.1软件定义与软件特点(续)3.软件的分类应用软件系统软件操作系统数据库管理系统设备驱动程序……支撑软件53.1.1软件定义与软件特点(续)3.软件的分类563.1.2软件危机与软件工程1.软件危机软件工程源自于软件危机主要表现:软件需求的增长得不到满足软件开发成本和进度无法控制软件质量难以保证软件不可维护或维护程度非常低软件成本不断提高软件开发生产效率的提高赶不上硬件的发展和应用需求的增长归结为成本、质量和生产率等问题63.1.2软件危机与软件工程1.软件危机673.1.2软件危机与软件工程2.软件工程的产生与定义软件工程学——工程学的新兴领域定义:国标(GB):应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。主要思想:在软件开发过程中需要应用工程化原则的重要性73.1.2软件危机与软件工程2.软件工程的产生与定义783.1.2软件危机与软件工程2.软件工程的产生与定义软件工程3个要素:方法:完成工程项目的技术手段工具:支持软件开发、管理、文档生成过程:对开发的各个环节进行控制、管理83.1.2软件危机与软件工程2.软件工程的产生与定义893.1.3软件工程过程与软件生命周期1.软件工程过程P(Plan)——软件规格说明D(Do)——软件开发C(Check)——软件确认A(Action)——软件演进93.1.3软件工程过程与软件生命周期1.软件工程过程9103.1.3软件工程过程与软件生命周期软件产品从提出、实现、使用维护、停止使用到退役的过程3个阶段6个阶段工作可行性报告软件规格说明书测试分析报告103.1.3软件工程过程与软件生命周期软件产品从提出、实10113.1.3软件工程过程与软件生命周期定义阶段制定计划:”能做吗?“需求分析:“做什么?”开发阶段:软件设计:“如何做?”,分为概要设计和详细设计两个阶段。软件实现:“实现”,编码。软件测试:”做的怎么样?“运行维护阶段使用,不断维护113.1.3软件工程过程与软件生命周期定义阶段11123.1.4软件工程的目标与原则1.软件工程的目标成功的项目:成本功能移植维护费用按时及时交付目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品123.1.4软件工程的目标与原则1.软件工程的目标12133.1.4软件工程的目标与原则2.软件工程学的范畴133.1.4软件工程的目标与原则2.软件工程学的范畴13143.1.4软件工程的目标与原则抽象抽取事物最基本的特性和行为,忽略非本质细节信息隐蔽采用封装技术,将程序模块的实现细节隐藏起来模块化解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块局部化确定性一致性完备性可验证性143.1.4软件工程的目标与原则抽象14153.1.5软件开发工具与软件开发环境1.软件开发工具协助开发人员进行软件开发活动所使用的软件或环境需求分析工具、设计工具、编码工具、排错工具、测试工具等。2.软件开发环境全面支持软件开发全过程的软件工具的集合计算机辅助软件工程:CASE153.1.5软件开发工具与软件开发环境1.软件开发工具153.2结构化分析方法3.2结构化分析方法173.2.1需求分析与需求分析方法1.需求分析定义:任务:导出目标系统的逻辑模型,解决“做什么”的问题全面理解用户的各项要求准确地表达各项要求主要工作:需求获取需求分析编写需求规格说明书需求审评:验证需求文档的一致性、可行性、完整性和有效性173.2.1需求分析与需求分析方法1.需求分析17183.2.1需求分析与需求分析方法2.需求分析方法结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)面向对象分析方法(OOA)静态分析方法动态分析方法183.2.1需求分析与需求分析方法2.需求分析方法18193.2.2结构化分析方法1.关于结构化分析方法结构化程序设计理论在需求分析阶段的运用面向数据流进行需求分析的方法自顶向下、逐层分解主要工具:数据流图(DFD)、数据字典(DD)、结构化英语、判定树、判定表193.2.2结构化分析方法1.关于结构化分析方法19203.2.2结构化分析方法2.结构化分析的常用工具数据流图(DFD)数据字典结构化分析方法的核心对数据流图中出现的被命名的图形元素的确切解释判定树判定表203.2.2结构化分析方法2.结构化分析的常用工具20213.2.2结构化分析方法数据流图:基本图形元素

213.2.2结构化分析方法数据流图:基本图形元素21223.2.2结构化分析方法数据流图223.2.2结构化分析方法数据流图22233.2.3软件需求规格说明书需求分析阶段的最后成果作用:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。主要内容概述、数据描述、功能描述、性能描述、参考文献、附录特点:①正确性;②无歧义性;③完整性;④可验证性;⑤一致性;⑥可理解性;⑦可修改性;⑧可追踪性。233.2.3软件需求规格说明书需求分析阶段的最后成果233.3结构化设计方法3.3结构化设计方法253.3.1软件设计的基本概念1.软件设计的基础开发阶段:设计、实现(编码)和测试需求分析:主要解决“做什么”问题软件设计:主要解决“怎么做”问题253.3.1软件设计的基本概念1.软件设计的基础25263.3.1软件设计的基本概念从技术观点来看,软件工程包括:结构设计、数据设计、接口设计、过程设计从工程管理角度来看,软件工程分两步完成:概要设计和详细设计263.3.1软件设计的基本概念从技术观点来看,软件工程包26273.3.1软件设计的基本概念2.软件设计的基本原理抽象一种思维工具抽出事物本质的共同特点,不考虑细节模块化模块模块化信息隐蔽每个模块的实现细节对于其它模块来说是隐蔽的模块独立性每个模块只涉及软件要求的具体的子功能和软件系统中其它的模块的接口是简单的衡量指标:耦合性、内聚性273.3.1软件设计的基本概念2.软件设计的基本原理27283.3.1软件设计的基本概念内聚性模块内部各个元素之间彼此结合的紧密程度的度量一个模块只做一件事7种类型283.3.1软件设计的基本概念内聚性28293.3.1软件设计的基本概念耦合性模块间互相连接的紧密程序的度量取决于接口的复杂程度、调用方式、哪些信息通过接口模块连接方式有7种,构成耦合性的7种类型一般较优秀的软件设计,应尽量做到高内聚,低耦合293.3.1软件设计的基本概念耦合性29303.3.2概要设计1.概要设计的基本任务系统结构设计主要任务:划分为模块数据结构和数据库的设计实现需求定义和规格说明过程中提出的数据对象的逻辑表示编写概要设计文档概要设计说明书、数据库设计说明书、用户手册和集成测试计划。概要设计的评审对概要设计文档中给出的设计方案可行性、正确性、有效性、一致性等进行审核303.3.2概要设计1.概要设计的基本任务30313.3.2概要设计(续)2.软件结构图结构图(SC)用来表示软件结构基本图符313.3.2概要设计(续)2.软件结构图31323.3.2概要设计(续)两个附加符号

323.3.2概要设计(续)两个附加符号32333.3.2概要设计(续)系统结构图(SC)中的模块原子模块4种类型的模块333.3.2概要设计(续)系统结构图(SC)中的模块33343.3.2概要设计(续)结构图的形态特征深度、宽度、扇出、扇入343.3.2概要设计(续)结构图的形态特征34353.3.2概要设计(续)3.面向数据流的设计方法数据流图(DFD):需求分析工具系统结构图(SC):概要设计工作主要任务:数据流图变换成结构图数据流的类型变换流事务流

353.3.2概要设计(续)3.面向数据流的设计方法35363.3.2概要设计(续)变换流数据流图:取得数据、变换数据、给出数据363.3.2概要设计(续)变换流36373.3.2概要设计(续)变换流系统的结构图:输入、中心变换、输出373.3.2概要设计(续)变换流37383.3.2概要设计(续)事务流数据流图

383.3.2概要设计(续)事务流38393.3.2概要设计(续)事务流系统的结构图:393.3.2概要设计(续)事务流39403.3.2概要设计(续)实施要点与设计过程分析、确认数据流图的类型,区分是事务型还是变换型说明数据流的边界数据流图映射为程序结构根据设计准则把数据流转换成程序结构图

403.3.2概要设计(续)实施要点与设计过程40413.3.2概要设计(续)变换分析确定数据流图是否具有变换特性确定输入流和输出流的边界,划分出输入、变换和输出,独立出变换中心第一级分解按上述步骤如出现事务流的映射方式对各个子流进行逐级分解,直至分解到基本功能;对每个模块写一个简要的说明利用软件的设计原则对软件结构透一步转化事务分析与变换分析类似主要差别:映射方法不同

413.3.2概要设计(续)变换分析41423.3.2概要设计(续)4.设计准则提高模块独立性深度、宽度、扇度和扇出适度使模块的作用域在该模块的控制域内应减少模块的接口和界面的复杂性设计成单入口、单出口的模块设计功能可预测的模块

423.3.2概要设计(续)4.设计准则42433.3.3详细设计详细设计的任务:确定实现算法和局部数据结构不同于编码或编程常用过程设计工具:图形工具:程序流程图、N-S、PAD和HIPO表格工具:判定表;语言工具:PDL(伪码)433.3.3详细设计详细设计的任务:43443.3.3详细设计(续)程序流程图图形元素:方框:处理步骤菱形:逻辑条件箭头:控制流5种控制结构顺序型选择型先判断重复型后判断重复型多分支选择型。443.3.3详细设计(续)程序流程图44453.3.3详细设计(续)程序流程图

453.3.3详细设计(续)程序流程图45463.3.3详细设计(续)N-S图流程图:随意性与灵活性N-S图:限制了随意的控制转移,保证了程序的良好结构5种基本控制结构:463.3.3详细设计(续)N-S图46473.3.3详细设计(续)N-S图473.3.3详细设计(续)N-S图47483.3.3详细设计(续)N-S图特点:每个构件具有明确的功能域控制转移必须遵守结构化设计要求;易于确定局部数据和(或)全局数据的作用域易于表达嵌套关系和模块的层次结构483.3.3详细设计(续)N-S图48493.3.3详细设计(续)PAD图PAD——问题分析图,ProblemAnalysisDiagram表现程序逻辑结构的图形工具5种基本控制结构493.3.3详细设计(续)PAD图49503.3.3详细设计(续)PAD图503.3.3详细设计(续)PAD图50513.3.3详细设计(续)PAD图特征结构清晰,结构化程度高易于阅读程序的纵线数等于程序的层次数程序执行从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线513.3.3详细设计(续)PAD图51523.3.3详细设计(续)PDL(伪码)PDL——过程设计语言,ProgramDesignLanguage混合语言,类似编程语言常用词汇:顺序:条件:IF/THEN/ELSE/ETIDIF循环:DOWHILE/ENDDO循环:REPEATUNTIL/ENDREPEAT分支:CASEOF/WHEN/SELECT/WHEN/SELECT/ENDCASEPDL特征:有为结构化构成元素、数据说明和模块化特征提供的关键词语法;处理部分的描述采用自然语言语法可以说明简单和复杂的数据结构支持各种接口描述的子程序定义和调用技术。523.3.3详细设计(续)PDL(伪码)523.4软件测试3.4软件测试543.4.1软件测试的目的检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别GrenfordJ.Myers观点:测试是程序的执行过程,目的在于发现错误一个好的测试用例在于能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试543.4.1软件测试的目的检验它是否满足规定的需求或是弄54553.4.2软件测试的准则所有测试都应追溯到需求严格执行测试计划,排除测试的随意性充分注意测试中的群集现象程序员应避免检查自己的程序穷举测试不可能妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便553.4.2软件测试的准则所有测试都应追溯到需求55563.4.3软件测试技术与方法综述1.静态测试与动态测试静态测试人工评审软件文档或程序,借以发现其中的错误主要方法:代码检查、静态结构分析、代码质量度量动态测试上机测试关键:设计高效、合理的测试用例分两类:白盒测试方法和黑盒测试方法563.4.3软件测试技术与方法综述1.静态测试与动态测试56573.4.3软件测试技术与方法综述(续)2.白盒测试方法与测试用例设计也称结构测试或逻辑驱动测试测试用例是根据程序的内部逻辑来设计主要用于单元测试基本原则保证所测模块中每一个独立路径至少执行一次保证所测模块所有判断的每一个分支至少执行一次保证所测模块每一个循环都在边界条件和一般条件至少执行一次验证所有内部数据结构的有效性主要方法:逻辑覆盖、基本路径测试573.4.3软件测试技术与方法综述(续)2.白盒测试方法57583.4.3软件测试技术与方法综述(续)逻辑覆盖测试程序中的逻辑:判断、分支、条件可分为:语句覆盖:每一个语句都能执行一次路径覆盖:所有的可能路径都至少经历一次判定覆盖:每个判定至少都获得一次“真值”和“假值”的机会条件覆盖:每个判定中每个条件都获得一次“真”和“假”的机会判断-条件覆盖:判定中的每个条件都能取得各种可能的“真”和“假”值,并且使每个判定都能取到“真”和“假”两种结果强度顺序语句覆盖<路径覆盖<判定覆盖<条件覆盖<判定-条件覆盖583.4.3软件测试技术与方法综述(续)逻辑覆盖测试58593.4.3软件测试技术与方法综述(续)基本路径测试把覆盖的路径数压缩到一定限度内思想和步骤:根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试593.4.3软件测试技术与方法综述(续)基本路径测试59603.4.3软件测试技术与方法综述(续)3.黑盒测试方法与测试用例设计也称功能测试或数据驱动测试对软件已经实现的功能是否满足需求进行测试和验证根据程序的功能说明来设计测试用例主要用于确认测试主要方法等价类划分法边界值分析法错误推测法603.4.3软件测试技术与方法综述(续)3.黑盒测试方法60613.4.3软件测试技术与方法综述(续)等价类划分法有效等价类无效等价类边界值分析法大量的错误是发生在输入或输出范围的边界上错误推测法根据经验或直觉推测程序易出错的地方613.4.3软件测试技术与方法综述(续)等价类划分法61623.4.4软件测试的实施软件测试步骤:单元测试、集成测试、确认测试、系统测试623.4.4软件测试的实施软件测试步骤:62633.4.4软件测试的实施(续)1.单元测试对象:针对程序模块,进行正确性检验的测试目的:发现各模块内部可能存在的各种差错依据:从程序的内部结构出发设计测试用例,其依据是详细的设计说明书和源程序方法:以白盒测试为主,辅以黑盒测试633.4.4软件测试的实施(续)1.单元测试63643.4.4软件测试的实施(续)1.单元测试内容:模块接口测试局部数据结构测试路径测试错误处理测试边界测试步骤:在编码阶段进行源程序代码编制完成,经过评审和验证,确认没有语法错误之后利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例对于每一组输入,应有预期的正确结果643.4.4软件测试的实施(续)1.单元测试64653.4.4软件测试的实施(续)1.单元测试驱动模块、桩模块653.4.4软件测试的实施(续)1.单元测试65663.4.4软件测试的实施(续)2.集成测试任务:把模块在按照设计要求组装起来的同时进行测试目的:发现与接口有关的错误依据:集成测试的依据是概要设计说明书内容:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试方式:非增量方式组装与增量方式组装。663.4.4软件测试的实施(续)2.集成测试66673.4.4软件测试的实施(续)2.集成测试非增量方式组装也称为一次性组装方式增量方式组装也称渐增式集成方式3种方式:自顶向下自底向上自顶向与自底向上相结合673.4.4软件测试的实施(续)2.集成测试67683.4.4软件测试的实施(续)自顶向下683.4.4软件测试的实施(续)自顶向下68693.4.4软件测试的实施(续)自底向上693.4.4软件测试的实施(续)自底向上69703.4.4软件测试的实施(续)3.确认测试又称有效性测试目的:验证软件的功能和性能及其它特性是否与用户的要求一致依据:软件需求规格说明书方法:黑盒测试法4.系统测试任务:在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试目的:在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方依据:需求分析规格说明来设计内容:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试703.4.4软件测试的实施(续)3.确认测试703.5程序的调试3.5程序的调试723.5.1基本概念任务:诊断和改正程序中的错误时机:调试主要在开发阶段进行723.5.1基本概念任务:诊断和改正程序中的错误72733.5.1基本概念(续)1.基本步骤错误定位、纠正错误、回归测试733.5.1基本概念(续)1.基本步骤73743.5.1基本概念(续)2.程序调试原则确定错误的性质和位置的原则用头脑去分析思考与错误征兆有关的信息避开死胡同。只把调试工具当作辅助手段来使用避免用试探法,最多只能把它当作最后手段修改错误的原则在出现错误的地方,很可能还有别的错误只修改了这个错误的征兆或这个错误的表现,而没有修改错误的本身。当心修正一个错误的同时有可能会引入新的错误修改错误的过程将迫使人们暂时回到程序设计阶段修改源代码程序,不要改变目标代码743.5.1基本概念(续)2.程序调试原则74753.5.2软件调试方法1.强行排错法通过内存全部打印来排错(MemoryDump)在程序特定部位设置打印语句自动调试工具2.回溯法3.原因排除法演绎法归纳法二分法753.5.2软件调试方法1.强行排错法75典型考题分析典型考题分析77【例3-1】下列描述中正确的是______。(2005年4月)A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据与相关文档的集合77【例3-1】下列描述中正确的是______。(2005年7778【例3-2】下列描述中正确的是______。(2005年9月)A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题78【例3-2】下列描述中正确的是______。(2005年7879【例3-3】下面不属于软件工程的3个要素的是______。A)工具 B)过程C)方法 D)环境79【例3-3】下面不属于软件工程的3个要素的是______7980【例3-4】下列叙述中正确的是______。(2005年9月)A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令80【例3-4】下列叙述中正确的是______。(2005年8081【例3-5】下列选项中不属于软件生命周期开发阶段任务的是______。(2006年9月)A)软件测试 B)概要设计C)软件维护 D)详细设计81【例3-5】下列选项中不属于软件生命周期开发阶段任务的是8182【例3-6】软件工程学一般包括软件开发技术和软件工程管理两方面的内容。软件工程经济学是软件工程管理的技术内容之一,它专门研究______。A)软件开发的方法学B)软件开发技术和工具C)软件成本效益分析D)计划、进度和预算82【例3-6】软件工程学一般包括软件开发技术和软件工程管理8283【例3-7】下面不属于软件工程原则的是______。A)抽象 B)模块化C)自底向上 D)信息隐蔽83【例3-7】下面不属于软件工程原则的是______。8384【例3-8】计算机辅助软件工程,简称为______。A)SA B)SD C)SC D)CASE84【例3-8】计算机辅助软件工程,简称为______。8485【例3-9】需求分析阶段的任务是确定______。A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能85【例3-9】需求分析阶段的任务是确定______。8586【例3-10】软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及______。A)阶段性报告B)需求评审C)总结D)都不正确86【例3-10】软件需求分析阶段的工作,可以分为四个方面:8687【例3-11】结构化分析方法是面向______的自顶向下逐步求精进行需求分析的方法。A)对象B)数据结构C)数据流D)目标87【例3-11】结构化分析方法是面向______的自顶向下8788【例3-12】下列工具中为需求分析常用工具的是______。A)PADB)PFDC)N-SD)DFD88【例3-12】下列工具中为需求分析常用工具的是_____8889【例3-13】数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符号不属于数据流图的是______。A)控制流B)加工C)数据存储D)源和潭89【例3-13】数据流图用于抽象描述一个软件的逻辑模型,数8990【例3-14】下列叙述中,不属于软件需求规格说明书的作用的是______。A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析90【例3-14】下列叙述中,不属于软件需求规格说明书的作用9091【例3-15】Jackson方法是一种面向______的结构化方法。91【例3-15】Jackson方法是一种面向______的9192【例3-16】从工程管理角度,软件设计一般分为两步完成,它们是______。(2006年9月)A)概要设计与详细设计 B)数据设计与接口设计C)软件结构设计与数据设计 D)过程设计与数据设计92【例3-16】从工程管理角度,软件设计一般分为两步完成,9293【例3-17】两个或两个以上模块之间关联的紧密程度称为______。(2006年4月)A)耦合度 B)内聚度 C)复杂度 D)数据传输特性93【例3-17】两个或两个以上模块之间关联的紧密程度称为_9394【例3-18】为了提高模块的独立性,模块之间最好是______。A)控制耦合 B)公共耦合 C)内容耦合 D)数据耦合答案D94【例3-18】为了提高模块的独立性,模块之间最好是___9495【例3-19】为了使模块尽可能独立,要______。(2005年4月)A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强95【例3-19】为了使模块尽可能独立,要______。(29596【例3-20】软件的结构化开发过程各阶段都应产生规范的文档,以下______不是在概要设计阶段应产生的文档。A)集成测试计划 B)软件需求规格说明书C)概要设计说明书 D)数据库设计说明书96【例3-20】软件的结构化开发过程各阶段都应产生规范的文9697【例3-21】软件结构设计的图形工具是______。A)DFD图 B)程序图 C)PAD图 D)N-S图97【例3-21】软件结构设计的图形工具是______。9798【例3-22】下列软件系统结构图的宽度为______。(2006年9月)98【例3-22】下列软件系统结构图的宽度为______。(9899【例3-23】数据流图的类型有______和事务型。答案变换型99【例3-23】数据流图的类型有______和事务型。99100【例3-24】在软件设计中,不属于过程设计工具的是______。(2005年9月)A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图100【例3-24】在软件设计中,不属于过程设计工具的是__100101【例3-25】程序流程图(PFD)中的箭头代表的是______。A)数据流 B)控制流 C)调用关系 D)组成关系101【例3-25】程序流程图(PFD)中的箭头代表的是__101102【例3-26】为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。A)PAD图 B)N-S图 C)结构图 D)数据流图102【例3-26】为了避免流程图在描述程序逻辑时的灵活性,102103【例3-27】下列对于软件测试的描述中正确的是______。(2005年4月)A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确C)软件测试的目的是尽可能地多发现程序中的错误D)软件测试的目的是使程序符合结构化原则103【例3-27】下列对于软件测试的描述中正确的是____103104【例3-28】为了提高测试的效率,应该______。A)随机地选取测试数据 B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划 D)选择发现错误可能性大的数据作为测试数据104【例3-28】为了提高测试的效率,应该______。104105【例3-29】程序测试分为静态分析和动态测试,其中______是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(2006年4月)105【例3-29】程序测试分为静态分析和动态测试,其中__105106【例3-30】使用白盒测试方法时,确定测试数据应根据______和指定的覆盖标准。A)程序的内部逻辑 B)程序的复杂结构C)使用说明书 D)程序的功能106【例3-30】使用白盒测试方法时,确定测试数据应根据_106107【例3-31】等价类型划分法是______测试常用的方法。答案黑盒107【例3-31】等价类型划分法是______测试常用的方107108【例3-32】在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(2005年9月)答案驱动模块108【例3-32】在进行模块测试时,要为每个被测试的模块另108109【例3-33】检查软件产品是否符合需求定义的过程称为______。A)系统测试 B)集成测试 C)验收测试 D)单元测试109【例3-33】检查软件产品是否符合需求定义的过程称为_109110【例3-34】______的任务是诊断和改正程序中的错误。(2006年9月)110【例3-34】______的任务是诊断和改正程序中的错110111【例3-35】以下所述中,______是软件调试技术。A)错误推断 B)集成测试 C)回溯法 D)边界值分析 111【例3-35】以下所述中,______是软件调试技术。111112内容提要软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。结构化分析方法,数据流图,数据字典,软件需求规格说明书。结构化设计方法,总体设计与详细设计。软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。程序的调试1内容提要软件工程基本概念,软件生命周期概念,软件工具与软件1123.1软件工程基本概念3.1软件工程基本概念1143.1.1软件定义与软件特点1.软件的定义和组成定义:计算机软件(Software)是计算机系统中与硬件相互依赖的另一部分。组成:程序数据文档国标(GB)定义与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。33.1.1软件定义与软件特点1.软件的定义和组成1143.1.1软件定义与软件特点(续)2.软件的特点软件是一种逻辑实体,而不是具体的物理实体,具有抽象性软件没有明显的制造过程。对软件的质量控制,必须在软件开发方面下功夫软件不存在老化问题,但存在退化问题,必须要修改和维护对计算机系统有着依赖性——软件移植的问题软件复杂性高,开发和维护成本高软件开发涉及诸多社会因素1153.1.1软件定义与软件特点(续)2.软件的特点41151163.1.1软件定义与软件特点(续)3.软件的分类应用软件系统软件操作系统数据库管理系统设备驱动程序……支撑软件53.1.1软件定义与软件特点(续)3.软件的分类1161173.1.2软件危机与软件工程1.软件危机软件工程源自于软件危机主要表现:软件需求的增长得不到满足软件开发成本和进度无法控制软件质量难以保证软件不可维护或维护程度非常低软件成本不断提高软件开发生产效率的提高赶不上硬件的发展和应用需求的增长归结为成本、质量和生产率等问题63.1.2软件危机与软件工程1.软件危机1171183.1.2软件危机与软件工程2.软件工程的产生与定义软件工程学——工程学的新兴领域定义:国标(GB):应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。主要思想:在软件开发过程中需要应用工程化原则的重要性73.1.2软件危机与软件工程2.软件工程的产生与定义1181193.1.2软件危机与软件工程2.软件工程的产生与定义软件工程3个要素:方法:完成工程项目的技术手段工具:支持软件开发、管理、文档生成过程:对开发的各个环节进行控制、管理83.1.2软件危机与软件工程2.软件工程的产生与定义1191203.1.3软件工程过程与软件生命周期1.软件工程过程P(Plan)——软件规格说明D(Do)——软件开发C(Check)——软件确认A(Action)——软件演进93.1.3软件工程过程与软件生命周期1.软件工程过程1201213.1.3软件工程过程与软件生命周期软件产品从提出、实现、使用维护、停止使用到退役的过程3个阶段6个阶段工作可行性报告软件规格说明书测试分析报告103.1.3软件工程过程与软件生命周期软件产品从提出、实1211223.1.3软件工程过程与软件生命周期定义阶段制定计划:”能做吗?“需求分析:“做什么?”开发阶段:软件设计:“如何做?”,分为概要设计和详细设计两个阶段。软件实现:“实现”,编码。软件测试:”做的怎么样?“运行维护阶段使用,不断维护113.1.3软件工程过程与软件生命周期定义阶段1221233.1.4软件工程的目标与原则1.软件工程的目标成功的项目:成本功能移植维护费用按时及时交付目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品123.1.4软件工程的目标与原则1.软件工程的目标1231243.1.4软件工程的目标与原则2.软件工程学的范畴133.1.4软件工程的目标与原则2.软件工程学的范畴1241253.1.4软件工程的目标与原则抽象抽取事物最基本的特性和行为,忽略非本质细节信息隐蔽采用封装技术,将程序模块的实现细节隐藏起来模块化解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块局部化确定性一致性完备性可验证性143.1.4软件工程的目标与原则抽象1251263.1.5软件开发工具与软件开发环境1.软件开发工具协助开发人员进行软件开发活动所使用的软件或环境需求分析工具、设计工具、编码工具、排错工具、测试工具等。2.软件开发环境全面支持软件开发全过程的软件工具的集合计算机辅助软件工程:CASE153.1.5软件开发工具与软件开发环境1.软件开发工具1263.2结构化分析方法3.2结构化分析方法1283.2.1需求分析与需求分析方法1.需求分析定义:任务:导出目标系统的逻辑模型,解决“做什么”的问题全面理解用户的各项要求准确地表达各项要求主要工作:需求获取需求分析编写需求规格说明书需求审评:验证需求文档的一致性、可行性、完整性和有效性173.2.1需求分析与需求分析方法1.需求分析1281293.2.1需求分析与需求分析方法2.需求分析方法结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)面向对象分析方法(OOA)静态分析方法动态分析方法183.2.1需求分析与需求分析方法2.需求分析方法1291303.2.2结构化分析方法1.关于结构化分析方法结构化程序设计理论在需求分析阶段的运用面向数据流进行需求分析的方法自顶向下、逐层分解主要工具:数据流图(DFD)、数据字典(DD)、结构化英语、判定树、判定表193.2.2结构化分析方法1.关于结构化分析方法1301313.2.2结构化分析方法2.结构化分析的常用工具数据流图(DFD)数据字典结构化分析方法的核心对数据流图中出现的被命名的图形元素的确切解释判定树判定表203.2.2结构化分析方法2.结构化分析的常用工具1311323.2.2结构化分析方法数据流图:基本图形元素

213.2.2结构化分析方法数据流图:基本图形元素1321333.2.2结构化分析方法数据流图223.2.2结构化分析方法数据流图1331343.2.3软件需求规格说明书需求分析阶段的最后成果作用:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。主要内容概述、数据描述、功能描述、性能描述、参考文献、附录特点:①正确性;②无歧义性;③完整性;④可验证性;⑤一致性;⑥可理解性;⑦可修改性;⑧可追踪性。233.2.3软件需求规格说明书需求分析阶段的最后成果1343.3结构化设计方法3.3结构化设计方法1363.3.1软件设计的基本概念1.软件设计的基础开发阶段:设计、实现(编码)和测试需求分析:主要解决“做什么”问题软件设计:主要解决“怎么做”问题253.3.1软件设计的基本概念1.软件设计的基础1361373.3.1软件设计的基本概念从技术观点来看,软件工程包括:结构设计、数据设计、接口设计、过程设计从工程管理角度来看,软件工程分两步完成:概要设计和详细设计263.3.1软件设计的基本概念从技术观点来看,软件工程包1371383.3.1软件设计的基本概念2.软件设计的基本原理抽象一种思维工具抽出事物本质的共同特点,不考虑细节模块化模块模块化信息隐蔽每个模块的实现细节对于其它模块来说是隐蔽的模块独立性每个模块只涉及软件要求的具体的子功能和软件系统中其它的模块的接口是简单的衡量指标:耦合性、内聚性273.3.1软件设计的基本概念2.软件设计的基本原理1381393.3.1软件设计的基本概念内聚性模块内部各个元素之间彼此结合的紧密程度的度量一个模块只做一件事7种类型283.3.1软件设计的基本概念内聚性1391403.3.1软件设计的基本概念耦合性模块间互相连接的紧密程序的度量取决于接口的复杂程度、调用方式、哪些信息通过接口模块连接方式有7种,构成耦合性的7种类型一般较优秀的软件设计,应尽量做到高内聚,低耦合293.3.1软件设计的基本概念耦合性1401413.3.2概要设计1.概要设计的基本任务系统结构设计主要任务:划分为模块数据结构和数据库的设计实现需求定义和规格说明过程中提出的数据对象的逻辑表示编写概要设计文档概要设计说明书、数据库设计说明书、用户手册和集成测试计划。概要设计的评审对概要设计文档中给出的设计方案可行性、正确性、有效性、一致性等进行审核303.3.2概要设计1.概要设计的基本任务1411423.3.2概要设计(续)2.软件结构图结构图(SC)用来表示软件结构基本图符313.3.2概要设计(续)2.软件结构图1421433.3.2概要设计(续)两个附加符号

323.3.2概要设计(续)两个附加符号1431443.3.2概要设计(续)系统结构图(SC)中的模块原子模块4种类型的模块333.3.2概要设计(续)系统结构图(SC)中的模块1441453.3.2概要设计(续)结构图的形态特征深度、宽度、扇出、扇入343.3.2概要设计(续)结构图的形态特征1451463.3.2概要设计(续)3.面向数据流的设计方法数据流图(DFD):需求分析工具系统结构图(SC):概要设计工作主要任务:数据流图变换成结构图数据流的类型变换流事务流

353.3.2概要设计(续)3.面向数据流的设计方法1461473.3.2概要设计(续)变换流数据流图:取得数据、变换数据、给出数据363.3.2概要设计(续)变换流1471483.3.2概要设计(续)变换流系统的结构图:输入、中心变换、输出373.3.2概要设计(续)变换流1481493.3.2概要设计(续)事务流数据流图

383.3.2概要设计(续)事务流1491503.3.2概要设计(续)事务流系统的结构图:393.3.2概要设计(续)事务流1501513.3.2概要设计(续)实施要点与设计过程分析、确认数据流图的类型,区分是事务型还是变换型说明数据流的边界数据流图映射为程序结构根据设计准则把数据流转换成程序结构图

403.3.2概要设计(续)实施要点与设计过程1511523.3.2概要设计(续)变换分析确定数据流图是否具有变换特性确定输入流和输出流的边界,划分出输入、变换和输出,独立出变换中心第一级分解按上述步骤如出现事务流的映射方式对各个子流进行逐级分解,直至分解到基本功能;对每个模块写一个简要的说明利用软件的设计原则对软件结构透一步转化事务分析与变换分析类似主要差别:映射方法不同

413.3.2概要设计(续)变换分析1521533.3.2概要设计(续)4.设计准则提高模块独立性深度、宽度、扇度和扇出适度使模块的作用域在该模块的控制域内应减少模块的接口和界面的复杂性设计成单入口、单出口的模块设计功能可预测的模块

423.3.2概要设计(续)4.设计准则1531543.3.3详细设计详细设计的任务:确定实现算法和局部数据结构不同于编码或编程常用过程设计工具:图形工具:程序流程图、N-S、PAD和HIPO表格工具:判定表;语言工具:PDL(伪码)433.3.3详细设计详细设计的任务:1541553.3.3详细设计(续)程序流程图图形元素:方框:处理步骤菱形:逻辑条件箭头:控制流5种控制结构顺序型选择型先判断重复型后判断重复型多分支选择型。443.3.3详细设计(续)程序流程图1551563.3.3详细设计(续)程序流程图

453.3.3详细设计(续)程序流程图1561573.3.3详细设计(续)N-S图流程图:随意性与灵活性N-S图:限制了随意的控制转移,保证了程序的良好结构5种基本控制结构:463.3.3详细设计(续)N-S图1571583.3.3详细设计(续)N-S图473.3.3详细设计(续)N-S图1581593.3.3详细设计(续)N-S图特点:每个构件具有明确的功能域控制转移必须遵守结构化设计要求;易于确定局部数据和(或)全局数据的作用域易于表达嵌套关系和模块的层次结构483.3.3详细设计(续)N-S图1591603.3.3详细设计(续)PAD图PAD——问题分析图,ProblemAnalysisDiagram表现程序逻辑结构的图形工具5种基本控制结构493.3.3详细设计(续)PAD图1601613.3.3详细设计(续)PAD图503.3.3详细设计(续)PAD图1611623.3.3详细设计(续)PAD图特征结构清晰,结构化程度高易于阅读程序的纵线数等于程序的层次数程序执行从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线513.3.3详细设计(续)PAD图1621633.3.3详细设计(续)PDL(伪码)PDL——过程设计语言,ProgramDesignLanguage混合语言,类似编程语言常用词汇:顺序:条件:IF/THEN/ELSE/ETIDIF循环:DOWHILE/ENDDO循环:REPEATUNTIL/ENDREPEAT分支:CASEOF/WHEN/SELECT/WHEN/SELECT/ENDCASEPDL特征:有为结构化构成元素、数据说明和模块化特征提供的关键词语法;处理部分的描述采用自然语言语法可以说明简单和复杂的数据结构支持各种接口描述的子程序定义和调用技术。523.3.3详细设计(续)PDL(伪码)1633.4软件测试3.4软件测试1653.4.1软件测试的目的检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别GrenfordJ.Myers观点:测试是程序的执行过程,目的在于发现错误一个好的测试用例在于能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试543.4.1软件测试的目的检验它是否满足规定的需求或是弄1651663.4.2软件测试的准则所有测试都应追溯到需求严格执行测试计划,排除测试的随意性充分注意测试中的群集现象程序员应避免检查自己的程序穷举测试不可能妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便553.4.2软件测试的准则所有测试都应追溯到需求1661673.4.3软件测试技术与方法综述1.静态测试与动态测试静态测试人工评审软件文档或程序,借以发现其中的错误主要方法:代码检查、静态结构分析、代码质量度量动态测试上机测试关键:设计高效、合理的测试用例分两类:白盒测试方法和黑盒测试方法563.4.3软件测试技术与方法综述1.静态测试与动态测试1671683.4.3软件测试技术与方法综述(续)2.白盒测试方法与测试用例设计也称结构测试或逻辑驱动测试测试用例是根据程序的内部逻辑来设计主要用于单元测试基本原则保证所测模块中每一个独立路径至少执行一次保证所测模块所有判断的每一个分支至少执行一次保证所测模块每一个循环都在边界条件和一般条件至少执行一次验证所有内部数据结构的有效性主要方法:逻辑覆盖、基本路径测试573.4.3软件测试技术与方法综述(续)2.白盒测试方法1681693.4.3软件测试技术与方法综述(续)逻辑覆盖测试程序中的逻辑:判断、分支、条件可分为:语句覆盖:每一个语句都能执行一次路径覆盖:所有的可能路径都至少经历一次判定覆盖:每个判定至少都获得一次“真值”和“假值”的机会条件覆盖:每个判定中每个条件都获得一次“真”和“假”的机会判断-条件覆盖:判定中的每个条件都能取得各种可能的“真”和“假”值,并且使每个判定都能取到“真”和“假”两种结果强度顺序语句覆盖<路径覆盖<判定覆盖<条件覆盖<判定-条件覆盖583.4.3软件测试技术与方法综述(续)逻辑覆盖测试1691703.4.3软件测试技术与方法综述(续)基本路径测试把覆盖的路径数压缩到一定限度内思想和步骤:根据软件过程性描述中的控制流程确定程序的环路复杂性度量,用此度量定义基本路径集合,并由此导出一组测试用例对每一条独立执行路径进行测试593.4.3软件测试技术与方法综述(续)基本路径测试1701713.4.3软件测试技术与方法综述(续)3.黑盒测试方法与测试用例设计也称功能测试或数据驱动测试对软件已经实现的功能是否满足需求进行测试和验证根据程序的功能说明来设计测试用例主要用于确认测试主要方法等价类划分法边界值分析法错误推测法603.4.3软件测试技术与方法综述(续)3.黑盒测试方法1711723.4.3软件测试技术与方法综述(续)等价类划分法有效等价类无效等价类边界值分析法大量的错误是发生在输入或输出范围的边界上错误推测法根据经验或直觉推测程序易出错的地方613.4.3软件测试技术与方法综述(续)等价类划分法1721733.4.4软件测试的实施软件测试步骤:单元测试、集成测试、确认测试、系统测试623.4.4软件测试的实施软件测试步骤:1731743.4.4软件测试的实施(续)1.单元测试对象:针对程序模块,进行正确性检验的测试目的:发现各模块内部可能存在的各种差错依据:从程序的内部结构出发设计测试用例,其依据是详细的设计说明书和源程序方法:以白盒测试为主,辅以黑盒测试633.4.4软件测试的实施(续)1.单元测试1741753.4.4软件测试的实施(续)1.单元测试内容:模块接口测试局部数据结构测试路径测试错误处理测试边界测试步骤:在编码阶段进行源程序代码编制完成,经过评审和验证,确认没有语法错误之后利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例对于每一组输入,应有预期的正确结果643.4.4软件测试的实施(续)1.单元测试1751763.4.4软件测试的实施(续)1.单元测试驱动模块、桩模块653.4.4软件测试的实施(续)1.单元测试1761773.4.4软件测试的实施(续)2.集成测试任务:把模块在按照设计要求组装起来的同时进行测试目的:发现与接口有关的错误依据:集成测试的依据是概要设计说明书内容:软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试方式:非增量方式组装与增量方式组装。663.4.4软件测试的实施(续)2.集成测试1771783.4.4软件测试的实施(续)2.集成测试非增量方式组装也称为一次性组装方式增量方式组装也称渐增式集成方式3种方式:自顶向下自底向上自顶向与自底向上相结合673.4.4软件测试的实施(续)2.集成测试1781793.4.4软件测试的实施(续)自顶向下683.4.4软件测试的实施(续)自顶向下1791803.4.4软件测试的实施(续)自底向上693.4.4软件测试的实施(续)自底向上1801813.4.4软件测试的实施(续)3.确认测试又称有效性测试目的:验证软件的功能和性能及其它特性是否与用户的要求一致依据:软件需求规格说明书方法:黑盒测试法4.系统测试任务:在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试目的:在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方依据:需求分析规格说明来设计内容:功能测试、性能测试、操作测试、配置测试、外部接口测试、安全性测试703.4.4软件测试的实施(续)3.确认测试1813.5程序的调试3.5程序的调试1833.5.1基本概念任务:诊断和改正程序中的错误时机:调试主要在开发阶段进行723.5.1基本概念任务:诊断和改正程序中的错误1831843.5.1基本概念(续)1.基本步骤错误定位、纠正错误、回归测试733.5.1基本概念(续)1.基本步骤1841853.5.1基本概念(续)2.程序调试原则确定错误的性质和位置的原则用头脑去分析思考与错误征兆有关的信息避开死胡同。只把调试工具当作辅助手段来使用避免用试探法,最多只能把它当作最后手段修改错误的原则在出现错误的地方,很可能还有别的错误只修改了这个错误的征兆或这个错误的表现,而没有修改错误的本身。当心修正一个错误的同时有可能会引入新的错误修改错误的过程将迫使人们暂时回到程序设计阶段修改源代码程序,不要改变目标代码743.5.1基本概念(续)2.程序调试原则1851863.5.2软件调试方法1.强行排错法通过内存全部打印来排错(MemoryDump)在程序特定部位设置打印语句自动调试工具2.回溯法3.原因排除法演绎法归纳法二分法753.5.2软件调试方法1.强行排错法186典型考题分析典型考题分析188【例3-1】下列描述中正确的是______。(2005年4月)A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据与相关文档的集合77【例3-1】下列描述中正确的是______。(2005年188189【例3-2】下列描述中正确的是______。(2005年9月)A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题78【例3-2】下列描述中正确的是______。(2005年189190【例3-3】下面不属于软件工程的3个要素的是______。A)工具 B)过程C)方法 D)环境79【例3-3】下面不属于软件工程的3个要素的是______190191【例3-4】下列叙述中正确的是______。(2005年9月)A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令80【例3-4】下列叙述中正确的是______。(2005年191192【例3-5】下列选项中不属于软件生命周期开发阶段任务的是______。(2006年9月)A)软件测试 B)概要设计C)软件维护 D)详细设计81【例3-5】下列选项中不属于软件生命周期开发阶段任务的是192193【例3-6】软件工程学一般包括软件开发技术和软件工程管理两方面的内容。软件工程经济学是软件工程管理的技术内容之一,它专门研究______。A)软件开发的方法学B)软件开发技术和工具C)软件成本效益分析D)计划、进度和预算82【例3-6】软件工程学一般包括软件开发技术和软件工程管理193194【例3-7】下面不属于软件工程原则的是______。A)抽象 B)模块化C)自底向上 D)信息隐蔽83【例3-7】下面不属于软件工程原则的是______。194195【例3-8】计算机辅助软件工程,简称为______。A)SA B)SD C)SC D)CASE84【例3-8】计算机辅助软件工程,简称为______。195196【例3-9】需求分析阶段的任务是确定______。A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能85【例3-9】需求分析阶段的任务是确定______。196197【例3-10】软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及______。A)阶段性报告B)需求评审C)总结D)都不正确86【例3-10】软件需求分析阶段的工作,可以分为四个方面:197198【例3-11】结构化分析方法是面向______的自顶向下逐步求精进行需求分析的方法。A)对象B)数据结构C)数据流D)目标87【例3-11】结构化分析方法是面向______的自顶向下198199【例3-12】下列工具中为需求分析常用工具的是______。A)PADB)PFDC)N-SD)DFD88【例3-12】下列工具中为需求分析常用工具的是_____199200【例3-13】数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符号不属于数据流图的是______。A)控制流B)加工C)数据存储D)源和潭89【例3-13】数据流图用于抽象描述一个软件的逻辑模型,数200201【例3-14】下列叙述中,不属

温馨提示

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

最新文档

评论

0/150

提交评论