第13章_软件工程基础课件.ppt

上传人:春哥&#****71; 文档编号:14873752 上传时间:2022-05-08 格式:PPT 页数:82 大小:518.50KB
返回 下载 相关 举报
第13章_软件工程基础课件.ppt_第1页
第1页 / 共82页
第13章_软件工程基础课件.ppt_第2页
第2页 / 共82页
点击查看更多>>
资源描述

《第13章_软件工程基础课件.ppt》由会员分享,可在线阅读,更多相关《第13章_软件工程基础课件.ppt(82页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第13章_软件工程基础ppt课件(全)软件工程基础软件工程基础 第13章_软件工程基础ppt课件(全)公共基础知识考试大纲公共基础知识考试大纲1. 软件工程基本概念,软件生命周期概念,软件工具与软件工程基本概念,软件生命周期概念,软件工具与 软软件开发环境。件开发环境。2. 结构化分析方法,数据流图,数据字典,软件需求规格结构化分析方法,数据流图,数据字典,软件需求规格说明书。说明书。3. 结构化设计方法,总体设计与详细设计。结构化设计方法,总体设计与详细设计。4. 软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集

2、成测试和系统测试。软件测试的实施,单元测试、集成测试和系统测试。5. 程序的调试,静态调试与动态调试。程序的调试,静态调试与动态调试。软件工程基础考试内容:软件工程基础考试内容:第13章_软件工程基础ppt课件(全)软件工程基础软件工程基础 根据对近年笔试真题的总结分析,笔试部分经常考根据对近年笔试真题的总结分析,笔试部分经常考查的是查的是 软件生命周期、软件设计的基本原理,软件测试软件生命周期、软件设计的基本原理,软件测试的目的、软件调试的基本概念的目的、软件调试的基本概念,同学们应对这些部分进行,同学们应对这些部分进行重点学习。重点学习。重点学习知识点:重点学习知识点: 1软件的概念、软件

3、生命周期的概念及各阶段所包软件的概念、软件生命周期的概念及各阶段所包含的活动;含的活动; 2概要设计与详细设计的概念、模块独立性及其度概要设计与详细设计的概念、模块独立性及其度量的标准、详细设计常用的工具;量的标准、详细设计常用的工具; 3软件测试的目的、软件测试的软件测试的目的、软件测试的4个步骤;个步骤; 4软件调试的任务。软件调试的任务。软件工程基础软件工程基础第13章_软件工程基础ppt课件(全)1. 软件的相关概念软件的相关概念 软件,软件,指的是计算机系统中与硬件相互依存的另一部分,指的是计算机系统中与硬件相互依存的另一部分,包括包括程序程序、数据数据和相关和相关文档文档的完整集合

4、。的完整集合。 程序,程序,是软件开发人员根据用户需求开发的、用程序设是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。计语言描述的、适合计算机执行的指令序列。 数据,数据,是使程序能正常操纵信息的数据结构。是使程序能正常操纵信息的数据结构。 文档,文档,是与程序的开发、维护和使用有关的图文资料。是与程序的开发、维护和使用有关的图文资料。软件由两部分组成:软件由两部分组成: (1)机器可执行的)机器可执行的程序程序和和数据数据; (2)机器不可执行的,与软件开发、运行、维护、使用)机器不可执行的,与软件开发、运行、维护、使用等有关的等有关的文档文档。考点考点1

5、软件定义与软件特点软件定义与软件特点13.1 软件工程基本概念软件工程基本概念第13章_软件工程基础ppt课件(全) 软件的特点:软件的特点: (1)软件是逻辑实体,而不是物理实体,具有抽象性;)软件是逻辑实体,而不是物理实体,具有抽象性; (2)没有明显的制作过程,可进行大量的复制;)没有明显的制作过程,可进行大量的复制; (3)使用期间不存在磨损、老化问题;)使用期间不存在磨损、老化问题; (4)软件的开发、运行对计算机系统具有依赖性;)软件的开发、运行对计算机系统具有依赖性; (5)软件复杂性高,成本昂贵;)软件复杂性高,成本昂贵; (6)软件开发涉及诸多社会因素。)软件开发涉及诸多社会

6、因素。 根据应用目标的不同,软件可分为:根据应用目标的不同,软件可分为: 应用软件应用软件、系统软件系统软件和和支撑软件(或工具软件)。支撑软件(或工具软件)。考点考点1 软件定义与软件特点软件定义与软件特点1. 软件的相关概念软件的相关概念第13章_软件工程基础ppt课件(全) 应用软件,应用软件,是为解决特定领域的应用而开是为解决特定领域的应用而开发的软件;发的软件; 系统软件,系统软件,是计算机管理自身资源,提高是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务计算机使用效率并为计算机用户提供各种服务的软件;的软件; 支撑软件,支撑软件,是介于两者之间,协助用户开是介于两

7、者之间,协助用户开发软件的工具性软件。发软件的工具性软件。考点考点1 软件定义与软件特点软件定义与软件特点1. 软件的相关概念软件的相关概念第13章_软件工程基础ppt课件(全) 软件工程源自软件危机。软件工程源自软件危机。 所谓软件危机,所谓软件危机,是泛指在计算机软件的开发和维护过是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。程中所遇到的一系列严重问题。具体的说,在软件开发和具体的说,在软件开发和维护过程中,软件危机主要表现在:维护过程中,软件危机主要表现在: (1)软件需求的增长得不到满足。)软件需求的增长得不到满足。用户对系统不满意用户对系统不满意的情况经常发生。的情况经

8、常发生。 (2)软件开发成本和进度无法控制。)软件开发成本和进度无法控制。开发成本超出预开发成本超出预算,开发周期大大超过规定日期的情况经常发生。算,开发周期大大超过规定日期的情况经常发生。 (3)软件质量难以保证。)软件质量难以保证。 (4)软件不可维护或维护程度非常低。)软件不可维护或维护程度非常低。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期2. 软件危机与软件工程软件危机与软件工程第13章_软件工程基础ppt课件(全) 软件工程源自软件危机。软件工程源自软件危机。 所谓软件危机,所谓软件危机,是泛指在计算机软件的开发和维护过是泛指在计算机软件的开发和维护过程中所遇到

9、的一系列严重问题。具体的说,在软件开发和程中所遇到的一系列严重问题。具体的说,在软件开发和维护过程中,软件危机主要表现在:维护过程中,软件危机主要表现在: (5)软件的成本不断提高。)软件的成本不断提高。 (6)软件开发生产率的提高跟不上硬件的发展和应用)软件开发生产率的提高跟不上硬件的发展和应用需求的增长。需求的增长。 总之,可以将软件危机可以归结为:总之,可以将软件危机可以归结为: 成本成本、质量质量、生产率生产率等问题。等问题。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期2. 软件危机与软件工程软件危机与软件工程第13章_软件工程基础ppt课件(全) 软件工程,软件工

10、程,是应用于计算机软件的定义、开是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准发和维护的一整套方法、工具、文档、实践标准和工序。和工序。 软件工程的目的,软件工程的目的,是要建造一个优良的软件是要建造一个优良的软件系统,它所包含的内容概括为以下两点:系统,它所包含的内容概括为以下两点: (1)软件开发技术)软件开发技术,主要有软件开发方法学、,主要有软件开发方法学、软件工具、软件工程环境。软件工具、软件工程环境。 (2)软件工程管理,)软件工程管理,主要有软件管理、软件主要有软件管理、软件工程经济学。工程经济学。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生

11、命周期2. 软件危机与软件工程软件危机与软件工程第13章_软件工程基础ppt课件(全) 软件工程的主要思想,软件工程的主要思想,是将工程化原则运用到是将工程化原则运用到软件开发过程,它软件开发过程,它包括包括3个要素:个要素: 方法方法、工具工具和和过程过程。 方法,方法,是完成软件工程项目的技术手段;是完成软件工程项目的技术手段; 工具,工具,是支持软件的开发、管理、文档生成;是支持软件的开发、管理、文档生成; 过程,过程,支持软件开发的各个环节的控制、管理。支持软件开发的各个环节的控制、管理。 软件工程过程软件工程过程是把输入转化为输出的一组彼此是把输入转化为输出的一组彼此相关的资源和活动

12、。相关的资源和活动。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期2. 软件危机与软件工程软件危机与软件工程第13章_软件工程基础ppt课件(全) 软件生命周期:软件生命周期:软件产品从软件产品从提出提出、实现实现、使用使用维护维护到到停止使用退役停止使用退役的过程。的过程。 软件生命周期分为:软件生命周期分为:软件定义软件定义、软件开发软件开发 及及 软件运行维护软件运行维护 三个阶段:三个阶段: (1)软件定义阶段:)软件定义阶段:包括包括制定计划制定计划和和需求分析需求分析。 制定计划:制定计划:确定总目标;可行性研究;探讨解确定总目标;可行性研究;探讨解决方案;制定开

13、发计划。决方案;制定开发计划。 需求分析:需求分析:对待开发软件提出的需求进行分析对待开发软件提出的需求进行分析并给出详细的定义。并给出详细的定义。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期3. 软件生命周期软件生命周期第13章_软件工程基础ppt课件(全) (2)软件开发阶段:)软件开发阶段: 软件设计:软件设计:分为分为概要设计概要设计和和详细设计详细设计两个部分。两个部分。 软件实现:软件实现:把软件设计转换成计算机可以接受把软件设计转换成计算机可以接受的程序代码。的程序代码。 软件测试:软件测试:在设计测试用例的基础上检验软件在设计测试用例的基础上检验软件的各个组

14、成部分。的各个组成部分。 (3)软件运行维护阶段:)软件运行维护阶段:软件投入运行,并在软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。使用中不断地维护,进行必要的扩充和删改。 软件生命周期中所花费最多的阶段是软件生命周期中所花费最多的阶段是软件运行软件运行维护阶段。维护阶段。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期3. 软件生命周期软件生命周期第13章_软件工程基础ppt课件(全) (1)软件工程目标:)软件工程目标: 在给定成本、进度的前提下,开发出具有有效在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可性、可靠性、可理

15、解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。用户需求的产品。 (2)软件工程需要达到的基本目标应是:)软件工程需要达到的基本目标应是: 付出较低的开发成本;达到要求的软件功能;付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用。较低的维护费用;能按时完成开发,及时交付使用。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期4. 软件工程的目标和与原则软件工程的目标和与原则第

16、13章_软件工程基础ppt课件(全) (3)软件工程原则:)软件工程原则: 抽象、信息隐蔽、模块化、局部化、确定性、抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。一致性、完备性和可验证性。 1) 抽象:抽象:抽象是事物最基本的特性和行为,忽抽象是事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向下,逐层略非本质细节,采用分层次抽象,自顶向下,逐层细化的办法控制软件开发过程的复杂性。细化的办法控制软件开发过程的复杂性。 2)信息隐蔽:)信息隐蔽:采用封装技术,将程序模块的采用封装技术,将程序模块的实现细节隐蔽起来,使模块接口尽量简单。实现细节隐蔽起来,使模块接口尽

17、量简单。 考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期4. 软件工程的目标和与原则软件工程的目标和与原则第13章_软件工程基础ppt课件(全) (3)软件工程原则:)软件工程原则: 3)模块化:)模块化:模块是程序中相对独立的成分,模块是程序中相对独立的成分,一个独立的编程单位,应有良好的接口定义。一个独立的编程单位,应有良好的接口定义。 模块的大小要适中,模块过大会使模块内部的模块的大小要适中,模块过大会使模块内部的复杂性增加,不利于模块的理解和修改,也不利于复杂性增加,不利于模块的理解和修改,也不利于模块的调试和重用;模块太小会导致整个系统表示模块的调试和重用;模块太小

18、会导致整个系统表示过于复杂,不利于控制系统的复杂性。过于复杂,不利于控制系统的复杂性。 4)局部化:)局部化:保证模块间具有保证模块间具有松散的耦合关系松散的耦合关系,模块内部有模块内部有较强的内聚性较强的内聚性。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期4. 软件工程的目标和与原则软件工程的目标和与原则第13章_软件工程基础ppt课件(全) (3)软件工程原则:)软件工程原则: 5)确定性:)确定性:软件开发过程中所有概念的表达软件开发过程中所有概念的表达应是确定、无歧义且规范的。应是确定、无歧义且规范的。 6)一致性:)一致性:程序内外部接口应保持一致,系程序内外部接

19、口应保持一致,系统规格说明与系统行为应保持一致。统规格说明与系统行为应保持一致。 7)完备性:)完备性:软件系统不丢失任何重要成分,软件系统不丢失任何重要成分,完全实现系统所需的功能。完全实现系统所需的功能。 8)可验证性:)可验证性:应遵循容易检查、测评、评审应遵循容易检查、测评、评审的原则,以确保系统的正确性。的原则,以确保系统的正确性。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期4. 软件工程的目标和与原则软件工程的目标和与原则第13章_软件工程基础ppt课件(全) (1)软件开发工具)软件开发工具 软件开发工具的完善和发展软件开发工具的完善和发展将将促使促使软件开发

20、方软件开发方法的进步和完善,法的进步和完善,促进促进软件开发的高速度和高质量。软件开发的高速度和高质量。 软件开发工具的发展软件开发工具的发展是从单项工具的开发逐步是从单项工具的开发逐步向集成工具发展的,软件开发工具为软件工程方法向集成工具发展的,软件开发工具为软件工程方法提供了自动的或半自动的软件支撑环境。同时,软提供了自动的或半自动的软件支撑环境。同时,软件开发方法的有效应用也必须得到相应工具的支持,件开发方法的有效应用也必须得到相应工具的支持,否则方法将难以有效的实施。否则方法将难以有效的实施。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期5. 软件开发工具与软件开发环

21、境软件开发工具与软件开发环境第13章_软件工程基础ppt课件(全) (2)软件开发环境)软件开发环境 软件开发环境(或称软件工程环境),软件开发环境(或称软件工程环境),是全面是全面支持软件开发全过程的软件工具集合。支持软件开发全过程的软件工具集合。 计算机辅助软件工程计算机辅助软件工程(CASE,Computer Aided Software Engineering)将各种软件工具、开)将各种软件工具、开发机器和一个存放开发过程信息的中心数据库组合发机器和一个存放开发过程信息的中心数据库组合起来,形成软件工程环境。它将极大降低软件开发起来,形成软件工程环境。它将极大降低软件开发的技术难度并保

22、证软件开发的质量。的技术难度并保证软件开发的质量。考点考点2 软件工程过程与软件生命周期软件工程过程与软件生命周期5. 软件开发工具与软件开发环境软件开发工具与软件开发环境第13章_软件工程基础ppt课件(全) 需求分析方法有:需求分析方法有: (1)结构化需求分析方法;)结构化需求分析方法; (2)面向对象的分析方法。)面向对象的分析方法。 需求分析的任务,需求分析的任务,是导出目标系统的逻辑模型,是导出目标系统的逻辑模型,解决解决“做什么做什么”的问题。的问题。 需求分析一般分为,需求分析一般分为,需求获取需求获取、需求分析需求分析、编编写需求规格说明书写需求规格说明书和和需求评审需求评审

23、四个步骤进行。四个步骤进行。考点考点3 软件设计的基本概念软件设计的基本概念1. 需求分析需求分析13.2 软件需求分析软件需求分析第13章_软件工程基础ppt课件(全) 软件需求软件需求是指用户对目标软件系统在功能、行是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望和要求。目的是为、性能、设计约束等方面的期望和要求。目的是准确定义新系统的目标,形成软件需求规格说明书。准确定义新系统的目标,形成软件需求规格说明书。需求分析必须达到开发人员和用户完全一致的要求。需求分析必须达到开发人员和用户完全一致的要求。需求分析阶段的工作,可以概括为需求分析阶段的工作,可以概括为4个方面:个方面

24、: (1) 需求获取:需求获取:需求获取的目的是确定对目标系需求获取的目的是确定对目标系统的各方面需求。统的各方面需求。 (2) 需求分析:需求分析:对获取的需求进行分析和综合,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。最终给出系统的解决方案和目标系统的逻辑模型。考点考点3 软件设计的基本概念软件设计的基本概念1. 需求分析需求分析13.2 软件需求分析软件需求分析第13章_软件工程基础ppt课件(全)需求分析阶段的工作,可以概括为需求分析阶段的工作,可以概括为4个方面:个方面: (3) 编写需求规格说明书:编写需求规格说明书:需求规格说明书作为需求规格说明书作为

25、需求分析的阶段成果,可为用户、分析人员和设计需求分析的阶段成果,可为用户、分析人员和设计人员之间的交流提供方便,可直接支持目标软件系人员之间的交流提供方便,可直接支持目标软件系统的确认,还可以作为控制软件开发进程的依据。统的确认,还可以作为控制软件开发进程的依据。 (4) 需求评审:需求评审:在需求分析的最后一步,对需求在需求分析的最后一步,对需求分析阶段的工作进行复审,验证需求文档的一致性、分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。可行性、完整性和有效性。考点考点3 软件设计的基本概念软件设计的基本概念1. 需求分析需求分析13.2 软件需求分析软件需求分析第13

26、章_软件工程基础ppt课件(全) 结构化分析方法,结构化分析方法,是结构化程序设计理论在软是结构化程序设计理论在软件需求分析阶段的应用。件需求分析阶段的应用。 结构化分析方法的实质:结构化分析方法的实质:着眼于数据流,自顶着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。图和数据字典为主要工具,建立系统的逻辑模型。 结构化分析的常用工具:结构化分析的常用工具: (1)数据流图()数据流图(Data Flow Diagram,DFD);); (2)数据字典()数据字典(Data Dictionar

27、y,DD);); (3)判定树;)判定树; (4)判定表。)判定表。考点考点3 软件设计的基本概念软件设计的基本概念2. 结构化分析方法结构化分析方法13.2 软件需求分析软件需求分析第13章_软件工程基础ppt课件(全) 数据流图,数据流图,以图形的方式描绘数据在系统中以图形的方式描绘数据在系统中流动和处理的过程,它反映了系统必须完成的逻流动和处理的过程,它反映了系统必须完成的逻辑功能,是结构化分析方法中用于表示系统逻辑辑功能,是结构化分析方法中用于表示系统逻辑模型的一种工具。模型的一种工具。 数据流图的基本图形元素:数据流图的基本图形元素:考点考点3 软件设计的基本概念软件设计的基本概念加

28、工数据流存储文件源、潭2. 结构化分析方法结构化分析方法第13章_软件工程基础ppt课件(全) 加工(转换):加工(转换):输入数据经加工变换产生输出。输入数据经加工变换产生输出。 数据流:数据流:沿箭头方向传送数据的通道,一般在沿箭头方向传送数据的通道,一般在旁边标注数据流名。旁边标注数据流名。 存储文件(数据源):存储文件(数据源):表示处理过程中存放各表示处理过程中存放各种数据的文件。种数据的文件。 源,潭:源,潭:表示系统和环境的接口,属系统之外表示系统和环境的接口,属系统之外的实体。的实体。 画数据流图的基本步骤:画数据流图的基本步骤: 自外向内,自顶向下,逐层细化,完善求精。自外向

29、内,自顶向下,逐层细化,完善求精。考点考点3 软件设计的基本概念软件设计的基本概念2. 结构化分析方法结构化分析方法第13章_软件工程基础ppt课件(全)下图是一个数据流图的示例:下图是一个数据流图的示例:考点考点3 软件设计的基本概念软件设计的基本概念2. 结构化分析方法结构化分析方法第13章_软件工程基础ppt课件(全) 数据字典:数据字典: 对所有与系统相关的数据元素的一个有组织的对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果分析员对于输入、输出、存储成分和中间计

30、算结果有共同的理解。有共同的理解。 *数据字典的作用,数据字典的作用,是对数据流图中出现的被命是对数据流图中出现的被命名的图形元素的确切解释。名的图形元素的确切解释。 *数据字典是结构化分析方法的核心数据字典是结构化分析方法的核心。考点考点3 软件设计的基本概念软件设计的基本概念2. 结构化分析方法结构化分析方法第13章_软件工程基础ppt课件(全)考点考点3 软件设计的基本概念软件设计的基本概念表表 数据字典定义方式中出现的符号数据字典定义方式中出现的符号符符 号号含含 义义解解 释释定义为定义为+与与例如例如 x=a+b,表示表示x由由a和和b组成组成|或或例如,例如,x=a,b,x=a|

31、b,表示表示x由由a或由或由b组成组成,与,和与,和例如,例如,x=a,表示表示x由由0个或多个个或多个a组成组成 nm重复重复例如,例如,x=4a9,表示表示a可以在可以在x中至少出现中至少出现4次最多出次最多出现现9次次()可选可选例如,例如,x=(a)表示表示a可以在可以在x中出现,也可以不出现中出现,也可以不出现“”“”基本可选元素基本可选元素例如,例如,x=“a”,x=“a”,表示表示x x为取值为为取值为a a的数据元素的数据元素.连接符连接符例如,例如,x=3.9,表示,表示x可以取可以取3到到9之间的任一值之间的任一值 第13章_软件工程基础ppt课件(全) 软件需求规格说明书

32、,软件需求规格说明书,是需求分析阶段的最是需求分析阶段的最后成果,通过建立完整的信息描述、详细的功能后成果,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。的验收标准,给出对目标软件的各种需求。考点考点3 软件设计的基本概念软件设计的基本概念3. 软件需求规格说明书(软件需求规格说明书(SRS)第13章_软件工程基础ppt课件(全) 需求分析主要解决需求分析主要解决“做什么做什么”的问题,而软的问题,而软件设计主要解决件设计主要解决“怎么做怎么做”的问题。的问题。 从技术观点来看,软件设

33、计包括软件从技术观点来看,软件设计包括软件结构设结构设计计、数据设计数据设计、接口设计接口设计、过程设计过程设计。 结构设计:结构设计:定义软件系统各主要部件之间的定义软件系统各主要部件之间的关系。关系。 数据设计:数据设计:将分析时创建的模型转化为数据将分析时创建的模型转化为数据结构的定义。结构的定义。考点考点4 详细设计详细设计1. 软件设计的基础软件设计的基础13.3 软件设计软件设计第13章_软件工程基础ppt课件(全) 接口设计:接口设计:描述软件内部、软件和协作系统之描述软件内部、软件和协作系统之间以及软件与人之间如何通信。间以及软件与人之间如何通信。 过程设计:过程设计:把系统结

34、构部件转换成软件的过程把系统结构部件转换成软件的过程性描述。性描述。 从工程角度来看,软件设计分两步完成从工程角度来看,软件设计分两步完成,即,即概概要设计要设计和和详细设计详细设计。 概要设计:概要设计:又称结构设计,将软件需求转化为又称结构设计,将软件需求转化为软件体系结构,确定系统级接口、全局数据结构或软件体系结构,确定系统级接口、全局数据结构或数据库模式。数据库模式。 详细设计:详细设计:确定每个模块的实现算法和局部数确定每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。据结构,用适当方法表示算法和数据结构的细节。考点考点4 详细设计详细设计1. 软件设计的基础软件

35、设计的基础第13章_软件工程基础ppt课件(全) 软件设计的基本原理包括:软件设计的基本原理包括:抽象抽象、模块化模块化、信信息隐蔽息隐蔽和和模块独立性模块独立性。 (1)抽象。)抽象。抽象是一种思维工具,就是把事物本质的抽象是一种思维工具,就是把事物本质的共同特性提取出来而不考虑其他细节。共同特性提取出来而不考虑其他细节。 (2)模块化。)模块化。解决一个复杂问题时自顶向下逐步把软解决一个复杂问题时自顶向下逐步把软件系统划分成一个个较小的、相对独立但又不相互关联的件系统划分成一个个较小的、相对独立但又不相互关联的模块的过程。模块的过程。 (3)信息隐蔽。)信息隐蔽。每个模块的实施细节对于其他

36、模块来每个模块的实施细节对于其他模块来说是隐蔽的。说是隐蔽的。 (4)模块独立性。)模块独立性。软件系统中每个模块只涉及软件的软件系统中每个模块只涉及软件的具体的子功能,而和软件系统中其他模块的接口是简单的。具体的子功能,而和软件系统中其他模块的接口是简单的。考点考点4 详细设计详细设计1. 软件设计的基础软件设计的基础第13章_软件工程基础ppt课件(全) *模块分解的主要指导思想,模块分解的主要指导思想,是是信息隐蔽信息隐蔽和和模块模块独立性独立性。 模块的模块的耦合性耦合性和和内聚性内聚性是衡量软件的模块独立是衡量软件的模块独立性的两个定性指标。性的两个定性指标。 内聚性:内聚性:是一个

37、模块内部各个元素间彼此结合是一个模块内部各个元素间彼此结合的紧密程度的度量。的紧密程度的度量。 *按内聚性由弱到强排列,内聚可以分为以下几按内聚性由弱到强排列,内聚可以分为以下几种:种:偶然内聚、逻辑内聚、时间内聚、过程内聚、偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚及功能内聚通信内聚、顺序内聚及功能内聚。 耦合性:耦合性:是模块间互相连接的紧密程度的度量。是模块间互相连接的紧密程度的度量。考点考点4 详细设计详细设计1. 软件设计的基础软件设计的基础第13章_软件工程基础ppt课件(全) 按耦合性由高到低排列,耦合可以分为以下按耦合性由高到低排列,耦合可以分为以下几种:几种:

38、内容耦合、公共耦合、外部耦合、控制耦合、内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合以及非直接耦合。标记耦合、数据耦合以及非直接耦合。 *一个设计良好的软件系统应具有:一个设计良好的软件系统应具有: 高内聚、低耦合的特征高内聚、低耦合的特征。 在结构化程序设计中,模块划分的原则是:在结构化程序设计中,模块划分的原则是: 模块内具有高内聚度,模块间具有低耦合度。模块内具有高内聚度,模块间具有低耦合度。考点考点4 详细设计详细设计1. 软件设计的基础软件设计的基础第13章_软件工程基础ppt课件(全) (1)总体设计(概要设计)总体设计(概要设计) 软件概要设计的基本任务是:软件概要

39、设计的基本任务是: 1)设计软件系统结构;)设计软件系统结构; 2)数据结构及数据库设计;)数据结构及数据库设计; 3)编写概要设计文档;)编写概要设计文档; 4)概要设计文档评审。)概要设计文档评审。 常用的软件结构设计工具是常用的软件结构设计工具是结构图结构图,也称,也称程序程序结构图结构图。考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计第13章_软件工程基础ppt课件(全) 程序结构图的基本图符:程序结构图的基本图符: 模块模块用一个用一个矩形矩形表示,表示,箭头箭头表示表示模块间的调用模块间的调用关系关系。在结构图中还可以用带注释的箭头表

40、示模块。在结构图中还可以用带注释的箭头表示模块调用过程中来回传递的信息。调用过程中来回传递的信息。 用用带实心圆的箭头带实心圆的箭头表示表示传递的是控制信息传递的是控制信息,空空心圆箭心心圆箭心表示表示传递的是数据信息传递的是数据信息。考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计一般模块数据信息控制信息第13章_软件工程基础ppt课件(全) 经常使用的结构图有四种模块类型:经常使用的结构图有四种模块类型: 传入模块传入模块、传出模块传出模块、变换模块变换模块和和协调模块协调模块。其表示形式如下图:其表示形式如下图:它们的含义分别是:它们的含义分

41、别是:考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计第13章_软件工程基础ppt课件(全) 传入模块:传入模块:从下属模块取得数据,经处理再将从下属模块取得数据,经处理再将其传送给上级模块。其传送给上级模块。 传出模块:传出模块:从上级模块取得数据,经处理再将从上级模块取得数据,经处理再将其传送给下属模块。其传送给下属模块。 变换模块:变换模块:从上级模块取得数据,进行特定的从上级模块取得数据,进行特定的处理,转换成其他形式,再传送给上级模块。处理,转换成其他形式,再传送给上级模块。 协调模块:协调模块:对所有下属模块进行协调和管理的对所有下属模

42、块进行协调和管理的模块。模块。考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计第13章_软件工程基础ppt课件(全)程序结构图的例图及有关术语列举如下:程序结构图的例图及有关术语列举如下:考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计第13章_软件工程基础ppt课件(全) 深度:深度:表示控制的层数。表示控制的层数。 上级模块、从属模块:上级模块、从属模块:上、下两层模块上、下两层模块a和和b,且有且有a调用调用b,则,则a是上级模块,是上级模块,b是从属模块。是从属模块。 宽度:宽度:整体控制跨度的

43、表示。整体控制跨度的表示。 扇入:扇入:调用一个给定模块的模块个数。调用一个给定模块的模块个数。 扇出:扇出:一个模块直接调用的其他模块数。一个模块直接调用的其他模块数。 原子模块:原子模块:树中位于叶子结点的模块。树中位于叶子结点的模块。 面向数据流的设计方法定义了一些不同的映射面向数据流的设计方法定义了一些不同的映射方法,利用这些方法可以把方法,利用这些方法可以把数据流图数据流图变换成变换成结构图结构图表示软件的结构。表示软件的结构。考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计第13章_软件工程基础ppt课件(全) 数据流的类型:数据流的类

44、型:大体可以分为两种类型,大体可以分为两种类型,变换变换型型和和事务型事务型。 变换型:变换型:变换型数据处理问题的工作过程大致变换型数据处理问题的工作过程大致分为三步,即分为三步,即取得数据取得数据、变换数据变换数据和和输出数据输出数据。 变换型系统结构图变换型系统结构图由由输入输入、中心变换中心变换、输出输出三三部分组成。部分组成。 事务型:事务型:事务型数据处理问题的工作机理是接事务型数据处理问题的工作机理是接受一项事务,根据事务处理的特点和性质,选择分受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。派一个适当的处理单元,然后给出结果。考点考点4 详细设计

45、详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计第13章_软件工程基础ppt课件(全) (2)详细设计)详细设计 详细设计,详细设计,是为软件结构图中的每一个模块确是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。具表示算法和数据结构的细节。 *详细设计的任务,详细设计的任务,是确定实现算法和局部数据是确定实现算法和局部数据结构,不同于编码或编程。结构,不同于编码或编程。 考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设计(概要设计)和详细设计第13章

46、_软件工程基础ppt课件(全) (2)详细设计)详细设计 常用的过程设计常用的过程设计(即详细设计即详细设计)工具有以下几种工具有以下几种: 图形工具:图形工具:程序流程图、程序流程图、N-S(方盒图)、(方盒图)、PAD(问题分析图)和(问题分析图)和HIPO(层次图(层次图+输入输入/处理处理/输出图)。输出图)。 表格工具:表格工具:判定表。判定表。 语言工具:语言工具:PDL PDL(伪码):过程设计语言,它是用正文形式表示(伪码):过程设计语言,它是用正文形式表示数据和处理过程的设计工具。数据和处理过程的设计工具。考点考点4 详细设计详细设计2. 总体设计(概要设计)和详细设计总体设

47、计(概要设计)和详细设计第13章_软件工程基础ppt课件(全)13.4 程序设计基础程序设计基础1. 程序设计方法与风格。程序设计方法与风格。2. 结构化程序设计。结构化程序设计。3. 面向对象的程序设计方法,对象,方法,属性面向对象的程序设计方法,对象,方法,属性及继承与多态性。及继承与多态性。程序设计基础考试内容:程序设计基础考试内容:第13章_软件工程基础ppt课件(全) 根据对近年笔试真题的总结分析,笔试部分根据对近年笔试真题的总结分析,笔试部分经常考查的是经常考查的是 结构化程序设计的原则结构化程序设计的原则、面向对面向对象方法的基本概念象方法的基本概念,同学们应对此两部分进行重,同

48、学们应对此两部分进行重点学习。点学习。重点学习知识点:重点学习知识点: 1结构化程序设计方法的四个原则。结构化程序设计方法的四个原则。 2对象、类、消息、继承的概念、类与实对象、类、消息、继承的概念、类与实例的区别。例的区别。13.4 程序设计基础程序设计基础第13章_软件工程基础ppt课件(全) 考点考点5 程序设计风格程序设计风格13.4 程序设计基础程序设计基础1. 程序设计方法与风格程序设计方法与风格程序设计的风格主要强调:程序设计的风格主要强调: 清晰第一,效率第二。清晰第一,效率第二。程序设计主要应注重和考虑下述一些因素:程序设计主要应注重和考虑下述一些因素: (1)源程序文档化)

49、源程序文档化 1. 符号名的命名。符号名的命名。符号名能反映它所代表的实际东西,符号名能反映它所代表的实际东西,应有一定的实际含义应有一定的实际含义; 2. 程序的注释。程序的注释。分为序言性注释和功能性注释分为序言性注释和功能性注释; 3. 视觉组织。视觉组织。利用空格、空行、缩进等技巧使程序层利用空格、空行、缩进等技巧使程序层次清晰。次清晰。第13章_软件工程基础ppt课件(全)程序设计的风格主要强调:程序设计的风格主要强调: 清晰第一,效率第二。清晰第一,效率第二。程序设计主要应注重和考虑下述一些因素:程序设计主要应注重和考虑下述一些因素: (1)源程序文档化)源程序文档化 1. 符号名

50、的命名。符号名的命名。符号名能反映它所代表的实际东西,符号名能反映它所代表的实际东西,应有一定的实际含义应有一定的实际含义; 2. 程序的注释。程序的注释。分为序言性注释和功能性注释分为序言性注释和功能性注释; 3. 视觉组织。视觉组织。利用空格、空行、缩进等技巧使程序层利用空格、空行、缩进等技巧使程序层次清晰。次清晰。考点考点5 程序设计风格程序设计风格第13章_软件工程基础ppt课件(全)程序设计的风格主要强调:程序设计的风格主要强调: 清晰第一,效率第二。清晰第一,效率第二。程序设计主要应注重和考虑下述一些因素:程序设计主要应注重和考虑下述一些因素: (2)数据说明)数据说明 1. 数据

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

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁