张翼飞软件工程教学

导航

教学日历(初稿)

周  次

课  次

教学内容安排(按章、节)

学    时

授课方式

1.参考书

2.作业(必填)

3.使用教具

4.其它

 

1

1

介绍如何学习这门课程;

 

2

讲授

1.申请个人博客;

2.总结目前学习过程中的困惑,提出几个问题,并带着问题学习这门课;

 

 

1

2

软件工程相关概念和发展史;

软件工程与计算机科学关系;

 

2

讲授

1.选择一个自己熟悉的软件,并对它进行评价;

2.编写一个小程序;

 

2

3

个人开发技术:

工程师能力评估和发展;

 

 

 

1.申请GitHub账号,上传第一次作业的程序;

2.阅读一个程序;

3.编写一个简单程序上传至GitHub。

 

2

4

VSTS效能分析工具(个人看博客学习);

单元测试(课堂教学结合实例);

2

讲授

 

 

3

5

 

二人合作技术:

代码规范与代码复审;

 

2

讲授

1.结对编程练习;

 

 

3

6

结对编程;

如何提意见;

2

讲授

1.给出这次编程过程的总结;

2.论述代码规范的必要性;

4

7

 

软件开发的各种模型

2

讲授

1.确定团队和成员,每个团队由3人组成;

2.制定有利于高效工作和合作的规则,讨论如何避免吵架;

4

8

团队的类型;

2

讲授

 

5

7

敏捷方法;

2

讲授

什么时候适合选择敏捷?

5

8

MSF过程模型

2

讲授

结合材料比较MSF和Agile两种方法的异同。

6

11

软甲需求;

利益相关者;

需求获取技术;

2

讲授

1.阅读两篇扩展文章,总结需求获取困难的原因;

2.用户调研联系,针对本学期项目,确定用户群体和调研对象,设计调研提纲和题目;

6

12

功能定位和优先级;

计划和估计;

分而治之(WBS)

2

讲授

具体项目练习

7

13

团队的角色分工;

项目经理的作用;

软件项目中的风险与风险管理;

PM应具备的专业能力

2

讲授

1.确定自己小组的项目经理;

2.项目经理角色的同学思考如何与自己的成员相处;

3.项目成员角色的同学思考如何接受项目经理的管理,如何向项目经理反应不同意见;

7

14

典型用户与场景;

软件功能说明书和技术说明书;

2

讲授

1.自动柜员机用户调研;

2.游戏用户调研;

(以上二选一)

8

15

功能驱动的设计;

用例;

2

讲授

针对调研结果分析用例和角色

8

16

典型的开发流程;

常用的分析与设计方法

2

讲授

如何避免在产品开发后期不断有重大修改,导致其它模块的连锁反应?

9

17

开发阶段的一些管理方法

2

讲授

1.你的团队成员是否有“不给力”的问题?

2.查找资料总结好的修改/重构是什么样的?

9

18

考虑用户体验的各种角度;

设计的层次、步骤和目标

认知阻力;

用户体验的衡量标准

2

讲授

1.查资料总结目前软件用户界面的发展历程;

2.设计团队项目的用户界面,注意细节;

10

19

各种软件测试方法

2

讲授

总结历史上最重大的一些软件缺陷,给出自己的观点;

10

20

测试的设计方法

2

讲授

1.介绍你使用的测试平台和操作方法;

2.为团队项目的各相关模块设计测试用例;

11

21

软件的质量包括哪些方面?

如何衡量软件工程的质量?

2

讲授

针对自己的团队项目,设计一些指标和量化考核标准;

11

22

软件项目的会诊;

软件按时发布的策略;

项目总结和回顾;

2

讲授

发布团队项目成果;

分析一些比较著名的失败的项目,给出自己的理解并总结经验教训;

12

23

IT行业如何创新;

软件工程师的职业道德;

2

讲授

总结本次学习过程的经验、教训,鼓励学生上台讲述;

12

24

 

2

讲授

 

posted on 2016-03-09 09:51  Vincent_Z  阅读(346)  评论(0编辑  收藏  举报