高中信息技术第3章软件工程基础课件沪教版选修1

上传人:宝路 文档编号:3715796 上传时间:2017-08-05 格式:PPT 页数:115 大小:594.95KB
返回 下载 相关 举报
高中信息技术第3章软件工程基础课件沪教版选修1_第1页
第1页 / 共115页
高中信息技术第3章软件工程基础课件沪教版选修1_第2页
第2页 / 共115页
高中信息技术第3章软件工程基础课件沪教版选修1_第3页
第3页 / 共115页
高中信息技术第3章软件工程基础课件沪教版选修1_第4页
第4页 / 共115页
高中信息技术第3章软件工程基础课件沪教版选修1_第5页
第5页 / 共115页
点击查看更多>>
资源描述

《高中信息技术第3章软件工程基础课件沪教版选修1》由会员分享,可在线阅读,更多相关《高中信息技术第3章软件工程基础课件沪教版选修1(115页珍藏版)》请在金锄头文库上搜索。

1、1,第3章 软件工程基础,2,内容提要,软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。结构化分析方法,数据流图,数据字典,软件需求规格说明书。结构化设计方法,总体设计与详细设计。软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。程序的调试,3,3.1 软件工程基本概念,4,3.1.1 软件定义与软件特点,1软件的定义和组成定义:计算机软件(Software)是计算机系统中与硬件相互依赖的另一部分。组成:程序数据文档国标(GB)定义与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。,5,3.1.1 软件定义与

2、软件特点(续),2软件的特点软件是一种逻辑实体,而不是具体的物理实体,具有抽象性软件没有明显的制造过程。对软件的质量控制,必须在软件开发方面下功夫软件不存在老化问题,但存在退化问题,必须要修改和维护对计算机系统有着依赖性软件移植的问题软件复杂性高,开发和维护成本高软件开发涉及诸多社会因素,6,3.1.1 软件定义与软件特点(续),3软件的分类应用软件系统软件操作系统数据库管理系统设备驱动程序支撑软件,7,3.1.2 软件危机与软件工程,1软件危机软件工程源自于软件危机主要表现:软件需求的增长得不到满足软件开发成本和进度无法控制软件质量难以保证软件不可维护或维护程度非常低软件成本不断提高软件开发

3、生产效率的提高赶不上硬件的发展和应用需求的增长归结为成本、质量和生产率等问题,8,3.1.2 软件危机与软件工程,2软件工程的产生与定义软件工程学工程学的新兴领域定义:国标(GB):应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。德国人Fritz Bauer:软件工程是建立并使用完善的工程化原则,以较经济的手段获取能在实际机器上有效运行的可靠软件的一系统方法。IEEE:将系统的、规范的、可度量的方法应用于软件开发、运行和维护的过程,即将工程应用于软件中。主要思想:在软件开发过程中需要应用工程化原则的重要性,9,3.1.2 软件危机与软件工程,2软件工程的产生与定义软

4、件工程3个要素:方法工具过程,10,3.1.3 软件工程过程与软件生命周期,1软件工程过程P(Plan)软件规格说明D(Do)软件开发C(Check)软件确认A(Action)软件演进,11,3.1.3 软件工程过程与软件生命周期,软件产品从提出、实现、使用维护、停止使用到退役的过程3个阶段6个阶段工作,12,3.1.3 软件工程过程与软件生命周期,定义阶段制定计划:”能做吗?“需求分析:“做什么?”开发阶段:软件设计:“如何做?”,分为概要设计和详细设计两个阶段。软件实现:“实现”,编码。软件测试:”做的怎么样?“运行维护阶段使用,不断维护,13,3.1.4 软件工程的目标与原则,1软件工程

5、的目标成功的项目:成本功能移植维护费用按时及时交付目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品,14,3.1.4 软件工程的目标与原则,2软件工程学的范畴,15,3.1.4 软件工程的目标与原则,3软件工程的原则抽象信息隐蔽模块化局部化,确定性一致性完备性可验证性,16,3.1.5 软件开发工具与软件开发环境,1软件开发工具协助开发人员进行软件开发活动所使用的软件或环境 需求分析工具、设计工具、编码工具、排错工具、测试工具等。2软件开发环境 全面支持软件开发全过程的软件工具的集合计算机辅助软

6、件工程:CASE,17,3.2 结构化分析方法,18,3.2.1 需求分析与需求分析方法,1需求分析定义:任务:导出目标系统的逻辑模型,解决“做什么”的问题全面理解用户的各项要求准确地表达各项要求主要工作:需求获取需求分析编写需求规格说明书需求审评,19,3.2.1 需求分析与需求分析方法,2需求分析方法结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)面向对象分析方法(OOA)静态分析方法动态分析方法,20,3.2.2 结构化分析方法,1关于结构化分析方法结构化程序设计理论在需求分析阶段的运用面向数据流进

7、行需求分析的方法自顶向下、逐层分解主要工具:数据流图、数据字典,21,3.2.2 结构化分析方法,2结构化分析的常用工具数据流图(DFD) 数据字典判定树 判定表,22,3.2.2 结构化分析方法,数据流图,23,3.2.2 结构化分析方法,数据流图:基本图形元素,24,3.2.2 结构化分析方法,数据流图:分层数据流图,25,3.2.2 结构化分析方法,2结构化分析的常用工具数据字典结构化分析方法的核心对数据流图中出现的被命名的图形元素的确切解释判定树判定树判定表,26,3.2.3 软件需求规格说明书,需求分析阶段的最后成果作用:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作

8、为软件开发工作的基础和依据;作为确认测试和验收的依据。主要内容概述、数据描述、功能描述、性能描述、参考文献、附录 特点:正确性;无歧义性;完整性;可验证性;一致性;可理解性;可修改性;可追踪性。,27,3.3 结构化设计方法,28,3.3.1 软件设计的基本概念,1软件设计的基础开发阶段:设计、实现(编码)和测试需求分析:主要解决“做什么”问题软件设计:主要解决“怎么做”问题,29,3.3.1 软件设计的基本概念,1软件设计的基础重要性:主要内容:结构设计、数据设计、接口设计、过程设计步骤:概要设计和详细设计,30,3.3.1 软件设计的基本概念,2软件设计的基本原理 抽象一种思维工具抽出事物

9、本质的共同特点,不考虑细节模块化模块模块化信息隐蔽每个模块的实现细节对于其它模块来说是隐蔽的模块独立性每个模块只涉及软件要求的具体的子功能和软件系统中其它的模块的接口是简单的衡量指标:耦合性、内聚性,31,3.3.1 软件设计的基本概念,内聚性度量一个模块功能强度的一个相对指标。一个模块只做一件事7种类型,32,3.3.1 软件设计的基本概念,耦合性度量模块之间的相互联系程度取决于接口的复杂程度、调用方式、哪些信息通过接口模块连接方式有7种,构成耦合性的7种类型,33,3.3.2 概要设计,1概要设计的基本任务系统结构设计主要任务:划分为模块数据结构和数据库的设计实现需求定义和规格说明过程中提

10、出的数据对象的逻辑表示编写概要设计文档概要设计说明书、数据库设计说明书、用户手册和集成测试计划。概要设计的评审对概要设计文档中给出的设计方案可行性、正确性、有效性、一致性等进行审核,34,3.3.2 概要设计(续),2软件结构图用来表示软件结构基本图符,35,3.3.2 概要设计(续),两个附加符号,36,3.3.2 概要设计(续),系统结构图(SC)中的模块 原子模块 4种类型的模块,37,3.3.2 概要设计(续),结构图的形态特征 深度、宽度、扇出、扇入,38,3.3.2 概要设计(续),3面向数据流的设计方法数据流图(DFD):需求分析工具系统结构图(SC):概要设计工作主要任务:数据

11、流图变换成结构图数据流的类型变换流事务流,39,3.3.2 概要设计(续),变换流数据流图:取得数据、变换数据、给出数据,40,3.3.2 概要设计(续),变换流系统的结构图:输入、中心变换、输出,41,3.3.2 概要设计(续),事务流数据流图,42,3.3.2 概要设计(续),事务流系统的结构图:,43,3.3.2 概要设计(续),实施要点与设计过程分析、确认数据流图的类型,区分是事务型还是变换型说明数据流的边界数据流图映射为程序结构根据设计准则把数据流转换成程序结构图,44,3.3.2 概要设计(续),变换分析确定数据流图是否具有变换特性确定输入流和输出流的边界,划分出输入、变换和输出,

12、独立出变换中心第一级分解按上述步骤如出现事务流的映射方式对各个子流进行逐级分解,直至分解到基本功能;对每个模块写一个简要的说明利用软件的设计原则对软件结构透一步转化事务分析与变换分析类似主要差别:映射方法不同,45,3.3.2 概要设计(续),4.设计准则提高模块独立性深度、宽度、扇度和扇出适度使模块的作用域在该模块的控制域内应减少模块的接口和界面的复杂性设计成单入口、单出口的模块设计功能可预测的模块,46,3.3.3 详细设计,详细设计的任务:确定实现算法和局部数据结构不同于编码或编程详细设计的常用工具:图形工具:程序流程图、N-S、PAD和HIPO表格工具:判定表;语言工具:PDL(伪码)

13、,47,3.3.3 详细设计(续),程序流程图图形元素:方框:处理步骤菱形:逻辑条件箭头:控制流5种控制结构顺序型选择型先判断重复型后判断重复型多分支选择型。,48,3.3.3 详细设计(续),程序流程图,49,3.3.3 详细设计(续),N-S图流程图:随意性与灵活性N-S图:限制了随意的控制转移,保证了程序的良好结构5种基本控制结构:,50,3.3.3 详细设计(续),N-S图,51,3.3.3 详细设计(续),N-S图特点:每个构件具有明确的功能域控制转移必须遵守结构化设计要求;易于确定局部数据和(或)全局数据的作用域易于表达嵌套关系和模块的层次结构,52,3.3.3 详细设计(续),P

14、AD图PAD问题分析图,Problem Analysis Diagram表现程序逻辑结构的图形工具5种基本控制结构,53,3.3.3 详细设计(续),PAD图,54,3.3.3 详细设计(续),PAD图特征结构清晰,结构化程度高易于阅读程序的纵线数等于程序的层次数程序执行从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线,55,3.3.3 详细设计(续),PDL(伪码)PDL过程设计语言,Program Design Language混合语言,类似编程语言常用词汇:顺序:条件:IFTHENELSEETIDIF循环:DOWHILEENDDO循环:REPEAT UN

15、TILENDREPEAT分支:CASE OFWHENSELECTWHENSELECTENDCASEPDL特征:有为结构化构成元素、数据说明和模块化特征提供的关键词语法;处理部分的描述采用自然语言语法可以说明简单和复杂的数据结构支持各种接口描述的子程序定义和调用技术。,56,3.4 软件测试,57,3.4.1 软件测试的目的,检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别Grenford J.Myers观点:测试是程序的执行过程,目的在于发现错误一个好的测试用例在于能发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试,58,3.4.2 软件测试的准则,所有测试都应追溯到需求严格执行测试计划,排除测试的随意性充分注意测试中的群集现象程序员应避免检查自己的程序穷举测试不可能妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便,59,3.4.3 软件测试技术与方法综述,1静态测试与动态测试静态测试人工评审软件文档或程序,借以发现其中的错误主要方法:代码检查、静态结构分析、代码质量度量动态测试上机测试关键:设计高效、合理的测试用例分两类:白盒测试方法和黑盒测试方法,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号