个人作业——软件工程实践总结&个人技术博客
这个作业属于哪个课程 | 2020春|W班 |
---|---|
这个作业要求在哪里 | 个人作业—软工实践总结&&个人技术博客 |
这个作业的目标 | 对自己在软工实践这个课程的收获做一个总结 |
作业正文 | 见下方 |
其他参考文献 | 无 |
1.回望
(1).对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
对比目前所学所得,我的的团队协作能力基本达到自己的目标,但是我定下的学习pytohn的计划却基本没有实现,主要是专业实习的公司大部分要求是Java,于是主要也去学习Java ee相关的技术和知识,但在组内分工的时候发现没有人负责前端,于是我便负责了前端。而前端流行的框架没有python一说,于是选择了比较流行的vue,也就没有多少时间去学python了,主要不足大概是没有学到多少python的知识吧,或许这就是人生不如意十之八九。不过,经过这门课,倒是对vue有了基本的掌握,如果要说不足的话那就是不会设计网页的样式,毕竟不是专业的美工哈哈。
(2).你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;
和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
掌握python并提高编程水平->未完成
虽然对比我预期的学习结果和真实的学习结果是有很大出入的,但是我自认为我对网页前端的学习达到了我的预期值。我做到了了解JSON和AJAX、学习jQuery和基本掌握Vue;对于Vue的学习,我在vue官方文档可以找到的部分基本掌握;我在实践项目中使用了Vue,我也了解了JSON和AJAX,并在本次实践中运用,可以说它们贯穿了我们本次实践,所以我觉得对网页前端的学习的期待达到了我的预期值。虽然学习的方向有些偏差,但结果来说还是不错的。
(3).请总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
大概在于5000行左右(成品中并没有这么多,主要是初次使用Vue,有的部分感觉耦合度太高删了又重写)
-
软工实践的各次作业分别花了多少时间?(做一个列表)
作业 花费时间(大概) 准备篇 5h(未按时交) 热身篇 15h(未按时交) 结对第一次—某次疫情统计可视化(原型设计) 15h(初次原型设计,主要花在学习上) 团队作业第一次 —— 种子队伍选拔和团队展示 5h 结对第二次—某次疫情统计可视化的实现 22h 团队作业第二次—团队Github实战训练 14h 团队作业第三次—项目需求分析 10h 团队作业第四次—项目系统设计与数据库设计 10h 个人作业——软件评测 10h 团队作业第五次——站立式会议+alpha冲刺 50h 团队作业第六次——beta冲刺+事后诸葛亮 55h 个人作业——软件工程实践总结&个人技术博客 10h -
哪一次作业让你印象最深刻?为什么?
团队作业第五次——站立式会议+alpha冲刺
当时跟我一起负责前端的那位同学,他的工作汇报每天都还可以,但是到了最后几天才说啥都没做,而后我之后加班加点去做,也没有把前端弄到比较完善的地步(主要是当时刚接触vue没多久比较多功能要做,水平又有限,没啥时间修bug),因而在团队答辩的时候展示成品阶段出现了列表显示不出来的bug,导致团队的得分低了其他组得有10分,对此我还是比较内疚的,而我也深刻认识到了团队内部沟通的重要性,同时我觉得组长一定要把控全局,对每个人的进度有把控和检查。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计210h(以上时间总和),平均每周14h
-
学习和使用的新软件:
Github desktop
磨刀
XMind -
学习和使用的新工具:
Git
磨刀
XMind -
学习和掌握的新语言、新平台:
vue
-
学习和掌握的新方法:
原型设计
需求分析
软件测评
前后端分离开发 -
工程能力的提升:
代码分析,代码规范
-
团队合作上的提升:
提升了沟通能力以及前后端分离之后接口统一的协作能力。
2.团队总结
- 你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
我在团队中担任了前端开发工程师的角色,我完成了该角色的任务,我认为我是适合这个角色的。
- 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
我觉得我的组长分工安排比较合理,大家都能基本能做自己适合完成的模块。我们的组长是群内民主表率选出来的,没有正式的选举仪式。组长做的还挺好的,大家都很支持他。要问我对组长选举有什么建议,我只能说没有,毕竟由于时间关系又不可能轮流当组长看看谁最适合。
- 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。
我在这学期是没有经历换组的,我们新换来的组员编程水平要比换走的同学好一点。虽然换组之后新旧组员又要重新磨合,但是也有利于挤压混子的生存空间,所以我觉得换组还是蛮好的。
- 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
我们团队经历了萌芽与磨合阶段,应该还没进入规范阶段。
3.人月神话
1.怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
- 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
虽然我们没有使用teambition或者其他管理软件,但是我们有进度和工作的安排,每晚也会在qq上与组长进行进度的汇报
- 并且通过数据展现软件是可以维护和继续发展的。
基本每个函数都是有注释的,下附github地址:
网页前端:取经Vue
2.写下属于你自己的人月神话
做项目之前必须要做好计划,而且时间要多留一些。我相信大部分人都是有拖延症的,总是到了快要deadline之前开始做任务;即使没有拖延症也难免遇到一些奇奇怪怪的bug,这时候就会出现自己的进度没有达到计划的情况。所以要留出所谓的“加班”时间,利用这段时间,给自己一个赶上进度的机会。所以在团队中作业就比个人作业的效率高,因为有计划表指引自己什么时间该做什么事情。在暂时结束了项目实践后要好好反思自己,总结在上一个阶段自己做的还不够好的地方,时刻提醒自己不要犯同样的错误。最重要的是要勇于尝试,充分利用时间。以及前后端交互的接口文档很重要,一定要写的清清楚楚。
4.建议
- 对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
对于新同学,我最想说的是刚上大学一定不是轻松的,多动手、多做练习,做题量、代码量永远不要嫌多。
- 对于软工实践课程,你有哪些建议?
我认为可以让我们提前接触到这门课,比如大二上学期就开始上这门课。对我们的各项能力提升都有帮助而且能让我们更好的认识到我们将来的工作内容是什么样的。同时希望在这门课能够多一些指导性的环节,才不会让同学们刚开始摸不到头脑,这样效率更高一些。
- 对于助教工作,你有哪些建议?
我觉得在Beta冲刺后期助教开直播给我们分享经验的那一次不错,我觉得如果助教有空闲时间的话,不如在alpha阶段结束的时候分享;以及推荐软件可以在寒假就分享,这样可以在这么课程中体现出这些东西给我们带来的进步。
- 对于自己今后,你有哪些建言?
以后要好好学习做好时间规划,多花些时间在动手实践上,实践很重要,遇到问题尝试很重要!
5.个人技术总结
不过多在此描述,直接上学习的随笔吧,毕竟说再多也不如实际打打代码,我的学习也是看着随笔里的文章边打代码边学的,希望里面的文章对后来的同学学习Vue有帮助