个人作业——软件工程实践总结&个人技术博客
这个作业属于哪个课程 | 2020春丨W班 (福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结&个人技术博客 |
这个作业的目标 | 回望和对比、总结团队经验、人月神话、提出建议、个人技术总结 |
作业正文 | 个人作业——软件工程实践总结&个人技术博客 |
其他参考文献 | CSDN、简书 |
一、回望
1、对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
达到:懂得了更多开发项目过程中所用到的工具,掌握了更多关于java的后端知识,并且开发出了自己的软件。
不足:算法的使用上还尚且不足,对项目开发的文档攥写和设计方面上细节还需要注意。
2、你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
没有。当时更希望是学习游戏开发方面的知识,但鉴于开发的属于日常分享软件,但却学习到了很多java方面的知识,例如框架、javaweb等等,都让我受益良多。
3、请总结这门课程的实践总结和给你带来的提升
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
3000行左右的代码。
-
软工实践的各次作业分别花了多少时间?(做一个列表)
作业名 所花时间/小时 寒假作业(1/2) 10 寒假作业(2/2) 30 结对第一次—某次疫情统计可视化(原型设计) 36 结对第二次作业——某次疫情统计可视化的实现 38 团队作业第二次——团队Github实战训练 13 团队作业第三次——项目需求分析 10 团队作业第四次——项目系统设计与数据库设计 8 个人作业——软件评测 12 团队作业第五次——Daiylu6+1站立式会议+alpha冲刺汇总 30 团队作业第六次——Daily6+1站立式会议+β冲刺汇总 20 -
哪一次作业让你印象最深刻?为什么?
团队作业第二次—团队Github实战训练。在那次作业中,可能是因为时间太少,需要在当天完成,那天基本一天都坐在电脑前敲代码,直到交付作业,才让身心放松下来。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花了227个小时,平均每周花14个小时。
-
学习和使用的新软件;
Typora、XMind、WebStorm、IDEA、Axure RP 9、UMLStar
-
学习和使用的新工具;
单元测试、RESTClient、代码规范插件
-
学习和掌握的新语言、新平台;
-
语言:springBoot、mybatis
-
平台:github、leangoo、eolinker、博客园
-
-
学习和掌握的新方法;
- github的commit、issue、branch
- springBoot的mapper、application
-
工程能力的提升;
开发项目的时间管理、项目开发结束的测试环节。
-
团队合作上的提升;
团队交流、共同设计、商讨解决方案。
-
其他方面的提升;
编写设计和项目文档、软件设计、答辩
二、团队总结
1、 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
我认为组长的分工安排是合理的,能够让每个人都能够有事可做,做自己想做的,让项目开发更加顺利。即便开始的分工上可能细节不足,但在最初的项目开发上,能够做到现在这样的程度已经让我觉得十分优秀的了。
在组长的选举我认为还是组内自我推荐,后经过组内投票决定,这样,才更可能选出让小组组员满意的组长。
2、 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。
没有,我认为换组的目的是为了让同学们更好地适应人员的变化,在工作中,不可避免会遇到合作的队友更换的情况,不能因为换队员产生情绪而消极怠工。
3、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
-
萌芽阶段
当时的团队刚刚组建,大家的交流比较少,大部分靠组长来分配任务,组员较多为接受任务,很少提出意见,除非有问题请示组长,组长提出解决方案。
-
磨合阶段
大家逐渐开始熟悉,当有地方不妥的时候,会提出相应的意见,而不只是一味的接受,组长也能够逐渐放宽给组员的权力。
-
规范阶段
大家会严格执行每一项任务,在队友遇到问题时,能够及时伸出援手;在学习到便捷的工具时,能够分享给队友,给团队带来效率。
-
创造阶段
达到了高度自治的阶段,队员能够对开发的软件进行更多的功能添加,不再局限于组长的构思。
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
有项目规划,并通过调查得知用户需求,经过组长和组员的共同设计,实现所需功能,最后发布在服务器上。有通过看板和会议,汇报进度,更新燃尽图,并在规定时间内完成。
对于项目的设计,我们拥有者80+页的设计说明书,浏览说明书可以了解软件的大致方向以及实现方式。代码通过github来进行保存,代码中也有相对应的注释。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,文字部分字数要求在100字以上,可以使用你自己喜欢的方式表达(如图文结合、视频)..
在团队项目实践中,合作是十分重要的一环。每个人都需要负责一个环节的完成,如果某个环节不能够如期实现,将会导致整个项目的无法完成。这其实也恰恰说明了,一个项目是需要协作完成的。一个大的项目,所需要花费的资源是巨大的。如果交付给一个人,在时间不限制的情况下,是有机会完成的,但所花费的时间资源无疑是庞大的。但若是交付给一个团队,这将大大减少时间的花费。当然也是必须建立在每个人工作效率都是相当的情况下,如果是某个人的工作效率不能够达到预期,所负责的环节甚至可能拖慢整个项目的完成度。当然遇到这种情况时,最先想到的不应该把责任推到那个人身上,因为很可能是所负责的模块较难,导致开发时间的延长。这种情况下,身为一个团队应该互相帮助,这样才更能保证项目的完成。
四、建议
1、对下一届同学的建议
也许一开始会适应不了这样强度,每次看到大作业会觉得心烦。但其实每天进行作业的编写,就会慢慢发觉,其实就是每天的小作业,经过每天的小部分解决,也将完成这次的作业。所以每日的安排很重要,不能够把所有的事堆在最后完成。
2、对于软工实践课程,你有哪些建议?
可能对于软工实践课较深的体会就是作业量较多,虽然也能应对的过来,但是也出现了不少问题,可能是对于作业量的突然递增会有些不适应。在过渡期中,减少一些作业量,对于这样的转变可能会有所帮助。
3、对于助教工作,你有哪些建议?
在我看来,助教真的做的很好,很感谢助教们在本次课程学习中给予的帮助。给我印象最深的就是寒假作业(2/2)中,助教的作业提示博客,一开始对作业无从入手,而助教给了难点的提示,也让问题的解决变得简单。在助教的博客评论里,也感受到助教的用心。希望助教对于下一届的同学们,也能够给予足够的帮助,帮助他们渡过难关。
4、对于自己今后,你有哪些建言?
希望自己今后遇到问题时,能够考虑得更加全面一些;在面对新技术时,能够更加乐观地去学好它;让自己变得更加自信一些,相信自己是能够做好的。
五、个人技术总结
Spring Boot是基于Java语言的一种框架,Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置,能够帮助我们快速搭建Java应用程序。