二级公共基础知识教学课件.ppt
《二级公共基础知识教学课件.ppt》由会员分享,可在线阅读,更多相关《二级公共基础知识教学课件.ppt(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、二级公共基础知识教学课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望内容提要软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。结构化分析方法,数据流图,数据字典,软件需求规格说明书。结构化设计方法,总体设计与详细设计。软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。程序的调试3.1 软件工程基本概念3.1.1 软件定义与软件特点1软件的定义和组成软件的定义和组成定义:计算机软件(Software)是计算
2、机系统中与硬件相互依赖的另一部分。组成:程序数据文档国标(GB)定义与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。3.1.1 软件定义与软件特点(续)2软件的特点软件的特点软件是一种逻辑实体,而不是具体的物理实体,具有抽象性软件没有明显的制造过程。对软件的质量控制,必须在软件开发方面下功夫软件不存在老化问题,但存在退化问题,必须要修改和维护对计算机系统有着依赖性软件移植的问题软件复杂性高,开发和维护成本高软件开发涉及诸多社会因素3.1.1 软件定义与软件特点(续)3软件的分类软件的分类应用软件系统软件操作系统数据库管理系统设备驱动程序支撑软件3.1.2 软件危机
3、与软件工程1软件危机软件危机软件工程源自于软件危机主要表现:软件需求的增长得不到满足软件开发成本和进度无法控制软件质量难以保证软件不可维护或维护程度非常低软件成本不断提高软件开发生产效率的提高赶不上硬件的发展和应用需求的增长归结为成本、质量和生产率等问题3.1.2 软件危机与软件工程2软件工程的产生与定义软件工程的产生与定义软件工程学工程学的新兴领域定义:国标(GB):应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。德国人Fritz Bauer:软件工程是建立并使用完善的工程化原则,以较经济的手段获取能在实际机器上有效运行的可靠软件的一系统方法。IEEE:将系统的、
4、规范的、可度量的方法应用于软件开发、运行和维护的过程,即将工程应用于软件中。主要思想:在软件开发过程中需要应用工程化原则的重要性3.1.2 软件危机与软件工程2软件工程的产生与定义软件工程的产生与定义软件工程3个要素:方法工具过程3.1.3 软件工程过程与软件生命周期1软件工程过程软件工程过程P(Plan)软件规格说明D(Do)软件开发C(Check)软件确认A(Action)软件演进3.1.3 软件工程过程与软件生命周期软件产品从提出、实现、使用维护、停止使用到退役的过程3个阶段6个阶段工作3.1.3 软件工程过程与软件生命周期定义阶段制定计划:”能做吗?“需求分析:“做什么?”开发阶段:软
5、件设计:“如何做?”,分为概要设计和详细设计两个阶段。软件实现:“实现”,编码。软件测试:”做的怎么样?“运行维护阶段使用,不断维护3.1.4 软件工程的目标与原则1软件工程的目标软件工程的目标成功的项目:成本功能移植维护费用按时及时交付目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品3.1.4 软件工程的目标与原则2软件工程学的范畴软件工程学的范畴3.1.4 软件工程的目标与原则3软件工程的原则软件工程的原则抽象信息隐蔽模块化局部化确定性一致性完备性可验证性3.1.5 软件开发工具与软件开发环
6、境1软件开发工具软件开发工具协助开发人员进行软件开发活动所使用的软件或环境 需求分析工具、设计工具、编码工具、排错工具、测试工具等。2软件开发环境软件开发环境 全面支持软件开发全过程的软件工具的集合计算机辅助软件工程:CASE3.2 结构化分析方法3.2.1 需求分析与需求分析方法1需求分析需求分析定义:任务:导出目标系统的逻辑模型,解决“做什么”的问题全面理解用户的各项要求准确地表达各项要求主要工作:需求获取需求分析编写需求规格说明书需求审评3.2.1 需求分析与需求分析方法2需求分析方法需求分析方法结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面
7、向数据结构的结构化数据系统开发方法(DSSD)面向对象分析方法(OOA)静态分析方法动态分析方法3.2.2 结构化分析方法1关于结构化分析方法关于结构化分析方法结构化程序设计理论在需求分析阶段的运用面向数据流进行需求分析的方法自顶向下、逐层分解主要工具:数据流图、数据字典3.2.2 结构化分析方法2结构化分析的常用工具结构化分析的常用工具数据流图(数据流图(DFD)数据字典数据字典判定树判定树 判定表判定表3.2.2 结构化分析方法数据流图数据流图3.2.2 结构化分析方法数据流图:基本图形元素数据流图:基本图形元素 3.2.2 结构化分析方法数据流图:分层数据流图数据流图:分层数据流图 3.
8、2.2 结构化分析方法2结构化分析的常用工具结构化分析的常用工具数据字典数据字典结构化分析方法的核心结构化分析方法的核心对数据流图中出现的被命名的图形元素的确切解释对数据流图中出现的被命名的图形元素的确切解释判定树判定树判定树判定树判定表判定表3.2.3 软件需求规格说明书需求分析阶段的最后成果作用:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。主要内容概述、数据描述、功能描述、性能描述、参考文献、附录 特点:正确性;无歧义性;完整性;可验证性;一致性;可理解性;可修改性;可追踪性。3.3 结构化设计方法3.3.1 软件设计
9、的基本概念1软件设计的基础软件设计的基础开发阶段:设计、实现(编码)和测试需求分析:主要解决“做什么”问题软件设计:主要解决“怎么做”问题3.3.1 软件设计的基本概念1软件设计的基础软件设计的基础重要性:重要性:主要内容:主要内容:结构设计、数据设计、接口设计、过程设计结构设计、数据设计、接口设计、过程设计步骤:步骤:概要设计和详细设计概要设计和详细设计3.3.1 软件设计的基本概念2软件设计的基本原理软件设计的基本原理 抽象一种思维工具抽出事物本质的共同特点,不考虑细节模块化模块模块化信息隐蔽每个模块的实现细节对于其它模块来说是隐蔽的模块独立性每个模块只涉及软件要求的具体的子功能和软件系统
10、中其它的模块的接口是简单的衡量指标:耦合性、内聚性3.3.1 软件设计的基本概念内聚性度量一个模块功能强度的一个相对指标。一个模块只做一件事7种类型3.3.1 软件设计的基本概念耦合性度量模块之间的相互联系程度取决于接口的复杂程度、调用方式、哪些信息通过接口模块连接方式有7种,构成耦合性的7种类型3.3.2 概要设计1概要设计的基本任务概要设计的基本任务系统结构设计主要任务:划分为模块数据结构和数据库的设计实现需求定义和规格说明过程中提出的数据对象的逻辑表示编写概要设计文档概要设计说明书、数据库设计说明书、用户手册和集成测试计划。概要设计的评审对概要设计文档中给出的设计方案可行性、正确性、有效
11、性、一致性等进行审核3.3.2 概要设计(续)2软件结构图软件结构图用来表示软件结构用来表示软件结构基本图符基本图符3.3.2 概要设计(续)两个附加符号两个附加符号 3.3.2 概要设计(续)系统结构图(SC)中的模块 原子模块 4种类型的模块 3.3.2 概要设计(续)结构图的形态特征 深度、宽度、扇出、扇入 3.3.2 概要设计(续)3面向数据流的设计方法面向数据流的设计方法数据流图(DFD):需求分析工具系统结构图(SC):概要设计工作主要任务:数据流图变换成结构图数据流的类型变换流事务流 3.3.2 概要设计(续)变换流数据流图:取得数据、变换数据、给出数据3.3.2 概要设计(续)
12、变换流系统的结构图:输入、中心变换、输出3.3.2 概要设计(续)事务流数据流图 3.3.2 概要设计(续)事务流系统的结构图:3.3.2 概要设计(续)实施要点与设计过程分析、确认数据流图的类型,区分是事务型还是变换型说明数据流的边界数据流图映射为程序结构根据设计准则把数据流转换成程序结构图 3.3.2 概要设计(续)变换分析确定数据流图是否具有变换特性确定输入流和输出流的边界,划分出输入、变换和输出,独立出变换中心第一级分解按上述步骤如出现事务流的映射方式对各个子流进行逐级分解,直至分解到基本功能;对每个模块写一个简要的说明利用软件的设计原则对软件结构透一步转化事务分析与变换分析类似主要差
13、别:映射方法不同 3.3.2 概要设计(续)4.设计准则提高模块独立性深度、宽度、扇度和扇出适度使模块的作用域在该模块的控制域内应减少模块的接口和界面的复杂性设计成单入口、单出口的模块设计功能可预测的模块 3.3.3 详细设计详细设计的任务:确定实现算法和局部数据结构不同于编码或编程详细设计的常用工具:图形工具:程序流程图、N-S、PAD和HIPO表格工具:判定表;语言工具:PDL(伪码)3.3.3 详细设计(续)程序流程图图形元素:方框:处理步骤菱形:逻辑条件箭头:控制流5种控制结构顺序型选择型先判断重复型后判断重复型多分支选择型。3.3.3 详细设计(续)程序流程图 3.3.3 详细设计(
14、续)N-S图流程图:随意性与灵活性N-S图:限制了随意的控制转移,保证了程序的良好结构5种基本控制结构:3.3.3 详细设计(续)N-S图3.3.3 详细设计(续)N-S图特点:每个构件具有明确的功能域控制转移必须遵守结构化设计要求;易于确定局部数据和(或)全局数据的作用域易于表达嵌套关系和模块的层次结构3.3.3 详细设计(续)PAD图PAD问题分析图,Problem Analysis Diagram表现程序逻辑结构的图形工具5种基本控制结构3.3.3 详细设计(续)PAD图3.3.3 详细设计(续)PAD图特征结构清晰,结构化程度高易于阅读程序的纵线数等于程序的层次数程序执行从PAD图最左
15、主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线3.3.3 详细设计(续)PDL(伪码)PDL过程设计语言,Program Design Language混合语言,类似编程语言常用词汇:顺序:条件:IFTHENELSEETIDIF循环:DOWHILEENDDO循环:REPEAT UNTILENDREPEAT分支:CASE OFWHENSELECTWHENSELECTENDCASEPDL特征:有为结构化构成元素、数据说明和模块化特征提供的关键词语法;处理部分的描述采用自然语言语法可以说明简单和复杂的数据结构支持各种接口描述的子程序定义和调用技术。3.4 软件测试3.4.1 软
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 公共 基础知识 教学 课件
限制150内