软件工程概论课程总结

  这个学期的《软件工程概论》课程结课了,回顾这十几节课,确切的说是回顾这一个学期,我在这门课上投入的时间平均下来每天是4-5个小时,最少的时候也要投入一个多小时,而最多的时候甚至熬夜到第二天早上。那么具体在这门课上都干了些什么呢?那就要从上学期期末开始说起;上学期期末就留下了这门课的个人作业的第一项;接着随着这学期课时的进行,先是做了四则运算1、2、3、4,其中四则运算4是两人结组完成;再接着到了团队项目阶段,做了两个10天的冲刺,在此期间,几乎每天都在看相关的书籍和视频自学;看完后再考虑怎么写程序,怎么设计。在做团队项目时,也有例如找水王,求最大子数组等一些个人和协作的题目。下面我就从这些方面依次做一下总结。并且在最后给出对这么课的教学建议。

  寒假自学javaweb开发,在到校时已经能独立开发登录注册页面,并且由于看的是某培训机构的视频,所有对tomcat服务器等也有些了解。在自学这几天我认真阅读了《构建之法》的前五章,写了两篇阅读笔记。总的来说,这个寒假没有白白浪费,除了除夕前后几天,基本上每天都会看一点学一点。

  开学之后,正式开始学习这门课,刚开始还以为和普通的课程一样,理论学习+实验+期末考试;后来才知道这门课是全过程考核,成绩体现在平时的个人作业、团队作业的完成情况上。刚开始不太接受这种方式,但是后来发现这种“做中学”和全过程考核才适合我们专业;理论知识我们也学,但是我们注重的还是动手实践能力,编程的能力。四个版本的四则运算,表面上看起来是四次作业,其实不然,四次需求功能的增加,四次代码的优化,从是能自动生成三十道小学四则运算题目的 “软件”,要求是除了整数以外,还要支持真分数的四则运算、题目避免重复、可定制出题的数量等到提出可以控制是否有乘除法,加减有无负数等要求,再到提出可以控制生成的题目个数,生成的题目要存到数据库中;最后一次是把程序变成一个网页程序,用户通过设定参数,就可以得到各种题目,并可实现在线答题并评判。这些需求得增加,正是我们今后在工作开发过程中可能遇到的。客户提出的需求变化,你要想满足客户的需求,必须继续分析怎么设计程序,有时候是在原来基础上修改,但是有时候有不得不把代码重构。

  到了团队开发阶段,由于第一个想法通过调查问卷的形式得到的反馈结果不尽人意,所以在前一天晚上,我们毅然决定换题,开发工具依旧选择最近比较火的微信小程序。要说我们比其他团队用Android 或者java 开发的难处在哪,哪就是自学的资源太少,除了官方提供的开发文档,还有就是一些机构的开发教程,可是由于是刚推出不久,小程序在早期更新很大,许多方法和API可能是上一个版本能用,到下一个版本就有更新了。不过我们还是依然选择这条路,因为如果发布程序,我们的推广优势就出来了。可是万万没想到,到目前为止,我们团队的小程序一直处于审核中的状态,到社区看发现好多开发者都在反馈这个问题,最近一周审核太慢了。虽然有一点沮丧,但是想到自己从使用被人的微信小程序到自己开发一款小程序。从个人独立开发到一个团队协作开发。即使是有时候一天在上面投入的时间是12个多小时,即使有时候因为其他事情太多,其他科目的作业没有即使完成,有过抱怨,但是我还是觉得值得,因为有时候正是这种强迫式的要求才会释放你的潜能,才会让你在短时间内学到更多的知识。团队协作开发、每天写个人项目进展、写团队项目进展,这正是今后工作开发的方式。那些我们在团队开发中,在项目开发中遇到问题与困难,正是我们在毕业后工作时的垫脚石。

  最后依据我个人在上这门课切身感受给王老师提几点建议,第一就是期末时的作业归档,工程量太大,如果在前几节课就说明期末作业归档的话,可能会觉得效果好一些,因为这样学生每周发周总结和按时发冲刺进展的几率会增加,就不会像现在一样,一天发十几篇博客,然后慢慢改发布时间,这样应付式的博客和归档个人感觉对学生来说起不到一点作用;第二就是阅读笔记的要求,个人感觉有时候并不一定要按照固定的格式写,因为并不是每次阅读都会有我过去是怎么做的思考,可能我之前对此一无所知,我是通过阅读才知道有这种开发方式或者理论知识。

  以上就是我对这学期《软件工程概论》的总结。

posted @ 2017-06-12 15:41 Dmego 阅读(...) 评论(...) 编辑 收藏