北航 2012 秋季 软件工程课 M2 要求

祝贺同学们完成了第一个里程碑 M1. 经过报告/评论/Postmortem, 大家对各自项目在M1 的优缺点都应该有很深的了解, 也理解到做一个好的软件和实现一个算法的差别。请把这些对于软件工程的感悟体现在M2 的具体工作结果中。

关于转会 -  软件工程师换工作是常有的事,优秀的软件工程师都会留下足够的文档,  到哪里都能高效工作,  我相信经历了转会的工程师会以更高的热情投入到新的工作中。

 

M2 阶段的要求:

  1. 主要目标是要把M1 计划的功能进一步做好, 不贪多,必要时可以削减功能。
  2. 要用测试用例,单元测试,代码覆盖率,自动测试等工具和标准来保证软件模块的质量。最后会重点考察各项目测试的代码覆盖率。请测试的同学加把劲,如何保证你项目的60% 以上的代码都验证过?  都被测试用例覆盖了?
  3. 要有每日构建,每天都应该把代码集成进TFS, 并能够编译成功。
  4. 用真实世界的数据和用户来衡量软件的质量。 我们写软件是为用户写, 请考虑在适当时候请用户来试用软件, 收集用户反馈。
    1. 爬虫组:  每个小组搞定至少  4  万个英文文档;  5千个中文文档。 两个小组可以分工 (东西海岸,  不同文档类型等) , 文档处理要满足 Pipeline 组的要求。
    2. 数据Pipeline 组:  处理爬虫组的文档,并生成符合 UI 组要求的数据库。  (关键字,  问答对)。
    3. UI 组:  基本UI 要流畅好用, 使用场景完备。  搜索要快速,并能处理中英关键字的搜索,  用户的管理,  anti-spam,  anti-abuse 要达到实用的标准。 要能满足 效能测试/负载测试/压力测试的要求。
    4. AbsoluteDefense,  iLifer,  背单词小组:  不要过于强调自己的技术有多麽先进,   把软件做到满足典型用户的要求, 让用户喜欢你们的软件, 是最重要的。同时要尊重知识产权
  5.  所有的工作都写成了 TFS 的任务加入 TFS 中, 并有任务时间的估计, 所有的成员的任务都要写在里面

和M1 类似,  Daily Scrum 的 blog 打分细则如下:

  • 连续10天, 只要求 10 天,  从11/27日开始到12/10,各团队自己决定周末是否计入.   有特殊要求的请和老师说明。
  • 当天没有博客, 则得 负5分。事后补交 (日期不对) 得 0 分。
  • 有博客, 并有每人工作记录, 包括工作的任务号  (work item ID), 则加五分。 
  •     没有ID 的例子: http://www.cnblogs.com/76er/archive/2012/10/30/2747245.html
  •     有ID 的例子: http://www.cnblogs.com/fightingsnail/archive/2012/11/08/2761664.html 
  • 博客有TFS  remaining work  报表, 或自己做的 Burn down 报表, 加五分。 
  •     例子: http://www.cnblogs.com/fightingsnail/archive/2012/10/31/2747290.html
  • 博客如果有其它优缺点, 则可酌情加减分数 (1~5 分) 。
  •     例如: 有代码测试覆盖的报告, 有测试用例的报告, 或者有最新程序运行的截屏, 等。
  • 每天最高 12 分。 最低 -5 分。

用户测试报告: 在10天的冲刺完成后, 在适当的时机 (一两天后) 请项目的目标用户来试用软件, 记录用户反馈, 并写报告, 报告要有用户使用你们软件的照片。

    要点:  不要先告诉用户操作细节, 而是告诉用户一个目标 (例如想找有关 机器学习的资料), 让用户自己试着摸索。 反复几次, 收集反馈, 并思考如何改进。 所有小组都要做。 crawler 和 pipeline 小组要找其他开发人员 (假设他们以后要维护这个网站, 并且要处理更多文档) 来做用户调查。  请看移山之道或其它教材/资料关于用户调查/user study 的做法。

现在就可以考虑软件要如何发布, 最后项目评审的时候要拿出实际用户的数据, 所以要求你们的软件要在实际世界中运行了一段时间。

所有软件的发布日期都是 (12/17 中午)。  如果软件在发布之后有新版本,可以多次发布,但是12/17 号必须有第一次发布。  

每个项目预期发布20 天  (1/7 中午)  之后的下载用户数量, 或者活跃用户数量。 各个项目可以自己找渠道推广各自的软件/网站.

要求所有项目都要在下列的网站发个帖子, 做宣传:

    http://www.newsmth.net/nForum/#!board/NewSoftware 

    www.cnbeta.com

请把截屏和用户的反馈加入到报告中。

 

1/7/2013 进行最终项目终审。要求在这里:

http://www.cnblogs.com/xinz/archive/2012/12/26/2833855.html 

附: 各小组博客列表.

 

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

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

相关文章

现代软件工程 2012 北航 项目复审模板

这是现代软件工程课在北航的项目复审要求。 这次我们有下列 10 个团队, 他们做了一些有意思的项目: 有七个小组合作,携手打造一个叫 学霸 的网站: 100Years 网页收集和归类工具76er 网页收集和归类工具FightingSnail 网页元数据抽…

现代软件工程讲义 8 软件的血型

[这是 现代软件工程讲义 的一篇] 一个软件团队经历了计划/设计/开发等阶段, 达成代码完成 (Code Complete) 这一目标,似乎后面的事情就水到渠成了. 其实不然, 软件生命周期的最后阶段往往是最考验团队的,不但考验团队项目管理水平,应变能力…

现代软件工程讲义 6 用户调研

[现代软件工程讲义 的一部分] 软件开发的过程, 就是 “用户最需要的东西” 在下面这一链条中传送,转换,实现,扭曲或丢失的过程。 用户最需要的 > 用户表达出来的 > 软件团队能理解的 (老板/PM) 团队的商业目标 > 软件团队成员具…

软件工程讲义 0 微博上的软件工程

[现代软件工程讲义] 有舌尖上的美味, 也有微博上的软工。舌尖上的美味各有千秋, 而微博上对软工的抱怨都是相似的。 下面是我在新浪微博收集到大学生对软件工程教学的反馈: 师生关系(不限于软件工程) 教材 上课 & 老师 实践 & 作业 考试 考完…

现代软件工程讲义 5 团队合作的阶段

[现代软件工程 讲义] 团队合作要经历的阶段 1 萌芽阶段 萌芽(Forming)阶段,就像小苗破土而出,柔弱但充满希望。在这个时候,团队成员刚刚接触到团队的宗旨,同时很可能刚刚互相认识。在学校的环境中&#x…

现代程序设计 (课程设计中, 征求意见稿)

背景: 目前中国大陆大学里学的编程主要有两种: 1) 学编程为了应付考试,偏重于静态的知识点, 语言细节。以闭卷考试为主。有些学校的数据结构和算法课有许多实际的练习,也有的课程练习很少。 2) 学编程为了ACM 算法比赛,偏重于算…

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

【现代软件工程 的讲义】 医学院的学生, 要解剖人体; 软件行业的从业人员, 不管是项目经理, 开发或测试人员, 都要学会解剖分析软件, 我们就来试试看。 要求: 通过定性, 定量地分析, 总结和评定某软件是否满足了目标用户的需求,并把分析的过程和结果用博客表达出来…

现代程序设计 学生情况调查

【课程设计在这里】 既然开始上课,就要把目标受众研究一下,搞清楚他们的需求。下面是我在课上做的调查。由助教整理。 (学生都是计算机学院大三上学期, 还有一些高等工程学院的学生) 黄色标注的代表是人数最多的选项 代码量…

现代程序设计 作业 第1次

第 0 次作业已经在课堂上做了。 1) 建立 GitHub 账户, 把课上做的 “最大子数组之和” 程序签入 2) 在 cnblogs.com 建立自己的博客。 写博客介绍自己的 GitHub 账户. 并把博客地址写到这个博客的留言。这样TA 可以收集信息 3) 搞到一本教科书 (三本中选一本), 并在博客中说…

现代程序设计 作业 2

我们上节课讲了 返回整数数组中最大子数组的和 这个问题。 我们第二次作业在这个基础上扩展。 程序要使用的数组放在一个叫 input.txt 的文件中, 文件格式是: 数组的行数, 数组的列数, 每一行的元素, (用逗号分开) 每一个数字都是有符号32位整数, 见 MSDN 的定义. 当然, 行…

现代程序设计 作业 3

这个作业是采取结对编程的方式完成。 在上一个作业中, 我们尝试了各种命令行的处理,以及各种数组的处理。 现在, 我们要把 现代程序设计 作业 2 的各个结果转换成图形界面显示。这个问题看起来很难, 实际上大部分难的工作都在上一个作业完成了 (数组计…

现代程序设计 作业4

英语国家的小孩们经常玩 Word Search 的游戏, 就是在一个填满字母的矩阵中把单词找出来。 这是一个简单的例子: (来自 wikipedia) 这是一个比较复杂的例子: 这是答案: 美国的商店里还有不少 word search books 卖, 两三块钱一本。 让我们把这个有趣的…

现代程序设计 作业5

在前四个作业中, 我们体会了数组,子数组的和,二维数组,字符串和字母的处理, 简单和复杂的 UI 程序等。大家锻炼了命令行的处理,模块的持续重构和演化,单元测试,UI 程序的处理&#x…

现代程序设计 作业6 - 简单而有意义的题目

这是这个课件的一部分: 现代程序设计 (课程设计中, 征求意见稿) 好多同学们都说题目难,这回我们来一个简单而很有意义的。 :) 写代码爽还是读代码爽? 往一堆乱麻中再加上一些线索,似乎比较容易;然而从…

现代程序设计 作业7 - 更加简单的题目

在网上,当用户发现一个新东西 (海洋里捞出来的新物种,奇怪颜色的飞鸟,某种新的植物等), 大家会问下面的问题: 能吃么 好吃么 怎么吃 这三个振聋发聩的问题被吃货们简称为能好怎, 大家可以打开链接看看&…

现代程序设计 作业9 - 综合练习

经过大半学期的学习和练习, 我们把学到的东西综合起来。 在作业2 (http://www.cnblogs.com/xinz/p/3318230.html ) 中, 同学们用各种方法 (主要是动态规划,外加一些遍历)计算了一维和二维数组中最小最大子数组的和。 当然,程序在…

对微软实习生或者工作感兴趣的读者, 目前我的项目是...

从 2018/4 开始,我在微软亚洲研究院(北京)工作,做AI 工具的研发,请看:https://github.com/microsoft/ai-edu --------------- 从2014/7/28 开始,我在Windows 的中国工程团队干活: http://weibo.com/355…

现代软件工程 第一章 【概论】练习与讨论

0. 学习别人的经验和体会。 同学们在上这门课的时候,都是大二,大三,有的是跨专业考研过来的。觉得在大学里,到教室来听课有意思么?请看:你为何要来上课并且认真参与, 另外,请看&…

现代软件工程 第二章 【个人技术】 练习与讨论

1 基本作业: 从Hello World开始 要求每个读者(或者学生)开始管理自己的源代码: 每个人都有一个VSTS的客户端,系统管理员给每一个人都创建了TFS项目,每个学员都是各自项目的管理员。每个同学去申请一个GitHub [i]的项目&#xff0…

现代软件工程 第三章 【软件工程师的成长】练习与讨论

1. 选哪一种医生? 作为一个软件工程师, 你觉得自己表现如何? 有没有这样的体会: 看书的时候觉得“技止此耳”,开发项目的时候才觉得实际情况和书上讲的都有一些出入,一些重要的细节书上没有提。我们很多人是边看Asp.net的书, 边开发Asp.ne…