Overview
如果将软件开发人员看作行走江湖的武侠,那么各种软件开发技术就是武侠赖以傍身的武术秘籍。有的秘籍以易学灵巧见长,练习者很快掌握,并有立竿见影的功效,但失之厚重持久;有的秘籍初学乍练顿显困难,虽冥思苦解仍不得要领,需坚持不断的内功修炼方成正果,却是成为武林大侠必备的至宝。本课程有些类似于后者。
《面向对象技术高级课程》深入、系统、完整地讲解当今主流的面向对象软件开发方法的分析、设计、实现及重构方法,深入讲解UML语言的高级技术细节,以及近年来面向对象方法最新的发展趋势。课程集百家之所言,并结合主讲者最新的研究成果,并通过大量、丰富、完整、不同领域、应用不同技术的案例将其中的关键知识点串联起来,便于理解和应用。
本课程并不拘限于某一特定的面向对象的编程语言的编程技巧,但却包含了基于当前主流的面向对象编程语言的多项完整案例。本课程引导选课同学从更为抽象和共性的模型角度描述现实世界和软件世界,即构建分析与设计模型,之后再将其落实到软件编程实现。这种工程化的理念对于开发大型、复杂、困难、攸关软件系统是非常必要的,也是作为高级程序员、系统分析师、软件架构师等高级软件技术职位所必需具有的素质。
作为一门面向广大受众的中文MOOC课程,本次课程力求向不同需求和背景的朋友呈现中华文化氛围、生动有趣的案例、跨专业的广阔的视野、以及深入实用的技术综合。
同时作为一门传授软件专门知识的MOOC课程,本次课程将为具有编程能力的同学带来有趣的软件开发项目作业,在实际的软件开发中感受学以致用的快乐,体会面向对象方法学的深刻内涵。
本次课程仍将邀请面向对象领域著名学者北京大学信息科学技术学院邵维忠教授和麻志毅副教授讲解某些章节,并对面向对象方法学中的某些关键问题进行讨论。
Syllabus
- 第1节:绪论-软件开发方法的演化与最新趋势
- 介绍贯穿于课程始终的基本概念:系统、模型、方法学、方法、语言等,回顾软件开发方法学的历史、现状,并展望未来。
- 第2节:本课程方法概要与完整的引例及项目作业说明
- 第3节:面向对象方法学概述
- 第4节:面向对象方法与UML的历史与发展
- 第5节:需求分析——usecase图
- 第6节:系统分析—类图
- 第7节:系统分析—交互图
- 第8节:系统分析—状态图
- 第9节:系统设计—问题域部分的设计
- 第10节:系统设计—人机交互部分设计与控制驱动部分的设计
- 第11节:系统设计—数据管理设计、构件部署设计、活动图&系统实现
- 第12节:综合案例
- 期末考试
Taught by
蒋 严冰