自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 7.3Assertions and Defensive Programming断言与防御式编程

7.3Assertions and Defensive Programming断言与防御式编程1.回忆:设计ADT2.Assertions声称--What to Assert and What not to?断言什么,不断言什么--Guidelines for Using Assertions 断言的帮助3.Defensive Programming防御式拷贝...

2019-06-17 06:59:15 294

原创 7.2Error and Exception Handling错误与异常处理

7.2Error and Exception Handling错误与异常处理1 Error and Exception in Java JAVA中的错误和异常2 Exception Handling–What is Exception?–Classification of exceptions–Checked and unchecked exceptions–H...

2019-06-16 23:05:42 406

原创 7.1 Robustness and Correctness健壮性与正确性

7.1 Robustness and Correctness健壮性与正确性1什么是健壮性和正确性2怎么衡量健壮性和正确性3这章的目的1.What are Robustness& Correctness?健壮性:系统在不正常输入或不正常外部环境下仍能够表现正常的程度正确性:程序按照spec加以执行的能力,是最重要的质量指标!正确性...

2019-06-15 20:53:44 305

原创 6.3 Maintainability-Oriented Construction Techniques面向可维护性的构造技术

6.3 Maintainability-OrientedConstruction Techniques面向可维护性的构造技术1.状态驱动的构造技术--基于自动机的编程--Memento设计模式--State设计模式2表驱动的构造模式(略)2.基于语法的构造技术--语法和解析器--正则表达式--Interpreter设计模式1 State-...

2019-06-15 20:45:14 275

原创 6.2Design Patterns for Maintainability面向可维护性的设计模式

6.2Design Patterns for Maintainability面向可维护性的设计模式1.创造模式工厂方法模式:不用具体的类来创造对象抽象工厂模式:有一个共同的特点的工厂组Builder模式:构造复杂的对象2.结构模式Bridge模式Proxy模式Composite模式3行为模式Mediator模式Observer模式Visitor模式...

2019-06-15 20:18:11 254

原创 6.1 Metrics and Construction Principles for Maintainability --可维护性的度量与构造原则

6.1 Metrics and Construction Principles for Maintainability--可维护性的度量与构造原则1. Software Maintenance and Evolution软件维护与软件演化2. Metrics of Maintainability可维护性策略3.Modular Design and Modularity Prin...

2019-06-15 09:29:16 200

原创 雨课堂5.3面向复用的设计模式

5.3面向复用的设计模式1.2.3.D decorator就是为这个而生的4.显然BD5.D不需要6.答案C7.答案AD8.A iterable接口也可B类似A​...

2019-06-15 08:06:30 212

原创 雨课堂5.2 Subtyping,组合委派,框架复用

5.2 Subtyping,组合委派,框架复用1.显然C2.B,C都应该是更强3.B更具体是重载4.5.6.显然ABCD7.BE,显然8.9.D反了10.11....

2019-06-15 07:40:18 522

原创 雨课堂5.1可复用性

5.1可复用性1.2.A是代码层面(复制粘贴)B是模块层面(类/抽象类/接口,正确)C是库层面(API/包)D是系统层面(框架)3.显然C4.5.答案全选6.D反了​...

2019-06-15 07:29:13 258

原创 雨课堂3.5  Equality等价性

3.5 Equality等价性1.自发,对称,传递2.B对 ;C错,可以有方法相等 ;D不一定,只是所有方法的行为一样3.引用,对象4.A显然5.行为,观察6.答案选D7.B是错的,HashCode真,equals不一定真 ;C是错的,不违反...

2019-06-15 07:22:44 234

原创 雨课堂3.4 OOP

3.4 OOP 面向对象编程1.答案为BCDEA错误,final是指对该对象的引用不能变,故若对immutable的数据类型,此变量定义为final则其内容不能再发生变化;若对mutable的类型,其内容还是可以发生变化的,比如StringBuilder其余明显正确2.正确答案BCDA接口能有static方法(静态工厂方法),错误E接口能有属...

2019-06-15 07:09:51 250

原创 雨课堂3.3  ADT 抽象数据类型

3.3 ADT抽象数据类型1.1 C 2 M 3 P 4 O答案:CMPO2A见总结每一个RI的值对应抽象空间的一个值,但抽象空间的一个值却可以代表多个值3.C错误,代表这两个值意思一样,但是约束可以不一样D正确,值一样,可以代表不同的意思(抽象空间中的值)4.ABCD全用...

2019-06-13 09:58:46 186

原创 雨课堂3.2  Spec规约

3.2 Spec规约1.行为等价性,只要满足客户端需求,无论性能,从客户端看他们的行为是一样的,那么就满足行为等价性D:不需要规定内部的实现2.Spec强度是指前置条件更弱(能处理更多的情况)后置条件更强(对程序员更多要求)3.@param , @return,@throws显然4.C你不能要求客户...

2019-06-13 09:39:34 332

原创 5.3 Design Patterns for Reuse面向复用的设计模式

5.3 Design Patterns for Reuse面向复用的设计模式1.结构型模式**Adapter模式利用包装使类和不兼容接口一起工作**Decorator模式动态添加或重写已存在对象的行为**Facade模式提供大体积代码的简化的接口1.行为类模式**Strategy模式允许一家族的算法在运行时被选择**Templa...

2019-06-10 16:48:48 238

原创 5.2 Construction for Reuse面向复用的软件构造技术

5.2 Construction for Reuse面向复用的软件构造技术1.设计可复用的类--继承与重写--重载--参数多态和泛型编程--行为子类型和Liskov替换原则--组合与委托2.设计可复用库和框架--API和库--Framework JAVA Collections framework1 Designing reus...

2019-06-10 16:12:33 307

原创 5.1可复用性的度量、形态与外部表现

5.1 Metrics, Morphology and External Observations of Reusability:可复用性的度量、形态与外部表现1.什么是软件的可复用性2.怎样衡量可复用性3.可复用组件的等级和形态--源代码级别的复用--模块级别的复用:类/抽象类/接口--库级别的复用:API/包--系统级别的复用:框架4...

2019-06-10 16:11:38 385

原创 3.5ADT 和OOP 中的”等价性”

3.5 Equality in ADT and OOP ADT和OOP中的”等价性”1.等价关系2.不变类型的等价性3.引用等价性和对象等价性4.可变数据类型的观察等价性和行为等价性5.Object契约6. Autoboxing and Equality 1 Equivalence Relation等价关系ADT是对数据的抽象,...

2019-06-08 15:41:05 285

原创 3.4 Object-Oriented Programming (OOP)面向对象的编程

3.4 Object-Oriented Programming (OOP)面向对象的编程1.Criteria of Object-Orientation面向对象的标准2. object, class, attribute, method, interface, and enumerations OOP的基本概念3.OOP的一些特点:Encapsulation and infor...

2019-06-08 14:50:08 264

原创 3.3Abstract Data Type抽象数据类型

3.3Abstract Data Type (ADT)抽象数据类型1.Abstraction and User-Defined Types抽象和用户定义类型2.Classification of operations in ADT抽象数据类型的分类3.Abstract Data Type Examples抽象数据类型的范例4.Design principles of ADT抽象数据...

2019-06-08 01:42:35 619

原创 雨课堂3.1

3.1数据类型和类型检测1.显然。2.数组越界是值的错误。3.A数组越界,值的错误,在运行时报错;B类型错误编译阶段报错;C没错误。D值的错误,运行时报错4.5.解释型语言不具备。6.56,编译错误String类型支持加法,会自动将数字转化为字符串7.D可以在...

2019-06-07 17:30:47 668 1

原创 3.2 设计规约

3.2 Designing Specification设计规约1.Function / method in programming language编程语言中的函数/方法2. Specification: Programming for communication spec:交流Why specification is needed为什么需要specBehavio...

2019-06-07 17:08:13 270

原创 3.1数据类型与类型检验

3.1Data Type and Type Checking数据类型与类型检验1.静态/动态类型检查2.可变/不变的数据类型3.可变数据类型的危险性4.不变数据类型的优越性5.用snapshot图理解数据类型6.用集合类表达复杂数据类型7.知道Null reference的危害并避免它1 Data type in programming l...

2019-06-07 16:08:04 350

原创 雨课堂2.2软件构造工具

2.2软件构造工具1.UML:画类图以及其他各种图的!2.Profiling是动态代码分析的一种工具3.看代码就行啦。4.嗯,显然,其他都是动态测试能够做到的5.6.正确次序为: Design ->Programming/refactoring ->Debugging->Testin...

2019-06-07 11:47:52 623

原创 2.2软件构造的过程、系统和工具

2.2软件构造的过程、系统和工具软件构造遵循什么子过程?广义:软件构造的过程Design ->Programming/refactoring ->Debugging->Testing ->Build->Release–Programming / refactoring编程/重构–Review and static code analysi...

2019-06-07 11:37:07 272

原创 雨课堂2.1软件过程与配置管理

2.1软件过程与配置管理1.正确答案为:A在敏捷开发中,有增量,有迭代(极限),有驱动开发,集成,V字。但绝对没有线性,一定需要迭代回去2.D:git是分布式管理系统3.记录的是两个文件(不只是修改的代码行),git还没有智能到只抽出一些代码行4.记住吧。。5.Object graph是一个有向图,指...

2019-06-06 17:04:00 448

原创 雨课堂1.2软件构造的性能指标

1.2软件构造的性能指标1.2.2.C:看错了3.D正确性是唯一不能与其他质量指标折中的4....

2019-06-06 16:43:43 206

原创 雨课堂10.2线程安全

10.2线程安全1.线程安全一定要保证RI为正确,在ADT中immutable的类型是包含beneficent mutation的,一定要注意;线程安全与客户端如何操作是没有关系的2.策略一就是不共享数据。内部是可以使用mutable的3.B:就不能有mutator的方法C:final无法保证数据是i...

2019-06-06 16:36:09 264

原创 10.3 Locks and Synchronization锁与同步

10.3 Locks and Synchronization锁与同步§1.Synchronization§2.Locking§3.Atomic operations§4.Liveness: deadlock, starvation and livelock§5.wait(), notify(), and notifyAll()1.Synchroniza...

2019-05-31 15:38:46 251

原创 10.2Thread Safety线程安全

10.2Thread Safety0.Thread safety1.Strategy 1: Confinement限制共享2.Strategy 2: Immutability共享不变量3.Strategy 3: Using Threadsafe Data Types用线程安全数据类型4.Strategy 4: Locks and Synchronization线程锁...

2019-05-30 16:50:01 293

原创 雨课堂10.1并发

10.1并发1.A云端与手机端共同访问数据;B四核CPU多个进程,并发执行;D共同占有火车票资源;E GC处理是在另一个线程执行的;F显然​​2.显然3.显然4.C是原子语句(JVM决定);D是海森堡BUG(测不准原理)5.显然6.答案为B,D7.正确答案为:join interruptedreturns...

2019-05-28 07:47:47 357

原创 10.1 并发(Concurrency)

10.1并发(Concurrency)1.什么是并发编程(Concurrent Programming)2.进程,线程和时间切片 Processes,threads,and time-slicing3.相互交错和竞争(Interleaving and Race Condition)(1) Time slicing时间切片(2) Shared Memory among ...

2019-05-28 07:36:14 430

原创 2.1软件生命周期与配置管理

2.1软件生命周期与配置管理1.知道软件开发的基本过程(Software Development Lifecycle:SDLC)2.传统的软件开发过程模型3.敏捷开发的介绍4.*合作式的软件发展(Collaborative software development)5.软件配置工具(Software Configuration Management:SCM)6.git作为配...

2019-05-26 16:10:32 358

原创 1.2软件构造的性能指标

1.2软件构造的性能指标1.软件构造过程中应考虑的重要质量指标2.如果达不到期望的质量目标,会有什么后果3.有哪些面向质量指标的软件构造技术Quality properties of software systems软件系统的指标特征– External vs. internal quality factors内部和外部质量因素– Important ex...

2019-05-23 00:04:26 345

原创 雨课堂1

共6道题,前四道均可凭借查表获得。最后两道题为:答案选A。 B:两者都需要库文件。C:前者只会多,动态链接有时会共享库,这时尺寸更小。D:前者是直接在构造阶段把代码直接插入源代码中,不是链接时执行答案为A,B,C,D.A明显正确,D 指log之类的追踪记录行为,是发生在运行时的...

2019-05-22 23:17:22 2430

原创 课件1.1

1.1软件构造的多维度视图1.从三个维度看软件系统的构成2.用什么样的模型/视图描述软件系统3.将“软件构造”看作“不同视图之间的转换”不同维度下的软件视角(十分重要)一.§ Multi-dimensional software views- By phases: build- and run-time views 按阶段划分:构造时/运行时视图– By...

2019-05-22 22:57:56 191

原创 计算机系统大作业

计算机科学与技术学院2018年12月摘  要摘要是论文内容的高度概括,应具有独立性和自含性,即不阅读论文的全文,就能获得必要的信息。摘要应包括本论文的目的、主要内容、方法、成果及其理论与实际意义。摘要中不宜使用公式、结构式、图表和非公知公用的符号与术语,不标注引用文献编号,同时避免将摘要写成目录式的内容介绍。 关键词:关键词1;关键词2;……;                 ...

2018-12-31 21:05:30 2332

空空如也

空空如也

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

TA关注的人

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