课程简介
《面向对象技术高级课程》深入、系统、完整地讲解当今主流的面向对象软件开发方法的分析、设计、实现及重构方法,深入讲解UML语言的高级技术细节,以及近年来面向对象方法最新的发展趋势。课程集百家之所言,并结合主讲者最新的研究成果,并通过大量、丰富、完整、不同领域、应用不同技术的案例将其中的关键知识点串联起来,便于理解和应用。 此课程适用人群:面向广大软件开发爱好者,并不局限专业与学历层次。最佳选课者为计算机科学和软件工程专业的大学生和硕士研究生。选课者最好具有一门面向对象的编程语言的基本知识和软件工程的基本知识。
课程大纲
第1周: 绪论:软件开发方法的演化与最新趋势
介绍贯穿于课程始终的基本概念:系统、模型、方法学、方法、语言等,回顾软件开发方法学的历史、现状,并展望未来
第2周: 面向对象技术概论
讲述面向对象方法学中的原则与发展历史以及问题
第3周:面向对象分析与设计引例(空战游戏)
以一个完整的案例示范完整的面向对象的需求分析、系统分析和系统设计的过程和模型。
第4周:面向对象的需求分析:Usecace图
介绍面向对象需求分析模型的语义与建立过程,示例,并讨论其中的深入话题
第5周:面向对象的系统分析:类图
介绍类图的语义与建立过程,示例,并讨论其中的深入话题
第6周:面向对象的系统分析:交互图
介绍交互图的语义与建立过程,示例,并讨论其中的深入话题
第7周:面向对象的系统分析:状态图
介绍状态图的语义与建立过程,示例,并讨论其中的深入话题
第8周:面向对象的系统设计:概述与问题域部分的设计
介绍面向对象设计的范围界定、概要与组成部分,以及其中问题域部分的设计方法与策略
第9周:面向对象的系统设计:控制驱动部分的设计
介绍控制驱动部分的设计方法与策略与案例
第10周:面向对象的系统设计:人机交互部分与数据管理部分的设计
介绍人机交互部分与数据管理部分的设计方法与策略与案例
第11周:面向对象的系统设计:构件与部署的设计
介绍构件与部署分与数据管理部分的设计方法与策略与案例
第12周:面向对象分析与设计完整案例
介绍各种类型的面向对象分析与设计完整案例
课程说明
本课程并不拘限于某一特定的面向对象的编程语言的编程技巧,但却包含了基于当前主流的面向对象编程语言的多项完整案例。本课程引导选课同学从更为抽象和共性的模型角度描述现实世界和软件世界,即构建分析与设计模型,之后再将其落实到软件编程实现。这种工程化的理念对于开发大型、复杂、困难、攸关软件系统是非常必要的,也是作为高级程序员、系统分析师、软件架构师等高级软件技术职位所必需具有的素质。
作为一门面向广大受众的中文MOOC课程,本次课程力求向不同需求和背景的朋友呈现中华文化氛围、生动有趣的案例、跨专业的广阔的视野、以及深入实用的技术综合。同时作为一门传授软件专门知识的MOOC课程,本次课程将为具有编程能力的同学带来有趣的软件开发项目作业,在实际的软件开发中感受学以致用的快乐,体会面向对象方法学的深刻内涵。
本次课程仍将邀请面向对象领域著名学者北京大学信息科学技术学院邵维忠教授和麻志毅副教授讲解某些章节,并对面向对象方法学中的某些关键问题进行讨论。
参考资料
拓展阅读
其他
本课程有12周的课程组成,每周3~4小时,每周的课程包括若干个视频,每个视频的长度小于15分钟。每个视频包含1~2个集成测试问题。还有单独的作业和测试题,最后是期末测试。
主讲教师
蒋严冰 副教授
一直从事软件工程领域的教学和科研工作,指导学生多次获得全国或国际竞赛奖励,开展创新性的课程教学,并与华为、微软、IBM等公司开展科研教学合作项目。科研工作中将基础研究与面向企业服务相结合。教学过程中坚持多种教学法的综合运用,开发各种教学案例,注重课程的实用性,向学生传授最前沿的知识和技术。
邵维忠 教授
北京大学教授、博士生导师。主要研究领域:软件工程、面向对象方法、软件复用与构件技术等。作为课题负责人或主要参加人承担过多项科技攻关项目如:“DJ-240系列机XCY语言编译系统”、“DJS-200/XT2操作系统”、“软件结构、软件工具的研究及DJS200/XT2的研制”、“大型软件开发环境青鸟系统”等。并多次获得电子工业部、国家教委、国家科委等奖项,并获得国家科学技术进步二等奖。主要著作:《面向对象的分析与设计》、《面向对象技术》。主要译著:《面向对象的分析》、《UML用户指南》。
相关课程推荐