自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 网络与社会导论之中心度与网络模型

1. Centrality1).度中心性在社会网络中,对于具有更多连接关系的结点,度中心性度量方法认为他们具有更高的中心性。可以利用结点的度来衡量连接关系。在无向图中,结点vi的度中心性Cd是:Cd(vi) = di。其中di是结点vi的度(邻接边的数量)。在有向图中,既可以利用入度或者初度,也可以将2者相结合起来作为度中心性值:Cd(vi) = diin(声望)Cd(...

2019-06-02 23:36:51 1344

原创 【软件构造】第五章 第二节 基于复用的构造

1.设计可以复用的类(1)behavioral subtyping和LSP原则    LSP原则:子类型可以增加方法,但是不可删除;                  子类型需要重写的方法必须有相同或子类型的返回值(协变)                  子类型中重写的方法必须使用相同类型的参数(逆变)                  子类型中重写的方法不能抛出额外的异常           ...

2018-06-23 19:01:17 314

原创 【软件构造】第五章 第一节 复用性的标准、形态以及外部表现

1.软件复用:利用已有的软件或其组成来完成或升级软件系统    两个观点(角度):面向复用编程;基于复用编程2.如何度量复用性:从复用的频繁性,复用的代价两个角度分析3.复用的组成及其形态:最主要的还是在源代码层面(1)源代码复用:学会在GitHub等网站中寻找相关的代码(2)模式复用(基于类和接口):通过继承和委派来实现(3)库层面的复用:API或者package(4)系统层面的复用:一般是框架...

2018-06-23 18:49:54 269

原创 【软件构造】第四章 第一节 面向可理解性的编程

1.可理解性的一些标准(1)可读性(2)名字的长度(3)命名独特性比例(4)Complexity和LoC(5)comment density(MCOMM%)2.在源代码中添加注释文档3.正式编程前写伪代码4.遵守代码传统(Coding convention)...

2018-06-23 18:36:31 219

原创 【软件构造】第三章 第五节 等价性

对于不可变的数据类型:既要实现行为等价性,也要实现观察等价性,即equals函数一定要重写对于可变数据类型:一般只用实现行为定价性即可,不需要重写...

2018-06-23 18:03:39 341

原创 【软件构造】第三章 第四节 OOP编程

1.OO(面向对象)的标准(1)使用class作为中心原则(2)具有静态类型(3)支持泛型(4)支持多态(5)支持继承(6)支持动态绑定/分派2.基本概念:对象,类,属性,方法(1)队象:类比真是世界中具有状态和表现的物体(2)类:每个对象都有一个类,类定义了实现过程和类型,类中的方法就是API(3)实例方法和静态方法的比较:实例方法必须绑定在一个具体的对象上才能使用,而静态方法不需要3.接口(1...

2018-06-23 17:57:05 147

原创 【软件构造】第三章 第三节 抽象数据类型

1.抽象与用户定义的数据类型(1)数据抽象:由一组操作所刻画的数据类型(2)传统的数据类型关注数据的具体表示,而抽象类型只强调“作用于数据上的操作”(3)ADT是由操作来定义的,与其内部是如何实现的无关2.对数据类型的操作(1)Creator:构造器、工厂方法(2)Predictor:生产器,例如String类型的concat()方法(3)Observer:观察器(4)Mutator:变值器(im...

2018-06-23 16:13:24 205

原创 【软件构造】第三章 第二节 设计规约

1.编程语言中的函数和方法:方法是程序的积木,可悲独立开发、测试、复用2.Specification:(1)编程过程中的documentation:        以Java的API为例,需要记录类的继承关系,具体的子类,类的描述,构造器的总结描述,对所有类的总结描述        我们需要在编程过程中记录自己的设计决策,便于与其他程序员交流(2)程序中方法的规约:        这是程序与客户端...

2018-06-23 15:34:41 189

原创 【软件构造】第三章 第一节 数据类型和类型检查

1.编程语言中的数据类型(1)数据类型和变量之间的区别:数据类型是抽象,而变量是对数据类型的具体实例化(2)数据类型分为:基本数据类型和对象数据类型(3)对象类型之间可形成层次结构;对基本的数据类型也可以打包成对象数据类型,如Integer,但尽量避免使用(4)操作:对于基本的数据类型,操作包括+-*/等;而对于对象数据类型,操作由其定义的方法决定2.静态数据类型和动态数据类型    Java是一...

2018-06-23 15:05:11 205

原创 【软件构造】第二章 第一节 软件的生命周期以及配置管理

1.软件发展的生命周期(SDLC)2.传统的软件构造模型:线性模式和迭代模式线性模式:(1)瀑布模型(2)增量模型迭代模式:(1)原型(prototyping)模式(2)螺旋(spiral)模式3.敏捷开发敏捷开发即是通过快速的迭代和小规模的持续改进,迅速的适应变化4.collaborative software development5.软件配置管理(SCM)和版本控制系统(VCS)软件配置管理...

2018-06-23 14:26:30 213

原创 软件构造系列说明以及一些简单的预备知识

      这篇博客是对接下来一系列博客的一个简单介绍,接下来的博客将从软件构造过程的各各层面进行分析和说明,依据HIT的软件构造课程,以及CMU 15-214和MIT 6.031 的一些相关内容进行博客撰写。       在接下来的博客撰写过程中,可能出现一些UML图中的一些简单用法,所以引用某位博主的博文:http://blog.csdn.net/hewei0241/article/detai...

2018-06-23 13:22:28 241

原创 关于超图的一些简单理解

这是我的第一条博客,实在是没想到会是写这样的内容,hahaha在做实验的过程中,看到了超图这个概念,在WIKI百科中看了好久的介绍,也没能怎么消化理解,又看了一些国内的博客,有了一些个人的理解,下面简要说一说:在我们传统的编程习惯中,图中的边一般是两个节点之间的连线,但是近世代数中超边(Hyperedge)的概念扩充了图中边的概念,它将图中的边延伸到了可以包含两个或两个以上的边之间的连接关系,举个...

2018-04-23 16:39:54 3481

计算机网络英文原版图书

全球基本最权威的《计算机网络》教科书,看中文译本有时候很难理解,不妨试试读原版图书

2019-04-11

哈工大软件构造实验三、四

这是哈工大软件构造实验三、四的实验源码,曾经在这课上面也还是花了不少功夫。包括基本所有的加分项目和异常处理

2019-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除