看效果数据说话 铸新课再踏征程——东北大学软件系统开发实践课程完美落幕
2022-07-15
7月8日,东北大学软件学院2020级软件工程系“软件系统开发实践”课顺利结课。13个班,414名同学,64学时的实训课由沈阳哲航信息科技有限公司提供的“砺英网”实践教学与评价平台支撑,应用企业真实项目案例,在一线工程师指导或评价下,按照企业真实技能要求完成学校实践教学任务,并且课程全部内容在互联网线上完成。本次课程的完美落幕是东北大学软件学院在疫情状况下针对实践课教学质量提升作出的再一次积极探索和创新。
本次课程教学目的明确,按照教学大纲要求顺利达成以下几方面目标:
·通过编写开发规范说明书、功能需求等任务的训练,培养学生按照工程标准的要求编写工程文档能力;
·通过系统基础功能开发、系统基础功能发布等任务的训练,培养学生工程编码能力以及组件化开发的能力;
·通过系统功能测试任务的训练,培养学生测试用例的编写,以及使用自动化测试工具的能力;
·通过系统设计、需求变更等任务的训练,培养学生适应敏捷开发的工作环境以及系统优化的能力;
·通过项目资料归档、项目总结等任务的训练,培养学生项目验收及项目资料整理归档的能力;
·通过提升任务的训练,培养学生的适应能力以及创新能力;
·通过团队任务的训练,培养学生团队合作能力、沟通能力等职业素养。
在本次课程过后,同学们通过《实践报告》对学习过程和效果做出了认真的自我总结合全面反思。下面小砺精选部分同学的总结和经验,分享其他同学和学弟学妹,也许在未来的学习和工作实践中,能给大家带去一些帮助和参考。
同学小A:多问多搜多查多用,和团队共同成长,共克难关
从一开始的个人阶段开始,很多知识点和技术栈都很不熟悉,有的甚至都没有听过,也曾苦恼也曾困惑,但是在老师和同学们的帮助下,我自己也是不断的鼓励自己,多去问,多去搜,多去查,多去用,最终也是较为成功地完成了个人阶段的任务。接着,“重头戏”团队任务到来。从队伍组建,到成为队长,再到一起合作一起克服困难,最后取得令人满意的结果,短短几个字是无法描述这一阶段的点点滴滴。
当然,面对繁重的任务,也有抱怨,也有困扰,但是从未想过放弃。团队成员互相鼓励,彼此成全。我们在团队开发过程中,不仅在知识面和技术栈都有所拓宽和进步,更懂了团队开发的流程、规范及其重要意义。对于我们现阶段来说,熟悉团队开发流程,学习开发技术,深入知识体系是十分必要且重要的。整个过程中,我们对于技术的探索可以说是十分困难艰巨的。但是,幸运的是团队中每个队员都是认真且负责的,遇到任何难题都会互相帮助,攻克难关。
除此之外,要感谢所有老师的辛勤付出,那凌晨的群内答疑是令人印象深刻和感动的,也在老师的不断指引下,一点点修正自身错误一点点成长,学习到了分析问题、解决问题的思维方式和面对困难时,勇于去面对去解决,去开拓思维,寻找最佳方案的态度和决心以及小组的合作精神,锻炼了交流讨论的能力。
同学小B:理论应用于实践,团队协作,是未来工作不可或缺的
经过本次的软件系统开发实践,我收获颇多。一方面巩固了之前从课堂上所学习到的知识与方法,另一方面还提高了自己将理论应用在实践上的能力。更为重要的是,还锻炼我与团队成员进行协作的能力,这是我们未来走向工作岗位所不可或缺的。
在个人开发阶段,我学会了如何独立查找bug、如何独立解决bug,并且学会了在需求发生变更时要如何应对的方法。在这一过程中,我进一步熟悉了Spring Boot和Mybaties这些重要的后端和持久层框架,并对Nacos管理微服务有了一定的了解,全方位提高了我的代码编写水平,拓宽了我的技术栈。
在团队开发阶段,我体验了软件开发的完整过程,即从需求分析、系统分析与设计、编写代码、软件测试一直到软件部署,对于软件工程的重要性有了进一步地认识。在这一过程中,充分锻炼了我的需求分析能力、系统设计能力、编码实现能力和软件测试能力,同时还提高了团队的协作能力和沟通能力,增强了团队意识,是一次非常宝贵的实践机会。
最后,我很感谢这次实践课。它让我认识到需求分析和系统设计的必要性,并提高了我进行需求分析和系统设计的能力,还锻炼了我进行系统开发和团结协作的能力。总之,本次实训极大地提高了我综合软件开发的能力,并为日后的努力指明了方向,受益匪浅。
同学小C:代码管理需要改进,每天归档利于项目管理
我认为我们在代码管理方面还需要有一定的改进。首先是关于代码可读性的问题,我是有写注释的习惯,一是害怕自己日后会忘记写代码时的思路,二是要使得别人也能读懂我的代码。但在开发过程中,我发现部分小组成员几乎不写任何注释,如果逻辑比较简单,那么没有注释也很容易看懂;如果是逻辑比较复杂的代码,没有注释的话就会难以理解,需要花费更多的时间。所以不论是谁开发,都需要给必要的地方加上注释,且在方法比较多的类(如controller、service)中,对方法写明注释有助于后续开发中,在出现问题的时候快速找到某个方法并对其进行检查。
然后是代码整合的问题。由于我们没有使用相关的工具对代码进行统一管理,只是各自完成新功能后将相关的代码文件发在群里,在整合其他人做的功能时十分费力,因为有时在某个文件中,改动非常小,也许仅仅是修改了一行代码,但却发了整个文件,这样的比对耗时费力,且特别容易遗漏。在对代码管理工具不熟悉的情况下,我认为可以结束每天的开发之后,在群里发布统一的新版本,由各部分的开发者各自检查自己写的代码有没有遗漏,第二天使用这份统一的代码继续进行开发。这样由于大家的文件都是相同的,可以在修改某行后记录该代码的位置,在后续传给其他成员时,整合代码就会变得更加容易。
通过此次实践,我也得出了一点小小的经验。一方面,在编写相关新功能的代码时,如果有代码的增加、删除和修改,可以及时记录下来,实时更新自己对代码的编辑状态,便于发送给组员时定位到有改动的代码段;另一方面,由于开发的过程中可能会出现很多意外情况,导致我们需要撤销掉所有的已修改代码,手动去寻找有改动的文件再撤销十分费力。我们可以单独存下每天的项目,也就是说,建立一个存放项目的文件夹,每天结束开发后都进行一个小规模的归档,第二天复制这个归档项目,在此基础上继续开发,不断更新迭代。这样既有利于我们对项目进行管理,又有利于总结每天的开发情况。
以上同学在本次实践课的过程中遇到的问题是很有代表性的,技能的提高要在实践中不断打磨,东大学子未来可期!
看效果数据说话 铸新课再踏征程!
东大&哲航,携手新征程!