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

现代软件工程 教学计划 

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

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

2. 现代软件工程 (适合大三下的学生,先修课要求: 学过编程,数据结构,数据库+操作系统+编译原理+网络 等课程, 有 4000 行以上的代码量)

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

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

团队项目开始 (alpha)

博客:团队项目NABCD

7

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

daily scrum ( 5 天 )

博客:scrum 每天一篇

8

Testing  (测试)

Alpha 发布(产品原型)

博客:测试报告

9

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

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

各个小组互评Alpha 成绩

小组成员流动 

团队项目 beta 开始

博客:点评各组项目

博客:小组beta 计划,新成员介绍

10

请业界人士,研究生来交流

daily scrum ( 5 天 )

博客:每天scrum 报告

11

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

daily scrum ( 5 天 )

博客:每天scrum 报告

12

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

beta release

博客:项目 beta 报告

13

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

博客:个人软件工程总结

14

(缓冲)

(缓冲)

(缓冲)

 

2. 现代软件工程, 软件工程实践

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

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

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

    授课: 14 次   老师授课

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

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

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

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

 

Team Project Kick Off 团队项目开始

Alpha 阶段

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

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

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

各个小组互评Alpha 成绩

小组成员流动 

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

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

如:人工智能应用开发

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

教材:《构建之法》 

其他参考书见书单  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值