高级软件工程2017第8次作业—个人总结
高级软件工程第8次作业
一、请参考第一次作业,当初你对课程的承诺和期望都兑现了吗?
在第一次作业中我提到:
我期望从这门课上学到软件开发的基本流程,并能够通过作业提高自己的实践能力,与同学合作沟通能力,吸收别人的优点并弥补自己的不足。我无法估计每周花在这门课上的时间,我会根据这门课的作业量而合理分配时间。我愿意为我感兴趣的项目、或得到实战锻炼而付出更多的时间和精力,不过我不会要求自己去熬夜,因为熬夜会影响第二天的效率,如果工作量比较大我会提前花更多的时间去准备,争取在不熬夜的情况下完成项目。
可以说,对课程的承诺和期望基本都兑现了。我一开始对这门课的期望并不高,而且这门课给我的负担是所有课程中最重的,不过硬着头皮撑下去,慢慢地我对这门课有了很大改观,现在可以确定的说我在这门课上学到了不少东西。第一个作业个人项目是比较简单的,训练了我们的基本编程技巧,除了编程,作业还加入编写PSP、进行单元测试等要求,让我大致了解了软件开发的流程;接下来是结对项目,要求和同伴使用结对编程完成,这次我和同伴的合作并不顺利,但是期间也共同解决了一些难题,懂得了什么时候应该结对编程来提高开发效率;最后是团队项目,让我们自己寻找用户需求并设计一款软件,这次作业不仅要求我们实践还考验我们的团队合作能力。虽然时间很短,但是通过团队配合我们最终很好地完成了符合用户需求的软件,并且每个人都有自己的收获。
二、总结这门课程的实践给你带来的提升,包括
- 学习和使用的新软件:IntelliJ IDEA,是java语言开发的集成环境,我第一次尝试这款软件开发web项目,它给我带来了许多方便。
- 学习和使用的新工具:GitHub:很方便开发和管理自己的项目,并且学会了git的使用;MarkdownPad:Windows下的一个多功能Markdown编辑器,使用方便;博客园:可以编写博客,交流技术等。
- 学习和掌握的新语言、新平台:SSM框架:十分强大的web项目框架,虽然还不熟悉,但是让人容易理解且十分高效。
- 统计一下,你再这门软件工程实践中,完成了多少行的代码:个人项目和结对项目加起来大概1000行左右,团队项目比较难估计,因为有比较大一部分是在别人的代码上进行修改。
- 学习和掌握的新方法:在编程过程中使用对象的思想可以使复杂的问题变简单,还有java的MVC编程模式。
- 其他的提升:编程能力,团队合作能力,软件开发设计思想等。
三、写下属于自己的人月神话——项目实践中的经验总结+实例/例证结合的分析
(1)个人项目开发时急于开始写代码,过程中遇到许多错误,后来停下来仔细分析设计思路,把可能遇到的问题列出来并寻找解决办法,在对整个问题有了清晰的思路之后才开始写代码,果然很顺利地完成了代码编写。这次作业让我体会了设计思路的重要性,多花时间在分析设计上,对后面的开发能起到事半功倍的效果。 (2)第二次作业是做四则运算的GUI版本,基本功能功能都已实现,但是发现调用的时候非常不方便,发现还是自己的代码混乱造成的。经过分析,对之前的代码进行整理,把所有代码封装到一个大的类当中,这样在后面在写界面调用方法变得十分简单。 (3)团队项目,我和同伴各自编写自己的模块,当然有一些交叉的部分需要我们沟通交流,不过GitHub给我们的工作带来很大的方便,每次提交我们可以互相查看对方修改部分,这样可以直接使用对方的代码并且双方工作可以同时进行,提高了项目开发的效率。
四、分析一下自己所处的团队。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?
《构建之法》上说团队的发展有四个阶段:萌芽阶段,这一阶段交流不少都想得到对方的接纳,试图避免冲突;磨合阶段;规范阶段;创造阶段。由于时间较短,对于这四个阶段我没有清晰的体验。我与其它四个组员之前没有合作过,所以比较陌生,不过在第一次讨论过后,我们的意见达到了统一,后面的交流即使存在冲突我们也能很好地解决了。在项目中期,我们可以说已经到达了“创造”阶段,对于项目的改进我们各自发表自己的想法,好的想法被接纳下来并加入到我们的设计当中,即不断地对软件进行新创造的过程。
五、在今后的教学中,老师们还将根据同学们的基础、期望达到的目标,在教学内容和作业量上做更多的调整,争取为大家提供一个更加个性化的学习过程。你对课程设计(授课内容、方式、作业内容)有什么建议吗?另外,作为学长的你,对后面的学弟学妹们有什么建议?
我很赞同老师们能根据同学的上课情况和同学的意见进行改革,这是一门可以随时代不断革新的课程。我觉得这次课程设计是很成功的,注重锻炼学生的实践能力,让学生自己体验软件开发的过程,而不是一味教授理论知识。对于个人而言,花在这门课的课外实践学习到很多,不过在课上反而学到得不多,希望老师们对书本的理论可以粗略的讲,而用一部分的时间讲一些学生比较感兴趣的实用技术或经验,这样学生会更有上课积极性。这门课能很好地锻炼自己的实践能力,希望后面的学弟学妹能重视这门课,通过这门课清晰地认识自己的不足,同时发掘自己擅长的地方,让自己真正得到提高。
六、助教老师为课程的顺利开展做了很多工作,与老师们的交流也让大家获益匪浅。你对助教老师的工作可以提一些意见和建议吗?
首先,很感谢助教老师为这门课做的工作,对于每位同学的博客,助教老师都进行了认真的点评,给我们不少帮助。我的建议就是每次作业的评分后面可以加一项对作业的点评,这样我们可以认识到自己优点和不足,就能在后面的作业及时改正过来。