自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 软件构造10 List

List接口List继承自collection接口,collection中的方法也被List继承。其特点为有序可重复。在List下有具体实现类ArrayList、LinkedList和Vector。这三种实现方式大体相同,有各自的使用场景。ArrayList底层通过数组实现,但可以实时进行扩充,Vector也是如此。前者是线程不安全的,但效率更高;后者则相反,Vector中的很多方法都通过同步(synchronized)处理来保证线程安全。而LinkedList很显然,从其名字可看出它是链表方式存储的

2021-07-08 23:59:51 115 1

原创 软件构造知识点9

一、可维护性的度量与准则1、模块化编程2、OO设计原则:SOLID(1)SRP:单一责任原则(The Single Responsibility Principle)(2)OCP:开放封闭原则(open/closed principle)(3)LSP:Liskov替换原则(4)ISP:接口隔离原则(Interface Segregation Principle)(5)DIP:依赖转置原则(Dependency Inersion)二、面向可维护性的设计模式1、工厂方法模式 factory2

2021-07-08 23:58:54 82

原创 软件构造知识点8 关于软件构造的异常处理

Exception分类以及特征总结:首先异常的分类可以定义为error和Exception。error是系统内部的错位,程序员对于这样的错误是无能为力的,一旦发生,最好能够使得程序可以优雅的结束终止; 而Exception一般是程序造成的错误,比如说文件没有读入,找不到文件位置等等的错误,这样的情况需要我们能够对他们进行捕获,处理等等。如同上图描述的异常处理,Exception也分为了两类,这需要对于这两类有着不同的处理:Checked Exception: 不能恢复的Exception,

2021-07-08 23:54:05 95

原创 软件构造知识点7

1.抽象数据类型和表示独立性:所有的属性变为private,只能通过操作访问类2.用户无法看到af ri3.ADT操作的4种类型1)构造器创建一个类的对象,从无到有2)生产器旧对象生成新对象3)观察器观察当前对象的某些特征,例如list的长度4)变值器改变属性的值4.不变量:在任何时候总是true5.Ri:要满足的属性的条件满射,未必单射,未必双射AF:表示空间如何映射到真实空间6.有益的可变性:改变了R没变A例如 4/6 2/3 在A空间中都是2/3Immutable类中

2021-07-08 23:50:52 42

原创 软件构造知识点6

1.规约内容输入/输出的数据类型功能和正确性性能不包括实现细节有时包括一些异常处理2.行为等价性:两个方法是否可以相互替换站在客户端视角看行为等价性根据规约判断是否行为等价。3.规约的前置条件和后置条件1)前置条件输入requires:对客户端约束,使用时满足的条件后置条件输出effects:对开发者约束,方法结束时必须满足的条件2)如果前置条件满足了,则后置条件必须满足如果前置条件不满足,方法可做任何事情。4.java中规约和代码分开两个文件5.注意1)除非规约必须如此,否

2021-07-08 23:49:16 70

原创 软件构造知识点5

1.snapshot diagram·基本类型的值:箭头加值·对象类型的值:箭头加圈对象的属性和对象一起放在堆里对一个对象的引用存在栈中,不会存基本数据类型的引用名·immutable对象:双线椭圆·mutable对象:单线椭圆·不可改变的引用用双线箭头(Final限制引用不可改变,引用不可变,但值可以改变)...

2021-07-08 23:46:53 52

原创 软件构造知识点4

1.基本数据类型 和 对象数据类型区别·只有值没有ID 既有ID,也有值·在栈中分配内存 在堆中分配内存(两个对象值一样也要分开,存储区域不同)·Immutable 一些mutable,一些immutable2.静态类型检测关于类型的检查,赋值是不是与变量类型匹配(值在不在对应集合之内),在编译阶段就报错。·语法错误·类名/函数名错误·参数数目错误·参数类型错误·返回值类型错误3.动态类型检测在程序运行阶段检测,针对某一个值是否出错(eg除数为0)·非法参数值·非法返回值·越界

2021-07-08 23:44:22 44

原创 软件构造知识点3

1.软件配置管理:追踪和控制软件的变化包含代码,数据,文档,程序等等。2. 有一个版本库,所有版本存在版本库中,随时拿出使用,软件库中的版本都是稳定的3. 版本号,从前到后,变化逐渐变小x.x.x.x4. 版本控制工具·回退·比较版本差异·备份版本·在多个开发者之间共享和协作·便于审计·合并最大优点:可以创建分支,分支相互独立5. 涉及概念·仓库:SCM中的CMDB(配置管理控制库)·工作拷贝:在开发者本地机器上的一份项目拷贝·文件:一个独立配置项·版本:在某个特定时间点所有

2021-07-08 23:42:35 49

原创 软件构造知识点2

1.软件的生存周期类似于波浪的逐渐变化,随着时间推移,版本落后要更新。2.传统的软件开发过程:强调文档(eg.分析文档,设计文档)(1)两种过程线性过程容易操作,执行,一个步骤一个步骤来。存在问题:需要调整时,需要把前面阶段全推翻。迭代过程开发时,某些阶段可以回退到上一阶段在开发。(2)五个模型瀑布模型属于线性模型,用户在最后阶段看到软件。增量过程线性推进,多个瀑布的串行。划分多个模块,一个模块一个模块开发。要求程序接口清淅。V字模型强调测试。原型模型为了需求不稳定的软件

2021-07-08 23:40:29 54

原创 软件构造知识点1

软件构造知识点11.多维视图1)Biuld time moment code-level:Source code,AST,Interface-Class-Attribute-Method接口类属性方法 (Class Diagram)2)Biuld time period code-level: Code Churn代码改动3)Biuld time moment component-level:Package,File,Static Linking,Test Case,Build Script(Com

2021-07-08 23:37:43 46

原创 程序人生-Hello’s P2P

第1章 概述 - 4 -1.1 HELLO简介 - 4 -1.2 环境与工具 - 4 -1.3 中间结果 - 4 -1.4 本章小结 - 4 -第2章 预处理 - 5 -2.1 预处理的概念与作用 - 5 -2.2在UBUNTU下预处理的命令 - 5 -2.3 HELLO的预处理结果解析 - 5 -2.4 本章小结 - 5 -第3章 编译 - 6 -3.1 编译的概念与作用 - 6 -3.2 在UBUNTU下编译的命令 - 6 -3.3 HELLO的编译结果解析 - 6 -3.4

2021-06-28 11:12:47 181

原创 软件构造知识点7

抽象数据类型和表示独立性:所有的属性变为private,只能通过操作访问类用户无法看到af riADT操作的4种类型构造器创建一个类的对象,从无到有生产器旧对象生成新对象观察器观察当前对象的某些特征,例如list的长度变值器改变属性的值不变量:在任何时候总是trueRi:要满足的属性的条件满射,未必单射,未必双射AF:表示空间如何映射到真实空间有益的可变性:改变了R没变A例如 4/6 2/3 在A空间中都是2/3Immutable类中的属性值一定不被改变么(错).

2020-07-11 23:45:55 61

原创 软件构造知识点6

规约内容输入/输出的数据类型功能和正确性性能不包括实现细节有时包括一些异常处理行为等价性:两个方法是否可以相互替换站在客户端视角看行为等价性根据规约判断是否行为等价。规约的前置条件和后置条件1)前置条件输入requires:对客户端约束,使用时满足的条件后置条件输出effects:对开发者约束,方法结束时必须满足的条件2)如果前置条件满足了,则后置条件必须满足如果前置条件不满足,方法可做任何事情。java中规约和代码分开两个文件注意1)除非规约必须如此,否则不应该修改输入参.

2020-07-11 23:45:07 109

原创 软件构造知识点5

snapshot diagram·基本类型的值:箭头加值·对象类型的值:箭头加圈对象的属性和对象一起放在堆里对一个对象的引用存在栈中,不会存基本数据类型的引用名·immutable对象:双线椭圆·mutable对象:单线椭圆·不可改变的引用用双线箭头(Final限制引用不可改变,引用不可变,但值可以改变)...

2020-07-11 23:43:53 99

原创 软件构造知识点4

基本数据类型 和 对象数据类型区别·只有值没有ID 既有ID,也有值·在栈中分配内存 在堆中分配内存(两个对象值一样也要分开,存储区域不同)·Immutable 一些mutable,一些immutable静态类型检测关于类型的检查,赋值是不是与变量类型匹配(值在不在对应集合之内),在编译阶段就报错。·语法错误·类名/函数名错误·参数数目错误·参数类型错误·返回值类型错误动态类型检测在程序运行阶段检测,针对某一个.

2020-07-11 23:41:37 69

原创 软件构造知识点3

软件配置管理:追踪和控制软件的变化包含代码,数据,文档,程序等等。2. 有一个版本库,所有版本存在版本库中,随时拿出使用,软件库中的版本都是稳定的3. 版本号,从前到后,变化逐渐变小x.x.x.x4. 版本控制工具·回退·比较版本差异·备份版本·在多个开发者之间共享和协作·便于审计·合并最大优点:可以创建分支,分支相互独立5. 涉及概念·仓库:SCM中的CMDB(配置管理控制库)·工作拷贝:在开发者本地机器上的一份项目拷贝·文件:一个独立配置项·版本:在某个特定时间点所有文件

2020-07-11 23:40:37 75

原创 软件构造知识点2

软件的生存周期类似于波浪的逐渐变化,随着时间推移,版本落后要更新。传统的软件开发过程:强调文档(eg.分析文档,设计文档)(1)两种过程线性过程容易操作,执行,一个步骤一个步骤来。存在问题:需要调整时,需要把前面阶段全推翻。迭代过程开发时,某些阶段可以回退到上一阶段在开发。(2)五个模型瀑布模型属于线性模型,用户在最后阶段看到软件。增量过程线性推进,多个瀑布的串行。划分多个模块,一个模块一个模块开发。要求程序接口清淅。V字模型强调测试。原型模型为了需求不稳定的软件,.

2020-07-11 23:39:12 59

原创 软件构造复习知识点1

多维视图1)Biuld time moment code-level:Source code,AST,Interface-Class-Attribute-Method接口类属性方法 (Class Diagram)2)Biuld time period code-level: Code Churn代码改动3)Biuld time moment component-level:Package,File,Static Linking,Test Case,Build Script(Component Dia.

2020-07-11 23:35:25 85

空空如也

空空如也

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

TA关注的人

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