欢迎来到天天文库
浏览记录
ID:41535230
大小:247.28 KB
页数:38页
时间:2019-08-27
《公共基础3-软件工程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程基础公共基础知识软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。结构化分析方法,数据流图,数据字典,软件需求规格说明书。结构化设计方法,总体设计与详细设计。软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。程序的调试2内容提要3.1软件工程基本概念软件的定义和组成计算机软件(Software)是计算机系统中与硬件相互依赖的另一部分,包括程序、数据、文档。软件分成三类:应用软件系统软件(操作系统、数据库管理系统、编译程序、设备驱动程序等)支撑软件(介于应用软件与系统软件间,协助用户开发软件的工具性软件,比如需求分析工具软件
2、、编码工具软件、测试/维护工具软件)43.1.1软件定义与软件特点软件危机落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。严重问题归结为成本、质量和生产率等问题为了解决软件危机,1968年提出了软件工程这一概念,并逐渐形成了软件工程学。(软件工程源自于软件危机)53.1.2软件危机与软件工程软件工程将工程化应用到软件开发过程中(在软件的开发工程中应用工程化原则)软件工程学——工程学的新兴领域软件工程3个要素:方法:完成工程项目的技术手段工具:支持软件开发、管理、文档生成的工具过程:对开发的各个环节进行控制和管理63.1.2软件危
3、机与软件工程软件工程过程软件开发过程:把用户的要求转变为软件产品的过程。73.1.3软件工程过程与软件生命周期3.1.3软件工程过程与软件生命周期软件的生命周期软件产品从提出、实现、使用维护、停止使用到退役的过程3个阶段软件定义软件开发软件运行维护6个阶段工作8可行性报告软件规格说明书测试分析报告3.1.3软件工程过程与软件生命周期定义阶段可行性研究与计划指定:能做吗?需求分析:做什么?开发阶段:软件设计:如何做?,分为概要设计和详细设计两个阶段。软件实现:实现,编码。软件测试:做的怎么样?运行维护阶段使用,不断维护9可行性报告软件规格说明书测试分析报告概要设计说明书详细设计说明书完成
4、编码及面向用户的手册软件工程的目标在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品软件工程学的范畴103.1.4软件工程的目标与原则软件工程原则抽象抽取事物最基本的特性和行为,忽略非本质细节信息隐蔽采用封装技术,将程序模块的实现细节隐藏起来模块化解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块局部化确定性一致性完备性可验证性113.1.4软件工程的目标与原则软件开发工具协助开发人员进行软件开发活动所使用的软件或环境需求分析工具、设计工具、编码工具、排错工具、测试工具等。软件开发环境全面支
5、持软件开发全过程的软件工具的集合计算机辅助软件工程:CASE123.1.5软件开发工具与软件开发环境3.2结构化分析方法1.需求分析定义:任务:导出目标系统的逻辑模型全面理解用户的各项要求,准确地表达各项要求主要工作:需求获取>需求分析>编写需求规格说明书>需求审评(验证需求文档的一致性、可行性、完整性和有效性)2.需求分析方法:结构化分析方法面向数据流的结构化分析方法(SA)、面向数据结构的Jackson方法(JSD)、面向数据结构的结构化数据系统开发方法(DSSD)面向对象分析方法(OOA)静态分析方法、动态分析方法143.2.1需求分析与需求分析方法需求分析:解决“做什么”问题1
6、.关于结构化分析方法结构化程序设计理论在需求分析阶段的运用面向数据流进行需求分析的方法自顶向下、逐层分解主要工具:数据流图(DFD)、数据字典(DD)、结构化英语、判定树、判定表153.2.2结构化分析方法2.结构化分析的常用工具数据流图(DFD)数据字典(DD)结构化分析方法的核心对数据流图(DFD)中出现的被命名的图形元素的确切解释判定树、判定表以图形形式描述数据流图(DFD)的加工逻辑163.2.2结构化分析方法数据流图(DFD):173.2.2结构化分析方法基本图形元素软件需求规格说明书是需求分析阶段的最后成果特点:①正确性;②无歧义性;③完整性;④可验证性;⑤一致性;⑥可理解
7、性;⑦可修改性;⑧可追踪性。最重要的是正确性183.2.3软件需求规格说明书3.3结构化设计方法1.软件设计的基础开发阶段包括了软件设计、实现(编码)和软件测试三部分,软件设计是开发阶段最重要的步骤。从工程管理角度来看,软件设计分两步完成:概要设计和详细设计203.3.1软件设计的基本概念需求分析:解决“做什么”问题软件设计:解决“怎么做”问题2.软件设计的基本原理抽象抽出事物本质的共同特点模块化信息隐蔽每个模块的实现细节对于其它模块来说是隐蔽
此文档下载收益归作者所有