就业数据资源平台
当前位置:首页 > MS Office应用
2015计算机一级MSOffice辅导资料:软件工程基础

软件工程基础


  3.1软件工程基本概念


  1.软件的定义与特点


  (1)定义:软件是指与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档和数据。


  (2)特点。


  •是逻辑实体,有抽象性。


  •生产没有明显的制作过程。


  •运行使用期间不存在磨损、老化问题。


  •开发、运行对计算机系统有依赖性,受计算机系统的限制,导致了软件移植问题。


  •复杂性较高,成本昂贵。


  •开发涉及诸多社会因素。


  2.软件的分类


  软件可分应用软件、系统软件和支撑软件3类。


  (1)应用软件是特定应用领域内专用的软件。


  (2)系统软件居于计算机系统中最靠近硬件的一层,是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。


  (3)支撑软件介于系统软件和应用软件之间,是支援其它软件的开发与维护的软件。


  3.软件危机与软件工程


  软件危机指在计算机软件的开发和维护中遇到的一系列严重问题。软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序,包括软件开发技术和软件工程管理。


  4.软件生命周期


  软件产品从提出、实现、使用维护到停止使用的过程称为软件生命周期。


  在国家标准中,软件生命周期划分为8个阶段①软件定义期:包括问题定义、可行性研究和需求分析3个阶段。②软件开发期:包括概要设计、详细设计、实现和测试4个阶段。③运行维护期:即运行维护阶段。


  5.软件工程的原则


  软件工程的原则包括:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。


  3.2结构化分析方法


  需求分析的任务是发现需求、求精、建模和定义需求的过程,可概括为:需求获取、需求分析、编写需求规格说明书和需求评审。


  1.常用的分析方法


  •结构化分析方法:其实质着眼于数据流,自顶向下,逐层分解,建立系统的处理流程。


  •面向对象分析方法。


  2.结构化分析常用工具


  结构化分析常用工具包括数据流图、数字字典(核心方法)、判断树和判断表。


  (1)数据流图:即DFD图,以图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能。是一种功能模型。


  符号名称作用:


  •箭头代表数据流,沿箭头方向传送数据的通道


  •圆或椭圆代表加工,输入数据经加工变换产生输出


  •双杠代表存储文件,表示处理过程中存放各种数据文件


  •方框代表源和潭,表示系统和环境的接口


  (2)数据字典:结构化分析方法的核心。数据字典是对所有与系统相关的数据元素的一个有组织的列表。以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。


  (3)判定树:使用判定树进行描述时,应先从问题定义的文字描述中分清判定的条件和判定的结论,根据描述材料中的连接词找出判定条件之问的从属关系、并列关系、选择关系,根据它们构造判定树。


  (4)判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合引发的,使用判定表比较适宜。


  3.软件需求规格说明书


  软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。


  (1)软件需求规格说明书的作用:①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。


  (2)软件需求规格说明书的内容:①概述;②数据描述;③功能描述;④性能描述;⑤参考文献;⑥附录。


  (3)软件需求规格说明书的特点:①正确性;②无歧义性;③完整性;④可验证性;⑤一致性;⑥可理解性;⑦可修改性;⑧可追踪性。


  3.3结构化设计方法


  1.软件设计的基本概念和方法


  软件没计是一个把软件需求转换为软件表示的过程。


  (1)基本原理:抽象、模块化、信息隐藏、模块独立性(度量标准:耦合性和内聚性,高耦合、低内聚)。


  (2)基本思想:将软件设计成由相对独立、单一功能的模块组成的结构。


  2.概要设计


  (1)4个任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档、概要设计文档评审。


  (2)面向数据流的设计方法:数据流图的信息分为交换流和事物流,结构形式有交换型和事务型。


  3.详细设计的工具


  详细设计的工具包括:


  •图形工具:程序流程图、N-S、PAD、HIPO。


  •表格工具:判定表。


  •语言工具:PDL(伪码)。


  3.4软件测试


  1.目的


  为了发现错误而执行程序的过程。


  2.准则


  •所有测试应追溯到用户需求。


  •严格执行测试计划,排除测试的随意性。


  •充分注意测试中的群集现象。


  •程序员应避免检查自己的程序。


  •穷举测试不可能。


  •妥善保存设计计划、测试用例、出错统计和最终分析报告。


  3.软件测试技术和方法


  软件测试的方法按是否需要执行被测软件的角度,可分为静态测试和动态测试,按功能分为白盒测试和黑盒测试。


  (1)白盒测试:根据程序的内部逻辑设计测试用例,主要方法有逻辑覆盖测试、基本路径测试等。


  (2)黑盒测试:根据规格说明书的功能来设计测试用例,主要诊断方法有等价划分法、边界值分析法、错误推测法、因果图法等,主要用于软件确认测试。


  4.软件测试的实施


  软件测试是保证软件质量的重要手段,软件测试是一个过程,其测试流程是该过程规定的程序,目的是使软件测试工作系统化。


  软件测试过程分4个步骤,即单元测试、集成测试、验收测试和系统测试。


  单元测试是对软件设计的最小单位——模块(程序单元)进行正确性检验测试。


  单元测试的目的是发现各模块内部可能存在的各种错误。


  单元测试的依据是详细的设计说明书和源程序。


  单元测试的技术可以采用静态分析和动态测试。


  3.5程序的调试


  (1)任务:诊断和改正程序中的错误。


  (2)调试方法:强行排错法、回溯法和原因排除法。

就业数据资源平台