软件构造
HIT软件构造课程学习过程中的记录
可乐哈哈哈
这个作者很懒,什么都没留下…
展开
-
面向复用性软件构造技术
面向复用性软件构造技术设计可复用类面向对象编程可复用类设计行为子类型与Liskov替换原则行为子类型Liskov替换原则设计可复用库与框架设计可复用类面向对象编程可复用类设计1、Encapsulation and information hiding 封装与信息隐藏2、Inheritance and overriding 继承与重写3、Overloading 重载4、Parametri...原创 2020-05-06 22:24:09 · 175 阅读 · 0 评论 -
协变与逆变 Covariance & Contravariance
协变与逆变Covariance 协变Contravariance 逆变(反协变)常见例子数组——协变Covariance 协变父类型相较于子类型变得更加具体返回值类型:不变或变得更具体示例如下:class T { Object a() { … }}class S extends T { @Override String a() { … } }异常的类型:不变或变得更具体...原创 2020-05-06 22:23:39 · 284 阅读 · 0 评论 -
可复用性 Reusability
可复用性Reusability1.复用层次1.1源代码1.1.1白盒复用1.1.2黑盒复用1.2模块:类和接口类的复用1.3库:API1.4架构: 框架framework2.可重用性的外部表现2.1类型可变2.2实现可变2.3功能分组2.4表示独立性2.5共性抽取可复用性是软件构造过程中一个重要的外部质量指标。对经过充分测试的程序进行复用可以利用其高可靠性、稳定性、适应性,并可降低成本以及开发...原创 2020-04-25 20:18:03 · 492 阅读 · 0 评论 -
独立路径数量与测试用例设计
独立路径数量与测试用例设计常用的可维护性度量中提及了圈复杂度(Cyclomatic Complexity),CC通过独立路径数量来衡量代码结构的复杂性,计算方法如下:CC = E-N+2,或 CC=P+1,或 CC=number of areas(如下图所示,共四个areas:R1、R2、R3、R4)具有复杂控制流的程序,即独立路径数多的程序:需要更多的测试用例来达到更佳的代码覆盖...原创 2020-04-25 16:31:04 · 3478 阅读 · 0 评论