软件工程

Description

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

随着信息技术的发展,软件已经深入到人类社会生产和生活的各个方面。软件工程是将工程化的方法运用到软件的开发、运行和维护之中,以达到提高软件质量,降低开发成本的目的。软件工程已经成为当今最活跃、最热门的学科之一。
本次软件工程MOOC课程是一门导论性课程,在11周、21次课的时间里,我们将全面介绍软件工程所涉及的各方面知识,包括软件过程、软件需求、结构化分析和设计方法、面向对象分析和设计方法、敏捷开发方法、软件测试、软件项目管理、软件开发工具和环境。通过课程讲授,让大家初步了解软件开发和维护的方法学,为进一步深入学习各专题打下基础。
课程还包含了实践环节,通过一个小型软件项目,大家可以体验软件开发的各个环节,并形成项目管理的意识。
一、本次课程的安排如下:
第1周 软件工程概论、软件过程
第2周 软件需求
第3周 结构化方法1
第4周 结构化方法2
第5周 面向对象方法1
第6周 面向对象方法2
第7周 面向对象方法3
第8周 面向对象方法4、敏捷开发方法
第9周 软件测试
第10周 软件项目管理
第11周 软件开发工具和环境
二、课程实践
本课程提供了三个实践题目,每个实践题目已列出三点基本需求,可在课程介绍的讲义中查看。请结合自身兴趣爱好从中任选其一,在仔细阅读并思考基本需求的基础之上额外补充一个需求,以此作为系统需求完成本次课程实践。
课程实践分为三个阶段,分别在第4周、第7周和第10周进行结构化方法、面向对象方法、软件测试和项目管理的实践,完成相应的文档报告。
实践成绩由同学互评给出,每位同学需要给其他三位同学的报告评分。
三、课程评分方案
在新的课程版本里,我们将课程实践所占的分数从30%降低到了12%。但我们依然鼓励同学们积极地完成课程实践的练习,加深对课程的理解。
(1)平时Quiz占88%
(2)课程实践占12%

祝大家学习愉快!

What you will learn

软件工程概论和软件过程

本周讲授软件和软件工程的基本概念,了解软件工程的知识框架。讲授软件生存周期过程和软件生存周期模型,介绍常见的软件生存周期模型。

软件需求

需求是软件开发的第一步。本周介绍软件需求的基本概念和分类,常见的需求发现方法,以及软件需求规约的相关知识。

结构化方法-1

结构化方法是经典的软件开发方法。本周介绍结构化分析方法和结构化设计方法的第一部分,讲解如何根据捕获到的需求进行分析,形成软件需求规格说明书,进而对软件进行总体设计。

结构化方法-2

结构化设计方法分为总体设计和详细设计两个步骤,本周继续介绍总体设计的体系结构设计、接口设计和数据设计部分,以及如何进行详细设计。

What’s included