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

  • 第三单元总结

    本单元主要进行基于规格的层次化设计,在给定JML规格的基础上实现一个社交网络模拟系统。 1. 测试 在本单元的测试中,我选择了传统的随机生成数据的测试方法,事实证明我的这种选择是一把双刃剑。 1.1 两种测试方法对比 传统的随机数据方法的优点有: 测试过程不依赖于对JML规格的理解,只要对拍的人员内
    StyWang   2022-06-06 14:22   0   6
  • OO第三单元总结

    自测过程中如何利用JML规格来准备测试数据 在整个第三单元的JML语言的学习下来,确实能够感觉到这真的是一门描述十分清晰的语言,从我们输入的数据的要求,数据中间变化的要求,再到输出数据的要求在JML中都是有较为严格的规定的,这也就为我们这个单元进行自测提供了不小的便利。具体如下: 前置条件:构造数据
    谷福胜   2022-06-06 14:21   0   10
  • BUAA OO第三单元总结

    前言 本单元的代码任务集中在了学习JML的使用,并根据所给JML实现相应的方法和类。 契约式编程、防御式编程与进攻式编程 契约式编程 契约式编程要求我们在「前提条件」、「后继条件」和「不变量条件」进行契约的检查。类似的,例如检查参数,一旦参数不对,当即撕毁契约。 比如后端的方法因为传入的参数不在设计
    wooood   2022-06-06 14:14   0   7
  • OO_Unit3_Summary

    OO第三单元总结 利用JML规格构造测试数据 首先,这一单元在写程序的时候,肯定是一步一个脚印,对程序作出修改时保证其遵循所给的JML。在对程序进行测试时,首先对照JML的assignable将方法中对容器做出修改的地方进行检查,保证不添不漏。在符合上述条件的前提下,只需对方法的返回值进行检查。在构
    shuo1337   2022-06-06 14:11   1   8
  • BUAA-OO-2022-Unit3

    面向对象设计与构造2022第三单元总结 零、任务简介 本次作业,需要完成的任务为实现简单社交关系的模拟和查询,学习目标为 入门级JML规格理解与代码实现。 本单元作业基本主干已有模板,故而描述也变得谜语人起来,第一次作业会很摸不到头脑。 示例输入: ap 1 jack 100 ap 2 mark 1
    wsmitpwtind   2022-06-06 14:02   1   21
  • OO第三单元作业——JML规格的理解与使用

    OO第三单元作业——JML规格的理解与使用 在第三单元作业中,我们实现了社交网络查询的基本功能。我们需要根据课程组下发的官方JML代码,来确定社交网络中需要实现的功能,而后设计自己的方法来实现。一般来说,一个方法的JML代码的行数要远大于其实现代码的行数,因此,我们可能具有这样的体会:一个方法的JM
    梁绪宁   2022-06-06 14:00   0   4
  • 面向对象第三单元博客

    面向对象第三单元博客 第三单元为 JML规格的理解与实现,大部分方法都可以由JML规格理解后直接翻译成对应代码。 架构设计 对于isCircle以及queryBlockSum的设计 对于这两个方法的实现,我采用了并查集的方式解决,首先是在addPerson时初始化节点的父节点并将其设为根节点,父节点
    OUZHUOJIAN   2022-06-06 13:52   0   5
  • 2022 BUAA OO 第三单元总结

    一、测试数据的准备 课程组在第一次作业的时候推荐了JUnit测试。使用JUnit编写单元测试的好处在于,我们可以非常简单地组织测试代码,并随时运行它们,JUnit就会给出成功的测试和失败的测试,并且JUnit的测试是针对于每一个方法来进行的,理论上来说可以做到全面的检测。在尝试使用JUnit的时候,
    一只pc   2022-06-06 13:42   0   13
  • BUAA面向对象课程博客 第3弹:简单JML规格实现

    #1 概述 本单元我使用Java基于JML规格实现了一个社交网络模拟系统。本文由以下两部分内容组成: JML规格的解读与书写思路 作业中图相关算法的实现 #2 JML规格化设计 JML语言用于对Java类的方法与属性进行形式化的描述,以表示对其行为的预期,使得设计规格化的程序成为可能。 ##2.1
    ^^^TOO_LOW^^^   2022-06-06 13:38   0   10
  • 2022年北航面向对象程序设计第三单元总结

    2022年北航面向对象程序设计第三单元总结 本单元是一个快乐单元,作为OO的受难者,迄今第一次体会到”迭代开发“的感觉,并且JML的规格很详细,写起来非常快,为辛苦写JML的助教xgg们点赞~ 作业内容概述 这一单元的工作任务其实在指导书中写的并不详细,可能算是单元特色吧,实际的工作任务全都写在了J
    Oh_so_many_sheep   2022-06-06 13:35   0   12