-
第三单元实验总结 | TrickEye
第三单元实验总结 | TrickEye 基本情况部分 这篇帖子为什么会在这? 这是北航计算机学院面向对象构造与设计2022春季课程第三单元的总结博客 本次作业的要求是什么? 根据课程组提供的JML形式语言,实现一个简单的社交网络建模程序,按要求完成对该社交网络的信息查询功能。 自测篇:如何构造测试数 -
OO第三单元作业总结
OO第三单元作业总结 一、综述 第三单元的主要内容以及核心就是根据JML规格来补充相应的功能代码,建立一个包含人,消息,群组的复杂社交网络。而JML的指导作用在这三次作业中体现地淋漓尽致,也让我明白了规格化设计的强大之处。JML规格包括常规行为和异常行为,而在每个行为的背后由前置条件,副作用,以及后 -
OO第三单元总结
OO第三单元总结 数据构造 基于JML规格构造数据本质上就是检查方法能否满足功能与异常情况, 异常检验 异常一般看的是前置条件,分为抛出型异常以及隐性异常。 比较常见的是抛出型异常,对于该种异常的检验,我们应针对触发异常的条件专门去构造数据,从而检查程序能否正确抛出相应异常,做到不重不漏 -
OO第三单元总结
BUAA_OO_2022_第三单元总结 OO第三单元作业主题为JML规格,具体的任务是实现简单社交关系的模拟和查询,阅读官方包接口中方法的JML规格之后在自己创建的类中实现,下面我分享一下我在本单元的学习心得和作业完成情况。 第一次作业 架构设计 在第一次作业中,我们需要自己建立MyGroup,My -
BUAA_OO_2022 第三单元总结
一、单元目标 模拟实现一个社交网络系统,实现此社交网络成员、组、消息、成员关系的管理、查询和处理;熟悉JML规格化语言;巩固图论知识,如最短路径、最小生成树;了解JAVA异常处理机制 二、第九次作业 2.1 难点 query_circle: 判断成员之间是否连通 query_block_sum: 判 -
OO第三单元总结
一、架构设计 1.对于社交网络模型的理解 1.1 Person: person是社交网络模型中最基本的元素,每一个person相当于图中的一个个结点,他们存储了各种相关的信息。person也是我们操作时的基本对象,他们之间的交互、关系的连接、互相发送消息的行为,都是我们用来构成社交网络的基本元素。 -
OO第三单元总结
OO第三单元总结 一、作业分析 1、第一次作业 (1)作业要求简述 第一次作业要求通过实现官方接口 Person、Network、Group,来实现自己的 MyPerson、MyNetwork、MyGroup类,并最后能实现以下指令: 指令 简写 add_person ap add_relation -
BUAA_OO_第三单元总结
1. 概述 这个单元的主要任务就是根据官方包接口给出的规格来实现相应的方法,从而构建一个社交网络系统。 其中有3个主要的类:Network, 负责社交网络上一切活动的管理;Group, 管理社交网络上的群组;Person,表示社交网络上单独的人。 最终的实现效果是通过Network类向外提供的方法, -
OO第三单元总结
#OO第三单元总结 ##一,梳理架构设计 ###1.1架构梳理 本单元主要任务是通过建设一个社交网络,来帮助我们理解jml格,同时实现一些图的基本算法。这个社交网络经历了三次作业的迭代,这三次作业中,该社交网络的主要的架构如下: ####1.1.1第一次作业 实际上是一个无向加权图 人person是 -
OO第三单元总结博客
OO第三单元总结博客 架构设计 本次作业没有做太多的架构设计,其中的类的继承关系只有三个message对MyMessage类的继承。而从具体实现角度而言,其实我的社交网络几乎所有的任务都承担在了NetWork类中,其中实现了大量的算法(如并查集,Dijistra等)和关系维护(发消息等),整个类占了