第5章软件工程基础

上传人:我*** 文档编号:137676429 上传时间:2020-07-11 格式:PPT 页数:44 大小:504.50KB
返回 下载 相关 举报
第5章软件工程基础_第1页
第1页 / 共44页
第5章软件工程基础_第2页
第2页 / 共44页
第5章软件工程基础_第3页
第3页 / 共44页
第5章软件工程基础_第4页
第4页 / 共44页
第5章软件工程基础_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《第5章软件工程基础》由会员分享,可在线阅读,更多相关《第5章软件工程基础(44页珍藏版)》请在金锄头文库上搜索。

1、1,第四章 软件工程基础,2,5.1 软件 5.2 软件工程的基本概念 5.3 结构化分析方法 5.4 结构化设计方法 5.5 软件测试 5.6 软件调试,3,1 软件的定义,*计算机软件(software)是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。,2 软件的特点 (1) 软件是逻辑实体,不是物理实体,具有抽象性 (2) 软件的生产与硬件不同,没有明显的制作过程 (3) 软件运行、使用期间不存在磨损、老化的问题 (4) 软件的开发、运行受计算机系统的限制。 (5) 软件复杂度高,成本昂贵。 (6) 软件开发设计诸多的社会因素。,5.1 软件,软件是程序、数

2、据和_相关文档_集合。,4,3 软件的分类 应用软件、系统软件和支撑软件(或工具软件)。 4 软件危机 软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 1 软件的需求的增长得不到满足 2 软件开发成本和进度无法控制 3 软件质量难以保证 4 软件不可维护或维护程度非常低 5 软件的成本不断提高 6 软件开发生产率的提高赶不上硬件的发展和应用需求的增长。,“软件危机”是指( )A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统,5,5.2.1 软件工程 软件工程是开发、维护和修复软件的系统方法。 196

3、8年在北大西洋公约组织会议上,软件工程作为一个概念首次被提出。 软件工程包括3个要素* :方法、工具和过程,5.2.2 软件工程的目标和研究内容 (1)付出较低的开发成本 (2)达到预期的软件功能 (3)取得较好的软件性能 (4)使软件易于移植 (5)需要较低的维护费用 (6)能按时完成开发工作,及时交付使用,下面不属于软件工程的3个要素的是_。 A工具 B过程 C方法 D环境,5.2 软件工程的基本概念,6,软件工程研究的内容 软件开发技术和软件工程管理 5.2.3 软件工程的原则 1抽象 分层次抽象,自顶向下,逐层细化 2信息隐蔽 采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量

4、简单。 3模块化 一个独立的编程单位,模块的大小要适中. 4局部化,7,5确定性 6一致性 7完备性 8可验证性,8,5.2.4 软件工程工具和环境 1 软件开发环境或软件工程环境* 全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。 2 计算机辅助软件工程(CASE,Computer Aided Software Engineering) CASE将各种软件工具、开发机器和一个存放开发过程信息的中心数据库组合起来,形成软件工程环境。,软件开发环境是全面支持软件开发全过程的_集合。 软件工具,9,软件产品从提出、实现、

5、使用维护到停止使用退役的过程称为软件生命周期。,可行性研究 初步项目计划,需求分析,概要设计,详细设计,实现,测试,使用,维护,退役,定义 阶段,开发 阶段,维护阶段,软件生命周期*,5.2.5软件生命周期,10,软件开发的结构化生命周期方法将软件生命周期划分成_。 A. 定义、开发、运行维护 B. 设计阶段、编程阶段、测试阶段 C. 总体设计、详细设计、编程调试 D. 需求分析、功能定义、系统设计,在软件开发中,下面任务不属于设计阶段的是_。 A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型,11,5.3 结构化分析方法,基本思想 自顶向下、逐步求

6、精、单入口、单出口,基本原则是抽象和功能分解。 结构化分析是面向数据流进行需求分析的方法。是结构化程序设计理论在需求分析阶段的运用。 结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,知道找到满足功能要求的所有可实现的软件为止。 结构化分析方法使用了以下几个工具:数据流图、数据字典、判定表和判定树,12,下列不属于结构化分析的常用工具的是_。( ) A. 数据流图 B. 数据字典 C. 判定树 D. PAD图,在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。( ) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码,13

7、,5.3.1需求分析,它的基本任务是准确地回答“系统必须做什么?” 任务:是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。,需求分析阶段的工作* 1 需求获取:确定对目标系统的各方面需求 2 需求分析:对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型 3 编写需求规格说明书:它作为需求分析的阶段成果,可以为用户、分析人员和设计人员间的交流提供方便。无歧异性! 4 需求评审:在需求分析的最后一步,对需求分析阶段的工作进行复审.,14,需求分析阶段的任务是确定_。 A. 软件开发方法 B. 软件开发工具 C. 软件开发费用 D. 软件

8、系统功能,软件的需求分析阶段的工作,可以概括为四个方面:_、需求分析、编写需求规格说明书和需求评审。,在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_ A)概要设计 B)详细设计 C)可行性分析 D)需求分析,15,2 需求分析方法 (1)结构化分析方法 面向数据流的结构化分析方法(SA) 面向数据结构的Jackson方法(JSD) 面向数据结构的结构化数据系统开发方法(DSSD) (2)面向对象的分析方法,5.3.5 结构化分析的常用工具* 数据流图、数据字典、判定树和判定表 (1)数据流图(DFD-Data Flow Diagram) 描述数据处理过程的工具,是

9、需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。,16,数据流图从数据流和加工的角度,来刻画数据流从输入到输出的移动变换过程。,加工(处理模块)。输入数据经加工变换产生输出,数据流。沿箭头方向传送数据的通道,一般在旁边标注数据流名,存储文件(数据源)。表示处理过程中存放各种数据的文件,源,潭。表示系统和环境的接口,属系统之外的实体,17,数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流合法图符的是 A)控制流 B)加工 C)数据存储 D)源和潭,在数据流图(DFD)中,带有名字的箭头表示_。 A 控制程序的执行顺序 B 模块之间的调

10、用关系 C 数据的流向 D 程序的组成成分,在数据流图(DFD)中,带有名字的箭头表示_。 A 控制程序的执行顺序 B 模块之间的调用关系 C 数据的流向 D. 程序的组成成分,18,(2)数据字典(DD-Data Dictionary) *,结构化分析方法的核心。 数据字典是对所有与系统相关数据元素的一个有组织的列表,以及精确的严格的定义。 数据字典的作用是解释DFD中图形元素。其内容有图形元素的:名称、别名、何处使用/如何使用(位置),内容描述、补充信息等。,19,20,5.3.4 软件需求规格说明书*,软件需求规格说明是需求分析阶段最后成果,是软件开发中的重要文档之一。,作用:便于用户、

11、开发人员进行理解和交流.反映出用户问题的结构,可以作为软件开发工作的基础和依据作为确认测试和验收的依据,不属于软件需求规格说明书的作用的是_。 A 便于用户、开发人员进行理解和交流 B 可作为软件开发工作的基础和依据 C 作为确认测试和验收的依据 D 便于开发人员进行需求分析,21,软件需求规格说明书的特点: 正确性 无歧义性 完整性 可验证性 一致性 可理解性 可修改性 可追踪性,22,5.4 结构化设计方法,软件设计分两步完成:总体设计和详细设计。* 1总体设计(又称结构设计) 将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式; 2详细设计 确立每个模块的实现算法和局

12、部数据结构,用适当的方法表示算法和数据结构的细节。,5.4.1 总体设计,23,总体设计基本任务 ()设计软件系统结构 在需求阶段,已经把系统分解成层次结构,而在概要设计阶段,需要进一步分解,划分为模块以及模块的层次结构。 ()数据结构及数据库设计 ()编写概要设计文档 ()概要设计文档评审,在结构化方法中,软件功能分解属于下列软件开发中的阶段是_ A. 详细设计 B. 需求分析 C. 总体设计 D. 编程调试,24,总体设计的原理 ()抽象 ()模块化 ()信息隐蔽: ()模块独立性 模块的独立程度是评价设计好坏的度量标准。衡量软件的模块独立性用耦合性和内聚性来度量。,下面不属于软件设计原则

13、的是 A)抽象 B)模块化 C)自底向上 D)信息隐蔽,25,内聚 度量一个给定的程序内的多行代码的单一功能性,以确定是否达到该程序所要实现的目的。 耦合性 度量程序之间联系的次数和强度,1.模块独立性的度量之一:耦合性 模块间相对独立性(相互依赖程度)的度量 耦合性越高,模块独立性越弱* 耦合强度依赖的因素: 一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度,26,无耦合没有依赖关系,松散耦合有 少量依赖关系,紧密耦合有 很多依赖关系,27,模块间耦合的类型,无直接耦合 数据耦合 标记耦合 控制耦合 外部耦合 公共耦合 内容耦合,模

14、 块 独 立 性,弱,强,耦 合 性,高,低,2. 模块独立性的度量之二:内聚性,一个模块内部元素在功能上相互关联的强度 设计目标:高内聚,模块的内聚性类型,偶然内聚 0分 逻辑内聚 1分 时间内聚 3分 过程内聚 5分 通信内聚 7分 信息内聚 9分 功能内聚10分,模 块 独 立 性,弱(功能分散),强(功能单一),内 聚 性,高,低,29,内聚与耦合密切相关,同其它模块强耦合的模块意味着弱内聚,强内聚模块意味着与其它模块间松散耦合. 设计目标:强内聚、弱耦合*,为了使模块尽可能独立,要求() A模块的内聚程度尽量高,模块间的耦合程度尽量强 B模块的内聚程度尽量高,模块间的耦合程度尽量弱

15、C模块的内聚程度尽量低,模块间的耦合程度尽量强 D模块的内聚程度尽量低,模块间的耦合程度尽量弱,30,5.4.2详细设计 考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述,详细设计的任务 为软件结构土中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。,常见的过程设计工具 图形工具:程序流程图,N-S,PAD,HIPO 表格工具:判定表 语言工具:PDL(伪码),下列( )属于详细设计。 A. 分析项目的成本和效益 B. 为每个模块确定采用的算法 C. 编写代码 D. 确定模块结构,划分模块功能,31,、程序流程图,或,:,控制流*,:,加工步骤,:,逻辑条件,是一种传统的、应用广泛的软件过程设计表示工具,也称为程序框图。,程序流图(PFD)中箭头代表的是 A)数据流 B)控制流 C)调用关系 D)组成关系,32,程序流程图的5种基本控制结构,33,、N-S图 为了避免流程图在描述程序逻辑时的随意性与灵活性,1973年Nossi和Shneiderman提出了用方框图来代替传统的程序流程图,通常也把这种图称为N-S图,为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为_。 A. PAD图 B. N-S图 C. 结构图 D.

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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