软件工程导论复习
2020-08-22 12:11:55 49 举报
AI智能生成
我们的软件工程复习知识点啦十五个字十五个字我们的软件工程复习知识点啦十五个字十五个字
作者其他创作
大纲/内容
软件定义
问题定义
要解决的问题是什么?
可行性研究
系统流程图
概括描绘物理系统的传统工具
数据流图(DFD)
图形化技术,描绘信息流和数据从输入到输出过程中所经受的变换。逻辑过程
数据的源点/终点
变换数据的处理
数据存储
数据流
需求分析
对软件系统综合要求
1、功能需求
2、性能需求
3、可靠性和可用性需求
4、出错处理需求
5、接口需求
6、约束
7、逆向需求
8、将来可能提出的需求
工具
实体联系图
数据对象
数据对象的属性
数据对象之间彼此的联系
1:1
1:n
n:n
状态转换图
IPO图
输入/处理/输出图
输入/处理/输出图
验证需求正确性
一致性
完整性
现实性
有效性
软件开发
总体设计
模块化
抽象
逐步求精
信息隐藏和局部化
模块独立
耦合
低耦合,对一个软件结构内不同模块之间互连程度的度量
内容耦合
公共环境耦合
控制耦合
数据耦合
内聚
高内聚,一个模块内各个元素彼此结合的紧密程度
功能内聚
顺序内聚
通信内聚
过程内聚
时间内聚
逻辑内聚
偶然内聚
工具
HIPO图
层次图加输入/处理/输出图
详细设计
设计 算法+数据结构
基本控制结构
顺序
选择
循环
工具
程序流程图
盒图
PAD图(问题分析图)
判定表
清晰的表达复杂的条件组合与应做的动作之间的关系
判定树
jackson方法是面向数据结构的设计方法
编码和单元测试
测试方法
黑盒测试(功能测试)
知道产品应该具有的功能,来检验是否每个功能都能正常使用
白盒测试(结构测试)
知道产品内部工作过程,来检验产品内部动作是否按照规格说明书的规定正常进行
测试步骤
单元测试
1、模块测试
发现编码和详细设计的错误
白盒测试,并行测试
测试重点
模块接口
局部数据结构
重要的执行通路
出错处理通路
边界条件
编码和详细设计
集成测试
2、子系统测试
测试模块的接口
3、系统测试
发现软件设计中、需求说明中的错误
模块组装程序方法
非渐增式测试
渐增式测试
自顶向下集成策略
优点:
不需要测试驱动程序
在测试早期实现并验证系统的主要功能
在早期发现上层模块的接口错误
缺点:
需要存根程序,可能遇到相关问题
低层关键模块中的错误发现较晚
不能在早期充分展开人力
自底向上集成策略
与自顶向下相反
改进的自顶向下测试方法
混合法
概要设计
确认测试
4、验收测试
系统需求说明书中的错误
通常使用黑盒测试
是否满足需求分析中需求说明书的内容
5、平行运行
白盒测试技术
逻辑覆盖
语句覆盖
每个语句至少被执行一次
判定覆盖
每个判定的每种可能都至少执行一次(TF,FT)
条件覆盖
判定表达式中的每个条件都取到各种可能结果。条件覆盖同城比判定覆盖强,但是有时候只满足条件覆盖不一定满足判定覆盖
判定/条件覆盖
既满足判定覆盖也满足条件覆盖
条件组合覆盖
每个判定表达式中条件的各种可能组合都至少出现一次
点覆盖
等于语句覆盖
边覆盖
等于判定覆盖
路径覆盖
最强覆盖,程序每条可能路径都至少执行一次
黑盒测试技术
等价划分
边界值分析
刚好等于
刚刚小于
刚刚大于
综合测试
软件维护
软件维护
非结构化维护
只有程序代码,评价困难
结构化维护
评价设计文档,确定软件重要特点,估量改动带来的影响,计划实施途径
修改设计并对修改进行复查
编写相应源代码
回归测试
交付
决定软件可维护性的因素
可理解性
可测试性
可修改性
可移植性
可重用性
四个维护方面
改正性维护
完善性维护
适应性维护
预防性维护
0 条评论
下一页