《第三章软件工程基础.doc》由会员分享,可在线阅读,更多相关《第三章软件工程基础.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 软件工程基础生存周期,各阶段,调试和测试31 软件工程基本概念计算机软件是包括程序、数据及相关文档的完整集合软件的特点(1)软件是一种逻辑实体(2)软件的生产与硬件不同,它没有明显的制作过程(3)软件在运行、使用期间不存在磨损、老化问题(4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制(5)软件复杂性高,成本昂贵(6)软件开发涉及诸多的社会因素软件分类:按功能分为应用软件、系统软件【数据库管理系统,实用工具,操作系统,语言处理系统】、支撑软件(或工具软件)【C语言编译器属于系统软件,编的程序属于应用软件】软件危机:主要表现在成本、质量、生产率等问题软件工程:是应用于计算机
2、软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。软件工程3要素:方法、工具和过程软件工程过程:是把软件转化为输出的一组彼此相关的资源和活动运行维护开发定义包含4种基本活动:(1)P软件规格说明;(2)D软件开发;(3)C软件确认;(4)A软件演进。软件生命周期:三个阶段:软件定义、软件开发、运行维护,主要活动阶段是:(1)可行性研究与计划制定;(2)需求分析【考点】;(3)软件设计(概要设计和详细设计)(4)软件实现(编码)(5)软件测试(6)运行和维护【花时间最多】软件工程的目标(了解)软件工程的原则:(1)抽象(2)信息隐蔽(3)模块化(4)局部化(5)确定性(6)一致性(
3、7)完备性(8)可验证性【软件设计原则】32 结构化分析方法结构化方法的核心和基础是结构化程序设计理论需求分析阶段的工作需求获取、需求分析、编写需求规格说明书、需求评审。需求分析方法【幻灯片】(1)结构化需求分析方法面向数据流的(SA)、面向数据结构的Jackson方法(JSD)、面向数据结构的结构化数据系统开发方法(DSSD)(2)面向对象的分析方法结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析常用工具(1)数据流图(DFD)(2)数据字典(DD)(3)判定树 (4)判定表数据流图(DFD):描述数据
4、处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。 圆或椭圆加工;箭头数据流;双杠存储文件;方框源、潭数据字典:结构化分析的核心,是对DFD中相关数据元素精确严格的定义。软件需求规格说明书(SRS):需求分析结果文档。便于用户、开发人员的交流;作为软件开发的依据;确认测试和验收的依据。特点:(1)正确性 (2)无歧义性 (3)完整性 (4)可验证性 (5)一致性。33 结构化设计方法软件设计:开发阶段最重要的步骤,是将需求准确地转化为完整软件产品或系统的唯一途径。从技术观点划分包括:结构设计、数据设计、接口设计、过程设计。从工程管理角度包括:概要设计、详细设计设计原则:高
5、内聚,低耦合概要设计基本任务(1)设计软件系统结构 (2)数据结构(全局)及数据库设计(3)编写概要设计文档 (4)概要设计文档评审设计工具:结构图(SC)矩形模块,箭头模块间的调用关系实心圆箭头传递控制信息,空心圆箭头传递数据信息结构图的基本形式基本形式、顺序形式、重复形式、选择形式结构图模块类型(了解)传入模块、传出模块、变换模块、协调模块典型数据流类型变换型:系统结构图由输入、中心变换、输出三部分组成事务型:接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果详细设计(不是编码)功能:为软件结构图中的每一个模块确定实现算法和局部数据结构常见的设计工具:图形工具
6、:PFD(程序流程图)、N-S(盒图)、PAD、HIPO语言工具:PDL(伪码) 表格工具:判定表34 软件测试软件测试目的:为发现错误而执行程序的过程软件测试方法静态测试:包括代码检查、静态结构分析、代码质量度量(不运行软件)动态测试:是基本计算机的测试,主要包括白盒测试和黑盒测试白盒测试:根据程序的内部结构和逻辑结构来设计测试例子,对程序的路径和过程进行测试,主要用于单元(模块)测试。 主要方法:逻辑覆盖、基本路径测试 黑盒测试:主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于确认(验收)测试。 主要方法:等价类划分法、边界值分析法、错误推
7、测法、因果图软件测试步骤:单元测试、集成测试、验收测试、系统测试【有序】35 程序的调试程序调试的任务:诊断和改正程序中的错误程序调试基本步骤(1)错误定位(2)修改设计和代码,以排除错误(3)进行回归测试,防止引进新的错误主要调试方法:(1)强行排错法(2)回溯法(3)原因排除法图的总结需求分析方法【幻灯片】(1)结构化需求分析方法面向数据流的(SA)、面向数据结构的Jackson方法(JSD)、面向数据结构的结构化数据系统开发方法(DSSD)(2)面向对象的分析方法结构化分析方法的实质:着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析常用工具(1)数据流图(DFD)(2)数据字典(DD)(3)判定树 (4)判定表概要设计基本任务(1)设计软件系统结构 (2)数据结构(全局)及数据库设计(3)编写概要设计文档 (4)概要设计文档评审设计工具:结构图(SC)矩形模块,箭头模块间的调用关系实心圆箭头传递控制信息,空心圆箭头传递数据信息详细设计(不是编码)功能:为软件结构图中的每一个模块确定实现算法和局部数据结构常见的设计工具:图形工具:PFD(程序流程图)、N-S(盒图)、PAD、HIPO语言工具:PDL(伪码) 表格工具:判定表
限制150内