终点亦是起点——软件工程课程个人总结

 

这个作业属于哪个课程软件工程
这个作业要求在哪里 个人总结
作业正文 如下

回首过往,以往鉴来。

  四个月前,还未正式开学的我接到了第一次正式的软件工程的作业,也就是让好多同学叫苦不迭的《中文编程实践》。这个作业同样也让我颇为头疼,在综合查询多方代码以及各位同学的思路后,还是琢磨出了一点门道,如果有兴趣的话,可以在《中文编程实践——第一次个人编程作业》中看一看我的想法和经历。

  在经历了第一次的磨难后,大家的表现各有不同,一些人在发现自己做不来作业后放弃选修了这门课程,而大多数人认真努力的完善了自己的代码,在看到作业提交里七十多份虽各有不同,但都很有诚心实意的代码,我也有了继续努力学习下去的信心和动力。

  之后的作业不出所料,果然是同学之间相互的修改和评价——《第二次个人编程作业》,这次的作业利用程序员必上开源网站:Github进行互相的找错和修改,也就是提出issues和pull request,这里也算是我第一次建立个人的仓库,进行仓库管理和代码迭代重构。这次作业同时也为后期团队合作打下了坚实基础。

  接下来的两次作业,也就是双宿双飞的结对作业——《第一次结对作业》以及《第二次结对作业》。这次结对的内容主要是针对疫情期间的网课情况反映,当时我第一时间想到了利用问卷调查,针对本专业进行调查统计,收集有价值的问卷数据。这次的设置以及数据搜集,我个人想法是宁可要少而精,也不要多而杂的数据,毕竟做数据处理时总要丢掉那些没有参考价值的信息,所以我在设置问卷之初就根据“问卷网”的规则将当时还未经历“网课生活”的调查者排除在外,从结果来看这样的信息搜集有效且准确。对目标人群的把握和问题的设置同样很重要,在设置问卷问题的时候就要先问自己两个问题:1.问卷你希望交到谁的手上;2.如果你是填问卷的人,怎么样的题目设置能够让你真诚的回答?当时我针对这两个问题,先是将人群划分为上过网课和未上网课的人,再者通过层层递进的问题设置让回答者在不自觉间就可以做出真实的答案。这次的结对作业,我是出题者,连坤就是做数据整合分析和博客编辑的主力,虽然他那段时间并不是很有空闲,但还是连着好几天和我讨论到半夜,这里也要感谢他的辛苦付出和努力。 

  噔噔噔!终于到了团队立项环节,《团队作业第一次 —— 团队展示》。当时老师让我们各自组成6-8人的团队进行一次长时间的开发项目,我还在思考成员人选的时候,@涛兄就问我要不要去他那儿,顺水推舟我就去了。刚到组里时对大家都是只闻其名不见其人的状态,不过大家都对课程项目抱有极大的热情和信心,也让我紧张的心情稍稍缓解。这次的作业主要是提出项目的描述,以及建立团队,具体的可以看一看我们happy_tree_friends的项目博客:《Happy Tree Friends——团队展示》。当时我们组经过内部讨论,一致都认为现有的至诚教务助手并不是很实用,并且也通过个人的调查用户群体(也就是各级各专业的同学)分析认为,可以做一款与市面上各种课程表app都不一样、专门服务于我们学校学生的课表app,同时也加上了签到查询的功能。当即,大家统一了项目思路,直接就开始思考怎么实现。

  之后经过几次团队作业:《第一次团队作业(2)——项目介绍》、《第二次团队作业——UML图》以及一次个人作业《第三次个人作业——用例图设计》,我们对项目的大体流程以及最终需要实现的功能都有了明确的认知。在经过《第三次团队作业(需求分析)》之后,更是确定了用户想要,或者说我们想去做的方向。

  再之后就是突然袭击,一个下午+一个晚上的开发作业《团队Github实战训练》,这次我们经过讨论,立即确定了JS+sql数据库的实现方法,将小组的成员分为前端开发和后端开发两部分并发开发。可是这次开发也暴露出来一些问题,就是在多人共同编辑Github时,我们的操作并不是很理想,出现了莫名其妙的仓库同步问题,以及为了省时间commit并没有审核而是直接通过的做法更是乱上加乱。

  发现问题就要解决问题,所以从这次开始,我们小组的每个人都开始学习Github的操作和使用,涛兄作为组长让我们学习github仓库管理、如何使用IDEA和Android Studio进行仓库的pr操作。在每天每天不断的学习和共同开发中,越来越熟悉git的各种操作,也学会了如何进行共同开发。

  学习的期间我们也在逐渐完善项目的技术点,这次《团队作业第四次——项目系统设计与数据库设计》由我找资料编写大纲,然后负责数据库方面的@蔡总填写两份报告里的数据库部分,其他组员一边忙着git的鞭打,一边帮忙将两份报告书填写完整。这样痛并快乐着的学习生活没能持续多久,噩梦般的《Alpha冲刺》就开始了。

  具体的事情难以言述,可以看一看《团队作业第五次——Alpha冲刺》,每天不停的与组员沟通、了解项目进展、后端安卓开发的跟进、边自学Android Studio的操作边在运用中熟练,我们在这十多天的冲刺中飞速的成长,也更加明白团队协作的必要性和重要性。看着每天燃尽图的减少,我们也越来越有干劲,当橙汁——也就是我们的app,成型且可以投入使用的时候,成就感直接拉满!

  正如涛兄在《Alpha总结展望——前事不忘后事之师 》中所说:回顾Alpha冲刺,觉得挺不可思议的,这段时间做了这么多事,开会、讨论、磨合、写代码、改代码,循环往复。以现在的视角看过往,确实有很多方面可以再提升,比如团队协作,代码质量等等。而这些都在《团队作业第六次——Beta》中得到了解决。

  最后一阶段的冲刺大部分是在处理用户的反馈和调整UI设计,以及增加各种各样的功能模块,总的来说有种雨过天晴见月明的畅快感。

 总结新知识

  1.学到了一个项目开发所需的流程。

  2.项目的关键在与团队协作。

  3.熟悉掌握了Git的操作。

  4.学习了如何使用Android Studio进行开发。

  5.本次项目我更多像一个产品和PM,也在此中学会了如何掌握管理项目。

  建议

  要说对这门课的建议,我个人认为是出现的太迟,大一太早 大三下太迟,在大二的时候让大家体会一个项目是如何运作跟进,以及开发所需要掌握的知识技能,这样可能会更有益于计算机系学生们的进步。希望未来人人都能做出实用的程序,每个同学都有完整的项目经验。

  最后

  Last but not least,这学期的软工课程让我收获良多、感触颇深,之前种种心境在项目落地之后也随之烟消云散,取而代之的是满满的成就感和满足感,但也带有一些对自我的反思:是否哪里有不足之处,是否考虑不够完全,是否在开发方面不够积极?特别是最后一个问题,虽然有许多客观原因让我无法全身心的投入开发的位置,但是这些都不是借口,我仍然有一些畏难情绪作祟。虽然跟着安卓开发的朋友们天天开会,自己也有在学习开发,但是相对全力以赴的开发人员们我就比较懒散的学习,保持着自己能看得懂听得明白的程度就足够了,这样很不好,以后不能再有这种懈怠感。

posted @ 2020-06-14 20:29  Mangnolia  阅读(502)  评论(8编辑  收藏  举报