个人作业——软件工程实践总结&个人技术博客
这个作业属于哪个课程 | 2020春S班 (福州大学) |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结&个人技术博客 |
这个作业的目标 | 总结、抒怀、展望 |
作业正文 | hujh的个人作业——软件工程实践总结&个人技术博客 |
其他参考文献 | 《构建之法》(邹欣) |
一、回望
- 对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
这个学期相对来说我觉得我的提升还是比较大的。大一到大三上,基本上都是学习基础知识与专业知识,打牢基础,但没有融会贯通;而这个学期的课程,尤其是软件工程和软工实践,让我把以往所学的知识串通了起来,从java到算法,从数据库到网络,这些基础的专业知识串通成了java后端开发的必要因素。对比目前的所练所得,我觉得软件开发的基本流程、java后端的基础开发达到了我的期待与目标,但我对java开发的认知尚停留在较浅的层面,很多深层次、新技术未能理解掌握,这是我还不足的地方。
- 你在第一次作业的个人简历中描述了这门课程结束后,你预期你将增长的能力、技术、技能,并绘制了学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
并未达到当时预期值。主要原因在于学期初预期的提升能力主要在Andriod方向,但在后来的一步步学习与锻炼中,我更倾向于学习java后端方向的知识,并在软工实践的多次作业中得以实践运用,因此学期初规划的Andriod方向的知识并未达到当时所预期的值;但相应的,学习实践就像打怪升级,升级得来的技能点没有点到Android上,都被我点在了java后端上,因此此消彼长,我对这个学期的学习情况还差强人意。在之后的暑假、下学期中,我也会在专业实习之中与之余继续深入学习java后端的知识。
- 哪一次作业让你印象最深刻?为什么?
如果说印象最深的一次作业,那当属团队作业第五次——站立式会议+alpha冲刺。这次作业是我耗时最长的一次作业,也是我学习最多的一次作业。还记得alpha冲刺刚开始时,大家互相都不太熟悉,比较能活跃气氛的基本都在Android和前端,留下我们后端五个人面面相觑,不知道如何入手。如果只是各自埋头学习新知识闷头开发的话我觉得对项目不利,而我在开始之前也稍微学了下Spring Boot的知识,于是就在群里分享我的学习资料、开始讨论分工与实现,渐渐的气氛就活跃开了,大家也都有了比较明确的开发目标。除了团队合作开发留给我的印象深之外,alpha阶段从无到有的过程也给我留下了很深的印象。虽然前几次作业需求分析、系统设计和数据库设计已经打下了一些底子,但是还完全没有用过Spring Boot的我也还是很难下手,后来在一边学习中一边动手做,也算是learning by doing了吧。现在想来还有点恍惚,这个学期的软工实践就这么过去啦。
- 在课程问卷中,我们统计了你在课程上花费的精力和提升;现在请你再次将这些数据罗列出来,作为个人的记录。包括以下内容:
项目 | 统计 |
---|---|
统计一下,你在这门软件工程实践中,一共完成了多少行的代码 | 0.5W-1W |
累计花了多少个小时在软工实践上? | 166h左右 |
平均每周花多少个小时? | 8-9h(按课程起止约20周计) |
学习和使用的新软件 | IDEA、Axure、墨刀等 |
学习和使用的新工具 | github、junit、jprofier等 |
学习和掌握的新语言、新平台 | Spring Boot等 |
工程能力的提升 | 能够使用Spring Boot框架开发简单的后端 |
团队合作上的提升 | 团队协作、团队沟通能力得到加强 |
其他方面的提升 | 对于如何从无到有开发整个软件的流程有了更深的认识 |
软工实践的各次作业分别花了多少时间 | 时间 |
---|---|
软工实践寒假作业(1/2) | 9h |
软工实践寒假作业(2/2) | 19h |
结对第一次作业—疫情统计可视化(原型设计) | 9h |
团队作业第一次—团队展示和项目展示 | 6h |
结对第二次作业——某次疫情统计可视化的实现 | 26h |
团队作业第二次——团队Github实战训练 | 5.5h |
团队作业第三次—项目需求分析 | 6h |
团队作业第四次—项目系统设计与数据库设计 | 12h |
个人作业——软件评测 | 8h |
团队作业第五次——站立式会议+alpha冲刺 | 33h |
团队作业第六次——beta冲刺+事后诸葛亮 | 27h |
个人作业——软件工程实践总结&个人技术博客 | 6h |
二、团队总结
- 你是组员还是组长?你觉得你自己在哪些地方做得好?你觉得自己还有什么可以改进的地方,具体可以怎么改进?
在项目中我是组员。虽然我是组员,不过我是我们组中五个后端中负责组织和分工的,所以在和其他组员的沟通上我觉得我做的还不错。改进的地方是我觉得我的技术还不到位,对于java后端的开发还处于比较浅的理解,应该更多地学习深层次的应用和新技术新知识。
- 你觉得你的组长(组员们)在哪些地方做得好?你觉得ta(ta们)还有什么可以进一步提升的地方,有什么具体的建议吗?
我觉得我的组长做的很不错,无论是沟通交流、分工调配还是技术开发,做的都很不错。不过组长给自己的担子或许有些太重了,其实可以适当分配给我们一起来做。
- 《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
萌芽、磨合、规范和创造阶段。我认为我们的团队经历了萌芽阶段和磨合阶段,目前步进了规范阶段,但还未达到创造阶段。我们的团队从一开始的互不熟悉、到开始讨论和整合问题、再到最后大家对整个项目达成一致,我们经历了萌芽和磨合期并到达了规范阶段。
- 从开发的角度,你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
我在团队中担当后端开发的角色,主要开发工作为文章方面的开发。我基本完成了我的任务,完成了文章、点赞、评论、举报等增删改查等接口。我觉得我比较适合这个角色,在后端开发的过程中我也在学习后端开发的知识,我觉得我在团队中可以担任后端开发的角色。
三、人月神话
- 怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
- 研发出符合用户需求的软件
1.项目已经公开发布,下载地址:松果生活官网
2.从问卷调查和个人访谈来看,该项目的受欢迎度较高,博客地址:松果生活用户调研
- 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
1.项目开发时有比较完整的开发计划,博客地址:松果星球委员会
2.项目开发时有比较完整的开发进度,博客地址:松果生活alpha冲刺系列博文索引表 松果生活beta冲刺系列博文索引表
- 并且通过数据展现软件是可以维护和继续发展的
1.源码基本都已上传至github上,后端开发的github地址:Pinezone-github
2.接口文档较为详细,地址:松果生活接口文档
- 写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达
原本以为项目=编码,认为项目到手就可以开始编码,在经历这个学期的软件工程理论课和软工实践课后被完全推翻了。不论是个人开发、结对开发还是团队开发,软件开发的流程都是非常重要的,编码是软件开发中重要的一环,但绝不是唯一的一环。在软件开发流程中,先进行需求分析能够很好地理清软件开发的目的,避免了尽快编码导致理解错误而不得不推翻重来的尴尬状况;而其后的系统设计和数据库设计都是帮助编码的很重要的部分。在刚开始进行个人编码作业和结对编码作业的时候对这些考虑地比较少,因此进行到最后也没有留下一些文档,不过好在项目较小;而在开发团队项目的时候通过作业的布置完成了前期的各项工作,因此在进入编码阶段之后也更加顺手了。因此拿到项目不要急匆匆编码,按照软件开发流程进行能大大提高项目的容错率,促进项目的正常进行。
四、建议
- 对于下一届同学,或者大一的同学,你想说:
从大一就开始好好努力!如果想考研的话,要从大一就开始努力,不仅可以保持比较好的基础成绩,或许还可以得到保研的名额;如果想要工作的话,可以提早学习自己喜欢的领域的技术,并且要边学边做,尽量能够做出一些东西来。
- 对于自己今后,你有哪些建言?
不要偷懒,每天规划,积极学习!
- 对于助教工作,你有哪些建议?
助教被我们折腾得挺惨/笑哭。不仅要发布作业、评价作业,还会在群里被各种提问。。。我觉得这个学期的助教各方面工作都做的很不错,感谢!
- 对于软工实践课程,你有哪些建议?对于软工实践课程的上课形式和内容,你有什么具体的意见和建议?在哪儿需要强化或者剔除?
软工实践放在大三下学期确实被很多人诟病,不过从课程安排的角度来看确实也很难调整。我觉得大三上也罢,大三下也罢,其实都是一次融汇贯通的过程,要说好坏的话,毕竟我们以及之前的几届也都这么过下来了,所以我觉得问题也不会很大。软工实践课程的上课形式确实很新颖,相比于完成几次实践作业的实践课程,软工实践从零开始开发一个软件确实是很好的体验,也能使我从中学到很多,因此我觉得这样的形式还是很不错的。
五、个人技术总结
概述:在Spring Boot项目中使用单图或多图上传功能。适用于项目中头像上传、文章多图上传等功能。