一~三讲
§ 软件构造的多维度视图
§ 软件构造的阶段划分、各阶段的构造活动
§ 内部/外部的质量指标
§ 软件配置管理SCM与版本控制系统VCS
§ Git的结构、工作原理、基本指令
四~八讲
§ 基本数据类型、对象数据类型
§ 静态/动态类型检查
§ Mutable/Immutable
§ 值的改变、引用的改变、final
§ 防御式拷贝
§ Snapshot diagram
§ Specification、前置/后置条件
§ 行为等价性
§ 规约的强度
§ ADT操作的四种类型
§ 表示独立性、表示泄露
§ 不变量、表示不变量RI
§ 表示空间、抽象空间、AF
§ 以注释的形式撰写AF、RI
§ 接口、抽象类、具体类
§ 继承、override
§ 多态、overload
§ 泛型
§ 等价性equals()和==
§ equals()的自反、传递、对称
§ hashCode()
§ 不可变对象的引用等价性、对象等价性
§ 可变对象的观察等价性、行为等价性
第九讲
§ Programing for/with reuse
§ LSP
§ 协变、反协变
§ 数组的子类型化
§ 泛型的子类型化
§ 泛型中的通配符(?)
§ Delegation
§ Comparator和Comparable
§ CRP原则
§ 接口的组合
§ 白盒框架的原理与实现
§ 黑盒框架的原理与实现
十~十一讲
§ 可维护性的常见度量指标
§ 聚合度与耦合度
§ SOLID
§ 语法、正则表达式
§ 设计模式adapter、decorator、strategy、template、
iterator/iterable、factory method、visitor
第十二讲
§ 健壮性和正确性
§ Throwable
§ Error/Runtime异常、其他异常
§ Checked异常、Unchecked异常
§ Checked异常的处理机制:
– 声明、抛出、捕获、处理、清理
现场、释放资源等
§ 自定义异常类
§ 断言的作用、应用场合
§ 防御式编程的基本思路
§ 黑盒测试用例的设计
– 等价类划分、边界值分析
§ 以注释的形式撰写测试策略
§ JUnit测试用例写法
§ 测试覆盖度
软件的外部质量指标
外部质量指标:
正确性:最重要的指标(按照预先的规约进行)
正确性保证:测试与调试;防御式编程;形式化方法
健壮性:针对异常情况的处理,是对正确性的补充
异常:依据规约,未被specification覆盖的情况
可扩展性(应对变化):对软件的修改是否足够容易。
规模越大,扩展越难
简约设计主义;分离设计主义
可复用性:一次开发,多次使用
软件构造常见的模型
瀑布模型(线性推进)
衔接(文档);无法适应需求的变化
增量过程:多个瀑布的串行
V模型:每次加评价与确认验证
螺旋:引用风险评估和分析
本文深入探讨了软件构造的多维度视图,包括阶段划分、内部/外部质量指标,强调了Git在版本控制中的作用。此外,讲解了基本数据类型、类型检查、对象不变量、防御式编程以及测试策略。还涉及了可维护性、耦合度、SOLID原则等设计原则,并介绍了异常处理和测试覆盖率。最后,讨论了程序重用、设计模式和软件质量度量标准。

被折叠的 条评论
为什么被折叠?



