个人作业——软件工程实践总结作业
作业描述
课程 | 软件工程1916|W(福州大学) |
---|---|
作业要求 | 软件工程实践总结作业 |
我的学号 | 221600328 |
作业目标 | 对软件工程实践课做一个总结 |
所属团队 | 修!咻咻!维修平台 |
一、请回望开学初的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
在第一次作业中,我的期待是“对这门课的期待就是能体验到团队工作,了解到完整的项目开发”,首先,我的编程能力肯定是得到了提高了的,在自学和查找资料方面也增强了,学习到了许多新的东西,例如:一些原型开发工具,bootstrap,Mave,Springboot框架以及JPA和Thymeleaf的使用,体验到了团队工作,但是说到完整的项目开发,还是比较不足的,因为我们团队的成员都没有过完整的项目经验,大家都是第一次干,在任务分配,协调以及项目进展管理方面协调起来出了许多矛盾,虽然最后项目成功完成,但是开发的过程基本是用熬夜来完成的,踩了许多坑,但是俗话说“吃一堑,长一智”,虽然磕磕碰碰,但也是收获良多
2)总结这门课程的实践总结和给你带来的提升,包括以下内容
- 统计一下,你在这门软件工程实践中,完成了多少行的代码;
- 结对编程300行,github实训200行,团队项目大概2500行,共3000行左右。
- 软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 | 时间(h) |
---|---|
第一次作业-准备篇 | 3 |
结对第一次—原型设计(文献摘要热词统计) | 17 |
结对第二次—文献摘要热词统计及进阶需求 | 21 |
团队作业第一次—团队展示 | 1 |
团队作业第二次—项目选题报告 | 3 |
团队作业第三次-项目原型设计 | 17 |
团队作业第四次-项目需求分析 | 15 |
团队作业第五次—项目系统设计与数据库设计 | 22 |
团队作业第六次—团队Github实战训练 | 9 |
Alpha冲刺 | 32 |
事后诸葛亮(团队) | 3 |
Beta冲刺 | 66 |
Beta阶段团队项目互评 | 1 |
个人作业——软件工程实践总结作业 | 2 |
-
哪一次作业让你印象最深刻?为什么?
- Beta冲刺。。我们团队有3名队员是一个宿舍的,包括我,在项目答辩上前一天晚上,我们3个搞代码搞到了早上7点,主要在解决一些bug和服务器的上传,因为项目进展和代码分配的问题,所以可能组长也不太了解,答辩的时候感觉我们答得好差,其实这个项目当时已经基本完成了,不存在什么大的bug了,但是团队没沟通好,导致演讲失利,还出了许多现场问题,心态爆炸,印象深刻。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
- 按照上面的列表,累计花了212个小时,平均每周花了14个小时。
-
学习和使用的新软件;
- JProfiler(性能分析软件)、navicat(MySQL管理软件)
-
学习和使用的新工具;
- 墨刀和AxureRP8(原型开发工具)、博客园、eclipse、git(团队代码管理)
-
学习和掌握的新语言、新平台;
- 新语言:JPA和Thymeleaf
新框架:bootstrap框架、Maven框架和Springboot框架
新平台:GitHub,博客园
- 新语言:JPA和Thymeleaf
-
学习和掌握的新方法;
- Github团队协作开发
-
其他方面的提升
- 编码能力,沟通能力,团队协作能力
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
按照团队方面来说吧,我的经验总结就是,一个完整的规划非常重要,千万不要盲目的干,比如说我今天觉得这里少了我补这里,明天那边又漏了一块补那里,这样很容易导致项目的延期,而且任务分配上也很容易出现问题。
我们项目从一开始的Alpha冲刺到Beta冲刺可谓是一波三折,从一开始的打算直接复用原型来写前端变成了重构页面,然后从写SQL语句和serverlet到使用springboot框架,此中曲折浪费了非常多的时间,而且我们最后的冲刺使用的基本上还是填鸭式的写代码,进度来不及,只能熬夜赶。
所以,一个完整的项目规划非常非常重要,最好还能有个风险分析,比如这项技术和方案最后使用不了该使用什么方案,一个好的项目,好的进展和规划非常重要。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
对于大一的同学来说,就是要好好学习!大学不是天堂,这里是知识的宝库,不要被玩乐迷了心智,好好读书!天天向上!
对于后来人的期许:希望他们不要像我一样,不要贪玩,能在大一就好好努力,有好的作息,不要熬夜打代码,会掉头发,成为一个优秀的软工学生。
换队员的话,我个人建议还是换的,虽然有许多不好的地方,比如说,新队员在新团队没有归属感啊,要花费额外的学习精力啊,团队支柱被换走了啊,很多很多,但是,在以后的项目中也会出现队员变更的情况,这些问题最好在现在就有适当的接触,不能在以后的项目实战中才第一次碰见这些问题,能够提早接触的话还是希望能提早接触的,因为能提前做一些准备。虽然会花费额外的时间,但是这门课已经够苦了,再苦一点又何妨?不差这一担,且来便是。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
分析自己所处的团队:虽然自己的团队这次项目的进展和收尾都出现了问题,但是这毕竟是我们第一次的项目合作,出现再多的问题也都可以接受,我相信,如果有新的项目的话,我们一定会吸取这次项目的宝贵经验,交付一张完美的答卷的。
萌芽阶段:有的,自己本身的角色定位不清楚,又写前端又写后端。。
磨合阶段:有的,信任,冲突,责任,承诺和结果都有体验到,虽然有的结果因为时间问题还没有开花,但是有充裕时间的话,肯定是会开花的。
规范阶段:我们团队大概正在向这个阶段迈进,还不能取得一致的规范。
创造阶段:未能达到此阶段
五、怎样证明你学会了软件工程?
-
1)研发出符合用户需求的软件
- 我们项目的在线网址:http://masgak.online:8080/xiuxiuxiu/ ,正在内测中。
-
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 我们的团队使用WorkTitile做项目控制,用Git做代码协作开发,做过需求分析、原型设计、数据库及系统规格书,有良好的项目签入记录,
591commit,项目git链接。
- 我们的团队使用WorkTitile做项目控制,用Git做代码协作开发,做过需求分析、原型设计、数据库及系统规格书,有良好的项目签入记录,
-
3)并且通过数据展现软件是可以维护和继续发展的。
- 代码基本上都有注释,使用了springboot框架,有前期文档,可维护性高,可继续发展。
个性发挥
个性发挥就是没有个性~