软件=程序+数据+文档

  • 程序:计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能
  • 数据:使得程序能够适当操作信息的数据结构
  • 文档:描述程序的研制过程,方法和使用的图文资料

软件的本质特性:复杂性,一致性,可变性,不可见性

软件开发面临的挑战:客户不满意,风险与成本问题,项目过程失控,无力管理团队

软件工程的目标:创造足够好的软件

软件工程生命周期:
软件定义阶段:1.问题定义 2.可行性分析 3.需求分析 。
软件开发阶段:1.总体设计 2.详细设计 3.编码 4.单元测试 5.综合测试 。
运行和维护阶段 1.运行维护

软件工程开发方法:

  • 面向过程:算法为基本构造单元,自顶向下,将功能和数据一定程度分离
  • 面向对象:类为基本单元,对象是类的实例化,对象之间以消息传递为基本手段
  • 面向构件
  • 面向服务应用业务过程由服务组成,而服务由构建组成

软件开发的基本策略:

  • 软件复用:不必从零做起,复用已有构建,具有较高质量
  • 分而治之:将复杂问题分解为若干简单问题,逐个解决
  • 逐步演进
  • 优化拆中:优化软件各个质量特性(运行速度,资源利用等),协调各个质量特性,实现整体质量最优

软件工程的Wasserman规范

  1. 抽象
  2. 软件构件方法
  3. 用户界面原型化
  4. 软件体系结构
  5. 软件过程
  6. 软件复用
  7. 度量
  8. 工具与集成环境

软件质量:

  • 软件过程:过程质量
  • 软件产品:内部质量,外部质量
  • 产品效用:使用质量

软件工程复试笔记
如何实现软件的高质量

  • 高质量的软件设计
  • 规范的编码
  • 有效的测试

**说说你对软件工程的认识和理解。**

软件工程就是应用工程的方法对软件进行开发与维护,并开展对软件进行开发与维护方法和途径的研究

**单元测试**

对软件中的最小可测试单元进行检查和验证(好比城墙的每一块砖)

单元测试内容:

  • 模块接口:对通过所有被测模块的数据流进行测试
  • 局部数据结构:检查模块中数据结构是否正确使用和定义
  • 边界条件:检查数据流或控制流中条件或数据处于边界时的出错可能性
  • 独立路径:检查可能引发错误的路径和进行错误处理的路径
  • 出错处理:检查由计算错误,判定错误,控制流错误导致的程序错误

单元测试原则:

  1. 快速的
  2. 独立的
  3. 可重复的
  4. 自我验证的
  5. 及时的

单元测试过程:

  1. 确定要做的单元测试
  2. 编写或修改单元测试用例
  3. 执行单元测试
  4. 根据结果修改或增加单元测试
  5. 直到满足测试质量

黑盒测试法:
把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。黑盒测试又称为功能测试,包含等价类划分法、边界值法、错误推测法、因果图法等。

白盒测试法:
是把程序看成装在一个透明的白盒子里,测试者完全知道程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。白盒测试又称为结构测试,包含逻辑覆盖法和基本路径测试法。

使用代码覆盖率作为测试衡量标准

测试用例的重要性

  • 降低软件测试成本
  • 保证测试工作质量
  • 评估和检验测试机效果

测试用例设计:

  • 具有代表性和典型性
  • 寻求系统设计和功能设计的弱点
  • 既有正确输入也有错误或异常输入
  • 考虑用户实际的诸多使用场景

等价类划分:
将输入域分为尽可能多少的若干子域,两两互不相交

软件工程复试笔记

举个栗子
软件工程复试笔记

相关文章:

  • 2022-01-05
  • 2021-12-07
  • 2021-09-08
  • 2021-08-16
  • 2022-12-23
  • 2021-11-18
  • 2021-10-16
  • 2021-09-14
猜你喜欢
  • 2021-10-18
  • 2021-05-04
  • 2022-12-23
  • 2021-10-19
相关资源
相似解决方案