您的位置:首页 > 其它

个人作业收官——软件工程实践总结

2016-12-31 01:20 357 查看

个人作业收官——软件工程实践总结

回望开学初对于软件工程课程的想象,回望博客开篇时对于这门课和这学期的期望


对比现在的你和开学初博客开篇的课程目标和期待

开学初博客开篇课程目标

对项目课程的期望:希望能和队伍一起共同努力完成课设,对自己在软件工程上面的学习提供帮助.

对项目的愿景规划:能够达到最重要的一点,能通过期末评估.



现在的我



在对项目课程的期望上面,已经远远地超出自己的期望了。本学期软工的团队大部分是同班级的人,虽然栋哥更多的希望我们与不认识的或者其他班级的同学一起结伴做软工,但是对于学生党来说,首选还是找到认识的,熟悉的同班同学进行结伴。我们的队伍很棒,很和谐,因为大家一开始什么都不懂,所以能更加虚心的去学习,去接受组长的工作安排,并竭尽全力完成任务。在α版本结束的时候,已经充分感受到软工的魅力,一个团队合作与交流,站立时会议时大家激烈的讨论,深陷其中无法自拔。并且在完成项目的时候的"做中学",是一学期软工当中收获最大的。

在对项目的愿景规划上面,开学初的项目愿景规划其实已经与自己现在的愿景脱轨。当然不是说自己不希望通过期末评估,而是说只希望通过期末评估简直是对本学期软工实践的经历的浪费。这一款项目,只要能用心继续开发和维护,有可能会成为一款推广出去的软件。不过,虽然自己希望能把这一款软件越做越好,但是面临期末,心思只能先放在期末复习上面。




总结这门课程的实践给你带来的提升

学习和使用的新软件

Android studio(Android集成开发工具)



Visio 2013(用于各种绘图,软件实践当中用于做用例图)



PowerDesigner(用于各种绘图,软件实践当中用于做类图和数据库)



subline(一款简易的代码编辑软件,换行,缩进以及代码提示都有,占用内存以及硬盘空间都很小,只不过没有编译器)



MockingBot(墨刀,用于原型设计)!




学习和使用的新工具



Git以及Github(代码提交和管理,在软件开发当中,虽然有桌面版的github,Android studio也有git提交的工具,但还是最喜欢在git bash上直接用命令行)



Genymotion(Android模拟器,因为电脑硬件实在不行,用Android studio原生模拟器跑电脑简直要爆炸,Genymotion模拟器占内存较小,运行较快,可以提高项目开发效率)



赛风(一款简易的FQ软件,不过不是很稳定,在软件工程实践中下载使用一些工具或资料的时候需要)





学习和掌握的新语言、新平台



Android(项目开发需要,因为我们是开发的是Android端的软件)

Bmob云数据库(后台,提供开发文档,里面有访问数据的接口代码)

博客园(发布博客,记录学习心得,当然在软工当中最主要的是用于完成软工作业)



统计一下,你在这门软件工程实践中,完成了多少行的代码





上图是个人在β版本github上面的代码提交量,加上α版本的代码量、导师选择系统以及随堂小测的代码量,自己应该有完成上万行代码



学习和掌握的新方法



做中学:这是软件工程实践当中最大的收获吧,在编程当中学习新的代码知识,在博客总结当中发现自己的不足,在代码单元测试中发现错误以及结局错误,都是做中学

学会记录自己的学习过程:通过博客以及日志记录自己在学习当中的收获



其他的提升



坚持:在一开始什么都不懂的情况下开始做一款软件,很容易让人烦躁并且向放弃。学会坚持,最终成功完成了团队的项目作业。

团队合作和交流:很多人认为程序员这个职业就是自己一个人敲代码,不需要与人交流,这是错误的。在编程当中,你遇到问题上网看别人的代码,看别人的解答,都是在和向别人询问,向别人的代码学习,只不过是以文字的形式。何况在一个团队当中,有问题提出来大家一起解决,是作为一名程序员在一个团队当中需要学会的。



写下属于自己的人月神话——项目实践中的经验总结+实例/例证结合的分析


经验总结

在这次项目实践当中,我是Transand团队中的一名组员,我们团队是一个全团队都没有软件项目经历的小组,而在一个学期过后,我们小组成功完成了软件工程实践项目开发的工作,成功完成我们小组的软件项目,我为我们小组感到自豪。

在什么都不会的情况下,如何开始自己自己的工作?在项目开发刚开始的时候不知道自己该做什么,每天花在编程上面的时间是很少的,大部分的时间都是在看文档,看别人的代码,学习怎么写,然后在一步一步根据项目的需求完成自己的代码部分。过程是很让人烦躁的,因为什么都不懂,所以代码很容易出现bug和代码错误,一改就是要改半天。然而就是在这种一点都不懂的情况下,坚持学习,坚持编程,坚持找到问题的解决办法,最后才能完成项目。所以说,坚持很重要。


实例结合分析



我们的软件是一款活动发布和报名的软件,其中就想要ListView列表下拉刷新的功能,网上demo很多,但是这是别人的代码,需要自己理解才会写,所以自己花了半天的时间把300多行的代码给啃下来(不知道对大神来说学习要多久!!!蓝瘦香菇!!!),虽然到最后自己还是在队友牛妍辉大神的帮助下才完成这个功能,但自己还是坚持学习下来了



对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。


对下一届的建议

极力推荐下一届的学弟学妹们选择这门软件工程实践

首先这门课栋哥花了很多心血,所以希望学弟学妹们能帮助栋哥把这门课程越做越好。

虽然学长有些不怀好意,自己受过的苦学弟学妹们怎么逃过,但是,在这门软件工程实践当中可以学习到的东西非常多,学弟学妹们不要错过


对开学初的我



很高兴开学初的我没有因为栋哥的提前告知说他的软件工程实践很累而放弃选栋哥的软件实践

你会越来越棒


对后来人的期许



大家都能认真对待这门软件工程实践,虽然作业多,工作量大,但是你们累,老师助教也累。

大家都能坚持完成项目,提高自己的能力,提高项目质量



分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?


团队的发展阶段有萌芽/磨合/规范/创造 四个阶段

我们团队经历了萌芽/磨合/规范/创造 四个阶段

在β版本,我们团队在经历大半个学期的项目实践之后,大家已经相互了解,相互信任

团队有着共同的目标,就是优化项目的UI,完善功能

大家都使用git提交代码,进行代码复审,合并


在目前,我们团队并不能完全处于创造阶段



个人能力的不足,不足以完成各种需求

团队每个人并不足够的自治,PM经常需要催代码进度



阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?


参考文献:Code quality analysis in open source software development

阅读笔记

在项目刚开始的时候的团队作业有要求做一份代码规范,所以自己在编程之前有好好的阅读这份代码规范,所以在命名上,代码的格式上,都有一定的可读性,并且在每一个功能部分以及参数的声明的时候都有相应的注释。

对各种功能,比如报名,发布活动等功能的代码都进行了封装,在Activity上只需要调用方法,代码结构更加清晰。

在每一次提交代码到Github上时,都会自己进行一次代码复审,命名不规范的,格式不工整的,或者需要补充注释。


怎样证明你学会了软件工程?


研发出符合用户需求的软件

通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

并且通过数据展现软件是可以维护和继续发展的


相处一学期不易,课堂和课程上,我们将就此别过。可惜学生匆匆,时光匆匆,认识和了解的同学却很少。另外我年纪渐长,记忆日衰,会遗憾有时候我连个性或名字都没有记住。写一段话,介绍下你自己吧。



看到题目有些小伤感呢,感觉时间飞快,一学期就这样过去了,不知道是不是最后一次机会能上栋哥的课了,上栋哥的课让人觉得没有压力,大一下的时候第一次上栋哥的C++,当时就觉得栋哥是一个非常有趣的人,至少,在当时比起学习更喜欢玩的我,C++是唯一吸引我认真听课的课程了(学渣一枚 -_-)

我是李佳恺,14级计算机实验班的一名学生,也是14级计算机3班这个班级的一份子。

我大学学习不太好,因为不认真,贪玩,大学接触了小品和滑板两个有趣的东西占了我大学大一大二大部分的时间,大三,时间都给了软工实践

不过呢,我挺喜欢代码的,因为有趣,就是有趣,不知道再怎么去形容了

说真的,我并不觉得选栋哥这门课会给我们带来多大的工作量,当然是相对于有一个团队的情况下,当有足够的耐心的时候,大家总能想到解决问题的办法,而工作量呢,人生中总是需要经历不同的阶段的,比如高三,比如接下去考研之类的,所以在大三上能够接受栋哥的教导,是我的幸运,在此要感谢老师的辛苦付出,以及助教的帮忙

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: