高等软件工程课程总结

前序

  时间过得真快,转眼间高软课程就结束了,这也是最后一篇博客了,那么该写点什么呢?这门高等软工课程固然是门硬课,讲的内容和授予的建模思想无疑是非常有价值的,但是可能由于自己的原因和其他一些因素吧,我扪心自问整个学期下来感觉肚子里还是有点空荡荡的。无论怎样,课程已经结束了,自己也应该对课程做一个总结了。

认识与收获

  对团队协作模式的认识:自从项目团队建立那天,我们就确定了gitlab协作模式,在后续的体验当中,感觉这个协作模式确实是非常高效的。之前和本科同学开发项目的时候确实没有接触过gitlab,那时候传输文件和共享代码基本都是通过聊天工具打压缩包传输,真的感觉那时候没有与时俱进,有点out了。不过经过一个学期的团队协作,我对该协同工作模式也有了一定的认识,并且在后续其他的工作当中,我也会优先选择gitlab来方便快捷的管理团队协作,提高工作效率。

  对软件需求的认识:回顾这门课程,在需求阶段花费的时间已经超过了我的预期。原本在第一节课之前,我认为需求分析作为软件生命周期的最开始的阶段,要消耗的时间和精力都不会有后边几个阶段的时间长,因为后边的设计、编码、测试等阶段都是要消耗一定的时间和精力才能做好的。此外,再加上疫情原因,课时缩减,需求分析却还是占用了半个学期的时间,可见需求的重要性并不亚于后边的设计和编码。现在的我认识到了,需求如果不整明白,设计和编码就没有依据和凭证,无从下手。即便是下了手,也会不停地修改,不仅不利于提高项目的进度,反而有可能延长项目期限。回过头来看我们的项目——程序知识的提取,我们的项目一开始需求一直不明确,我们花费了大量时间去解决知识到底是什么这个问题确实没有错,这个问题不解决,我们的需求就不知道是什么,后续的设计建模工作就很难完成。

  对软件设计的认识:由于在此阶段要涉及到软件的体系结构设计、模块设计、数据库设计甚至是数据结构和算法的设计,因此该阶段注定是比较繁琐的,它涉及到软件细节上的东西太多。但是话又说回来,这个阶段不能没有,也不能三心二意的去完成。为何这么说呢?本次的高软课程就是一个活生生的例子,本来由于疫情原因课时就非常紧张,又由于假期放掉了几节课,直接导致后期编码的时间所剩无几。记得老师课上说过,如果没有前期认认真真的需求和设计阶段,没有对软件建模的这一过程,那么这么短的时间编码确实不容易完成。但是如果前期工作做得好,模型设计合理,模块、接口、数据结构等定义准确,那么在编码的时候只要逻辑清晰就会很顺利地完成。

  对建模的认识:之前听说这个词的时候就感觉非常的空洞,听完这个词脑子里一片空白,搜索不到对应的知识内容。经过一学期高软课程的熏陶,我终于意识到建模的实际意义,说白了它就是对现实世界存在的或者不存在的事务通过模型表达出来,使得各方代表都可以get到这个模型所要表达的含义,从而不出现二义性。此外,建模思维的培养方面,也就是对事务的抽象能力这一块,经过课堂上老师给的小案例讲解和小组项目的实践,自己多多少少有些建模的感觉,但是水平并没有到位,此后还需要多多看一些建模方面的书籍,特别是一些容易被理解的、和实践紧密结合的案例,以此来提高自己的抽象思维能力。

回顾当初的展望

  1、获得以抽象思维去认识软件系统的超能力。整个学期下来,自己对抽象思维有了进一步的理解。对于一个项目来讲,首先应该抓住它的核心价值,把项目存在的本质抽象成具体的模型以后,才能真正get到项目的实际意义,切莫本末倒置,否则永远也抓不住项目的根本。

  2、获得对复杂项目的分析与设计的超能力。复杂项目需要考虑的东西多而杂,想要真正做出来像支付宝和大型银行系统那种业务复杂、规模庞大的软件,还需要一定的技术能力、建模能力和团队协作等多种能力。显然,对于这一个超能力自己并不具备,但是经过高软一学期的课程,让自己在小组项目当中也收获不少知识,可以说自己还要经过n多个项目实战才能具备对复杂系统的分析与设计能力,加油加油!

  3、获得对UML建模工具的深层次理解和应用的超能力。在UML建模方面,我认为对比本科学过的知识还是有一定的深层次理解的。对于UML的几种图来说,它们分别映射到了实际项目的多个维度,可以让我们从多个视角对系统进行抽象,在这一点上我认识到了UML语言的强大。在项目当中,我主要负责类图部分,起初单纯地认为将系统抽象出几个类,然后确定类之间的关系就行了,实际做起来并没有那么简单。类图是详细设计人员和编码人员之间的一个桥梁,同时它又是其他部分UML图的基础,需要考虑每个类中的属性和操作,并且还要让类之间协同工作起来,所以类图的设计远比想象中的复杂。

  4、获得对软件系统安全性分析的超能力。一个系统的安全性是保障该系统能够长期处于正常服务状态的最基本的要求之一了,一般一个项目如果要实际部署那就必须考虑它的安全性。这方面我在课程项目中并没有过多接触,所以自己在系统安全性分析方面的知识还是比较匮乏。

  5、获得能够写出好的博客的超能力(我也十分想去分享我自己)。我认为博客写的好不好取决于两个因素,第一就是肚子里面有东西,第二就是语言组织能力要强。第一个因素就决定了你的博客究竟是一篇水文还是一篇有深度和内涵的文章。第二个因素就决定了你是否能够真正把属于你自己的东西分享给你的读者。就我个人而言,初次写博客确实有些不适应,以上提到的两个因素,自己或多或少都不完全具备,距离写出一篇好的博客还有相当一段路程要走,这个东西不能急,还是一步一个脚印慢慢成长吧!

总结

  总之,整个高软课程下来还是收获多多!在这里还是要感谢老师们认真负责的态度和一次次详细的点评,让我们在错误的道路上及时改变方向,成长了不少。同时也要感谢组长的默默付出和组内其他同学的积极配合,最终顺利结束了高软这门课程。对于我自己,也有一些反思,可能由于这门课程没有期末考试的压力和负担,自己也松懈了不少,对于课上过于抽象晦涩的理论知识,课下并没有认真去掌握它。在项目实践当中,由于个人能力和他人能力的悬殊,导致自己比较依赖组长,虽然也有进步,但是还是会失去一些东西。现在想明白了,如果有下一个项目,我一定不会以尽力而为的态度去完成,这样对自己的成长并没有多大意义。对于未掌握的技术要去学习,遇到困难想方设法去解决而不是选择回避,只有这样才能真正收获到自己想要的东西。

 

posted on 2021-01-25 16:31  天天小码农  阅读(105)  评论(0编辑  收藏  举报