您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机二级VF培训中心课件:第三章
第三章软件工程基础第三章软件工程基础3.1软件工程基本概念1、软件定义软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档。2、软件分类软件可分应用软件、系统软件和支撑软件(或工具软件)系统软件如,操作系统、数据库管理系统等。3、软件的作用软件是用户与硬件之间的接口,是计算机系统的指挥者,是计算机系统结构设计的重要依据。4、软件危机软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。5、软件工程软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。它包括三要素:方法、工具和过程第三章软件工程基础6、软件工程过程软件工程过程包含4种基本活动:软件规格说明软件开发软件确认软件演进7、软件的生命周期将软件产品从提出、实现、使用维护到停止退役的过程。包括可行性研究与计划、需求分析、概要设计、详细设计、实现、测试、适用与维护。第三章软件工程基础8、软件工程的内容与原则内容:包括软件开发技术和软件工程管理。原则:包括抽象、信息隐蔽(将程序模块的实现细节隐藏起来,使模块接口尽量简单)、模块化、局部化、确定性、一致性、完备性和可验证性。9、软件开发工具与软件开发环境软件开发工具:是协助开发人员进行开发活动所使用的软件或环境,包括需求分析工具、设计工具、编码工具、排错工具、测试工具等。软件开发环境:是指支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。第三章软件工程基础结构化方法包括结构化分析方法、结构化设计方法和结构化编程方法3.2结构化分析方法1、可行性研究目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。2、需求分析是发现、求精、建模、规格说明和复审的过程。第三章软件工程基础1)需求分析方法结构化分析方法:包括:面向数据流的结构化分析方法(SA)、面向数据结构的Jackson方法(JSD)、面向数据结构的结构化数据系统开发方法(DSSD)面向对象的分析方法(OOA)2)结构化分析方法对于面向数据流的结构化分析方法,常使用数据流图DFD、数据字典DD、判断表和判断树第三章软件工程基础数据流图的符号加工(转换)数据流存储文件(数据源)源、潭(属系统之外的实体)建立数据流的步骤1由外向内2自顶向下3逐层分解第三章软件工程基础数据流图(DFDDataFlowDiagram)3.3结构化设计方法1.软件设计的分类从技术观点上结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义接口设计:是描述软件内部、软件和协作系统之间以及软件与人间如何通信过程设计:是把系统结构部件转换为软件的过程性描述。从工程管理角度看概要设计详细设计第三章软件工程基础2.软件设计的原理1)抽象2)模块化3)信息隐蔽:在一个模块内包含的信息,对于不需要这些信息的其他模块来说是不能访问的。4)模块独立性衡量软件的模块独立性使用耦合性和内聚性耦合性用来度量模块之间的相互联系程度。内聚性用来度量一个模块内部功能强度的指标。内聚度由弱到强分别为偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。第三章软件工程基础优秀的软件设计,应尽量做到高内聚,低耦合,有利于提高模块的独立性。3、概要设计的任务(1)设计软件系统结构(2)数据结构和数据库设计(3)编写概要设计文档(4)概要设计文档评审常用的软件工具是结构图4、面向数据流的方法(1)数据流类型:事务性和变换型第三章软件工程基础凭证处理财务账务系统记账财务报表录入修改审核损益表负债表总帐宽度深度财务管理结构图第三章软件工程基础5、详细设计常用工具有:程序流程图、N-S、PAD(问题分析图)、HIPO、判定表、PDL(伪码)程序流程图三种基本的(a)顺序结构,先执行A再执行B(b)IF-THEN-ELSE型选择(分支)(c)先判断循环结构第三章软件工程基础其他常用的控制结构(a)后判断循环结构;(b)多分支结构第三章软件工程基础N-S图(a)顺序;(b)IF-THEN-ELSE型分支;(c)CASE型多分支;(d)循环;(e)调用子程序A3.4软件测试基础1好的测试方案是极可能发现迄今为止尚未发现的错成功的测试是发现了至今为止尚未发现的错误的测测试目的:尽可能多地发现软件中的错误第三章软件工程基础2、软件测试技术与方法软件测试包括静态测试和动态测试1)静态测试:一般指人工评审软件文档或程序,借以发现其中的错误。包括代码检查、静态结构分析、代码质量度量。2)动态测试:指通常的上机测试,在运行中发现错误。包括黑盒测试和白盒测试。黑盒测试:不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。包括等价类划分法、边界值分析法和错误推测法白盒测试:它与程序内部结构相关。包括逻辑覆盖(包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖)和基本路径测试第三章软件工程基础3、软件测试的实施软件测试过程分为:单元测试、集成测试、验收测试和系统测试1)单元测试是对软件设计的最小单元——模块进行正确性检验测试。2)集成测试是测试和组装软件的过程。3)确认测试验证软件的功能和性能及其他特征是否满足了需求规格说明中确定的各种需求,以及软件配置是否完全、正确。4)系统测试通过测试确认的软件作为整个计算机系统的一个元素,检验软件是否能与系统正确连接。第三章软件工程基础3.4程序的调试1.软件调试的概念程序调试的任务是诊断和改正程序中的错误。2.程序调试的基本步骤错误定位修改设计和代码进行回归测试3、程序调试的方法强行排错法回溯法原因排除法第三章软件工程基础历年考题05年4月1、下列对于软件的描述中正确的是A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确C)软件测试的目的是尽可能多地发现程序中的错误D)软件测试的目的是使程序符合结构化原则第三章软件工程基础C05年4月2、为了使模块尽可能独立,要求A)模块的内聚程序要尽量高,且各模块间的耦合程序要尽量强B)模块的内聚程序要尽量高,且各模块间的耦合程序要尽量弱C)模块的内聚程序要尽量低,且各模块间的耦合程序要尽量弱D)模块的内聚程序要尽量低,且各模块间的耦合程序要尽量强第三章软件工程基础B05年4月3、下列描述中正确的是A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合4、诊断和改正程序中错误的工作通常称为_____________。第三章软件工程基础D程序调试05年9月1、下列叙述中正确的是A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试第三章软件工程基础C05年9月2、下列描述中正确的是A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题第三章软件工程基础C05年9月3、下列不属于软件过程设计工具的是A)PDL(过程设计语言)B)PAD图C)N-S图D)DFD图第三章软件工程基础D05年9月4、下列叙述中正确的是A)软件交付使用后还需要进行维护B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令A第三章软件工程基础06年4月2、两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度D)数据传输特性A第三章软件工程基础06年4月3、下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对4、程序测试分为静态分析和动态测试。其中__________是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。D静态分析第三章软件工程基础结束!
本文标题:计算机二级VF培训中心课件:第三章
链接地址:https://www.777doc.com/doc-3601835 .html