也不分M1/M2了,就从头到尾的梳理一下这学期的软工课吧。

第一节课,老师就稀里哗啦说了一下这学期要怎么搞,什么个人项目啦,结对项目啦,团队项目一二啦,还要组队啊什么的,然后风风火火的组队。

个人项目,词频统计小程序。很快写好了,因为要按照效率评分,开始了恶心的优化之旅。试了试搞多线程,没搞出来。换了下数据结构,效率提高不少。得了本书,还阔以。拿了37/50

结对项目,是个多台电梯调度,每个电梯属性都不一样。先看代码。看懂了助教的代码然后开始写。算法一点都不高大上,模拟了现实生活中人们人所多台电梯调度应该是什么样子的。拿了92/100

团队项目。和室友还有周围寝室的同学组了队。黄金点游戏第二轮次,选了个迭代开发项目,接手学长。

不得不插一句,大学上到现在,学长在我心中的形象一点点塌掉。刚上大一的时候觉得大二的学长好牛啊。上大二的时候觉得大三的学长在学院路肯定更牛了。上大三的时候发现原来不是酱紫的。2/8原则真是无处不在。其他例子不具了,得罪人。

老师告诉我们,你们的学长都整合好了,你接着做就行。嗯,整合好了,我们接着做。

第一周按计划先设计,其实就是看代码吧。心里挺想当PM,队友希望我写代码,那就写代码吧。但是事情似乎就不受我控制了...(虽然受我控制也未必就有好结果)

看了学长代码觉得挺简单了,但是有的代码原样复制了一遍是几个意思呀...增加代码量么...

既然老师说学长们都整合好了,接口我们就不动了吧,把一些信息提取的函数提高一下准确度,再加点新功能。嗯,任务量似乎不大。简单分了分工,分词方面我跟室友一天就搞完了。

不知不觉就到了第四周。联系了爬虫组和网页,发现了,唔,我们处理的是爬虫组的数据不错,可网页组用的是10级学长的数据库。根本没用我们的...感觉有点凌乱,学长是怎么整合的呀?老师是怎么验收的呀?这事儿有点儿不对吧!

然后就到了Alpha阶段验收。什么?团队互评?虽然我对系内团结程度不完全信任,但这个时候大家应该会心照不宣的吧。这个时候罗杰老师出杀招了:不打分给排名。然后,一场博弈论的实践活动就开始了...

验收拿了100分,第三名,比第一名和第二名分别少了100和90分,然后在个人项目和结对项目积累的分数优势就统统木有了...分了分团队贡献分,第一阶段就算完了。

第二阶段前一两周都在忙大作业了,这软工也真的不想管。

跟网页组要来了需求,分析了一下,不难。先抽了一个下午+晚上跟室友写了问答页面信息提取。等第一组数据库到位了,又继续写了写,测了测。我管了算法,室友管了数据库,实现了网页组的需求。

到这会儿这课差不多也就完了。

想起邹欣老师之前在一篇博客回复我,等我写了10000+行代码,对一些软件工程存在的问题就有体会了。我数了数自己的编译大作业,5500+行。

又想起本来是有很多高工的小伙伴和我们一起经历这场磨难的,后来发现人家果断退课了。之人常情啊!高工能退课就是好!要是我能退课,我也退啊!

又想起几天前另一门软工课的同学跟我说,你们的软工课多好啊,起码还写了代码,我们啥都没学到,就一水课。我说,啥啊,你是不知道...

课程的总结到这儿也差不多了,说点不能算题外话的题外话吧。

从我们这一届开始,学院的课程结构开始改革。我们小班,碰上了所有的改革。

从大二上高小鹏老师的计组实验,到大二下王雷老师的操作系统实验,吴际老师的面相对象课,再到大三上杨海燕老师的编译(这个应该不能说是改革,因为已经做了很多届了),再到罗杰老师的软工课。我们是一路当小白鼠当过来的。

现在其中的一只小白鼠要说说感受了!

1.计组课

高老师是用心在改革,各方面的准备都很充分。作业量是大,但是有可行性,一周一个Project,早点动手时间肯定够,考核也很客观公正。虽然也有一些自学的知识,但可操作。高老师是个负责任的老师,每次的实验文档要求都很清晰,我们不会浪费时间在一些无聊的事情上。而且,按照高老师的思路来讲,他的作业是可工程化的,是可以按照一定的方法论去完成的。

后来新闻上看到高老师凭着计组的课改得奖了,这当然要得奖了!

2.操作系统课

这个课是11级的实验班在大三上做了一下,然后我们12级的在大二下做了。虽然我得了90,但我觉得我是水出来的。王雷老师可能比较忙,实验几乎照搬的MIT。其他按下不表

3.面向对象课

按下不表,同学们都懂

4.编译课

中规中矩吧,前面时间放的太松,后面略紧。有什么问题发邮件杨老师都会回复。有一回邮件还是早上五点回的。听说杨老师父亲身体不好,我猜当时杨老师可能在医院看护吧,瞬间就路人转粉了。

5.软工课

感觉出发点和计组课是一样的,想要按照国际一流大学的计算机系(或者软件工程学院?)学生的标准来要求我们。邹欣老师想探索出一条软件工程课怎么上的道路。但可能只有出发点和计组类似吧,其他方面就没法比了。

看了《构建之法》的书,知道原来老师上课PPT的内容都来自这里;又没有很好地掌握上一届学长的团队项目到底什么情况,那老师究竟做了些啥?

当这样的软工课还放在有诸多更值得做的大作业的学期,结果也就...

也不知学弟学妹们能否看到这篇博客。如果你们上的是罗杰老师的软工课,建议如下:

1.牛到可以一个人干8个人或者24个人的活,并且心甘情愿一肩挑的,随便来。

2.学长项目尽量别选,尤其团队合作类的学长项目。

3.推荐自选项目,至少能完整感受一下流程。网上实际项目的代码多得是,很多模块可以拿来用,看多了自己可能就有想法了。

软件工程M1/M2总结的更多相关文章

  1. 软件工程M1/M2总结及阅读作业总结

    一.软件工程M1/M2总结 写下这篇总结的时候,我们的软件项目尚未完工.虽然尝试申请了延期答辩,但最终未能成功.这意味着,我们的项目能否正常发布已经处于了一个微妙的状态.可能可以,也可能不可以.只能尽 ...

  2. 个人阅读作业 --软件工程M1/M2总结

    软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...

  3. 【个人总结】软件工程M1/M2总结

    个人博客连接: http://www.cnblogs.com/lwq12061168/p/4094252.html http://www.cnblogs.com/lwq12061168/p/40284 ...

  4. 【个人阅读】软件工程M1/M2做一个总结

    1.以前博客链接 http://www.cnblogs.com/penglinjiang/p/4027850.html http://www.cnblogs.com/penglinjiang/p/40 ...

  5. 【个人阅读】软件工程M1/M2阶段总结

    这次作业是好久以前布置的,由于学期末课程设计任务比较重,我在完善M2阶段的代码的同时又忙于数据库的实现和编译器的实现,一度感觉忙得透不过气来....到这些都基本完成的时候,会看自己以前的阅读心得,觉得 ...

  6. 个人阅读作业——软件工程M1/M2的总结

    临近学期末,本学期的软件工程课也已经结束了,在此我对软件工程课中,我们团队M1和M2开发阶段中,我做的工作做一个总结 我是DEV,主要工作是等着上级给我分配任务,但是很多时候如果这个活我不干,其他人就 ...

  7. 【个人阅读作业】软件工程M1/M2总结

    链接:”看<快速软件开发>的五个问题“ http://www.cnblogs.com/leiyy/p/4027759.html 一.较为明白的问题 1. 在文章的第一个关于Square_T ...

  8. M1/M2项目阶段总结

    1.M1/M2总结 我们这学期完成了学霸项目. 在M1阶段,我们首先进行了分工,完成了一个系统的计划,然后是对学长代码的移植和优化.在优化代码的过程中,我们遇到了不少问题,比如一些代码的冗余以及指向性 ...

  9. T-SQL - 习题02_将数据表year|month|amount查询成year|m1|m2|m3|m4的样式

    时间:2017-09-11 整理:byzqy 题目:有个年度统计表,结构如下: 怎么样把这个表,查询成这样一个结果: 这是在面试过程中遇到的一个关于数据库的题,没有一点思路,不知它考查到的知识点是什么 ...

随机推荐

  1. 请教MAC OS下PHP的mcrypt怎么安装

    安装方法一: 通过Homebrew安装mcrypt,安装成功 [Shell] 纯文本查看 复制代码 brew install mcrypt MCrypt是一个功能强大的加密算法扩展库,它包括有22种算 ...

  2. select for update引发死锁分析

    本文针对MySQL InnoDB中在Repeatable Read的隔离级别下使用select for update可能引发的死锁问题进行分析. 1. 业务案例 业务中需要对各种类型的实体进行编号,例 ...

  3. python3的C3算法

    一.基本概念 1. mro序列 MRO是一个有序列表L,在类被创建时就计算出来. 通用计算公式为: mro(Child(Base1,Base2)) = [ Child ] + merge( mro(B ...

  4. IO流_文件切割与合并

    切割可以分两种方式:按文件个数切,按文件大小来切(建议用这种方式,因为按个数的话,有可能文件非常大) import java.io.File; import java.io.FileInputStre ...

  5. luogu P3293 [SCOI2016]美味

    题目描述 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1<=i<=n).有 m 位顾客,第 i 位顾客的期望值为 bi,而他的偏好值为 xi .因此,第 ...

  6. Django复习之ORM

    QuerySet数据类型:                        1.可切片,可迭代      [obj,....]                    2.惰性查询:            ...

  7. 解决HTTP status code is not handled or not allowed

    /Books/>: HTTP status code is not handled or not allowed 2017-11-04 17:21:38 [scrapy.spidermiddle ...

  8. SA-题目

    SA的题目 差异:https://lydsy.com/JudgeOnline/problem.php?id=3238 题意概述:给定一个长度为 $n$ 的字符串 $S$,令 $T_ i$ 表示它从第 ...

  9. cmd 监控网络状况

    提示:如果提示curl不是内部命令,请自行百度 windows 安装curl @echo off color 1f title 正在监控 echo 正在监控http://ioscheck.duapp. ...

  10. 启动Myeclipse报错“Failed to create the Java Virtual Machine”的解决办法

    我安装的是Myeclipse 10.7.1.装上好久没用,今天启动突然报错:Failed to create the Java Virtual Machine. 检查Myeclipse安装好使用时好的 ...