计算机二级access笔试之软件工程基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机二级access笔试之软件工程基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 access 笔试 软件工程 基础 课件
- 资源描述:
-
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妥善
展开阅读全文