软件工程实践总结
作业链接:https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1816W/homework/2550
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
刚开始选软工实践的时候有同学劝过我不要选,不过我犹豫了很久还是选了,因为项目经验实在是过于匮乏,课上教的也全是理论,而这门课恰恰需要很强的实践能力,想着总不能到毕业连个项目都不会做吧,所以入了这个坑,但是选完之后才发现这门课和我想象的不大一样,甚至是天差地别。原本以为这门课是会教我如何编程的,结果只是给布置任务、完成任务、写博客,还有一系列项目流程,并不会教实际代码方面的东西,与理想差距这么大,只能说我之前没有进行过了解。
但是通过这门课程的学习,我知道了真正的项目不仅需要动手写代码,还需要一系列的流程,比如需求分析、设计、编码等等。回顾之前的期望,也算小有收获,我的代码水平和学习能力得到了提高。我学会了写java代码,还有云服务器的搭建以及各种工具应用环境的配置,以及对软件进行测试。当然了,在团队作业中,合作能力和沟通能力也得到了提升。
不足:自学能力还待提高,很多东西不懂的还是要通过队友来得到解答;不够积极,到deadline才能激发潜能
原因:知识储备不够,自主学习的投入不够,自我约束不够。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1.统计一下,你在这门软件工程实践中,完成了多少行的代码;
用c++、java写了1800行,配置图片服务器写conf文件写了200行,无疾而终。。
2.软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 时长 |
---|---|
软工第一次作业 | 6h |
软工第二次作业 | 18h |
第一次结对作业 | 17h |
团队展示 | 3h |
第二次结对作业 | 15h |
项目选题报告 | 2h |
项目需求分析 | 4h |
随堂小测 校友录 | 4h |
项目Alpha冲刺 | 30h |
软件产品案例分析 | 7h |
项目Beta冲刺 | 24h |
软件工程实践总结 |
6h |
共计 | 136h |
3.哪一次作业让你印象最深刻?为什么?
Alpha冲刺阶段吧,因为那段时间每晚都要一起到活动室写代码进行测试,莫名其妙的赶工,回宿舍也要肝,但是队友都很给力,度过了大部分难关。
4.累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花了136小时在软工实践上,平均大约每周9个小时
5.学习和使用的新软件
eclipse,之前都是用vs写c/c++,没学过java
6.学习和使用的新工具
墨刀-原型设计;processon-UML设计(类图、流程图等);github-项目管理,找优秀代码及学习资料;博客园、csdn-手把手教我搭建服务器
7.学习和掌握的新语言、新平台
新语言:java
新平台:github,博客
8.学习和掌握的新方法
(1)初步掌握了云服务器的搭建,由于没深入学习Linux,只能退而求次搭建windows的0.0
(2)遇到代码方面的问题去博客上找很可能会有大佬的解决方法
(3)初步的项目管理
9.其他方面的提升
(1)自制力稍有提升,deadline使我不得不收心
(2)代码能力提升,虾米进化成菜鸟
(3)自学,利用网络学习比劳烦他人好得多
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
团队精神对于一个项目开发无疑是很重要的,合理的团队分工,使得每个人都对这个项目有所付出,进而对项目有归属感,良性循环,才不会影响其他全心全意为这个项目付出的小组成员,进行开发也会变得事倍功半。
个人方面,小组成员要能够有独立解决问题的能力,不能一遇到困难就寻求队友的帮助,解决问题也是一个很好的学习机会,每个人都有自己的分工,能不影响他人,自己也能最大程度地提升,何乐不为。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
emmmm,如果是单纯为了代码方面的学习,建议选择java之类的课程,但是为了以后出去能更好地适应未来项目开发的流程,软工实践真的是一门很值得学习的课程,而且在学习的过程中,你的各种综合能力都会得到提升,代码自不必说,协作能力、沟通交流、学习能力、代码规范、项目管理,如果真的认真参与,你会觉得受益匪浅。
关于中途换队员,我觉得没有必要,队员经过磨合已经能通力协作,但是中途换了之后,还要进行再次的磨合,这对于被交换的队员有些不公平。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
萌芽阶段:选题阶段探讨要实现的软件的功能
磨合阶段:从Alpha一直到Beta,都在不断磨合,相互适应相互了解
五、怎样证明你学会了软件工程?
代码能力得到了提升,对于项目管理有了初步的了解,熟悉了软件开发的具体流程。
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
六*(选做)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?从以下参考论文中选择一篇或若干篇:
参考论文文献:
[1] Stamelos I, Angelis L, Oikonomou A, et al. Code quality analysis in open source software development[J]. Information Systems Journal, 2002, 12(1): 43-60.
[2] Boehm B W, Brown J R, Lipow M. Quantitative evaluation of software quality[C]//Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 1976: 592-605
[3] Samoladas I, Stamelos I, Angelis L, et al. Open source software development should strive for even greater code maintainability[J]. Communications of the ACM, 2004, 47(10): 83-87
七、个性发挥,包括图文、照片和创意等
有点遗憾和抱歉吧,感觉自己做的不够多,队里的队友们都很辛苦,立个flag,寒假好好学习,以后希望能成为凯瑞别人的人。