作业要求
所属课程 | 软件工程1916-W(福州大学) |
作业要求 | 个人作业——软件工程实践总结作业 |
所在团队 | 基于云的胜利冲锋队 |
学号 | 221600414 |
作业目标 | 对本学期的软工实践课程做一下总结 |
一、请回望开学初的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 答:通过个人作业以及团队编程作业的训练,使得我的团队协作编程能力有了进一步提高,意料之外的是,我被大家推出来当组长,第一次带领做团队项目,在这个过程中也获益匪浅,学会了如何与团队成员沟通交流、如何协调团队内部分工。遗憾的是,由于本学期各种事情比较多,并没有对这门课程投入十分精力去完成,希望下一届能把课程调到大二或大三上,让大家真正全身心投入到这门实践课程中去(小小的建议,哈哈)。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1.统计一下,你在这门软件工程实践中,完成了多少行的代码?
- 答:代码量主要是在团队编程阶段积累的,结对阶段只写了几百行代码,总共加起来有4k+行
2.软工实践的各次作业分别花了多少时间?
作业名称 | 时间(h) |
---|---|
第一次作业-准备篇 | 2.5 |
结对第一次—原型设计(文献摘要热词统计) | 6 |
结对第二次—文献摘要热词统计及进阶需求 | 5 |
团队作业第一次—团队展示 | 2 |
团队作业第二次—项目选题报告 | 8 |
团队第三次-项目原型设计 | 28 |
团队作业第四次-项目需求分析 | 10 |
团队作业第五次—项目系统设计与数据库设计 | 5 |
团队作业第六次—团队Github实战训练 | 4 |
项目Alpha冲刺(团队) | 40 |
事后诸葛亮(团队) | 2 |
项目Beta冲刺(团队) | 28 |
Beta阶段团队项目互评 | 3 |
个人作业——软件工程实践总结作业 | 5 |
总计 | 148.5 |
3.哪一次作业让你印象最深刻?为什么?
- 答:alpha阶段前期的几次作业印象比较深刻,当时经常熬夜到两三点,工作比较多,文档+前端,最后还是坚持下来了。现在感觉挺难忘的一次经历,毕竟好久没有熬夜敲过代码了,O(∩_∩)O哈哈~。
4.累计花了多少个小时在软工实践上?平均每周花多少个小时?
- 答:加上各种零碎的学习时间,总共花费在软工实践上的时间有200多个小时,前面几周平均花费时间较少,主要时间花费在后面alpha和beta阶段,平均每周30个小时。
5.学习和使用的新软件;
- 答:墨刀。
- 答:git相关工具。
7.学习和掌握的新语言、新平台;
- 答:Vue框架。
8.学习和掌握的新方法;
- 答:原型设计。
9.其他方面的提升。
- 答:高效的多人协同开发。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 答:团队成员的代码能力如果相差悬殊,可能会欲速则不达,使得团队成员在开发过程中出现矛盾,以及在对接过程中出现各种意外情况,这些都会导致项目的延期,也就是1+1<2的情况。因此在分配工作时要合理把握,根据每个成员的自身情况去安排分工,使得效益最大化,充分发挥每个人的能力。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
- 答:软工实践是一门实践性非常强的课程,可以很有效的锻炼我们的代码编写能力和软件工程中各个过程的体验。所以一定要珍惜这次机会,积极地参与进来,并且坚持下去,你会有意想不到的收获。至于中途换队员,我的答案是否定的,因为我就是那个小白鼠O(∩_∩)O~,换到另外一个队伍就相当于一个新的环境,短时间很难融入到他们的开发环境中去。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- 萌芽阶段:开始大家互相拉拢,随意的就组队了。选题来自zsx同学的一个提议,在听取了他的建议和大家的意见之后,就愉快的决定了。分工按照各自擅长开发的方向和编程能力来衡量决定的。
- 磨合阶段:大家分工明确,加上平时相互比较熟悉,有过一起开发的经历,因此整个过程还是比较顺利的。
- 规范阶段:刚开始大家写代码各有各的规范,之间有冲突,在定下代码规范之后,大家也都不约而同的遵守规范,很少出现问题。
- 创造阶段:目前整个项目还处于内测阶段,还没有实际的用户,离创造阶段还有一定的距离。
五、怎样证明你学会了软件工程?
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
- 答:团队成员分前后端均使用git版本控制进行协同开发,有科学的项目管理方案,有项目使用说明及运行方法,也有完善的接口文档。
并且通过数据展现软件是可以维护和继续发展的。
- 答:我们的接口对接代码都是低耦合,使得后期维护和继续发展空间不受限制,文档也是十分清晰和层次化的,