C++二级-软件工程基础

1.软件工程的基本概念

1.1软件的定义

计算机软件是与计算机操作系统有关的程序、规规则及任何与之有关的文档和数据。
软件由两部分组成:一是机器可执行的程序及有关数据;二是机器不可执行的,与软件开发、运行、维护、使用和培训有关的文档。

1.2软件工程

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

1.3软件的特点

  1. 软件是一种逻辑实体,具有抽象性;
  2. 软件的生产与硬件不同,它没有明显的制作过程;
  3. 软件在运行、使用期间不存在磨损、老化问题;
  4. 软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;
  5. 软件复杂性高,成本昂贵;
  6. 软件开发涉及诸多的社会问题。

1.4软件危机

软件危机是指落后的软件生产方式无法满足瞬速增长的计算机软件需求,从而导致软件与维护过程中出现一系列严重问题的现象。其中软件危机主要表现为:

  1. 软件开发进度难以预测;
  2. 软件开发成本难以控制且不断提高;
  3. 软件需求的增长得不到满足;
  4. 软件产品质量难以保证
  5. 软件产品难以维护
  6. 软件开发生产率的提高赶不上硬件的发展和应用需求的增长

1.5软件生命周期

软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。所以软件生命周期是指软件产品从提出、实现、使用维护到停止使用退役的过程。
软件生命周期分为3个阶段:

  1. 软件定义阶段,通常包括可行性研究初步项目计划和需求分析;
  2. 软件开发阶段,通常包括总体设计、详细设计、编码和测试;
  3. 软件维护阶段,任务是使软件在运行中持久地满足用户的需要。
    在这里插入图片描述

2.结构化分析方法

2.1需求分析

需求分析是软件生命周期中的一个重要环节,目的是了解用户对软件在功能、性能和设计等方面的期望。对这些需求进行整理和分析,确定软件需要实现的功能,以及性能和设计等其他方面。
软件的需求分析阶段的工作,可以概括为四个方面:需求获取需求分析编写需求规格说明书需求评审

2.2常用工具

常用工具包括数据流图(DFD图)、数据字典(DD)、判定树和判定表。

2.3需求规格说明书

需求规格说明书是程序设计的基础和依据,主要标准有:完整性正确性无歧义可验证性一致性可理解性可修改性可追踪性

3.结构化设计方法

3.1软件设计

软件设计是根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块等,即确定系统的物理模型。
工程角度看,软件设计主要分为概要设计详细设计
技术角度看,软件设计主要分为结构设计数据设计接口设计过程设计

3.2软件设计的原理

软件设计的4个基本原理包括:抽象模块化信息隐藏模块独立性

3.3概要设计

概要设计的基本任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档和概要设计文档评审。
概要设计的常见术语:

  • (1)深度:表示控制的层数。
  • (2)宽度:整体控制跨度(最大模块数的层)的表示。
  • (3)扇入:直接调用一个给定模块的模块个数。
  • (4)扇出:由一个模块直接调用的其他模块数。

3.4详细设计

详细设计的基本任务:详细设计每个模块的实现算法和所需的局部数据结构。
详细设计的常用工具:程序流程图、盒图(N-S图)、PAD图、HIPO图、判定表和PDL(伪码)。

4.软件测试与程序调试

软件测试是一种实际输出和预期输出之间的比较过程,目的就是为了尽可能多的发现软件中的问题。

4.1软件测试的方法

根据被测软件是否需要被执行分为静态测试和动态测试。按照功能划分,可以分为黑盒测试和白盒测试。
(1)白盒测试
白盒测试是根据程序的内部逻辑来设计测试用例,主要方法包括逻辑覆盖测试基本路径测试
(2)黑盒测试
黑盒测试是根据规格说明书的功能来设计测试用例,检查程序的功能是否符合要求。黑盒测试不要考虑程序内部的逻辑结构,主要方法包括等价类划分法、边界值分析法和错误推测法等。

4.2软件测试的实施

软件测试的实施过程主要包含4个步骤:单元测试集成测试确认测试系统测试

4.3程序的调试

程序调试是在测试发现错误之后排除错误的过程,主要任务是诊断错误和排除错误。
程序调试的方法:主要分为静态调试和动态调试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值