Object-Oriented Technology: Review and Conclusion Remarks 复习和总结 Institute of Computer Software 2022-2-27 Nanjing University
复习和总结 Object-Oriented Technology: Review and Conclusion Remarks 2022-2-27 Institute of Computer Software Nanjing University 1
&雪扇 Review UNIVE 2 口Part1:OO基础 口OO基本原理 Design by Contract 口异常处理;并发对象;持久对象 口Part2:OO设计原则和设计模式 ▣OOA&OOD 口敏捷软件开发方法 口OO设计原则 aOO设计模式 ▣应用框架技术 AOP Institute of Computer Software 2022-2-27 Nanjing University
Review Part 1: OO基础 OO基本原理 Design by Contract 异常处理;并发对象;持久对象 Part 2: OO设计原则和设计模式 OOA & OOD 敏捷软件开发方法 OO设计原则 OO设计模式 应用框架技术 AOP 2022-2-27 Institute of Computer Software Nanjing University 2
&扇 Review UNIVE 3 口Part3:构件技术 ▣构件化软件 口分布对象 Institute of Computer Software 2022-2-27 Nanjing University
Review Part 3: 构件技术 构件化软件 分布对象 2022-2-27 Institute of Computer Software Nanjing University 3
&扇 Background 4 口软件质量 口外部质量因素(正确性,鲁棒性,完整性…) ▣应对软件复杂性的”元”方法 decomposition,abstraction,hierarchy 口软件模块 口模块化目标(5个),规则(5条),原则(5点) 口软件复用 ▣传统技术,OO技术 Institute of Computer Software 2022-2-27 Nanjing University
Background 软件质量 外部质量因素(正确性,鲁棒性,完整性…) 应对软件复杂性的”元”方法 decomposition, abstraction, hierarchy 软件模块 模块化目标(5个),规则(5条),原则(5点) 软件复用 传统技术,OO技术 2022-2-27 Institute of Computer Software Nanjing University 4
&扇 Abstract Data Type UNIVE 5 o ADT ▣Why,What 口How-代数方法 口从ADT到类 口类:模块和类型的统一 Institute of Computer Software 2022-2-27 Nanjing University
Abstract Data Type ADT Why,What How – 代数方法 从ADT到类 类:模块和类型的统一 2022-2-27 Institute of Computer Software Nanjing University 5
&扇 102 Design by Contract 6 基本思想 口借鉴“契约”原理,界定模块之间的权利义务,规 范软件的开发,提高软件质量。 口具体措施 Preconditions,Postconditions,Invariants 口一个类(实现)的“正确性”? ▣Hoare Triple 口应用于继承? 口DbC和防御性编程的比较 Institute of Computer Software 2022-2-27 Nanjing University
Design by Contract 基本思想 借鉴“契约”原理,界定模块之间的权利义务,规 范软件的开发,提高软件质量。 具体措施 Preconditions, Postconditions, Invariants 一个类(实现)的“正确性”? Hoare Triple 应用于继承? DbC和防御性编程的比较 2022-2-27 Institute of Computer Software Nanjing University 6
&扇 Exception Handling 口对“异常”的理解 口依据DbC,对ava异常的分类的理解 口异常处理设施 口异常处理设施的正确使用 口不当使用 ▣高效使用 Institute of Computer Software 2022-2-27 Nanjing University
Exception Handling 对“异常”的理解 依据DbC,对Java异常的分类的理解 异常处理设施 异常处理设施的正确使用 不当使用 高效使用 2022-2-27 Institute of Computer Software Nanjing University 7
&扇 NAN 0o2 Concurrent Objects UNIVE 8 ▣并发概念 When OO meets Concurrency ▣Java approach? Safety vs.Liveness Concurrency support in Java Thread Model Communication? ▣Synchronization2 Built-in Monitor(synchronized,wait,notify,notifyall Semaphore?Read/Write Lock?Barrier? Institute of Computer Software 2022-2-27 Nanjing University
Concurrent Objects 并发概念 When OO meets Concurrency Java approach? Safety vs. Liveness Concurrency support in Java Thread Model Communication? Synchronization? Built-in Monitor (synchronized, wait, notify, notifyall ) Semaphore? Read/Write Lock? Barrier? 2022-2-27 Institute of Computer Software Nanjing University 8
Serialization and Persistence 102 UNIVE 9 Transient objects vs.Persistent objects Java serialization mechanism Serializable vs.Externalizable interfaces The difficulties of object storing/retrieving Object references closure with exclusions Scheme evolution detect,notify,and correct Object Relation Mapping The mismatching 口为什么需要对象持久化框架? Institute of Computer Software 2022-2-27 Nanjing University
Serialization and Persistence Transient objects vs. Persistent objects Java serialization mechanism Serializable vs. Externalizable interfaces The difficulties of object storing/retrieving Object references – closure with exclusions Scheme evolution – detect, notify, and correct Object – Relation Mapping The mismatching 为什么需要对象持久化框架? 2022-2-27 Institute of Computer Software Nanjing University 9
&扇 OOA ooD UNIVE 10 How to find classes? 口用例的识别:基于参与者,基于事件 口领域模型 口三种类:分析类,设计类,实现类 How to design classes? Institute of Computer Software 2022-2-27 Nanjing University
OOA & OOD How to find classes? 用例的识别:基于参与者,基于事件 领域模型 三种类:分析类,设计类,实现类 How to design classes? 2022-2-27 Institute of Computer Software Nanjing University 10