软件工程

  • 4.5
Approx. 54 hours to complete

Course Summary

This course teaches software engineering principles and techniques, including agile development, software design patterns, and refactoring. Students will learn how to write high-quality code, work in teams, and use tools like Git and GitHub.

Key Learning Points

  • Learn software engineering principles and techniques
  • Develop skills in agile development, software design patterns, and refactoring
  • Gain experience working in teams and using Git and GitHub

Related Topics for further study


Learning Outcomes

  • Develop a solid understanding of software engineering principles and techniques
  • Gain experience working in teams and using Git and GitHub
  • Learn how to write high-quality code using software design patterns and refactoring

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge in a language such as Java, Python, or C++
  • Familiarity with Git and GitHub

Course Difficulty Level

Intermediate

Course Format

  • Online Self-Paced
  • Video Lectures
  • Hands-On Projects
  • Quizzes and Assessments

Similar Courses

  • Software Engineering Essentials
  • Agile Development
  • Object-Oriented Design

Related Education Paths


Notable People in This Field

  • Martin Fowler
  • Robert C. Martin

Related Books

Description

欢迎大家选修北京大学开设的软件工程MOOC课程。

Outline

  • 软件工程概论和软件过程
  • 课程宣传片
  • 课程简介
  • 软件的定义及特点
  • 软件工程的起源和概念
  • 软件开发的本质和基本手段
  • 软件工程框架
  • 软件生存周期过程的概念
  • 软件生存周期过程的分类
  • 软件生存周期模型的概念
  • 常见的软件生存周期模型
  • 软件的定义及特点测验
  • 软件工程的起源和概念测试
  • 软件开发的本质和基本手段测验
  • 软件工程框架测验
  • 软件生存周期过程的概念测验
  • 软件生存周期过程的分类测验
  • 软件生存周期模型的概念测验
  • 常见的软件生存周期模型测验
  • 软件需求
  • 需求的作用
  • 需求的定义
  • 需求的分类
  • 需求发现
  • 需求规约的概念和格式
  • 需求规约的作用
  • 【补充】项目的需求及需求规约
  • 需求的作用测验
  • 需求的定义测验
  • 需求的分类测验
  • 需求发现测验
  • 需求规约的概念和格式测验
  • 需求规约的作用测验
  • 结构化方法-1
  • 结构化分析方法的概念
  • 结构化分析模型
  • 结构化分析过程
  • 需求规格说明书
  • 【补充】结构化分析案例
  • 【补充】需求验证
  • 结构化设计概念
  • 初始模块结构图的设计
  • 初始模块结构图精化的原则
  • 【补充】总体设计案例
  • 结构化分析方法概念的测验
  • 结构化分析模型的测验
  • 结构化分析过程的测验
  • 需求规格说明书测验
  • 结构化设计的概念测验
  • 初始模块结构图的设计测验
  • 初始模块结构图精化的原则测验
  • 结构化方法-2
  • 初始模块结构图精化的启发式规则
  • 接口设计
  • 数据设计
  • 详细设计工具
  • 软件设计规约
  • 结构化方法总结
  • 【补充】软件设计评审
  • 课程实践题目
  • 第一次课程实践示例
  • 初始模块结构图精化的启发式规则测验
  • 接口设计测验
  • 数据设计测验
  • 详细设计工具测验
  • 软件设计规约测验
  • 结构化设计方法总结测验
  • 面向对象方法-1
  • 面向对象的概念
  • UML的概念
  • 表达客观事物的术语——类
  • 表达客观事物的术语——接口及其他
  • 控制复杂性的术语——包
  • 表达关系的术语——关联
  • 表达关系的术语——泛化、细化、依赖及如何使用
  • 面向对象的概念测验
  • UML概念测验
  • 表达客观事物的术语-类测验
  • 表达客观事物的术语-接口和其他测验
  • 控制复杂性的术语——包测验
  • 表达关系的术语——关联测验
  • 表达关系的术语——泛化、细化、依赖及如何使用测验
  • 面向对象方法-2
  • UML的模型表达工具_概述
  • UML的模型表达工具_静态建模——类图
  • UML模型表达工具_动态建模——用况图
  • 顺序图
  • 状态图
  • UML总结
  • UML的模型表达工具-概述测验
  • UML静态建模-类图测验
  • UML动态建模-用况图测验
  • UML动态建模-顺序图测验
  • UML动态建模-状态图测验
  • UML总结测验
  • 面向对象方法-3
  • 面向对象分析概述
  • 识别类
  • 识别属性和操作
  • 识别对象之间的关系
  • 面向对象设计概述
  • 问题域部分的概念
  • 如何进行问题域部分的设计
  • 第二次课程实践题目
  • 第二次课程实践示例
  • 面向对象分析概述测验
  • 识别类测验
  • 识别属性和操作测验
  • 识别对象之间的关系测验
  • 面向对象设计概述测验
  • 问题域的概念测验
  • 问题域部分的设计测验
  • 面向对象方法-4和敏捷开发方法
  • 人机交互部分的设计
  • 控制驱动和数据管理部分的设计
  • 程序设计范型和面向对象编程语言的特点发展
  • 如何选择编程语言
  • 敏捷开发概述
  • 极限编程
  • 敏捷设计
  • Scrum模型
  • 人机交互部分的设计测验
  • 控制驱动部分和数据管理部分的设计测验
  • 程序设计范型和面向对象编程语言的特点及发展测验
  • 如何选择编程语言测验
  • 敏捷开发概述测验
  • 极限编程测验
  • 敏捷设计测验
  • Scrum模型
  • 软件测试
  • 软件测试的概念
  • 软件测试过程模型和原则
  • 白盒测试技术
  • 黑盒测试技术
  • 软件测试的步骤
  • 软件测试的概念测验
  • 软件测试过程模型和原则测验
  • 白盒测试技术测验
  • 黑盒测试技术测验
  • 软件测试的步骤测验
  • 软件项目管理
  • 项目管理的概念
  • 项目管理框架和要素
  • 软件项目管理的概念
  • CMM概念及发展
  • CMM的基本内容
  • CMM五级标准
  • ISO9000标准
  • 软件项目开发计划示例
  • 项目管理的概念测验
  • 项目管理的框架和要素测验
  • 软件项目管理的概念测验
  • CMM概念及发展测验
  • CMM的基本内容测验
  • CMM五级标准测验
  • ISO9000标准测验
  • 软件开发工具与环境
  • 软件开发工具及环境的定义
  • 工具集成模型
  • 常用的软件开发工具和环境
  • 软件开发工具和环境的定义测验
  • 工具集成模型测验
  • 常用的软件工程开发工具和环境测验

Summary of User Reviews

Key Aspect Users Liked About This Course

The course provides a comprehensive overview of software engineering concepts and practices.

Pros from User Reviews

  • Engaging and knowledgeable instructors
  • Well-structured and easy to follow course material
  • Practical assignments and projects that help reinforce learning
  • Great community support and feedback
  • Good balance between theory and application

Cons from User Reviews

  • Some technical issues with the online platform
  • The course may be too basic for experienced software engineers
  • Not enough emphasis on modern development tools and technologies
  • Occasional lack of clarity in instructions and assignments
  • Limited opportunities for peer-to-peer interaction
Chinese (Simplified)
Available now
Approx. 54 hours to complete
孙艳春
Peking University
Coursera

Instructor

孙艳春

  • 4.5 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses