【软工实践】个人总结

一、请回望第一次作业,你对于软件工程课程的想象

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

开篇博客链接: https://www.cnblogs.com/azeLibertas/p/11483498.html#_label3

当时我写下的期待是:

最大的期待就是完成实践任务后我的实战能力会有多大的提升,对于团队分工合作能有多深的认识和体会。多人合作一向不是简单的事情,能做到愉快且有效率的合作,我相信就是一种成功了。

可以说,与一个学期前的自己相比,我的实战能力有了很大的提升,有能力完成一个可用软件的开发。可以在短时间内熟悉一个后端框架和运用一种语言进行开发。不足之处在于,时间太紧,要学习的东西太多太杂,对于工具的学习只能了解到皮毛,对框架和语言的学习更是需要不断的妥协,很多原理和功能在妥协的过程中便不得不被砍掉。

在团队合作中,我很幸运地找到了一群还算靠谱地队友,大家团结一致,在开发的过程中收获了很多的快乐。自己在团队中担任了队长的角色,也是发挥了一定的领导作用,学到了丰富的合作经验,也更进一步地认识到合理的分工对效率的提升有多么的重要。

2)总结这门课程的实践总结和给你带来的提升,包括以下内容:

1、统计一下,你在这门软件工程实践中,完成了多少行的代码;

作业 代码行数
个人项目 2365
结对项目 2969
团队项目 2370
总计 7704

2、软工实践的各次作业分别花了多少时间?(做一个列表)

作业 花费时间(min)
第一次博客作业 120
第一次个人编程作业 1950
第一次结对编程作业 1720
团队展示 120
第二次结对编程作业 3725
团队项目-选题报告 180
团队项目-需求分析报告 595
团队Git现场编程实战 1015
Alpha冲刺(1/6) 380
Alpha冲刺(2/6) 290
Alpha冲刺(3/6) 370
Alpha冲刺(4/6) 320
Alpha冲刺(5/6) 520
Alpha冲刺(6/6) 1560
Alpha事后诸葛亮 1780
Beta冲刺(1/5) 460
Beta冲刺(2/5) 960
Beta冲刺(3/5) 945
Beta冲刺(4/5) 745
Beta冲刺(5/5) 745
Beta版本展示 825
软工实践个人总结 180

3、哪一次作业让你印象最深刻?为什么?

印象最深刻的就是Alpha冲刺了,毕竟熬了几个通宵,福大凌晨的活动室,见证了我们的项目从0到1,从分析、设计到编码、测试,每个人都贡献自己的一份力量,把我们的项目一步步完善至最终的成果。和队友们一起努力,通宵也没那么无聊了,这个过程无疑是最令人难忘的。

4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答

累计花了325个小时在软工实践上,按11周来算,平均每周花了29.5个小时。

开篇博客我的回答是:

量化时间的效果很模糊,但看到各位前辈们“一起熬夜,一起吐槽,一起说说笑笑,一起打代码”很快乐。加上我本来做事情就要比别人慢,一周18个小时,每天抽三四个小时用来学习。期待自己能做到。

虽然早有了心理准备,但还是低估了这门课的硬核程度。不过,很重要的一点是:花费的这么多时间是否带来了理想的结果,是否有很大一部分时间表面上花费在了解决这门课的作业上,但实际上并没有将时间充分的利用。换言之,对时间的转换效率是否合格。

因为自己在完成作业的过程中,也确实出现了花费很长时间去解决一个本不需要这么多时间的任务。这样对时间的转换率太低,其实也导致了一定的浪费。

5、学习和使用的新软件;6、学习和使用的新工具;

  • 代码管理:git
  • 远程控制:TeamViewer
  • 原型设计:墨刀
  • 绘图:ProcessOn、XMind ZEN、StarUML
  • 数据库管理:Navicat Premium、PHP Admin
  • IDE:IntelliJ IDEA、Android Studio
  • 测试:postman、eclipse单元测试
  • markdown编辑器:Typora

7、学习和掌握的新语言、新平台;

  • 新接触的语言:MySQL
  • 进一步学习C++与Java
  • 后端框架:spring boot
  • 云服务:阿里云

8、学习和掌握的新方法;

  • NABCD法需求分析
  • 单元测试方法
  • 正则表达式的运用
  • UML类图的制作
  • 墨刀原型工具的使用
  • 软件需求规格说明书的设计书写
  • spring boot+tomcat框架应用
  • 阿里云服务器的部署
  • 团队git协作
  • 数据库设计及运用能力

9、其他方面的提升。

  • 如何在短时间内学会并且运用一项知识
  • 学会权衡利弊,在时间不够的情况下,如何安排项目进度,对一些次重要的功能进行修改
  • 如何领导一个队伍,把控项目的进度

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

我想我感触最深的就是:第一次个人编程

“你踩的坑永远不够多。”

那是开始学习这门课的第一次实战作业,我也是第一次接触API,调用各种API并且一次一次失败的过程我现在记忆犹新。

从华为云API,到百度API、高德地图API、百度地图API,一次又一次的失败,让我感到绝望。但是,又何尝不是在学习经验,获取教训。

这是我当时的心路历程:

两天时间的浪费,我对C++心生不爽。转战Java。

但依然不屈服于暴力解决,想用点有意思的功能。很早就开始学习Java,但战线拖得太长,一直都只是掌握了皮毛。想为之后的团队项目做些准备,决定学习调用API来解决。

1、华为云API:

https://market.huaweicloud.com/product/00301-209781-0--0?ticket=ST-19226-C9KcTiQEvEgeFaAleIAcDEgE-sso

对如何使用API毫无头绪,最先找到的就是华为云的地址分词,看完了四十几页的开发文档,0元买了API,发现还是不会用,“先创建APP再调用接口”什么的我是真的搞不懂啊,本以为就是用url使用key的事情,还要创建什么APP,最后不了了之。

2、百度AI:

http://ai.baidu.com/docs#/NLP-Cpp-SDK/top

在b站上看了如何调用API的视频,发现up主用的是百度AI。看起来还算简单,虽然和我要实现的功能没什么关系,但决定先按照教学去练练手。相比华为,百度的开发文档更简单易懂,按照步骤一步一步做,最后实现了第一次调用API,算是对调用API的过程有了一些了解。

3、高德地图API:

https://lbs.amap.com/api/webservice/guide/api/georegeo

学会了调用API后,就开始找合适的接口。高德地图的接口功能非常丰富,可以根据地址返回省、市、县等各级行政区的名称。这样就可以把暴力匹配前几级地址优化到只需调用一个接口来实现。但是,最坑的事情来了,高德地图返回的json数据,格式化校验会出错,导致程序疯狂报错。

绝望.jpg ......

4、百度地图API:

http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad

相比高德地图,百度地图不会返回各级行政区的信息,只能获取到位置的经纬度。只能二次调用接口实现逆地址解析,根据经纬度返回各级行政区信息。这就是最终的实现方案。

也正是这一次一次的尝试,让我学会了API。在后面的现场编程过程中,很多之前调用过的API也起到了关键的作用。

”踩过的坑不会白踩,它不是拦路虎,而是垫脚石。”

三、这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?

最感谢的就是我们队的女生了,虽然我是队长,但很多时候是女生们催着大家完成任务。如果没有她们的催促,我们可能也无法圆满完成任务。

呵,男人。

四、个性发挥,包括图文、照片和创意等

我好歹是队长,给我个面子。

原文地址:https://www.cnblogs.com/azeLibertas/p/12184844.html