240 likes | 410 Views
面向对象技术. 马晓星 南京大学计算机软件研究所. 相关信息. 教师:马晓星 办公室: 蒙民伟楼 407B 电话: 83686068 Email: xxm@ics.nju.edu.cn 助教:谢德平(暂定) 课程网页 http://moon.nju.edu.cn/~xxm/courses/oot/ ( Under Construction ,欢迎提供相关资源链接). 1. 引言. 摘要. 课程简介 --“选不选这门课?” 背景概述 --“所学内容在专业知识结构中的位置?”. 欢迎选修“面向对象技术” !. 通过选修本课程,可以
E N D
面向对象技术 马晓星 南京大学计算机软件研究所 Institute of Computer Software Nanjing University
相关信息 • 教师:马晓星 办公室: 蒙民伟楼 407B 电话: 83686068 Email: xxm@ics.nju.edu.cn • 助教:谢德平(暂定) • 课程网页 http://moon.nju.edu.cn/~xxm/courses/oot/ (Under Construction,欢迎提供相关资源链接) Institute of Computer Software Nanjing University
1. 引言 Institute of Computer Software Nanjing University
摘要 • 课程简介 --“选不选这门课?” • 背景概述 --“所学内容在专业知识结构中的位置?” Institute of Computer Software Nanjing University
欢迎选修“面向对象技术”! • 通过选修本课程,可以 • 更深入地掌握面向对象的基本原理 • 更广泛地了解面向对象的新兴技术 • 获取 3 个学分 Institute of Computer Software Nanjing University
课程性质 • 不是又一门语言/编程课 • 虽然在C++ Java 之外还会提到别的语言,如Eiffel • 不是一般意义上的软件工程课 • 但讲授面向对象软件开发的实用技术 • 不属于理论计算机科学 • 但会利用一些较成熟易用的理论工具 Institute of Computer Software Nanjing University
课程目标 • 用OOPL写代码 →OOP → OOSC • 朴素的OOP → 系统化的OOP • 传统OO技术 → 现代的OO技术 • Beyond OO Institute of Computer Software Nanjing University
课程内容 主要包括但不限于: • 面向对象的起源及其动机 • 面向对象技术的核心概念和基本原理 • Object, Class, Encapsulation, Polymorphism….. • Abstract Data Type, Design by Contract, …… • Garbage Collection, Exception Handling …… • 面向对象技术的应用 • Design Patterns, ….. • 面向对象的发展 • 并发、分布对象计算及Internet • 对象持久化 • Software Component, Software Architecture ….. Institute of Computer Software Nanjing University
课程内容 • 让我们看看以往的考试题 Institute of Computer Software Nanjing University
教材与参考资料 • 徐家福, 王志坚, 翟成祥 等,《对象式程序设计语言》, 南京大学出版社,1993年2月。 • Bertrand Meyer, Object-Oriented Software Construction, second Edition, Prentice Hall, 1997. Electronic version is available. 清华大学出版社影印。 Institute of Computer Software Nanjing University
教材与参考资料 • Richard Mitchell and Jim Mckim. Design by Contract, by Example. • Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented software, Addison-Wesley , 1994. • Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, 2nd edition, 2002. • Craig Larman, Applying UML and Patterns, Prentice Hall PTR, 2nd edition. 2001. Institute of Computer Software Nanjing University
授课方式 • Lecture • Seminar Institute of Computer Software Nanjing University
考核方式 • 笔试 约 70% • 课堂 约 10-15% • 作业 约 15-20% • 主动Presentation 约 20-30% (额外加分) • 理论探索,学习心得,实践经验 均可。 Institute of Computer Software Nanjing University
有何建议 • 内容? • 授课方式? • 考核方式? • 其他? Institute of Computer Software Nanjing University
背景概述 Institute of Computer Software Nanjing University
摘要 • 从软件到软件工程 • 前对象时代 • 面向对象思想的兴起 Institute of Computer Software Nanjing University
软件 • "Our civilization runs on software." -- Bjarne Stroustrup. • 什么是软件?特点? • 软件工程 Institute of Computer Software Nanjing University
软件 • 概念 • 特点 • Frederick Brooks The Mythical Man-Month • 快感:造物,有用于人,精密运作,学习,自由创造 • 痛苦:须完美,受限制,琐碎,过时 • 本质上是逻辑产品 • 现实上受多方制约 Institute of Computer Software Nanjing University
软件:逻辑产品 • 基础: • 图灵机Universal TM • von Neumann architecture • PL virtual machines Herhert A. Simon: the sciences of the artificial E.W. Dijkstra: Computer Science is no more about computers than astronomy about telescopes Institute of Computer Software Nanjing University
Institute of Computer Software Nanjing University
软件:多方制约 • 作为一种“工程” • 目的性 • 资源 • 物理运行平台 Institute of Computer Software Nanjing University
软件 • 问题 • 质量 生产率 • 根源:复杂性 • 手段 Booch • Decomposition • Abstraction • Hierarchy Institute of Computer Software Nanjing University
编程系统产品的演进 X3 A 程序 A 编程系统 (接口 系统集成) X3 A 编程产品 (通用化、测试、文档、维护) A 编程系统产品 Institute of Computer Software Nanjing University
软件工程 • 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。 Institute of Computer Software Nanjing University