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

  • OO第三单元总结

    #OO第三单元总结 ##一,梳理架构设计 ###1.1架构梳理 本单元主要任务是通过建设一个社交网络,来帮助我们理解jml格,同时实现一些图的基本算法。这个社交网络经历了三次作业的迭代,这三次作业中,该社交网络的主要的架构如下: ####1.1.1第一次作业 实际上是一个无向加权图 人person是
    杨晓20373877   2022-06-06 15:38   0   10
  • OO第三单元总结博客

    OO第三单元总结博客 架构设计 本次作业没有做太多的架构设计,其中的类的继承关系只有三个message对MyMessage类的继承。而从具体实现角度而言,其实我的社交网络几乎所有的任务都承担在了NetWork类中,其中实现了大量的算法(如并查集,Dijistra等)和关系维护(发消息等),整个类占了
    Doris_M   2022-06-06 15:38   0   7
  • BUAA OO 第三单元总结

    BUAA OO 第三单元总结 〇.综述 第三单元训练的主题是规格化设计。在本单元的实现过程中,笔者认为是一个**“戴着镣铐跳舞”**的过程:要在给定的JML的规格约束下,以灵活的数据结构实现规格给定的功能。在这个过程中,JML规格约束给出了逻辑正确性的保证,而数据结构的具体实现是程序性能的决定因素。
    Lingo30   2022-06-06 15:37   0   14
  • BUAA ObjectOriented Unit3总结

    BUAA ObjectOriented Unit3总结 ​ 概括来说,本单元的任务就是在JML语言所描述的规格下维护一个社交网络系统,实现对该系统的一系列操作。单纯就难度而言,只要跟着规格说的来写就一定不会出错,从这方面来看难度确实不大,但如果完全按照规格来,一定会TLE很多点,所以要在理解规格的基
    praynext   2022-06-06 15:35   0   19
  • OO第三单元总结

    OO第三单元总结 一、架构设计 1.第九次作业 本次作业相对简单,没有过多设计。在查询连通块时使用了深度优先搜索。 2.第十次作业 本次作业中的qlc一开始没有看懂,看了讨论区的分析之后,才理解了。 维护了block结构,记录该block内的人和关系(点和边),在添加人时新增block,添加关系时合
    18373189   2022-06-06 15:31   0   7
  • 【2022春-面向对象】第三单元总结

    【2022春-面向对象】第三单元总结 写在前面 本单元的主题是JML。 JML是一种形式化的语言,用来对类和方法进行规格化的描述。初见JML时可能需要花一定时间去理解其语法,而且会发现这样的语言理解起来十分费劲。例如一个“求图的最短路径”的方法可能需要几十行的JML描述。 这就是诸如JML这类形式化
    infinity0   2022-06-06 15:23   0   30
  • BUAA OO 第三单元总结

    BUAA OO 第三单元总结 利用JML规格准备测试数据 在课上老师推荐我们用Junit单元测试,但Junit是白盒测试,需要自己手动针对每个方法判断前提和结果约束,非常的复杂,所以最后我还是决定通过黑盒测试。 JML的规格有前置条件和后置条件,只要保证生成的数据能满足所有使用到的方法的前置条件即可
    MrSisyphus   2022-06-06 15:22   0   14
  • 2022-OO-Unit3

    2022-OO-Unit3 mashiroly 1. 概述 又到轻松愉快的博客周了(赫赫,hw13似乎不是很容易呢),回顾一下过去一个月做了什么吧。 本单元的目标是学习基于规格的层次化设计,需求是在JML规格的指导下,实现一个模拟社交关系系统。作业重点是阅读和理解JML规格,掌握异常处理和测试方法,
    mashiroly   2022-06-06 15:21   0   12
  • OO_第三单元总结

    如何利用JML规格来准备测试数据 在第二次作业互测中有位同学因为忽略了一些前置条件和后置条件,结果抛出空指针和除零异常了,因此可以发现JML规格是很严谨的,所以可以多琢磨JML规格去准备测试数据。 比如 /*@ ensures \result == (people.length == 0? 0: @
    日常写bug的路人甲   2022-06-06 15:16   0   11
  • 第三单元总结性博客

    本单元架构分析 第九次作业 本次作业主要完成了一个社交网络的基本框架,主要包含以下三个部分: Person 组成了社交网络中的“节点”,本身具有一定的属性,并且与其它的 Person 之间有熟人关系,形成了社交网络中的“边”。 Group 是一个 Person 群组,主要用于统计群组中的 Perso
    Avaleph   2022-06-06 15:03   0   20