本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象
编程(OOP)技术实现 ADT。针对Poetic Walks 和 Social Network
从问题描述中识别所需的 ADT;
设计 ADT 规约(pre-condition、post-condition)并评估规约的质量;
根据 ADT 的规约设计测试用例;
由于为了适应更多的数据类型
采用ADT 的泛型化;
根据规约设计 ADT 的多种不同的实现;针对每种实现,设计其表示
(representation)、表示不变性(rep invariant)、抽象过程(abstraction
function)
使用 OOP 实现 ADT,并判定表示不变性是否违反、各实现是否存在表
示泄露(rep exposure);
测试 ADT 的实现并评估测试的覆盖度;
使用 ADT 及其实现,为应用问题开发程序;
在测试代码中,能够写出 testing strategy 并据此设计测试用例。
ADT实现
用ConcreteEdgesGraph 和 ConcreteVerticesGraph 是实现接口Graph
再用Graph类来完成GraphPoet
在ADT中注意ADT checkRep()检验表示不变性 设计规约
creator producer Observes Mutators 为了保证ADT的正确性为ADT的每个方法写test