现代软件工程讲义 目录

软件工程牵涉的范围很广, 同时也是一般院校的同学反映比较乏味的课程。 但是软件工程的技术对于投身IT 产业的学生来说是非常重要的。 经过几年的探索, 我总结了在16周的时间内让同学们通过 “做中学 (Learning By Doing)” 掌握实用的软件工程技术的教学计划。

这套讲义在下面的学校正式课程中运用过:

2007 – 2010   清华大学理论计算机科学研究中心 (姚班) 主要是大四上学期
2009,  2012    北航计算机系  大三上学期       
2010 – 2011   中科大-微软 计算机实验班 大四上学期       
2012  秋季      微软亚洲研究院创新人才班 

还有在北大合作的教学:      
2007 - 2009 北京大学软件学院 研究生课程 (课程名叫 - 微软软件实现技术, 我是讲师之一, 只讲了少部分内容)

这套讲义有这样的特点:

理论和实践相结合,讲现代理论,同时讲体现理论的工具

结构紧凑,个人项目/结对项目/团队项目紧密配合, 能在16 周讲完。

面向实战,强调做中学 (learning by doing), 项目都公开发布,用户数量和反馈是项目重要的评价标准。

讲人在软件工程中的不同角色和作用 (软件过程, 软件工具, 软件人员的技术能力和职业能力)

有丰富的材料给教师/TA 使用 (见下面的 “学生作业”)

练习量大 (其实学生工作量和国际一流大学相仿), 内容多: 教材 (3 本), 参考书 (20 本)

讲义内容: (标题下没有链接的会在以后补充)

1. 概述

  • 课程概述
  • 习而学的软件工程教育
  • 软件工程概述
  • 项目剖析 微软学术搜索项目 10个版本的历程

2. 个人开发技术

  • PSP: Personal Software Process技能的反面
  • 程序效能分析 
  • 单元测试    (在最小的编程单元上保证正确性)  &  回归测试   (保证程序在修改的过程中, 原有的功能保持稳定 )

3. 两人合作

  • 合作的阶段和影响对方的方式
  • 代码规范和代码复审
  • 结对编程, 有记载的最早的结对编程发生在 1987年3月…

4. 软件过程/方法论

  • 各种方法概述
  • 敏捷方法:  酒后的敏捷,  敏捷宣言,敏捷原则
  • Scrum/Sprint,  TDD, FDD
  • MSF-Agile
  • 支持软件过程的工具 (TFS suite)
  • Postmortem - 事后诸葛亮会议

5. 团队中的角色与合作

  • 团队的类型
  • 团队成员不同的投入和心态  - 猪/鸡/鹦鹉  
  • 角色 – PM   PM Spec, PM 的成长, 项目管理的细节
  • 角色 – Dev   Dev 的成长  软件开发不是闭卷考试   顶级程序员的心得–Coders at Work
  • 角色 – QA & Test 质量保证和测试

            QA 的闰年问题

            QA/Test 的角色和分工    QA 的成长

6. 需求

    a. 项目需求分析和建议 

    b. 目标和远景  - 反面例子画扇面

    c. 计划阶段, 软件估计 (1) (2)

    d. 场景/典型人物

7. 设计和开发 

  • 模块API 的设计 (elevator design,  mvc/mvvm example,  design interface example)
  • 开发阶段的日常管理

8. 用户界面,用户体验的设计 

9. 稳定阶段, 发布和维护

    a. 测试的计划和执行

    b. CC, ZBB, Release Candidate, and RTW

10. 软件和IT 业的创新

     a. 创新的迷思  连载   (1) (2) (3)

     b. 创新 VCD 的故事 

    c. 创新的时机

    d. 魔方的创新 

    e. 如何提出靠谱的项目建议 (NABC)

     f.  创新的出路 - 走进作坊;  创新的招数

11. 软件项目的管理

  • 绩效管理
  • 代码量和树叶量

12. 软件工程师的职业道德

     人的问题 (同学的感想)

    

13. 附录, 参考书, 论文阅读

教材 (3本, 同学选择一本, 同时借阅另外两本) :

1. Rapid Development  Steve McConnell (ISBN 1-55615-900-5)

    中文版 快速软件开发斯蒂夫·迈克康奈尔 著 译者: 席相霖 等 ISBN 9787505372856

2. Code Complete (2nd Ed)Steve McConnell ISBN: 9780735619678

    中文版 代码大全 (第二版)斯蒂夫·迈克康奈尔 ISBN: 7121022982

3. 移山之道 – VSTS 软件开发指南邹欣 (ISBN: 9787121071485)

主要参考书:

    Dreaming in Code by Scott Rosenberg, ISBN: 9781400082469

    中文版《梦断代码》, 译者 韩磊, ISBN: 9787121066795

其它相关博客  http://blog.csdn.net/SoftwareTeacher/archive/2010/11/20/6024185.aspx

现代软件工程的教材和参考书

有关创新的书

一些有意思的程序员常去的博客 [zz]

-------

给学生布置的作业列表:

    现代软件工程 作业 1: 个人项目

    现代软件工程 作业 2: 结对项目

                      (电梯调度设计)

    现代软件工程 作业 3: 团队作业   2012 团队作业

    现代软件工程 作业 4: 个人阅读作业 (2011)

   现代软件工程 作业 4: 阅读和调查作业  (2012)

   现代软件工程 作业 5: 结对调查和分析作业  (2012)

-------

学生的感想:

现代软件工程系列 学生精彩文章(7) 宝贵的教训

现代软件工程系列 结对编程 两周写好3D 陆战棋

现代软件工程系列 学生的精彩文章 (6) 我们其实还不懂互联网

现代软件工程系列 学生的精彩文章 (5) 其实还是人的问题

现代软件工程系列 学生的精彩文章 (4) 为用户服务

现代软件工程系列 学生的精彩文章 (3) 如何在Bug 不断的情况下还能保持平常心... [zz]

现代软件工程系列 学生的精彩文章 (2) 到底是谁的 bug?

现代软件工程系列 学生的精彩文章 (1)

所有讲义, 作业都可以分享给教师用于教学, 只要注明引用来源即可,  不必事先取得同意。

欢迎反馈和意见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php的数据模型包括,数据库中模型的分类有哪些

数据库中模型的分类:1、概念数据模型,面向用户、面向现实世界的数据模型,描述一个单位的概念化结构;2、逻辑数据模型,可以通过实体和关系勾勒出企业的数据蓝图;3、物理数据模型,具有以实物或画图…

现代软件工程 团队作业 - 软件分析和用户需求调查 (2013 - 2014)

【现代软件工程 的讲义】 医学院的学生, 要练习解剖人体; MBA 的学生, 要剖析某公司的成败; 法律系的学生,要阅读和分析大量案例...... 软件行业的从业人员, 不管是项目经理, 开发或测试人员, 都要学会解剖分析软件, 我们就来试试看。 要求:…

php 去年年初和年底时间,PHP 日期与时间

获取时间1.使用 date 函数格式化一个本地时间。//输出当前时间echo date(‘Y-m-d H:i:s‘);2.使用 getdate 函数获取时间戳的日期时间信息。//打印出详细的信息var_dump(getdate(time()));时间戳1.使用 time 函数获取当前时间戳//输出当前的时间戳echo time()2.使用 mktime 函数…

Arrays.sort() and 吾欲仁则斯仁至矣

有不少人在争论 Java 对学生有益还是有害(不少网站上的评论有断章取义的嫌疑,不值得多看,建议看这个中文链接)(英文链接)。事实上,这个问题事实上不是最近才提出来,大约6~7 年前&…

一目了然

这是啥? a) 某星系的结构图 b) 博客堂的社会关系网络 c) 某传销网络 d) 某合法视频直播网络,可以看到CCTV-1 全部节目,包括春晚,有时还有体育节目。 最近在帮助一个项目的测试工作,这个项目需要通过一些数据及日志重现…

php 万分之一几率,那万分之一的概率啊……

【今日】不要心存侥幸心理,那万分之一的概率啊……也许就是发生在自己身上。【正文】1老公抱着暖暖,大踏步的向前走去,兴奋的说:“我刚在群里问了一下,还没人回复,你说不会两家店全部装修吧?这万分之一的概…

JS常用事件大全

事件 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。 注意:事件名称大小写敏感。若是事件监听方式,则在事件名的前面取消on。 1. 鼠标事件 给btn按钮添加点击事件,点击弹出 你好! 2. 键盘事件…

重要但不紧急的事

事儿真多。 有重要的事,有紧急的事,有紧急但不重要的事,也有重要但不紧急的事。(详细的论述参见 “超级高效人士的超级61个习惯”或者其他时间管理的书籍) 对于IT 行业的人来说,读书,是一件重要…

php 动态添加表格行,jQuery给html表格动态添加行方法总结

这次给大家带来jQuery给html表格动态添加行方法总结,jQuery给html表格动态添加行的注意事项有哪些,下面就是实战案例,一起来看一下。本文实例讲述了jQuery实现html表格动态添加新行的方法。分享给大家供大家参考。具体实现方法如下&#xff1…

奖品兑现 – 我家没有好茶饭,只有《编程之美》送亲人

[由于blog.joycode.com 在改版ing, 我的这篇帖子上不了首页。我会在 www.yishan.cc 放同样的文章。] 我在庆祝 中国微软地图 的博客上提出了有奖找bug 的活动。现在《编程之美》 终于出版了,也到了兑现奖品的时候。 几天不来,发现这里的界面变得比较有挑…

php3绕过,PHPB2B注入#3(绕过过滤)

PHPB2B某处注入绕过过滤。官方最新版本. https://github.com/ulinke/phpb2b/archive/master.zip详细说明:1.注册企业会员。2.注册企业会员且通过审核。发布产品。漏洞文件。virtual-office/product.phpContent-Disposition: form-data; name"data[product][sor…

地图点儿莱唔点儿康的新功能 – 路况 和 短信

最近家里的的项目有所变化,首先,吃的 – 据说公司原来是每天下午3点到3点05分供应时鲜水果,现在改为8小时供应。而且时不时还有免费晚餐,听说他们项目组的同事纷纷赞美 – 工作着是美丽的。。。 其次上下班时间不太正常 &#xff…

java五子棋实训训心得,java五子棋实习报告

java五子棋实习报告 Java 程序设计基础 实习报告 课程名称 Java 程序设计基础 实习题目 java 五子棋 专 业 班 级 学 号 学生姓名 指导教师 Java 实习报告 一、一、J JAVAAVA 技术介绍技术介绍 Java 技术是一门编程语言,也是一个平台,它基于 Java 虚拟机…

人山人海人立方 http://renlifang.msra.cn

一位朋友最近跟我说 - 我现在隔一天才能开车经过北四环,一路上看到空空如也的奥运专用道和巍峨的运动场馆,有感而发,想出一个上联要让我们的“对联网站”来对,但是一直没有得到很好的下联,你们的另一个新产品帮我对出…

php变量教学,PHP变量详解

什么是变量变量指的就是在程序执行过程中数值可以变化的量,它与我们所讲的常量是相反的,我们常量是只要被定义了,在程序中就不能被改变。而变量是可以变的。变量作用变量就是用来保存我们值,相当于一个存储数据的容器。x 5;y 6;…

2008 年 十大预测的总结 (只对了一半左右)

2008年头一天,收集了众多专家对2008年的预测,现在该是总结一下的时候了,以下 {} 内的字为总结。 大概算了算, 十大预测只对了一半左右 – 可以称为半仙。 专注于部分软件技术的部分专家对2008 年的部分预测的top 10 上次博客堂年会的时候&…

java如何实现开机启动,怎样实现开机启动holer

Holer客户端软件设置开机启动Holer client 1.2版本支持设置开机自启动。Holer Java语言版本解压软件包,进入目录:cd holer-client/binWindows系统:双击 setup.vbs注意事项:请确保当前用户对如下目录具有读取、写入、执行、修改等权…

同学们对《现代软件工程》课程的意见

在这里: http://greatsoftware.spaces.live.com/blog/cns!42F139862BB64716!332.entry 在考试的时候,我提到 – 如果答题答不出来,提一些意见,也可以加分,所以意见还算挺踊跃。 又到了拉出来遛遛的时候了, 今年的5个…

java new expression,JAVA公式解析示例

// 数值型Expression exp new Expression("(x y)/2");Map variables new HashMap();variables.put("x", new BigDecimal("4.32"));variables.put("y", new BigDecimal("342.1"));BigDecimal result exp.eval(variables)…

春晚之后的采访和豆瓣投名状

一年一度的春晚又开始了,从一个外行的角度来看,可以归纳为:艺术表现主要靠吼,相声包袱主要靠损,小品幽默主要靠扯。 如果你爱一个人,请把他送到春晚;如果你恨一个人,请把他送到春晚&…