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

现代软件工程 教学计划 

经过 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(可选, 缓冲)   

教材:《构建之法》 

其他参考书见书单  

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

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

相关文章

java中setDocument_Java ActionItem.setDocumentId方法代码示例

import org.kuali.rice.kew.actionitem.ActionItem; //导入方法依赖的package包/类Test public void testConvertActionItem() throws Exception {// get test dataString testWorkgroupName "TestWorkgroup";Group testWorkgroup KimApiServiceLocator.getGroupSe…

敏捷软件开发宣言–Manifesto for Agile Software Development

敏捷开发, 谁不会呀, 不就是 没文档, 出活快, 用户说啥都能改? 下面是一个笑话, 王屋村的大牛说 - 我最近转手接了一个活, 完事能挣四五万, 我拿过图纸一看, 不就是盖一烟囱吗? 我们是敏捷 (Agile) 的团队,要文档作甚? 马上开始干活! 都快盖好了&am…

敏捷软件开发 12 原则

作为 <现代软件工程> 的一个作业, 我要求同学们把 英文的敏捷开发原则 翻译成中文并解释。 大部分同学都提供了持续重构, 不断提高的版本。 技术翻译专家余晟老师也对其中较难翻译的三条原则提了很好的建议。 下面是我的尝试, 翻译要做到 信, 达, 雅, 很难, 而且中国的…

教师管理系统设计报告java_教师办公管理系统的设计与实现

随着计算机及网络技术的飞速发展&#xff0c;Internet/Intranet应用在全球范围内日益普及&#xff0c;当今社会正快速向信息化社会前进&#xff0c;信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来&#xff0c;提高了我们的工作效率。教师办公管理系统是一个教育…

同学, 你的板砖呢?

这次 <现代软件工程> 的4 个团队要做下面的项目, 唯一的要求是 - 做真实的项目: 第一组: 一个BBS 的通用客户端 第二组: 挖掘学术圈内的师承关系 第三组: 真人拳皇 - 把你老板的照片变成对手, 然后给他一顿痛打 第四组: 一个叫呆呆的东东。 他们缺什么呢? 缺一些…

设置java环境变量生效 centos_解决CentOS java环境不生效的问题

查看当前java版本[rootlocalhost jdk1.6.0_45]# java -versionopenjdk version "1.8.0_65"OpenJDK Runtime Environment (build 1.8.0_65-b17)OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)发现默认的还是系统自带的1.8&#xff0c;不是配置的1.6。[rootl…

顶级程序员的心得–Coders at Work

最新版本在这里&#xff1a; (2584条消息) 顶级程序员的心得 –– Coders at Work_SoftwareTeacher的专栏-CSDN博客https://blog.csdn.net/SoftwareTeacher/article/details/113489014

JAVA中vector是否存在数据_如何找出std :: vector中是否存在项目?

我要做的就是检查向量中是否存在某个元素&#xff0c;因此我可以处理每种情况。if ( item_present )do_this();elsedo_that();#1楼您可以尝试以下代码&#xff1a;#include #include // You can use class, struct or primitive data type for Itemstruct Item {//Some fields}…

scrum–yesterday once more

在敏捷开发的 SCRUM 流程中, 一个基本要求就是团队中的成员在每日例会中介绍自己昨天的进度, 今天的计划, 和遇到的困难。 下面是《现代软件工程》课程上一个学生团队在2/18 和 2/19 这两天的报告。 粗粗看去, 不禁有 “昨日重来” 的感觉。 一些同学的任务在2/18 报告的 yest…

软件工程 之 画扇面

软件工程的历史虽然说只有短短的四十多年时间 &#xff08;1968 年提出&#xff09;&#xff0c; 但是软件工程的主体 – 人类 – 已经出现在世界上好些年了。 人还是那些人&#xff0c;事儿还是那些事儿, 好的&#xff0c;坏的&#xff0c;可笑的模式同样会出现。 我看到同学们…

java 类加载生命周期_Java类的加载与生命周期

一、概要&#xff1a;类的生命周期从类的 加载、连接、初始化 开始&#xff0c;到类的 卸载结束&#xff1b;二、几个阶段&#xff1a;加载&#xff1a;查找并加载类的二进制数据。(把类的.class文件的二进制数据读入内存&#xff0c;存放在运行时数据区的方法区&#xff1b;类…

tooooooooooooold

看到一篇文章: http://blog.csdn.net/atixujie/archive/2011/04/06/6305371.aspx 推荐软件工程的书籍, 我看了一眼, 觉得特别陌生, 就找了一下原文, 原文在: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/shaw/www/Edparts/sebook.htm 在原始的网页上有一段小字: It was l…

java 配置嵌套事务_Spring 事务嵌套的配置

问题在使用Spring管理Service层事务时&#xff0c;会遇到service方法事务嵌套的问题。默认情况下&#xff0c;service方法有自己独立的事务&#xff0c;如果一个复杂的service方法中&#xff0c;调用了多个事务操作&#xff0c;中间抛出异常时&#xff0c;往往不会发生事务回滚…

软件工程 动物世界

在一个神奇的国度里生活着许多动物, 其中有猪, 鸡, 和鹦鹉。 它们每天搞头脑风暴, 琢磨如何创业, 最后鹦鹉提议它们合伙开一个早餐店: 具体分工如下: 猪: 提供猪肉, 做熏猪肉 (bacon) 鸡: 提供鸡蛋, 做煎蛋 鹦鹉: 提供咨询, 它会每天阅读大量博客, 给其他团队成员提供建议, 例…

java filterinputstream_java.io.FilterInputStream.close()

全屏java.io.FilterInputStream.close()方法关闭此输入流并释放与该流关联的所有系统资源。声明以下是public void close() 方法的声明&#xff1a;public void close()参数NA返回值该方法不返回任何值。异常IOException -- 如果发生I/ O错误。例子下面的例子显示了public void…

软件工程 敏捷的酒后问答

来源&#xff1a;《构建之法》 王屋村移山公司的程序员果冻最近请假参加了一系列敏捷的培训, 有好事者传言他和 “a-girl”勾搭上了, 其他年轻同事有点坐不住了, 也表示要参加此类活动。 几天后, 果冻回到公司, 给所有人发了一枚写有 “Agile” 的胸章。 他纠正大家的发音, 这个…

创新, FMA SMA 世界第一台VCD机的故事

FMA & SMA http://en.wikipedia.org/wiki/First-mover_advantage Second-mover advantage -------------------- 世界第一台VCD机 提到VCD机&#xff0c;必然要说到它的创始人姜万勐。世界上第一台VCD机产自中国&#xff0c;时间是1993年9月&#xff0c;由姜万勐研制。 姜…

java 打印命令_Java 普通命令行程序main关掉 DEBUG 打印

最近在写一个简单的java命令行程序&#xff0c;执行代码时&#xff0c;代码窗口出现了烦人的debug日志。分析了一下&#xff0c;出现这种问题的原因是因为&#xff0c;maven项目的依赖包中传递依赖了一些日志框架&#xff0c;导致会出现日志内容的打印。查看了一下&#xff0c;…

现代软件工程 作业 文本文件中英语单词的频率

这是《构建之法》现代软件工程课的个人项目作业 个人项目 Individual Project: 一个人独立完成.时间: 可以考虑在第一周就给同学们这个项目; 也可以考虑分为两部分&#xff0c; 个人做第一部分&#xff0c; 然后两人结对&#xff0c;选两个人中较好的程序&#xff0c;再继续开…

java 继承变量_用java中的变量继承

任何人都可以澄清我.这里实例方法被覆盖但变量不被覆盖.输出为&#xff1a;B 10class A{int i10;public void name(){System.out.println("A");}}class B extends A{int i20;public void name(){System.out.println("B");}}public class HelloWorld {publi…