- 博客(8)
- 收藏
- 关注
原创 软件构造学习笔记 【六】 (第8、9章)
关于等价关系我们在集合论与图论中已经学过,因此不加赘述。等价关系满足的性质:自反性、传递性、传递性。java中常用的等价关系包括和。对于等价关系的定义大概可以有两个方面:众所周知,AF是一个映射。如果对于两个表示值映射到的抽象值相同,那么两个表示值可以称之为等价。众所周知,observer是ADT的一种操作,用于获取其他种类的数据。假如对于两个值的所有操作获取的值都相同,那么这两个值可以称之为等价。用于判断引用等价性,如果两个值的内存地址相同则返回;一般应用在基本数据类型中。这位更是重量级——equa
2022-06-14 00:35:08 206
原创 软件构造复习笔记【四】 (第6、7章)
构造器(creator),输入一些其它类型的对象,创建一个该ADT对象。例如创建一个新集合new()或者现实中的构造函数。简单来说就是new、构造函数。生产器(producer),通过该ADT的旧对象,创建一个该ADT的新对象,例如计算当前集合与S的交集的方法ins(S)。简单来说是返回一个相同类型的对象。观察器(observer),通过该ADT本身的数据以及传入参数,计算得到其它类型的值。例如检查集合里是否有x的方法find(x)。简单来说就是get函数等。变值器(mutator),作出“修改
2022-06-11 14:26:04 127
原创 软件构造学习笔记【三】(第4、5章)
数据类型的概念如下:数据类型:一组值以及可以对其执行的操作。变量:用特定数据类型定义,可存储满足类型约束的值。基本数据类型内容如下:对象数据类型内容如下:不属于基本数据类型的所有类型都是对象数据类型。可以看出,对象数据类型首字母大写,而基本数据类型首字母是小写。Object类型是所有对象类型的父类,所有类若没有继承默认以Object为父类首先我们要了解类型转换,相关内容与在计算机系统学习的内容相同,分为显示类型转化和显示类型转化等,因此需要对这些进行检查。静态类型语言:在编译阶段进行类型检查,所有
2022-06-10 16:11:23 137 1
原创 软件构造学习笔记【二】(第2、3章)
测试是提高软件质量的重要手段,发现bugs, 确认是否达到可用级别(用户需求),进而关注系统的某一侧面的质量特性。一个好的测试具有这些特征:能发现错误、不冗余、最佳组合、不能太过复杂也不能太过简单。测试与调试的区别如下:测试:发现是否存在错误调试:识别错误根源,消除错误在范围方面,可以将测试分为如下种类:单元测试:是指验证特定代码部分功能的测试,通常在功能级别。集成测试:由多个程序员或编程团队创建的两个或多个类、包、组件、子系统的组合执行。系统测试:测试一个完全集成的系统,以验证系统是否满足其
2022-06-07 22:13:49 171
原创 软件构造学习笔记【一】(第1章)
软件是由计算机之父艾伦·图灵(Alan·Turing)提出的概念。国标中对软件的定义为:与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。对于软件的概念定义经历了如下演变:可以看到,软件的定义先是程序和代码,之后变成了算法+数据结构,最后演变成了现今的主流认知:程序+数据+文档,或是模块+数据+控制流。软件的成分如下:软件的结构包括了用户端、软件、技术环境、硬件网络、社交网络等等,其中用户端是商业目标的执行者,而软件的执行结果就是商业目标的实现。从图中可以看出,软件就像一个
2022-06-07 11:50:34 257
原创 哈尔滨工业大学计算机系统大作业-hello的程序人生
本文通过对hello程序在Ubuntu系统下从程序变成进程再被回收的过程的分析,深入剖析了程序在计算机系统中的运行流程。我们能在这个过程中,看到hello程序一步一步从普通的c语言代码,成长为可执行的文件;再破茧成蝶,由一个可执行的文件蜕变成系统中的进程,让shell为它创建进程,再在进程中与计算机交互,调用函数的整个过程;与此同时,我们也能在计算机中交互梳理复习《深入学习计算机系统》的主要内容,让我们对计算机系统的理解更加深刻。
2022-05-20 14:34:40 1719
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人