HIT-软件构造lab2

该实验目标是训练ADT设计、规约、测试及OOP实现,涵盖Poetic Walks、Social Network重实现和Chess游戏。实验中涉及Graph的测试与泛型实现,以及棋盘类、动作类、游戏类的设计,通过EclEmma进行覆盖率测试,并进行手动测试以确保功能正确性。
摘要由CSDN通过智能技术生成

1 实验目标概述

实验的主要目标是训练ADT的设计、规约、测试和使用OOP技术实现ADT。
主要有下面几个方面:
针对给定的 应用问题,从描述中识别所需 ADT
设计 ADT 的规约并评估规约的质量
根据 ADT 的规划设计测试用例,并写出 testing strategy
实现 ADT 的泛型化
根据规约设计 ADT 的多种不同的实现;针对每种实现,设计 representition、
rep invariant 和 abstraction function。
使用 OOP 实现 ADT 并判定表示不变性是否违反已经是否有 rep exposure

2 实验环境配置

本次实验的配置 需要到eclipse marketplace中下载需要求的EclEmma插件
在这里插入图片描述

3 实验过程

直接从给定的链接
link.
中提取本次实验需要的信息

3.1 Poetic Walks

3.1.1Get the code and prepare Git repository

直接从下载好的文件当中提取需要的代码,然后在工作台的lab2文件夹中放置含有该任务的代码文件

3.1.2Problem 1: Test Graph

1 、 主 要 是 测 试 Graph.empty() 函数的 testing strategy 。
测试 在不同的 L 的情况下,只要 L 为 immutable 类型的数据类型就可以使用。所以 测试策略就是使用不同的 immutable 类型的数据,此处选择 Integer 和 Long 以及接下来会使用的String 进行测试,保证测试包括 set、add、remove,Vertices,等函数即可
2、书写测试 Instance 方法的 testing strategy。对每一个需要测
试的函数进行输入空间的划分.

3.1.3Problem 2: Implement Graph

3.1.3.1Implement ConcreteEdgesGraph

定义两个私有String类型source和target存放每个边的起止点,定义一个私有int类型weight保存这条边的权重(长度)
2.在ConcreteEdgesGraph中Edge类测试
Edge中定义了四种操作和重写的tostring方法,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值