软件工程基本概念 您所在的位置:网站首页 软件工程是指什么的工程学科 软件工程基本概念

软件工程基本概念

2024-07-15 07:17| 来源: 网络整理| 查看: 265

文章目录 一,软件工程基本概念软件分类软件危机软件工程软件生命周期需求分析需求规格说明书(SRS) 二,结构化分析方法数据流图(DFD) 三,结构化设计方法软件设计的划分软件设计基本原理软件模块独立性概要设计**详细设计** 四,软件测试静态和动态测试白盒和黑盒测试软件测试步骤 五,程序的调试

一,软件工程基本概念

软件:程序,设计,文档。

软件分类

系统软件:操作系统,编译程序,汇编程序,网络软件,数据库管理系统。

应用软件:事务处理软件,工程与科学技术软件,实时处理软件,人工智能软件。

支撑软件(工具软件):需求分析工具软件,编译工具软件,测试工具软件,维护工具软件。

软件危机

需求增长,开发难控,质量难保,难以维护,成本提高,生产率低

软件工程

软件工程:应用于计算机软件的定义,开发和维护的一整套方法,工具,文档,实践标准和工序。

其目的是提高软件生产率,提高软件质量,降低软件成本。

其核心思想是把软件当成一个工程产品来处理。

软件工程三要素:

方法是完成软件工程项目的技术手段工具支持软件的开发,管理和文档生成过程支持软件开发的个环节的控制和管理 软件生命周期

将软件产品从提出,实现,使用维护到停止使用退役的过程称为软件生命周期 分为软件定义,软件开发及软件运行维护3个时期。维护是持续时间最长,花费代价最大的一个时期。

软件工程学的一个目的就是提高软件的可维护性,降低维护代价。

软件生命周期 3个时期共有8个阶段 定义时期:问题定义可行性研究,需求分析,概要设计

开发时期:详细设计,实现,设计

运行维护:使用,维护

需求分析

需求分析:确定系统的逻辑模型。参与人员有用户,项目负责人和系统分析员。

其工作:需求获取 需求分析 编写需求规格说明书 需求评审

产生文档:为需求规格说明书

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

需求规格说明书(SRS)

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

二,结构化分析方法

需求分析方法有: (1)结构化需求分析方法 (2)面向对象的分析方法

结构化分析方法:使用数据流图(DFD),数据字典(DD),判定表和判定树等工具来建立系统的逻辑模型

数据流图(DFD)

数据流图的图形元素: O 加工:输入数据经加工变换产生输出 -> 数据流:沿箭头方向传递数据的通道 = 存储文件(数据源):存放各种数据的文件 口 源(潭):系统和文件的接口 数据字典是结构化分析的核心

三,结构化设计方法 软件设计的划分

从工程管理角度划分:概要设计 详细设计 按技术观点分析:结构设计 数据设计 接口设计 过程设计

软件设计基本原理

抽象:在软件设计中,可以定出多个抽象级别,抽象层次从概要设计到详细设计逐步降低。

模块化:把一个待开发的软件分解为若干小的简单的部分,自顶向下逐层把软件划分为若干模块。

信息隐蔽:一个模块内的信息,对于不需要这些信息的其他模块来说不能访问。

模块的独立性:每个模块只完成独立的子功能,并且与其他模块的联系少且接口简单。模块的独立程度是评价设计好坏的重要度量标准。

软件模块独立性

高内聚性:指一个模块内部各个元素间彼此结合的紧密程度

低耦合性:指模块间互相连接的紧密程度

概要设计

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

概要设计的工具是程序结构图(SC)

详细设计

详细设计的任务: 确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。

详细设计的常用工具: 图形工具:程序流程图,N-S图,PAD,HIPO 表格工具:判定表 语言工具:PDL(伪码)

四,软件测试

软件测试的目的是发现程序中的错误。

软件测试的准则:

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

静态测试:不实际运行软件,通过人发挥思维优势发现程序中的错误

动态测试:基于计算机的测试,是为了发现错误而执行程序的过程

白盒和黑盒测试

白盒测试:把测试对象看作一个打开的盒子,利用程序内部的逻辑结构,对程序所有逻辑路径进行测试 (1)逻辑覆盖测试 (2)基本路径测试

黑盒测试:完全不考虑程序内部的逻辑结构,只检查程序是否能接受输入数据而产生正确的输出信息。 (1)等价类划分法 (2)边界值分析法 (3)错误推测法

软件测试步骤

单元测试:是对软件测试的最小单元——模块进行测试,目的是各模块内部的错误

集成测试:是把模块按照设计要求组装起来的同时进行测试,目的是发现与接口有关的错误。

确认测试:是验证软件的功能和性能是否满足各种需求,以及软件配置是否完全正确 系统测试:是将软件作为一个元素,与计算机系统其他元素组合在一起,进行集成测试

五,程序的调试

对程序进行了成功的测试后将进行程序调试,通常称为Debug(排错),主要在开发阶段进行。

程序调试的任务是诊断和改正程序的错误

基本步骤: (1)错误定位 (2)修改设计和代码,以排除错误 (3)进行回归测试,防止引进新的错误 软件测试方法: (1)强行排除法 (2)回溯法 (3)原因排除法

软件工程 定义: 可行性研究,初步项目计划->可行性分析报告 需求分析->需求规格说明书->数据流图DFD,判定树,数据字典DD,判定表 开发: 概要设计->概要设计说明书->程序结构图(SC) 详细设计->详细设计说明书->程序流程图,N-S,PAD,HIPO,判定表,PDL 实现->用户操作手册 测试->测试分析报告->静/动态,白/黑盒 维护: 使用 维护 退役



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有