全国计算机等级考试二级公共基础知识第三章

《全国计算机等级考试二级公共基础知识第三章》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级公共基础知识第三章(113页珍藏版)》请在文档大全上搜索。
1、二级公共基础知识二级公共基础知识 第3章 软件工程基础2内容提要内容提要n软件工程基本概念,软件生命周期概念,软件工具与软件软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。开发环境。n结构化分析方法,数据流图,数据字典,软件需求规格说结构化分析方法,数据流图,数据字典,软件需求规格说明书。明书。n结构化设计方法,总体设计与详细设计。结构化设计方法,总体设计与详细设计。n软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。软件测试的实施,单元测试、集成测试和系统测试。n程序的调试程序的调试3
2、.1 3.1 软件工程基本概念软件工程基本概念43.1.1 3.1.1 软件定义与软件特点软件定义与软件特点n1软件的定义和组成n定义:n计算机软件(Software)是计算机系统中与硬件相互依赖的另一部分。n组成:n程序n数据n文档n国标(GB)定义n与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。3.1.1 3.1.1 软件定义与软件特点软件定义与软件特点( (续续) )n2 2软件的特点软件的特点n软件是一种逻辑实体,而不是具体的物理实体,具有抽象性n软件没有明显的制造过程。对软件的质量控制,必须在软件开发方面下功夫n软件不存在老化问题,但存在退化问题,必须
3、要修改和维护n对计算机系统有着依赖性软件移植的问题n软件复杂性高,开发和维护成本高n软件开发涉及诸多社会因素563.1.1 3.1.1 软件定义与软件特点软件定义与软件特点( (续续) )n3软件的分类n应用软件n系统软件n操作系统n数据库管理系统n设备驱动程序nn支撑软件73.1.2 3.1.2 软件危机与软件工程软件危机与软件工程n1软件危机n软件工程源自于软件危机n主要表现:n软件需求的增长得不到满足n软件开发成本和进度无法控制n软件质量难以保证n软件不可维护或维护程度非常低n软件成本不断提高n软件开发生产效率的提高赶不上硬件的发展和应用需求的增长n归结为成本、质量和生产率等问题83.1
4、.2 3.1.2 软件危机与软件工程软件危机与软件工程n2软件工程的产生与定义n软件工程学工程学的新兴领域n定义:n国标(GB):应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。n主要思想:在软件开发过程中需要应用工程化原则的重要性93.1.2 3.1.2 软件危机与软件工程软件危机与软件工程n2软件工程的产生与定义n软件工程3个要素:n方法: 完成工程项目的技术手段n工具:支持软件开发、管理、文档生成n过程:对开发的各个环节进行控制、管理103.1.3 3.1.3 软件工程过程与软件生命周期软件工程过程与软件生命周期n1软件工程过程nP(Plan)软件规格说明nD
5、(Do)软件开发nC(Check)软件确认nA(Action)软件演进113.1.3 3.1.3 软件工程过程与软件生命周期软件工程过程与软件生命周期n软件产品从提出、实现、使用维护、停止使用到退役的过程n3个阶段n6个阶段工作可 行 性 研 究初 步 项 目 计 划需 求 分 析概 要 设 计详 细 设 计实 现测 试维 护使 用退 役定 义阶 段开 发阶 段维 护阶 段可行性报告可行性报告软件规格说软件规格说明书明书测试分析报告测试分析报告123.1.3 3.1.3 软件工程过程与软件生命周期软件工程过程与软件生命周期n定义阶段定义阶段n制定计划:”能做吗?“n需求分析:“做什么?”n开发
6、阶段:开发阶段:n软件设计:“如何做?”,分为概要设计和详细设计两个阶段。n软件实现:“实现”,编码。n软件测试:”做的怎么样?“n运行维护阶段运行维护阶段n使用,不断维护133.1.4 3.1.4 软件工程的目标与原则软件工程的目标与原则n1软件工程的目标n成功的项目:n成本n功能n移植n维护费用n按时n及时交付n目标:n在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品143.1.4 3.1.4 软件工程的目标与原则软件工程的目标与原则n2软件工程学的范畴153.1.4 3.1.4 软件工程的目标与
7、原则软件工程的目标与原则n抽象抽象n抽取事物最基本的特性和行为,忽略非本质细节n信息隐蔽信息隐蔽n采用封装技术,将程序模块的实现细节隐藏起来n模块化模块化n解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块n局部化局部化n确定性确定性n一致性一致性n完备性完备性n可验证性可验证性163.1.5 3.1.5 软件开发工具与软件开发环境软件开发工具与软件开发环境n1软件开发工具n协助开发人员进行软件开发活动所使用的软件或环境 n需求分析工具、设计工具、编码工具、排错工具、测试工具等。n2软件开发环境 n全面支持软件开发全过程的软件工具的集合n计算机辅助软件工程:CASE3.2 3.2 结构化分
8、析方法结构化分析方法183.2.1 3.2.1 需求分析与需求分析方法需求分析与需求分析方法n1需求分析n定义:n任务:导出目标系统的逻辑模型,解决“做什么”的问题n全面理解用户的各项要求n准确地表达各项要求n主要工作:n需求获取n需求分析n编写需求规格说明书n需求审评:验证需求文档的一致性、可行性、完整性和有效性193.2.1 3.2.1 需求分析与需求分析方法需求分析与需求分析方法n2需求分析方法需求分析方法n结构化分析方法n面向数据流的结构化分析方法(SA)n面向数据结构的Jackson方法(JSD)n面向数据结构的结构化数据系统开发方法(DSSD)n面向对象分析方法(OOA)n静态分析
9、方法n动态分析方法203.2.2 3.2.2 结构化分析方法结构化分析方法n1关于结构化分析方法n结构化程序设计理论在需求分析阶段的运用n面向数据流进行需求分析的方法n自顶向下、逐层分解n主要工具:数据流图(DFD)、数据字典(DD)、结构化英语、判定树、判定表213.2.2 3.2.2 结构化分析方法结构化分析方法n2结构化分析的常用工具结构化分析的常用工具n数据流图(数据流图(DFD) n数据字典数据字典n结构化分析方法的核心结构化分析方法的核心n对数据流图中出现的被命名的图形元素的确切解释对数据流图中出现的被命名的图形元素的确切解释n判定树判定树 n判定表判定表223.2.2 3.2.2
10、 结构化分析方法结构化分析方法n数据流图:基本图形元素 233.2.2 3.2.2 结构化分析方法结构化分析方法n数据流图243.2.3 3.2.3 软件需求规格说明书软件需求规格说明书n需求分析阶段的最后成果需求分析阶段的最后成果n作用:作用:n便于用户、开发人员进行理解和交流;n反映出用户问题的结构,可以作为软件开发工作的基础和依据;n作为确认测试和验收的依据。n主要内容主要内容n概述、数据描述、功能描述、性能描述、参考文献、附录 n特点:特点:n正确性;无歧义性;完整性;可验证性;一致性;可理解性;可修改性;可追踪性。3.3 3.3 结构化设计方法结构化设计方法263.3.1 3.3.1
11、 软件设计的基本概念软件设计的基本概念n1软件设计的基础软件设计的基础n开发阶段:设计、实现(编码)和测试n需求分析:主要解决“做什么”问题n软件设计:主要解决“怎么做”问题273.3.1 3.3.1 软件设计的基本概念软件设计的基本概念n从技术观点来看,软件工程包括:从技术观点来看,软件工程包括:n结构设计、数据设计、接口设计、过程设计n从工程管理角度来看,软件工程分两步完成:从工程管理角度来看,软件工程分两步完成:n概要设计和详细设计283.3.1 3.3.1 软件设计的基本概念软件设计的基本概念n2软件设计的基本原理软件设计的基本原理 n抽象n一种思维工具n抽出事物本质的共同特点,不考虑