个人作业——软件工程实践总结&个人技术博客
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2020SpringW/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2020SpringW/homework/10836 |
这个作业的目标 | 个人总结+技术博客 |
作业正文 | https://www.cnblogs.com/spike218/p/13137463.html |
其他参考文献 | 《构建之法》 |
一、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
达成的期待和目标:
- 熟悉基于Vue的前端开发
- 使用Element-UI组件库进行前端开发
- 前后端分离开发,基于axios交互
- 进行软件测试
- 团队协作开发
不足之处:
- 代码调试能力较弱
- 对Vue、SpringBoot框架还在入门阶段,对底层原理了解浅
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;
和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
预期值:
看看一开始绘制的路线图:
没有达到预期,由于团队开发并未运用到Bootstrap、Jquery,还未上升到运用的层次,后端也仅仅是了解到Web API的开发,很多应用到的方面也都只是停留在表层,掌握度不高,就好比,技能点有加到点上,但是技能点还不够,技能伤害并不高,过后希望能够通过自主学习来弥补缺少的预期值。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
约6k行
-
软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 耗费时间/h |
---|---|
准备篇 | 3 |
热身篇——疫情统计 | 28 |
结对第一次—某次疫情统计可视化(原型设计) | 14 |
团队作业第一次——种子队伍选拔和团队展示 | 5 |
结对第二次作业——某次疫情统计可视化的实现 | 22 |
团队作业第二次—团队Github实战训练 | 10 |
团队作业第三次—项目需求分析 | 20 |
团队作业第四次—项目系统设计与数据库设计 | 24 |
个人作业——软件评测 | 10 |
团队作业第五次——站立式会议+alpha冲刺 | 52 |
团队作业第六次——beta冲刺+事后诸葛亮 | 60 |
个人作业——软件工程实践总结&个人技术博客 | 4 |
-
哪一次作业让你印象最深刻?为什么?
团队作业第二次—团队Github实战训练,突如其来的团队实战,没有一点点防备,大家也都比较不熟悉如何在github协作开发,时间也比较紧迫,有点手忙脚乱的,后来在组长的组织下,学习了下github是如何进行协同开发的,最后大家都能顺利完成自己的任务,虽然时间很紧迫,但很好地促进了团队的磨合、锻炼,真是紧张又刺激阿!
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
粗略地由上表得出248h,按照16周算的话,平均每周花费15.5h
-
学习和使用的新软件;
Axure、墨刀、Jprofiler、StarUML、Typora、Xmind
-
学习和使用的新工具;
Postman、GitHubDesktop、Idea
-
学习和掌握的新语言、新平台;
都只是接触了皮毛,谈不上掌握
markdown
前端:Vue、ElementUI、axios后端:Springboot、JPA
-
学习和掌握的新方法;
前后端分离开发、敏捷开发、单元测试、项目需求分析、项目设计
-
工程能力的提升;
协作能力、开发能力、设计能力、沟通能力、软件测试
-
团队合作上的提升;
前后端接口通过接口文档规定,减少前后端分离开发负担;模块化分工协作;团队协作共同解决问题;团队冲突解决;
-
其他方面的提升;
抗压能力、时间管理、解决实际问题能力都得到了提升
二、团队总结
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
1、 如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)
不是组长。
2、 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
组长分工安排相对合理,在初期,充分考虑了组员的意向,在后期,根据组员的能力进行分配,保证了进度的顺利完成。组长选举首先看重自主性,被动式地当上组长可能事与愿违,工作积极性不高,其次就是项目管理能力,能将组员们的规划安排得井井有条,当然组长也要有一定的领导力,否则组员也不一定会按照计划行事。
3、 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。
没有经历过换组。但换组听起来很新鲜也很有趣,在以往的实践课程中从未出现过的,很好地模拟了真实的情况,提前体会到了人员流动带来的变化,也能在一定程度上平衡各组的实力差距。
4、 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
我认为我们团队正处于“磨合阶段”,还未到达“创造”阶段,大部分人都能按时完成安排给自己的任务,但每个人的工作积极性并不一样,距离“创造”阶段还有一定距离。
三、人月神话
1、团队
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
我们小组基本完成了项目之初所提出的需求,但是因为时间与技术原因实时聊天的功能没有实现,产品发布后也进行了用户的调查,并对用户所反应的几个问题进行了完善。但是我们参与测试的用户不多。在alpha阶段我们小组的开发流程十分粗糙,使用的是系统设计书明书中的接口表,没有对一些该注意的点进行规定,在被他阶段我们采用了在线文档的方式进行任务分配与接口分配,同时完善了接口表,完整文档请点击 beta接口文档 和 任务分配表 查看
任务分配表截图
接口分配
2、个人
凡事预则立,提前自主学习、事先的准备以及数据库、系统的设计和需求的分析等都太重要了,不能马虎行事,就拿我们数据库设计来说,一开始的考虑并不充足,且alpha阶段后端人员为了图省事破坏了数据库的结构,出来混终究是要还的,导致后面beta阶段我们吃了不少苦头,好在团队成员在组长的调配下,进行了一系列的数据库重构(beta阶段数据库说明),在beta冲刺阶段顺利完成冲刺任务,在此给组长的出色的软件项目管理能力点赞。
四、建议
-
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
自主学习真的太重要了,而且还要有提前量,尽早开始,不仅仅是为了完善自己的技术栈,更重要的也是底线吧,不能拖累团队的步伐、进度,否则到了冲刺阶段,别人都在冲冲冲,你自己却还停留在学习阶段,拖慢了团队,也拖慢了自己。
-
对于软工实践课程,你有哪些建议?
在开始实践前,适当添加一些引导环节,给学生指明有哪些方向,以及一些学习路线,降低学生自主学习的成本。
-
对于助教工作,你有哪些建议?
助教很认真负责,技术分享环节干货满满,建议加量,分享的时间也可提前一些。
-
对于自己今后,你有哪些建言?
就像给下一届同学的期许一样,我也期许着自己自主学习的积极性提高,一步一个脚印。
-
五、个人技术总结
技术概述:基于SpringBoot使用Email进行验证码校验方法
技术博客链接:个人技术总结