课程简介

《面向对象技术高级课程》深入、系统、完整地讲解当今主流的面向对象软件开发方法的分析、设计、实现及重构方法,深入讲解UML语言的高级技术细节,以及近年来面向对象方法最新的发展趋势。课程集百家之所言,并结合主讲者最新的研究成果,并通过大量、丰富、完整、不同领域、应用不同技术的案例将其中的关键知识点串联起来,便于理解和应用。 此课程适用人群:面向广大软件开发爱好者,并不局限专业与学历层次。最佳选课者为计算机科学和软件工程专业的大学生和硕士研究生。选课者最好具有一门面向对象的编程语言的基本知识和软件工程的基本知识。

课程大纲

第1周: 绪论:软件开发方法的演化与最新趋势
介绍贯穿于课程始终的基本概念:系统、模型、方法学、方法、语言等,回顾软件开发方法学的历史、现状,并展望未来
第2周: 面向对象技术概论
讲述面向对象方法学中的原则与发展历史以及问题
第3周:面向对象分析与设计引例(空战游戏)
以一个完整的案例示范完整的面向对象的需求分析、系统分析和系统设计的过程和模型。
第4周:面向对象的需求分析:Usecace图
介绍面向对象需求分析模型的语义与建立过程,示例,并讨论其中的深入话题
第5周:面向对象的系统分析:类图
介绍类图的语义与建立过程,示例,并讨论其中的深入话题
第6周:面向对象的系统分析:交互图
介绍交互图的语义与建立过程,示例,并讨论其中的深入话题
第7周:面向对象的系统分析:状态图
介绍状态图的语义与建立过程,示例,并讨论其中的深入话题
第8周:面向对象的系统设计:概述与问题域部分的设计
介绍面向对象设计的范围界定、概要与组成部分,以及其中问题域部分的设计方法与策略
第9周:面向对象的系统设计:控制驱动部分的设计
介绍控制驱动部分的设计方法与策略与案例
第10周:面向对象的系统设计:人机交互部分与数据管理部分的设计
介绍人机交互部分与数据管理部分的设计方法与策略与案例
第11周:面向对象的系统设计:构件与部署的设计
介绍构件与部署分与数据管理部分的设计方法与策略与案例
第12周:面向对象分析与设计完整案例
介绍各种类型的面向对象分析与设计完整案例

课程说明

本课程并不拘限于某一特定的面向对象的编程语言的编程技巧,但却包含了基于当前主流的面向对象编程语言的多项完整案例。本课程引导选课同学从更为抽象和共性的模型角度描述现实世界和软件世界,即构建分析与设计模型,之后再将其落实到软件编程实现。这种工程化的理念对于开发大型、复杂、困难、攸关软件系统是非常必要的,也是作为高级程序员、系统分析师、软件架构师等高级软件技术职位所必需具有的素质。


作为一门面向广大受众的中文MOOC课程,本次课程力求向不同需求和背景的朋友呈现中华文化氛围、生动有趣的案例、跨专业的广阔的视野、以及深入实用的技术综合。同时作为一门传授软件专门知识的MOOC课程,本次课程将为具有编程能力的同学带来有趣的软件开发项目作业,在实际的软件开发中感受学以致用的快乐,体会面向对象方法学的深刻内涵。


本次课程仍将邀请面向对象领域著名学者北京大学信息科学技术学院邵维忠教授和麻志毅副教授讲解某些章节,并对面向对象方法学中的某些关键问题进行讨论。


参考资料

邵维忠、杨芙清,面向对象的分析与设计,清华大学出版社,2013
麻志毅、邵维忠,面向对象方法基本教程, 高等教育出版社,2004
Martin Fowler著,徐家福译,UML精粹(第3版)清华大学出版社, 2005
Grady Booch等著,邵维忠等译, UML用户指南(第2版 )人民邮电出版社, 2006
Joshua Kerievsky著, 杨光等译 重构与模式 人民邮电出版社, 2013.1
Martin Fowler著,陈师(注释), Analysis Patterns: Reusable Object Models ,人民邮电出版社,2007


拓展阅读

其他

本课程有12周的课程组成,每周3~4小时,每周的课程包括若干个视频,每个视频的长度小于15分钟。每个视频包含1~2个集成测试问题。还有单独的作业和测试题,最后是期末测试。

主讲教师

蒋严冰   副教授

一直从事软件工程领域的教学和科研工作,指导学生多次获得全国或国际竞赛奖励,开展创新性的课程教学,并与华为、微软、IBM等公司开展科研教学合作项目。科研工作中将基础研究与面向企业服务相结合。教学过程中坚持多种教学法的综合运用,开发各种教学案例,注重课程的实用性,向学生传授最前沿的知识和技术。

邵维忠   教授

北京大学教授、博士生导师。主要研究领域:软件工程、面向对象方法、软件复用与构件技术等。作为课题负责人或主要参加人承担过多项科技攻关项目如:“DJ-240系列机XCY语言编译系统”、“DJS-200/XT2操作系统”、“软件结构、软件工具的研究及DJS200/XT2的研制”、“大型软件开发环境青鸟系统”等。并多次获得电子工业部、国家教委、国家科委等奖项,并获得国家科学技术进步二等奖。主要著作:《面向对象的分析与设计》、《面向对象技术》。主要译著:《面向对象的分析》、《UML用户指南》。

相关课程推荐

  • 正在进行
    计算概论PartB
    理解“结构化程序设计的基本思想”,掌握“C程序设计的基本技巧”,养成“良好的编程习惯和编程风格”,编写出“真正具有生命力的计算机程序”。完成这门课的学习,你将能解释C程序设计语言的基本概念与知识,并且使用C语言编写计算机程序解决生活工作中的实际问题。
  • 正在进行
    算法设计与分析
    本课程的内容分成两大部分:算法的基础知识、通用算法设计技术与分析方法。 第一部分是算法基础知识,约占20%,主要介绍算法相关的基本概念和数学基础。比如,什么是算法的伪码描述?什么是算法最坏情况下和平均情况下的时间复杂度?算法时间复杂度函数的主要性质,算法复杂度估计中常用的数学方法,如序列求和及递推方程求解。 第二部分是通用的算法设计技术与分析方法,主要介绍分治策略、动态规划、贪心法、回溯与分支限界。主要介绍这些设计技术的使用条件、分析方法、改进途径,并给出一些重要的应用。
  • 正在进行
    计算机网络原理和因特网
    自20世纪70年代以来, Internet已经彻底改变了世界和人们的生活,而底层的计算机网络知识是Internet出现和不断发展的基石。计算机网络和通信技术是近年来发展最快的学科领域之一,新技术不断涌现,新产品日新月异。为了在纷繁网络技术世界拥有判断和驾驭能力,本课程将紧紧围绕网络科学技术(例如连接管理、差错控制、流量控制、拥塞控制、路由选择、网络安全等),讲授计算机网络概念和技术原理,选择典型网络协议和流行网络产品作为案例进行剖析,使学生不仅获得必要的网络基础知识,而且面对网络问题具有专业的分析判断和解决能力。

恭喜,报名成功

进入学习中心

恭喜,报名成功

确定

请进入开课界面预览

确定

X

请去您的邮箱验证

还没收到验证邮件?

1. 试试去广告邮件、垃圾邮件目录看看

2. 再次发送验证邮件

对不起,班次容量已满

请报名下一班次

知道了~!

对不起,您没有操作权限

知道了~!