首页 百科知识 软件工程基础

软件工程基础

时间:2022-09-17 百科知识 版权反馈
【摘要】:软件危机指在计算机软件的开发和维护中遇到的一系列严重问题。

一、软件工程基本概念

(一)软件的定义与特点

1定义软件是指与计算机系统的操作有关的计算机

程序规程规则以及可能有的文件文档和数据

2特点

是逻辑实体有抽象性

生产没有明显的制作过程

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

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

复杂性较高成本昂贵

开发涉及诸多社会因素

 

(二)软件的分类

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

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

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

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

 

(三)软件危机与软件工程

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

 

(四)软件生命周期

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

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

 

(五)软件工程的原则

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

 

结构化分析方法

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

 

(一)常用的分析方法

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

面向对象分析方法

 

(二)结构化分析常用工具

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

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

符号名称作用

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

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

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

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

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

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

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

 

(三)软件需求规格说明书

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

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

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

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

 

三、结构化设计方法

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

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

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

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

 

概要设计

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

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

 

详细设计的工具

详细设计的工具包括

图形工具程序流程图N-SPADHIPO

表格工具判定表

语言工具PDL(伪码)

 

四、软件测试

目的

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

准则

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

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

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

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

 穷举测试不可能

 妥善保存设计计划测试用例出错统计和最终分析

报告

 

软件测试技术和方法

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

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

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

 

软件测试的实施

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

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

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

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

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

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

 

五、程序的调试

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

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

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈