摘要: 软件构造期末考试在即,这里对于一些细节点做出整理,供复习参考。 1.什么是行为等价性:行为等价性是指两个对象如果在某一时刻是等价的,那么在之后的每一个操作过后都应该是等价的,往往就意味着引用自同一块内存,也就是==。例如,某一时刻Object A和Object B是等价的,那么如果有一个操作是对于A 阅读全文
posted @ 2022-06-14 14:49 空条玛沃 阅读(37) 评论(0) 推荐(0)
摘要: 多维度视图和质量目标是哈工大软件构造课程的第一章,而软件构造这一课题也是围绕着这章而展开。掌握好这一内容有助于我们对于后续的课程学习有一个整体的框架。所以我整理出了一份关于多维度视图与质量目标的笔记,供我复习以及读者参考。 1. 多维度视图: 一个软件有三个维度:Build-time(构建时)和Ru 阅读全文
posted @ 2022-06-08 15:54 空条玛沃 阅读(55) 评论(0) 推荐(0)
摘要: 第二次软件构造实验一共有两道题,而重点在第一题,因为第二题主要是第一题结果的一个复用。而这次实验的重点在于规范的养成,比如如何写AF和RI,什么时候要写,如何写函数规约,如何写Testing Strategy等等。我将分别谈谈我的理解。 1. 什么是AF和RI,怎么写,在哪里写 AF是Abstrac 阅读全文
posted @ 2022-06-03 16:44 空条玛沃 阅读(26) 评论(0) 推荐(0)
摘要: 面向对象与面向过程编程是两个相对的编程理念。这里举个例子来展示两者的区别: 假如需要你设计一个国际象棋的程序,你会怎么思考这个问题? 面向过程:我会先去从头到底走一遍下棋的流程。首先,需要初始化棋局,即把棋子和棋盘放在可以开局的位置上。然后,黑白双方随机决定走棋先后顺序,并且后续根据这个顺序轮流走棋 阅读全文
posted @ 2022-05-30 22:57 空条玛沃 阅读(114) 评论(0) 推荐(0)
摘要: 软件构造LAB1中,很多同学都是第一次接触Eclipse,第一次接触Java,第一次接触GIT......本人就在实验中多多少少遇到了一些代码以外的问题,在这里做出总结,望能够对后来者有所帮助。 TIPS 1: 关于Github的使用,软件构造的实验是基于Github进行运作的,无论是下载实验材料还 阅读全文
posted @ 2022-05-15 13:51 空条玛沃 阅读(291) 评论(1) 推荐(1)