软件工程基础

本文概述了软件工程的基础概念,包括软件分类、三要素(方法、工具和过程)、结构化分析与设计方法,以及软件测试和调试的关键步骤。重点介绍了需求分析的结构化方法和数据流图在设计中的应用。
摘要由CSDN通过智能技术生成

一、软件工程基础

软件:程序、数据、文档

软件分类
1.系统软件
操作系统、编译程序、汇编程序、网络软件、数据库管理系统
2.应用软件
事务处理软件、工程与科学计算软件、实时处理软件、人工智能软件
3.支撑软件(工具软件)
需求分析工具软件、编译工具软件、测试工具软件、维护工具软件

软件工程
软件工程:应用于计算机软件的定义、开发和维护的一-整套
方法、工具、文档、实践标准和工序。
其目的是提高软件生产率、提高软件质量、降低软件成本。
其核心思想是把软件当作一个工程产品来处理。

软件工程三要素
1.方法是完成软件工程项目的技术手段
2.工具支持软件的开发、管理和文档生成
3.过程支持软件开发的各环节的控制和管理
软件生命周期
将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。
分为
软件定义、软件开发及软件运行维护3个时期。维护是持续时间最长,花费代价最大的一个时期。
软件工程学的一个目的就是提高软件的可维护性,降低维护代价。
3个时期共有8个阶段

需求分析
需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。
其工作:需求获取需求分析编写需求规格说明书需求评审
产生文档:为需求规格说明书。
口 
需求规格说明书的作用:
( 1 )便于用户、开发人员进行理解交流;
( 2 )反映用户问题的结构,可以作为软件开发工作的基础和依据;
( 3 )作为确认测试和验收的依据。

需求规格说明书(SRS)
需求分析阶段产生的
主要文档是"软件需求规格说明书”,其特点是:
正确性:体现待开发系统的真实要求
无歧义性:对每个需求只有一-种解释
完整性:包括全部有意义的需求
可验证性:每个需求都是可验证的
致性:各个需求的描述不矛盾
可理解性:需求说明书必须简明易懂
可修改性:结构风格在改变时,是易于实现的
可追踪性:每个需求的来源和流向是清晰的

二、结构化分析方法

需求分析方法有:
①结构化需求分析方法
②面向对象的分析方法
结构化分析方法:

1.使用数据流图(DFD)、

2.数据字典(DD):数据字典是结构化分析的核心。

3.判定表和判定树等工具,来建立系统的逻辑模型。

三、结构化设计方法

从工程管理角度划分: 概要设计  详细设计
按技术观点划分:

结构设计
数据设计
接口设计
过程设计

软件设计基本原理
抽象:在软件设计中 ,可以定出多 个抽象级别,抽象层次从概要设计到详细设计逐步降低。
模块化:把一个待开发的软件分解成若干小的简单的部分,自顶向下逐层把软件划分成若干模块。
信息隐蔽:一个模块内的信息,对于不需要这些信息的其他模块来说不能访问。
模块独立性:每个模块只完成独立的子功能 ,并且与其他模块的联系少且接口简单。模块的独立程度是评价设计好坏的重要度量标准。可以分为以下两点

内聚性:指一个模块内部各个元素间彼此结合的紧密程度
耦合性:指模块间互相连接的紧密程度

概要设计
零概要设计的任务:
①设计软件系统结构
②数据结构及数据库设计
③编写概要设计文档
④概要设计文档评审
概要设计的工具是程序结构图(SC)。

详细设计
详细设计的任务:
确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。
详细设计的常用工具:
图形工具:程序流程图、N-S图、PAD、 HIPO
表格工具:判定表
语言工具: PDL (伪码)

程序流程图

在数据流图(DFD)中箭头线段表示数据流

四、软件测试

零软件测试的目的是发现程序中的错误
软件测试的准则:
所有测试都应追溯到用户需求
在测试之前制定测试计划,并严格执行
充分注意测试中的群集现象
避免由程序的编写者测试自己的程序
不可能进行穷举测试
妥善保存测试分析报告,为维护提供方便

静态测试
不实际运行软件,通过人发挥思维优势发现程序的错误
动态测试
基于计算机的测试,是为了发现错误而执行程序的过程

白盒测试:把测试对象看作一个打开的盒子,利用程序内部的逻辑结构,对程序所有逻辑路径进行测试        分为①逻辑覆盖测试②基本路径测试
黑盒测试:完全不考虑程序内部的逻辑结构(程序外部功能),只检查程序是否能接收输入数据而产生正确的输出信息        分为①等价类划分法②边界值分析法③错误推测法

软件测试步骤

五、软件的调试

对程序进行了成功的测试之后将进入程序调试,通常称为Debug(排错) ,
主要在开发阶段进行。
程序调试的任务诊断和改正程序的错误

基本步骤:
①错误定位
②修改设计和代码,以排除错误
③进行回归测试,防止引进新的错误

软件调试方法:
①强行排除法②回溯法③原因排除法

六、总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值