面向对象设计与构造2022 (北京航空航天大学 - 计算机学院)

  • OO2022第三单元作业总结

    本单元学习了JML相关内容。本篇文章讲解了三次作业中如何选择正确的容器,如何选择正确的算法解决可能出现的性能问题。同时也阐释了本次作业的测试方法与Hack策略。最后完成了对于Network的一个拓展,实现了一个买卖广告系统,完成了对三个核心方法的JML的撰写。如有错误,谢谢指正!
    Lei_YuYu   2022-06-01 19:57   0   31
  • 第三单元总结

    第三单元总结 一、自动化测试 ​ 本单元推荐使用Junit 单元测试来对自己的程序进行测试,但事实上配置比较麻烦,而且跟着推荐的两篇博客配置时,也遇到了一点问题,第一篇博客要求修改测试用例模板,将模板中生成的package的包名需去掉test,事实上我修改之后就出现错误,无法识别测试文件,搞了好长时
    eiang   2022-06-01 19:55   0   52
  • BUAA_OO_UNIT3

    BUAA_OO_UNIT3 1.测试数据的准备 本单元的测试数据准备时,需要满足各个指令的前置条件,方法是自动生成并与他人对拍,关键是指令要覆盖全面,尽可能多。本人在对拍过程中发现一些很诡异的bug,例如有些bug体现在复杂度较高的方法输出有异常,但方法的逻辑并未出现问题,而是由于本人误用==比较两
    KouweiLee   2022-06-01 19:31   0   56
  • OO2022第三单元总结

    OO2022第三单元总结 第三单元主要学习了契约式编程以及JML,根据作业提供的JML实现相应的接口来完成一定的任务。 JML只严格约束了方法和类的行为、对象可见状态的改变等,内部的实际实现是自由的。在本单元作业中,需要灵活使用一些算法(Dijkstra、Kruskal等)、数据结构(二叉堆、并查集
    aaicy64   2022-06-01 18:55   0   30
  • BUAA_2022_OO_Unit3总结

    2022_OO第三单元总结 一、架构分析 1.hw9 基础架构和基本功能的搭建 hw9作为第三单元的第一次作业,基本上还是带我们熟悉jml的基础语法,搭建好整体的框架,实现一些基础功能,并在此基础上进行一些简单的优化。 基础架构 hw9中每个类的结构大致如下: //MyNetwork public
    wuhuaka   2022-06-01 18:23   0   30
  • 面向对象第三单元总结

    面向对象第三单元总结 第九次作业 作业需求 第九次作业要求我们根据官方包给出的接口中的JML规格来实现接口中的各种方法,最终需要实现了社交网络的模拟系统。 这次作业中的任务主要有 人的信息的维护 人与人之间关系的维护 群组信息的维护 网络中对社交关系的查询 其中前三项均是较为简单的功能,重点和难点在
    鲁文澔   2022-06-01 18:10   0   44
  • BUAA OO 2022 UNIT3总结

    测试数据生成与自动化测试方法 数据生成 UNIT3的测试数据生成很简单,首先是随机数据的生成,我写了一个python脚本来完成。通过不同的参数设定,可以满足强测与互测的数据需求。 import os import random import re import string test_dir = "
    郭鸿宇   2022-06-01 18:01   0   127
  • BUAA-OO-第三单元总结

    BUAA-OO-第三单元总结 规格实现策略 我实现规格时策略如下: 总结大家在讨论区和微信群里面聊的最多的函数,先看看大概思路,要添加些什么属性,把大致框架思考好,然后这个最难的自然放最后再写:) 从MyPerson、MyGroup等这几个开始写,最后再写MyNetwork。 先写那些函数名简单、J
    martinriven   2022-06-01 17:18   0   27
  • OO第三单元实验总结报告

    一.自测数据生成 本次作业中一大好处是不用考虑输入合法性,非法数据也有相应的异常来处理,这给了数据生成很大的便利,使得生成部分免去了合法性检验。我采用的策略是随机数据,我自己随便选了个比例来生成各个指令,对于复杂度较高的指令,我也专门写了针对该指令的生成数据。这样就对时间上也有了检验。 当然我们也会
    godel_bach   2022-06-01 16:33   0   25
  • OO第三单元总结

    第三单元总结 一、利用JML规格构造测试数据 构造思路 本单元的接口提供了详细的JML说明,可以以此为根据进行测试数据的构造。在JML中我们主要关注以下三个部分: exceptional_behavior:除了正常的测试数据,这些会导致异常的输入也一定要全部覆盖。如果一个方法存在exceptiona
    天机晓梦   2022-06-01 16:26   0   34