前言:
秉承着及时总结的习惯,这次先做一个小小的总结,不过好像还不是很及时哦!
总结:
先来一个思维导图吧!
这是概论的思维导图,主要是说明了整个视频的内容,总结的可能不是很全面,但是大体上算是宏观把控吧!
程序设计
目标:数据,系统结构,过程的设计
任务:概要(逻辑)和详细(过程)设计
过程:规范,总体设计,处理方式设计,数据结构设计,可靠性设计,文档,评审
基础:自顶向下,逐步细化;软件结构;程序结构;结构图;模块化;抽象化;信息隐蔽
后处理:处理说明,接口说明,数据结构,约束和限制,评审
问:什么是信息隐蔽?
即不影响,少影响其他模块。需要实现模块的独立性,即高内聚,低耦合。
耦合: 非直接耦合,数据耦合,标记耦合 弱 尽量
控制耦合 中 少用
外部耦合,公共耦合 较强 限制
内容耦合 强 不用
内聚: 功能内聚,信息(顺序)内聚 强
通信内聚,过程内聚 中
时间内聚,逻辑内聚,巧合内聚 低
程序编写
1.语言:汇编和高级
2.语言选择:最少工作量,最少技巧,最少错误,最少维护,减少记忆
3.程序编码总原则:先求正确后求快;先求清晰后求快;保持程序正确;保持程序整洁;清晰
4.好程序标准:易于测试和调试;修改;维护;简单;高效率
5.结构化程序设计:使用基本控制结构;自顶向下,逐步细化。主要原则:基本控制结构;单入口单出口;少用转向(GOTO)
6.自顶向下,逐步细化优点:符合认识规律;清晰
7.程序设计风格:源程序文档化(标识符的命名;注释;程序的视觉组织)
数据说明(次序规范;变量有序;注释)
语句结构(简单,直接)
输入和输出
效率(正确,清晰)
8.程序设计质量评价:正确性(语法,运行,不适当语句,有效、无效测试数据,任何可能的数据)
结构清晰性(三种基本结构,单入口单出口,控制GOTO语句)
易修改
易读
简单
9.程序复杂性度量:代码行度量;McCabe度量(环路复杂性度量)【上限<=10】;
Halstead预测程序长度
程序量比率,程序员工作量,程序的潜在错误
焦点复杂度
程序测试
1.软件测试的目的:发现错误
测试程序及文档
2.软件测试的原则:尽早和不断的进行测试
测试用例包括输入数据和对应的预期结果
程序员避免检查自己的程序
设计测试用例时,包括合理的输入条件和不合理的输入条件
严格按照测试计划
3.测试信息流:软件配置,测试配置,测试工具 输入
测试结果分析,排错,修正后的文档在测试 输出
4.测试过程自底向上,逐步集成
5.测试用例设计
测试方法:黑盒(等价类划分,边界值分析,错误推测法,因果图);白盒(逻辑覆盖) 6.软件测试的策略:单元,组装,确认(也叫有效性测试,利用黑盒的方法),系统测试(α测试 和 β测试)
7.测试种类:功能,可靠性,强度,性能,恢复,启动/停止,配置,安全性,可使用性,可支持性,安装,过程,互连,兼容性,容量,文档 发现错误
8.调试(解决错误,回归测试)
调试方法:强行排错,回溯法,归纳法,演绎法
原则:确定错误的性质和位置,修改错误
后记:
这样写没有思维导图清晰,但是这篇博客却写了很长时间,下次尝试用思维导图替换这些文字。