zoukankan      html  css  js  c++  java
  • 一学期的软工课后的总结

      刚写完第二次结对编程的作业,也就意味着这学期的软工就算是结束了。到了现在,自己感觉很疲惫,不只是软工这门课造成的,这学期的后半学期,各种各样的作业,大作业小作业,大考试小考试……最终走到了这里。累,想要快点放假,但是我还有一个大作业……

      前几学期,自己基本上是在荒废中度过来的,这学期开始,醒悟了,想要好好学习。做好自己应该做的事情。学期之初,通知我们班和另外的一个班的软工课是由邹老师来上的,感到挺高兴的,当时就是怀着满腔的热情一定要把这门课上好,可以第一周,软工课不上,第二周,邹老师有事出差,最终第三周,我们才算是见到了邹老师,挺兴奋的。更多的兴奋是听到这门课老师安排的各种各样的作业(这个是实话),因为以前都没有十分严格的这样的做过,按照老师的要求做下来,这学期的收获一定不少。

      个人作业,结对作业,团队作业,还有各种各样的阅读作业,调查作业……做第一个编程作业的时候,要求做一个词频统计程序,当时挺兴奋的,周一布置了,大概周三的晚上大概就跑起来了,时间花得有点多,可能有的牛人用一两个小时就搞定了,但是我是一直尽力做下来的,很开心。后面又出现了很多状况,老师又明确了要求,中途又改了很多次,但是那种不断优化自己程序的快感还是挺好的,最开始统计一个200M左右的要两分钟,然后就是不断的提高,最终到几十秒。这个过程真的让人兴奋。这也应该要成为以后不断的追求。

      接下来就是到了结对编程的作业,写一个电梯调度程序,老师给了框架,然后我们在框架的基础上只需要完成Scheduler就行了,当时最初拿到程序的时候不懂,也不知道怎么写,就去读整个框架,读下来还是不太明白。反正中间的过程就是一点一点的调,一点一点的改,最后在截止日期之前交上了程序。

      接下来就轮到了团队作业,我们小组在游戏的时候很惨,倒数的成绩。所以,最终就没有了选择的权利,只能够做其他团队挑选剩下的工作。那就选到了什么作业就做什么作业吧。也就开始做这些作业了。

      这里老师要求回顾以前读的教材、资料,解答一些自己曾经的一些疑问。

      1、Cathedral model 和 Bazaar model,我们的软件工程作业适合采用哪一种模式,最终的团队作业的效果并不好。这两种模式对于我们的作业都还没有到可以使用的时候,我觉得一个软件工程的作品,至少要先将其原型做出来,然后才是这样那样的问题,很多时候,都很难再原型这一块做好,导致项目死掉。

      2、曾经在一篇博客中提到Google的research和development工作和我们学好软件工程这门课没有太大的关系,其实并不是这样的,老师在我们学习的过程中一直在强调要做有用的软件,我们这学期的团队项目的目标决定的也是要做有用的软件,软件工程要用软件工程了理论知识来解决我们的实际问题,才是真正的软件工程。而像Google,微软……这些公司,他们的目标都是解决我们日常生活中面对的一些问题。所以,其实Google的工作,和我们学好软件工程有很大的关系的。

      3、在M1阶段,我们组的工作造成了A BIG BALL OF MUD,为什么会造成这样的问题呢,首先有我们的需求理解得不到位,第二,我们想象了复杂的场景,而期待一个简单的解决方案。第三,团队分工不明确。这些都让M1的效果非常差。在M2阶段中,我觉得这个事显著改变了的,虽然还是一个大泥球。原因就是我们的那些问题都在一定程序上明确了,我们确定了我们要处理的具体的情况,缩小了范围,也划分清楚了每一个人的工作。这些都是提高的地方,但是我们团队的作用仍然没有更好地发挥出来。

      接下来再说说我的要怎么学好这门课的观点吧:

      现在国内很多学校的软件工程课都是一门偏理论的课,而这门课实际上应该是一门偏实践的课,理论学习,同时要将理论上的内容用到实际中来,然后通过实际来反思自己对于理论的理解。关键还是要做,多实践,多思考。既然这是一门软件工程的课,那么也就必须要按照软件工程中的一些流程来进行,比如要求项目要如期发布,那就要做到这一点。要求的scrum,也要按照这个scrum来,我们做的过程中国,虽然说是进行了scrum,但是有些时候并没有做好scrum。

      很多时候,我们在抱怨这门课作业多,但是实际上,很多时候只是我们不想做事情,不积极做事情的借口罢了。

      最后在这里感谢一下邹老师,谢谢。

  • 相关阅读:
    42. Trapping Rain Water
    223. Rectangle Area
    645. Set Mismatch
    541. Reverse String II
    675. Cut Off Trees for Golf Event
    安装 VsCode 插件安装以及配置
    向上取整 向下取整 四舍五入 产生100以内随机数
    JS 判断是否为数字 数字型特殊值
    移动端初始配置,兼容不同浏览器的渲染内核
    Flex移动布局中单行和双行布局的区别以及使用
  • 原文地址:https://www.cnblogs.com/shoumu/p/2853633.html
Copyright © 2011-2022 走看看