【软件工程导论】知识点汇总 | 适用于考试复习 | 轻松通过考试

软件工程导论

软件工程的概念

建立并使用完善的工程化原则, 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法.

软件工程三要素

  1. 软件工程方法
  2. 软件工具
  3. 软件工程过程

常见软件开发模型

  1. 瀑布模型
  2. 快速原型模型
  3. 增量模型
  4. 螺旋模型
  5. 喷泉模型

软件危机

20世纪60年代, 计算机研发, 运行, 维护和管理过程中, 出现一系列严重问题的现象.

软件和程序的差别

软件=程序+文档=数据结构+算法+文档 。

程序和软件的区别是,软件是为了完成特定的功能,解决特定的问题而用计算机语言编写的命令序列集合,可以理解为应用程序的集合。而应用程序是软件的一个组成部分,它是软件的必要元素。

可行性分析任务

  1. 技术可行性分析
  2. 经济可行性分析
  3. 社会可行性分析

需求分析的3个层次

  1. 业务需求
  2. 用户需求
  3. 功能需求

E-R图

数据流图

软件设计原则

  1. 模块化
  2. 抽象
  3. 逐步求精
  4. 模块的独立性
  5. 信息隐蔽

模块和模块化

模块是构成软件系统的基本构件, 主要由数据说明, 执行语句等程序对象构成

模块化是将复杂的软件划分为功能相对独立且易于处理的模块的过程

信息隐蔽

信息隐蔽是指模块所包含的 “过程及数据” 信息, 对于其它模块需要隐蔽

耦合和内聚

衡量模块独立性的标准:耦合和内聚

保持模块独立性要达到的标准:高内聚低耦合

常见的耦合种类以及强弱

  1. 非直接耦合
  2. 数据耦合
  3. 控制耦合
  4. 特征耦合
  5. 公共环境耦合
  6. 内容耦合

耦合性逐渐增强

详细设计任务

  1. 模块的算法设计
  2. 模块的内部数据结构设计
  3. 模块接口设计
  4. 其它相关设计
  5. 模块测试用例设计
  6. 编写详细设计文档
  7. 详细设计评审及实现方案

PAD图、流程图

注释分类

  1. 序言性注释
  2. 中间注解(功能性注释)

软件测试的目的

尽可能多的找到软件中的错误,而不是证明软件的正确性

验收测试的概念

在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。

基本路径测试

定义:基本路径测试法又称独立路径测试,是在程序控制流图的基础上,通过分析控制结构的环路复杂性,导出基本可执行路径集合,从而设计出相应的测试用例的方法。

  1. 根据程序设计结果导出程序流程图的控制流图
    img

  2. 计算环路复杂度
    img

    流图中的区域数等于环形复杂度
    流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。

    流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

  3. 导出基本路径集,确定程序的独立路径
    基本测试路径:

    • 1-2-6
    • 1-2-3-6
    • 1-2-3-4-2
    • 1-2-3-5-2
  4. 设计相应的测试用例

基本路径arrobjectValuereturn
1-2-6[ ]1-1
1-2-3-6[1,2,3]21
1-2-3-4-2[1,2,3,4,5]21
1-2-3-5-2[1,2,3,4,5]43

等价类划分

等价划分是一种黑盒测试技术,把程序的输入域划分成若干个数据类,据此导出测试用例。

划分等价类

  1. 有效等价类: 合理, 有意义输入数据构成集合
  2. 无效等价类: 不合理, 无意义输入数据构成集合

等价类划分原则:

  1. 输入条件规定范围, 定义一个有效等价类和两个无效等价类
  2. 输入条件是布尔值, 一个有效等价类和一个无效等价类
  3. 规定输入数据是一组值, 程序对每个输入值分别进行处理. 每个输入值确立一有效等价类, 针对这组值确立一个无效等价类
  4. 规定输入数据必须遵守规则, 定义一个数据有效等价类 (符合规则) 和 若干个无效等价类(从不同角度违反规则).
  5. 已划分等价类中各元素在程序中处理方式不同, 将等价类进一步划分更小等价类

确立测试用例原则

  1. 为每一等价类规定一唯一编号
  2. 设计一新测试用例, 尽可能多覆盖尚未被覆盖的有效等价类重复, 直到所有有效等价类被覆盖

img

img

img

维护的分类

  1. 完善性维护 50%
  2. 适应性维护 25%
  3. 纠错性维护 21%
  4. 预防性维护 4%

维护副作用

  1. 编码副作用: 修改编码可能引入新错误
  2. 数据副作用: 修改数据结构, 容易导致设计与数据不相容
  3. 文档副作用: 对数据流, 软件结构, 模块逻辑等修改时, 文档也要进行相应修改, 否则导致文档与程序功能不匹配等错误

面向对象的基本特征

封装, 继承, 多态

基本概念:对象、类、封装、继承

用例图、类图

类图:

img

img

用例图:

画小人

则导致文档与程序功能不匹配等错误

面向对象的基本特征

封装, 继承, 多态

基本概念:对象、类、封装、继承

用例图、类图

类图:

[外链图片转存中…(img-Pf5TYrCy-1644338133699)]

[外链图片转存中…(img-mgHos2tW-1644338133700)]

用例图:

画小人

img
图片来源网络

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MuShan-bit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值