自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 软件构造复习:第一二章

目录软件构造的多维视图软件构造的阶段划分、各阶段的构造活动Build-time ViewsRun-time Views内部/外部的质量指标外部质量因素内部质量因素软件配置管理SCM与版本控制系统VCSSCMVSCLocal VCSCentralized VCSDistributed VCSGit的结构、工作原理、基本指令GitHub软件构造的多维视图软件构造的阶段划分、各阶段的构造活动按阶段划分:构造时和运行时Build-time ViewsCode-level view:代码的逻辑组织(fun

2020-07-11 17:38:03 251

原创 软件构造复习:第七章

目录进程和线程线程的创建和启动、runnable内存共享模式、消息传递模式时间分片、交错执行、竞争条件线程的休眠、中断线程安全/threadsafe的四种策略ConfinementImmutabilityThreadSafe类型Synchronization/Lock死锁以注释的形式撰写线程安全策略(ThreadSafe Argument)进程和线程并发模块的类型:进程和线程进程:私有空间嘛,彼此隔离。拥有整台计算机的资源多进程之间不共享内存,进程之间通过消息传递进行协作一般来说,进程==程序

2020-07-06 16:03:35 290

原创 软件构造复习:第六章(下)

目录断言的作用、应用场合调试的基本过程和方法黑盒测试用例的设计等价类划分边界值分析以注释的形式撰写测试策略JUnit测试用例写法测试覆盖度断言的作用、应用场合断言:在开发阶段的代码中嵌入,检验某些“假设”是否成立。若成立,表明程序运行正常,否则表明存在错误。断言即是对代码中程序所做假设的文档化,也不会影响运行时性能。ps.断言主要用于开发阶段,避免引入和帮助发现bug。实际运行阶段,不再使用断言(运行时断言不是免费的,它们会使代码混乱,因此必须谨慎地使用(不要滥用))。如果一个断言在其本地上下文中很

2020-06-27 19:59:25 232

原创 软件构造复习:第六章(上)

目录健壮性和正确性ThrowableError/Runtime异常、其他异常健壮性和正确性ThrowableError/Runtime异常、其他异常

2020-06-27 16:54:45 296

原创 软件构造复习:第五章

目录可维护性的常见度量指标聚合度与耦合度SOLID设计模式factory methodabstract factoryproxyobserver/observablevisitorstatememento语法、正则表达式健壮性和正确性ThrowableError/Runtime异常、其他异常可维护性的常见度量指标圈复杂度(CC):度量代码的结构复杂性;它是通过计算程序流中独立路径的数量来创建的。代码行数(Lines of Code)(非常粗略的标准)可维护性指标(MI):计算介于0和100之间的索

2020-06-26 18:17:59 835

原创 软件构造复习:第四章(下)

目录CRP原则接口的组合白盒框架的原理与实现设计模式adapterdecoratorfaçadestrategytemplateiterator/iterableCRP原则复合重用原则类应该通过其组合(通过包含实现所需功能的其他类的实例/委托)而不是从基类或父类继承来实现多态行为和代码重用组合一个对象所能做的事(has_a or use_a)比扩展它所能做的事(is_a)要好。eg1.计算不同类别员工的年终奖//通过继承class Employee{ Money computeBonus

2020-06-25 16:45:15 260

原创 软件构造复习:第四章(上)

目录Programing for/with reuse==LSP====协变、反协变==数组的子类型化泛型的子类型化泛型中的通配符(?)DelegationComparator和ComparablePrograming for/with reuseprogramming for reuse(面向复用编程):开发出可复用的软件programming with reuse(基于复用编程):利用已有的可复用软件搭建应用系统优点:很大的适应性降低成本和开发时间充分的测试→高可靠、稳定标准化、在不同

2020-06-24 18:48:22 408

原创 软件构造复习:第三章(下)

目录表示空间、抽象空间、AF以注释的形式撰写AF、RI接口、抽象类、具体类继承、override多态、overload泛型等价性equals()和==equals()的自反、传递、对称hashCode()不可变对象的引用等价性、对象等价性可变对象的观察等价性、行为等价性表示空间、抽象空间、AF表示值构成的空间(R/表示空间):实现者看到和使用的值。抽象值构成的空间(A/抽象空间):client看到和使用的值Note.ADT开发者关注表示空间R,client关注抽象空间A。抽象函数:R和A之间映射

2020-06-23 19:14:21 234

原创 软件构造复习:第三章(上)

目录基本、对象数据类型静态、动态类型检查Mutable/Immutable值的改变、引用的改变防御式拷贝Snapshot diagram基本、对象数据类型基本数据类型,如:int,long,byte,boolean,short,float,double,char…;只有值,没有ID(与其他值无法区别);Immutable;在栈中分配内存;对象数据类型,如:String,BigInteger,arrays,enums,interfaces…;既有ID,也有值;一些mutable,一些immutable;

2020-06-23 01:12:51 221

原创 学习笔记:行为型模式之迭代器模式和状态模式

目录迭代器模式定义应用实例状态模式定义应用实例迭代器模式Iterator Pattern主要解决:不同的方式来遍历整个整合对象。定义提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。迭代器是为容器服务的,容器是指用来容纳其他对象的对象,例如,Collection集合类型、Set类等。迭代器模式有以下4个角色:抽象迭代器(Iterator)角色:该角色负责定义...

2020-05-04 22:36:20 279

原创 学习笔记:结构型模式之适配器模式和外观模式

目录适配器模式定义应用实例外观模式定义应用实例适配器模式适配器模式(Adapter Pattern)又叫做变压器模式。定义将一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式涉及以下三个角色:目标(Target)角色:该角色定义要转换成的目标接口。源(Adaptee)角色:需要被转换成目标角色的源角色。适配器(Ad...

2020-05-04 09:00:20 275

原创 学习笔记:结构型之装饰模式,创造型模式之工厂模式、抽象工厂模式

目录装饰模式工厂模式抽象工厂模式装饰模式工厂模式抽象工厂模式

2020-05-04 06:14:02 239

原创 学习笔记:行为型模式之策略模式、观察者模式

目录策略模式定义应用实例:图书销售中不同的折扣算法观察者模式定义应用实例:模拟按钮控件的事件处理机制策略模式策略模式(Strategy Pattern)也叫政策模式,是一种比较简单的模式。主要解决:在有多种算法相似的情况下,使用if…else所带来的复杂和难以维护。关键代码:实现同一个接口。定义定义一组算法,将每个算法封装起来,并且使它们之间可以互换。其用意是针对一组算法,将每一个算...

2020-04-28 01:01:06 473

原创 学习笔记:设计原则

目录单一职责原则(SRP)定义例子:以用户管理为例里氏替换原则(LSP)定义例子依赖倒置原则(DIP)定义例子接口隔离原则(ISP)定义开闭原则(OCP)单一职责原则(SRP)单一职责原则的英文名称是Single Responsibility Principle定义一个类,应当只有一个引起它变化的原因;即一个类应该只有一个职责。就一个类而言,应该只专注于做一件事和仅有一个硬气变化的原因,...

2020-04-27 09:21:32 167

原创 MIT6.031学习笔记:AF&RI

Reading 11: Abstraction Functions & Rep Invariants目标今天介绍了几个想法:抽象函数(abstraction functions)表示不变量(representation invariants) R:The space of representation values (or rep values for short) consists...

2020-04-13 09:01:29 344

原创 MIT6.031学习笔记:Testing

Reading 03-Testing目标这篇内容结束后,你应该:了解测试的价值,了解测试优先程序的过程;能够判断测试套件的正确性、彻底性和大小;能够通过划分方法的输入空间和选择好的测试用例来设计方法的测试套件;Validation(验证)Testing is an example of a more general process called validation.验证的目的...

2020-04-12 23:10:00 418

原创 软件构造课程相关-UML

统一建模语言-UML以下是我在w3cschool学习UML后的笔记。UML能我们做什么?我们在进行项目的时候,通过使用UML的面向对象图的方式来更明确、清晰的表达项目中架设思想、项目的结构、执行顺序等一些逻辑思维。UML特点面向对象可视化表达能力强独立于过程独立于程序设计容易掌握使用在学习UML之前,我们先回顾一下一些面向对象的基本概念:对象: 对象代表一个实体的基本...

2020-03-08 23:21:25 242

原创 计算机系统大作业:程序人生-Hello‘s P2P

计算机系统大作业题 目 程序人生-Hello's P2P专 业 计算机科学与技术学   号 1180300302班   级 1803003学 生 地里沙·迪力木拉提指 导 教 师 史先俊计算机科学与技术学院2019年12月摘 要本文通过对hello程序P2P和020的整体介绍,阐述了...

2020-01-05 16:06:55 466

空空如也

空空如也

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

TA关注的人

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