面向对象技术高级课程(The Advanced Object-Oriented Technology)

  • 0.0
Approx. 40 hours to complete

Course Summary

This course provides an introduction to Agile software development, covering key concepts and principles along with practical techniques and practices that can be applied in real-world projects.

Key Learning Points

  • Learn the basics of Agile software development
  • Understand key concepts and principles of Agile
  • Apply Agile techniques and practices in real-world projects

Related Topics for further study


Learning Outcomes

  • Understand the principles and practices of Agile software development
  • Apply Agile techniques in real-world projects
  • Collaborate effectively in Agile teams

Prerequisites or good to have knowledge before taking this course

  • Basic understanding of software development
  • Familiarity with project management concepts

Course Difficulty Level

Intermediate

Course Format

  • Online self-paced course
  • Video lectures
  • Hands-on exercises

Similar Courses

  • Software Development Processes and Methodologies
  • Agile Leadership Principles and Practices

Notable People in This Field

  • Co-creator of Scrum
  • Founder of Kanban

Related Books

Description

如果将软件开发人员看作行走江湖的武侠,那么各种软件开发技术就是武侠赖以傍身的武术秘籍。有的秘籍以易学灵巧见长,练习者很快掌握,并有立竿见影的功效,但失之厚重持久;有的秘籍初学乍练顿显困难,虽冥思苦解仍不得要领,需坚持不断的内功修炼方成正果,却是成为武林大侠必备的至宝。本课程有些类似于后者。

Outline

  • 第1节:绪论-软件开发方法的演化与最新趋势
  • 1.第二次MOOC开课引言
  • 2.系统的概念
  • 3.结构的概念
  • 4.模型与科学模型
  • 5.工程模型
  • 6.软件模型
  • 7.方法学、方法、语言与图
  • 8.软件方法学的历史
  • 9.软件方法学的现状
  • 10.UML扩展的必要性
  • 11.UML扩展的机制
  • 12.meta、元与元模型
  • 13.元模型与实例
  • 14.软件方法的未来发展
  • 15.模型驱动的双向工程案例
  • 16.小结
  • 补充1.软件工程的作用与本课程的价值
  • 补充2.模型驱动的双向工程案例(高清)
  • 下节介绍
  • 第1节测试
  • 第2节:本课程方法概要与完整的引例及项目作业说明
  • 1.本课程的方法中应用的概念与原则(邵维忠教授主讲 11:10)
  • 2.本课程的方法中用到的模型与规约(邵维忠教授主讲 9:29)
  • 3.本课程中方法中的建模过程(邵维忠教授主讲 4:57)
  • 4.本课程中OOA和OOD的关系(邵维忠教授主讲 9:29 )
  • 5.引例概述与需求描述(8:10)
  • 6.引例需求分析(16:41)
  • 7.引例系统分析—类图(14:16)
  • 8.引例系统分析—顺序图(13:54)
  • 9.引例系统设计—总述(9:37)
  • 10.引例系统设计—问题域设计与人机交互设计(17:12)
  • 11.引例系统设计—控制驱动设计与数据管理设计(28:16)
  • 12.引例系统实现与演示(8:58)
  • 第2节测试
  • 第3节:面向对象方法学概述
  • 1.哲学中的对象
  • 2.对象与结构
  • 3.软件中的对象与面向对象方法学中的原则
  • 4.面向对象与基于对象
  • 5.封装与信息隐藏
  • 6.实例化
  • 7.消息传递
  • 8.消息的编译原理与消息传递的意义
  • 9.泛化与多态
  • 10.多态的编程实例
  • 11.覆盖、重载、基调与原型
  • 12.多态的实现原理
  • 13.关联与聚合
  • 第3节测试
  • 第4节:面向对象方法与UML的历史与发展
  • 1.几种不同的分析设计方法
  • 2.OOA与OOD
  • 3.面向对象方法的主要优点
  • 4.不同流派的OO方法:Booch方法
  • 5.不同流派的OO方法:Coad-Yourdon方法
  • 6.不同流派的OO方法:Jacobson方法
  • 7.不同流派的OO方法:Rumbaugh方法
  • 8.UML的产生背景与发展历史
  • 9.UML是什么不是什么
  • 10.UML的四层模型结构
  • 11.UML中的抽象元类和具体元类
  • 12.UML1中的模型图与扩展机制
  • 13.UML2概况
  • 14.UML的贡献与存在问题
  • 15.举例:UML体系结构中的问题
  • 16.学习UML的建议
  • 第4节测试
  • 第5节:需求分析——usecase图
  • 1.usecase图的历史与黑盒视角
  • 2.参与者的概念、分类与关系
  • 3.识别参与者的策略与技巧
  • 4.用况与简单案例
  • 5.用况与参与者及用况之间的关系与案例
  • 6.不同学者对包含关系与扩展关系的区别
  • 7.用况之间的泛化关系、用况的详细描述、识别策略与注意问题
  • 8.用况图的应用场合、复杂案例与建模要点
  • 9.用况驱动的方法研究,及用况与用户故事、场景、业务用况的比较研究
  • 10.使用Eclipse GMF自制usecase图建模工具的过程演示
  • 第5节测试
  • 第6节:系统分析—类图
  • 1.类图引言
  • 2.识别类与对象的方法
  • 3.识别属性与服务
  • 4.识别关系—泛化关系
  • 5.泛化关系的识别策略、关联关系
  • 6.关联关系的分类与识别策略
  • 7.分析模式简介
  • 8.聚合与组合关系
  • 9.依赖与实现关系
  • 10.建立类图实例
  • 第6节测试
  • 第7节:系统分析—交互图
  • 1.交互图引言
  • 2.简单顺序图、同步消息和异步消息
  • 3.顺序系统和并发系统与同步消息和异步消息的关系
  • 4.简单顺序图实例
  • 5.复杂顺序图
  • 6.其他交互图、综合案例(用况、类图、顺序图)
  • 第7节测试
  • 第8节:系统分析—状态图
  • 1.状态图引言与基本概念
  • 2.状态的表示、内部转换、延迟事件、伪状态与最终状态
  • 3.状态图中的动作、活动与转换
  • 4.结合点与选择点
  • 5.简单状态图的建模实例
  • 6.将简单状态图转换为C++代码的方法
  • 7.复杂的状态图、历史状态
  • 8.并发状态与正交区
  • 9.复杂状态图的建模实例
  • 第8节测试
  • 第9节:系统设计—问题域部分的设计
  • 1.设计概述、问题域部分设计概述
  • 2.基于复用和为了复用的设计
  • 3.泛化与聚合的互换
  • 4.泛化需要注意的其他问题
  • 5.一题多解案例
  • 6.设计模式简介
  • 第9节测试
  • 第10节:系统设计—人机交互部分设计与控制驱动部分的设计
  • 1.人机交互部分设计简介
  • 2.控制驱动设计部分—概述与相关概念
  • 3.控制驱动设计引例
  • 4.控制驱动设计的步骤及分布式体系结构分类
  • 5.识别控制流的策略
  • 6.例1:多线程动画
  • 7.例1:实现与展示
  • 8.例2:电梯模拟控制器
  • 9.例2:电梯模拟控制器展示
  • 10.线程模式简介
  • 第10节测试
  • 第11节:系统设计—数据管理设计、构件部署设计、活动图&系统实现
  • 1.数据管理部分设计概述
  • 2.数据管理中数据存储方案与接口的设计
  • 3.根据类图设计关系型数据表结构
  • 4.关联关系、泛化关系的到数据表的映射
  • 5.构件与部署设计概述
  • 6.活动图简介
  • 7.活动图的语法语义
  • 8.活动图表示UML的制定过程
  • 9.面向对象的系统实现概述
  • 第11节测试
  • 第12节:综合案例
  • 1.网上书店的需求描述
  • 2.网上书店的需求分析
  • 3.网上书店的系统分析
  • 4.网上书店的系统设计:问题域部分
  • 5.网上书店的系统设计:人机交互部分
  • 6.网上书店的系统设计:数据管理部分
  • 7.网上书店的系统展示
  • 8.立体五子棋的需求描述与需求分析
  • 9.立体五子棋的系统分析
  • 10立体五子棋的系统设计
  • 11.立体五子棋的系统展示
  • 期末考试
  • 期末考试

Summary of User Reviews

Students rave about the Advanced Object-Oriented Programming in Java course offered by Coursera. One key aspect that stands out is the course's ability to help students gain a deep understanding of advanced object-oriented programming concepts. Here are the pros and cons that users have mentioned most often:

Pros from User Reviews

  • In-depth coverage of advanced object-oriented programming concepts
  • Hands-on coding exercises and quizzes to reinforce learning
  • Engaging and knowledgeable instructors
  • Well-structured curriculum with clear explanations
  • Flexible schedule allows students to learn at their own pace

Cons from User Reviews

  • Some students find the course challenging and may require additional resources
  • Course materials and assignments can be time-consuming
  • Some students may struggle with the pace of the course
  • Limited interaction with other students
  • No certificate of completion for free version
Chinese (Simplified)
Available now
Approx. 40 hours to complete
蒋 严冰, 邵 维忠
Peking University
Coursera

Instructor

Share
Saved Course list
Cancel
Get Course Update
Computer Courses