软件工程实践总结
软件工程实践总结
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
对比目前所学到的,我觉得短短的几个月,我基本了解了一个Android软件的开发流程。技术方面,对Java语言有了大致的了解,终于体会到了学有所用,不像之前学编程语言那么抽象。但是关于Java线程,我觉得还是比较难掌握的。对于一些界面的编写,还比较难以掌握,所以关于增强计算机专业能力,我觉得还是要不断地练习。团队协作方面,我觉得沟通真的非常重要,例如在界面对接方面。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
团队作业加上个人作业大概一千行左右
2、软工实践的各次作业分别花了多少时间?(做一个列表)
3、哪一次作业让你印象最深刻?为什么?
印象最深刻的一次作业应该是数独作业,从需求分析、寻求思路、代码结构设计,代码编写。经历了软件开发编码的完整过程,而且因为算法基础不好,所以就一直在百度,百度了各种资料之后,按照自己的思路编写程序,虽然做的不好,但是在过程中也学习了github的使用,感觉这是一个很便捷管理代码的平台,对于代码的存储,修改,完善很有帮助,在过程中也有使用visual studio来分析程序效能,虽然之前也有用visual studio来写代码,但是因为电脑比较卡,所以感觉如果visual studio只用来写代码
,运行起来比较费时,所以就弃用了。经过这一次实践,使用了它的效能分析工具感觉还是有很多功能是很好用的。
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
平均每周花了28小时,团队α阶段大约两周时间,β阶段一周时间,加上前面的个人作业和结对作业一共160小时左右。
5、学习和使用的新软件;
>在软工实践之前,根本没有接触过Android开发,经过这次软工实践,学习的编程软件有eclipse和Android studio的使用,原型绘制软件墨刀、GUI designer。流程图绘制软件Xmind、visual studio。
6、学习和使用的新工具;
github、Android studio
7、学习和掌握的新语言、新平台;
>这次学习的主要是有关Android开发,所以学习的新语言主要是Java语言、开发平台是Android studio。还有比较重要的就是博客园。
8、学习和掌握的新方法;
在团队软件实践过程中,之前觉得编码就是软件开发,没有意识到需求分析、架构设计也很重要。这次软工实践掌握和学习的方法就是学会了先做明确的需求分析,进行合理的界面设计,考虑界面的可行性,包括界面对于用户来说是否简便易用,界面是否简洁大方。(当然,以上大部份基于自己的能力包括已有的能力和即将学习的技术)。进行以上工作之后,模块化编写代码,我们小组主要是以功能模块来编写代码,这样子,比较容易找错,省去了很多麻烦。
9、其他方面的提升。
- 对软件工程实践的认识
其实之前没有学习软工的时候,觉得软工是一门很高深的课程,不容易懂,尽管学了软工之后还是这样觉得,不过在学习之前还是要对软工有一定的了解,比如所要开发的软件应该选用什么样的语言比较合适,利用什么平台开发。。。一系列问题。
- 对编码的认识
之前写的程序都不会超过一百行,所以没有特别注意自己的编码规范,虽然早意识到编码不能靠堆砌来实现,但是在借鉴别人的代码的时候,感觉联系很强,不懂如何更有效,快捷的借鉴别人的代码。
- 解决问题的方式
之前遇到问题,都会直接百度,然后用别人的解决方法去尝试解决自己的问题,在自己的代码上删删改改,结果越解决问题越多,又忘了之前自己的代码是什么,所以现在写代码都会备份一下,然后,在编辑器上进行改动
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
我觉得在做一件事情之前最重要的是要有动力,有动力才会自觉地去做,投入时间。对于软工实践,我是在舍友的带动下才补选的,集体学习,集体努力的感觉很好,偶尔松懈的时候,舍友就会开始监督,然后就又继续努力。没选之前就听学长学姐讲这门课不太好修,而且我也感觉自己没有那个能力,所以也没选,后来感觉还是需要多尝试一些新的东西,然后就选了。经过这次实践以后对自己的定位更加清楚,以后要更多地锻炼代码,思维能力,以及解决问题的能力。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
17级的软工实践据说是必修的,我觉得很重要的一点就是要在一开始确立自己想要通过这门实践课学到什么,然后坚定不移地朝着这个方向去努力,以一种积极的心态去迎接挑战,经历了这几个月的软工实践,听到最多的一句话就是“走出舒适区”。我觉得这句话很有道理,一直囿于一个舒适的状态,根本就很难进步。至于换队员这件事,我觉得换队员对于换的
人员来说既是一个机遇,也可以说是一次挑战。机遇就是能够换一个环境,学习更多的技术。挑战是要在很短的时间内适应新环境、新伙伴,熟悉新项目。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- "萌芽阶段":这个阶段,队友之间都不太熟悉,包括能力,解决问题能力方面,我相信只要是原来都不熟悉的人都会经历这个阶段。
- “磨合阶段”:感觉都是每个组员提出意见,投票表决,所以也就没有争端出现
- "规范阶段",这是在需求分析阶段就明确定下了软件实现的目标,比如功能,分工,界面
- “创造阶段”,我觉得这一阶段在我们小组β阶段充分体现
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
目前我们小组的成员都在试用这个软件,在α阶段就已经推荐给同学使用,但是目前功能还需要进一步完善
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
项目规划在软件开发刚开始就已经制定,小组成员根据分配到的任务,每天根据自己完成情况,发布进度报告,上传进度代码
3)并且通过数据展现软件是可以维护和继续发展的。
我们小组上传进度代码到github 并附文档说明,以保证软件是可维护的,例如让β阶段新的成员快速熟悉项目。
六、个性发挥,包括图文、照片和创意等
这边给大家推荐一个Android实用的画图工具AChartengine,百度上很容易搜到开源代码。这个包可以实现饼图,折线图,柱状图的绘制。