个人作业——软件工程实践总结作业
课程链接 | 软件工程1916|W(福州大学) |
作业连接 | 软件工程实践总结作业 |
学号 | 221600438 |
目标 | 为本学期软件工程实践课程做一次总结 |
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
-
第一个就是对软件工程的认知了,现在看来,软件工程整个过程的体现不仅仅体现在编程上面,项目开发文档的尽可能完善是保证项目尽可能按照计划进行的前提,而且也是保证项目成员能够更好合作、协调的基础。
-
再者就是直接的编程思想的变化还是很大的,以前以为的就是一个人就能做好一个项目的方方面面的,但是我们团队项目做下来的时候,才发现一个项目真正想要做好,一个人固然可能做到,但是时间远非自己所能想象(当然也可能是自己基础还不够扎实,了解到的不多),所以软件工程,协调合作的能力还是十分必要的,任务的精确能够充分发挥每个人的力量,这点上在我们组还是有些欠缺。
-
第三个就是对需求变更的理解更加深刻了,就结对第二次作业中,一些简单的需求变化就让我觉得有点受不了,还有就是团队作业中一点点的需求变化,甚至是队友的离开与新队友的加入,不仅文档需要修改,编程的复杂性也会有所增加。在项目中,需要理性的对待需求变更,因为很多时候这是不可避免的,我们能做的是尽量降低这种情况发生的可能性。
-
第四就是编程能力有所提升,对一些语言如java的使用更加的深入了,掌握和了解了更多的编程方法。
-
不足的方面:团队协作能力,做事情没什么计划,所以有些事情做得比较乱而且拖拉。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 统计一下,你在这门软件工程实践中,完成了多少行的代码;
1500~2000行 - 软工实践的各次作业分别花了多少时间?(做一个列表)
序号 | 作业 | 时间/h |
1 | 个人作业第一次—准备篇 | 1.5 |
2 | 结对作业第一次—原型设计(文献摘要热词统计) | 10 |
3 | 结对作业第二次—文献摘要热词统计及进阶需求 | 18 |
4 | 团队作业第一次—团队展示 | 0.5 |
5 | 团队作业第二次—项目选题报告 | 3 |
6 | 团队作业第三次—项目原型设计 | 6.5 |
7 | 团队作业第四次—项目需求分析 | 3 |
8 | 团队作业第五次—项目系统设计与数据库设计 | 10 |
9 | 团队作业第六次—团队Github实战训练 | 5 |
10 | 团队作业第七次—项目Alpha冲刺 | 35 |
11 | 团队作业第八次—事后诸葛亮 | 2 |
12 | 团队作业第九次—项目Beta冲刺 | 15 |
13 | 团队作业第十次—Beta阶段团队项目互评 | 2 |
14 | 个人作业第二次—软件工程实践总结作业 | 2.5 |
总计 | 114 |
-
哪一次作业让你印象最深刻?为什么?
结对第二次作业吧,因为当时编程能力真的不好,对Java的使用也比较前,爬虫什么的都不会用,算法也不是我的强项,然后对需求的分析理解也不透彻,再加上后面的一些小变更,所以写得有点脱力,其他作业因为有一些比较优秀的队友带路,所以上手难度稍微低一些。 -
累计花了多少个小时在软工实践上?平均每周花多少个小时?
114个小时吧,我想应该还不止,因为本人拖延症有点严重,所以中途耗费的时间应该还是比较多的,一周应该有12+个小时花在这上面吧,114应该是一个真正放在这门课上面的时间 -
学习和使用的新软件;
sublime -
学习和使用的新工具;
JShare绘制燃尽图等,墨刀做原型设计 -
学习和掌握的新语言、新平台;
无 -
学习和掌握的新方法;
单元测试、网站发布、原型设计绘制、软件工程思想 -
其他方面的提升。
团队协作和沟通能力、计划执行力
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
根据需求就可以安排任务,不做进一步的分析,不注重开发文档的编写,直接开始编程任务,比如详细的需求分析、输入输出分析,这些让队友在中期的的时候就不明确自己的任务,做得有点稀里糊涂
不注重团队的沟通,各自为战,这个在前期需求分析的时候沟通的比较少,搞得有一些任务对接出现问题,需要重做
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
- 建议课程安排在大二或者是大三上,不仅时间上更加的充裕,而且让学生自己对软件工程有更加充分的认识,为大三下的实习做好更加充分的准备;同时对自身专业的了解更加的深入。
- 课程任务很重的而且事情多,需要做出合理的时间安排,不要急,也不要急于求成,有计划的进行,结果不会让你失望的。
- 重要的事!!!坚持下去!!!
- 对于中途换队员,顺势而为吧,我们都坚持下去了,相信你们也是可以的!如果幸运儿是你,请珍惜这段经历吧!虽然,我没有经历过。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
-
萌芽阶段
选题一开始有几个议案,均由队内成员提出,最后用过对比综合分析,确定项目,随后安排任务以及学习。 -
磨合阶段
每次作业分配都能如期的完成任务,进展顺利 -
规范阶段
开发前确立了规范文档,所以后期的开发规范性也比较稳定 -
创造阶段
还没达到
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
项目累计用户共11人,如下
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 :
3)并且通过数据展现软件是可以维护和继续发展的。
- 项目的源码可以在GitHub上面找到,同时博客也有相应的开发文档等等。