现代软件工程 教学计划 适应两种难度和重点

经过 2007 - 2018 年,30个不同学校的实践后, 我们意识到 《构建之法》在大学中主要有两种教法, 适应于两种难度和重点。  下面我们具体介绍这两种计划。 

1. 软件工程导论(适合大一下的学生,在学过一门编程课之后)

2. 软件工程实践 (适合大三下的学生,在学过几门编程,数据结构,数据库+操作系统+编译原理+网络 等课程)

 

1. 软件工程导论

 

 

 

 

Week

Lecture (授课)

辅导/交流/演示

项目

1

Intro (课程简介, 分组)  

 使用代码仓库 (github),按照工具,写博客

Pair-Project (结对项目)

2

Software Engineering (软件工程概论),  Unit Test (单元测试), Performance Analysis (效能分析) 

 快速阅读全书并提问,发博客

 

3

Personal Software Process (个人软件流程 PSP), Code Quality/convention (代码质量的各种标准,代码规范,设计规范)collaboration (两人合作), influence (影响说服别人的多种方式)

结对项目复审

 

4

Team Structure & Development Process (软件团队的模式和开发的各种模式)

 如何使用快速原型设计工具 (墨刀 等)

 

5

Innovation (软件业的创新)  Myths of Innovation (创新的迷思),  Innovator's dilemma (创新者的两难)

目前热门软件产品

 发布博客分析热门产品

6

NABC (项目可行性分析)  Spec and PM  (软件规格说明书, 项目经理) 

 

 

团队项目开始 (alpha)

7

Scenarios (基于场景的设计), 软件的 UX/UI

 

daily scrum ( 5 天 )

8

Testing  (测试)

 

Alpha 发布(产品原型)

9

MSF (微软软件解决方案框架), CMMI 软件成熟度模型

Release (软件的发布,事后诸葛亮会议)

各个小组互评Alpha 成绩

小组成员流动 

团队项目 beta 开始

10

请业界人士来交流

 

daily scrum ( 5 天 )

11

 

回答自己最初看书提出的问题,阅读文献报告

daily scrum ( 5 天 )

12

 (可选)软件工程专题深入探讨

 

beta release

13

 

Final Review (最终汇报, 复审,所有分数汇总)

 

14

(缓冲)

(缓冲)

(缓冲)

 

2. 软件工程实践

 (下面表格是 2010 年设计的教学安排, 之后有不少学校进行了改进, 例如福州大学软件工程课, 请参考。 )

这是一个16周 《现代软件工程》 的课程安排:

    教学计划总长: 16 周 (扣除放假之后)

    授课: 14 次   老师授课

    辅导课: 9 次  (辅导/交流/演示)  学生主动汇报进展, 心得, 提出问题, 老师及专业人士给予辅导。

    学生项目:  个人项目, 结对编程项目, 团队项目(两个阶段)

 
Week Lecture (授课) Talk (辅导/交流/演示) Project
1 Intro (课程简介, 分组)  I-project 个人项目介绍  使用代码仓库 (github),博客 i-project (个人项目) 单元测试,效能分析
2 Software Engineering (软件工程概论),  Unit Test (单元测试), Performance Analysis (效能分析)   快速阅读全书并提问,发博客  
3 Personal Software Process (个人软件流程 PSP), Code Quality/convention (代码质量的各种标准,代码规范,设计规范)   Pair project 结对项目 
4 collaboration (两人合作), influence (影响说服别人的多种方式) P1 review Pair project 结对项目 总结 
5 Team Structure & Development Process (软件团队的模式和开发的各种模式)  如何使用快速原型设计工具 (墨刀 等)  
6 Innovation (软件业的创新)  Myths of Innovation (创新的迷思),  Innovator's dilemma (创新者的两难) 分析目前热门软件产品  结对项目 2, 分析目前热门软件产品并发表博客
7

NABC (项目可行性分析)  Spec and PM  (软件规格说明书, 项目经理) 

 

 

Team Project Kick Off 团队项目开始

Alpha 阶段

8 Scenarios (基于场景的设计), 软件的 UX/UI
  daily scrum ( 5 天 )
9 Testing  (测试)   daily scrum ( 5 天 )
10

MSF (微软软件解决方案框架), CMMI 软件成熟度模型

Release (软件的发布,事后诸葛亮会议)

各个小组互评Alpha 成绩

小组成员流动 

alpha 阶段发布, 总结
11 Dev-History (微软软件开发管理的历史,请业界人士来交流)   Beta阶段  daily scrum ( 5 天 )
12 Risk Mgmt (软件项目的风险管理)   daily scrum ( 5 天 )
13

 (可选)软件工程专题深入探讨,

如:人工智能应用开发

回答自己最初看书提出的问题,阅读文献报告 beta release
14 (可选)个人选作额外的作业 Final Review (最终汇报, 复审,所有分数汇总)  
15 (可选, 缓冲)    

教材:《构建之法》 

其他参考书见书单  

posted @ 2010-12-04 11:59 SoftwareTeacher 阅读(...) 评论(...) 编辑 收藏