TADS系统重构总结汇报

湖南卓逸天成科技有限公司


一 初步理解原系统

书和案例

TODO: 图片

是两个重要的手段和途径 理解和掌握基础理论


一 初步理解原系统

###遵循给定案例使用原系统,从而发现了一些Bugs

如: 模块HaveBIT属性已经从界面删除,但是矩阵计算却没有去掉相关逻辑,导致计算结果不正确。

第一阶段 初步理解原系统


第二阶段 专业工具辅助分析理解


软件系统部件依赖关系图图

部件依赖关系图


代码量趋势图

代码量趋势图


复杂度(类规模)趋势图

TADS_类规模趋势图_2017_01


三 自测试-安全之网


自测试代码案例

///多层次(案例10)
/// <case>
///  +---------------------+                                      
/// |    +----------+      |      +----------+              
/// |    |    M3(F2)|      |      |    M2    |    
///(P1)-->(P3)      (P4)-->(P2)-->(P5)--->   (P6)(T1)
/// |    |          |      |      |          |     
/// |    +----------+      |      +----------+     
/// |      (M1)  (F1)      |
/// |+-------------------+ |
/// </case>
Establish context = () => 
{
    root.module("M1").with_fault("F1").module("M3").with_fault("F2");
    root.module("M1").link_inward("P1").to(root.module("M1").module("M3").input("P3"));
    root.module("M1").module("M3").link("P4").to_outward(root.module("M1").port("P2"));
    root.module("M1").link("P2").to(root.module("M2").input("P5"));
    root.module("M2").output("P6").with_test("T1");
}

private It two_reachable_F1_T0_and_F1_T1 = () => result.should_contain_only("F1-T1", "F2-T1");

四 重构-换汤不换药


五 前后数据比较


六 计算机辅助研究 CAR

业务建模 => 代码同步建模

自测试 => 探索性测试


可以应用与研究的早期阶段,可以富足业务模型构建和数据验证。 业务模型 => 代码实现 => 探索测试 => 业务模型

( 本文版权属于© 2015 卓逸天成 | 转载请注明作者和出处:卓逸知识文库 http://kb.skight.com )