课程简介

《面向对象技术高级课程》深入、系统、完整地讲解当今主流的面向对象软件开发方法的分析、设计、实现及重构方法,深入讲解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用户指南》。

相关课程推荐

  • 正在进行
    IT项目管理
    IT项目管理的对象是软件工程项目。它所涉及的范围覆盖了整个软件工程过程。 为使软件项目开发获得成功,关键问题是必须对软件项目的工作范围、可能风险、需要资源(人、硬件/软件)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。 这种管理在技术工作开始之前就应开始,在软件从概念到实现的过程中继续进行,当软件工程过程最后结束时才终止。
  • 正在进行
    数据分析软件平台----ROOT
    ROOT(下载地址: https://root.cern.ch/ )是科学数据处理的平台。利用它,可将数据(普通数值或C++类)以压缩二进制的办法保存起来并且可以很方便的对其进行挑选、画1维、2维、3维直方图、散点图、拟合等分析工作。利用个人电脑可以登录到远程服务器进行多个文件大批量操作分析数据。ROOT还提供数学及统计工具、并行处理、神经网络及多变量分析软件包,实现多种分布的数据样本产生工具以便于对复杂问题的MC模拟开发,可方便地绘制高质量的图形并存储成pdf等不同格式。对于代码可以不需要编译即可进行解释运行以追求便利也可轻松实现编译运行以追求速度。 该软件现为国际上高能物理数据分析的必备工具,也可用于低能物理、工程、经济、军事等需要处理和分析科学数据及软件开发的领域。通过本培训的学习,学员可以在短时间将数据处理能力快速提高。ROOT系全免费开源软件且可运行在Windows和Linux下,国际上有大量科研人员及科研机构使用,学员掌握该软件后,有助于在参与国际合作和交流的科研活动过程中迅速适应国际科研环境。
  • 正在进行
    解密教育的技术变革史
    互联网并非人类历史上第一次“信息技术”革命。人类历史上一共出现过5种媒介技术:口头语言、手工抄写/羊皮书、印刷技术、广播电视和互联网。 媒介技术提供的记录和传承功能,对人类的群体社会认知,带来了革命性的影响。西方历史上曾经发生的两次文明的大发展,都正好处于媒介技术变革前后。希腊文明处于希腊从口传到手工抄写的媒介技术变革中;近代科学史上的哥白尼革命,又正好处于欧洲从手工抄写到机器印刷的技术转型中;今天,轮到了信息技术…… 吟唱、诗歌、戏曲、绘画、文字书写等,都曾经是一种表达“技术”;《荷马史诗》、《圣经》都曾经充当过识字课本;口头语言、羊皮纸卷、印刷书、广播电视,都是曾经的“教育技术”。 这门课程从重新定义教育和人这两个核心概念开始,带着你从媒介史、知识产业分工配套体系、教学模式和教育组织方式等不同的视角,游历人类一路走来传播生态环境、知识产业、教育教学的发展过程,从中寻找媒介技术影响教育变革的规律,指导学习者迎接未来教育变革的挑战,寻找创新和发展方向!

恭喜,报名成功

进入学习中心

恭喜,报名成功

确定

请进入开课界面预览

确定

X

请去您的邮箱验证

还没收到验证邮件?

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

2. 再次发送验证邮件

对不起,班次容量已满

请报名下一班次

知道了~!

对不起,您没有操作权限

知道了~!