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

王婷婷031402341

一、不忘初心

开学初的第一篇博客: 软工实践----自我目标

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

(1)开学初的我

  • 对项目完成后学习到的能力的预期
  • 提高代码的质量,写出结构清晰,逻辑规整,一般人都能读得懂的代码。
  • 提高自己的语言表达和交流沟通能力,扮演好自己在团队中的角色。
  • 了解软件开发的整体流程。
  • 对项目课程的期望
  • 其实个人感觉对项目课程的期望的话就是第三点--对项目的期望,就是希望真的可以通过团队合作,做出一款既实用客户体验感也好的软件
  • 对项目的愿景规划
  • 做出一款既实用客户体验感也好的软件。

(2)现在的我

  • 对比开学初对项目完成希望学习到那三点的能力,我觉得自己可以算是很好地完成了,经过这次软工实践,自己的编码能力、修复BUG能力、代码质量、团队中的语言表达、交流沟通都有了不错的提升,特别是编码质量这一方面,对比以前自己做的项目(比较小)而言,以前全部都是自己在写,几乎没有什么编码规范,都是想怎么写怎么写,想怎么命名怎么命名。但是这次由于是团队合作,编码规范都是经过商量和讨论出来的结果,大家都只能严格按照这个规范走。这次实践中我也深刻体会到编码规范的重要性,良好的代码规范对整个项目的开发过程,特别是后面查BUG的时候有着至关重要的作用!
  • 课程的目标就是我课程的期待,对比开学的这个点,貌似完全跑偏了,开学初是在一个安卓组(后面由于个人原因和当时栋帅的需求),后面调换到一个PHP组,所以就没做出一款既实用客户体验感也好的软件,但是搞了个超级好用(恩,没错,就是这么自恋)的系统出来!!!
  • 最后用一个表情表达对比了开学初和现在的自己吧!!

2.总结这门课程的实践给我带来的提升

(1)学习和使用的新软件:

  • licecap,一款屏幕录制工具,支持导出 GIF 动画图片格式,轻量级、使用简单,录制过程中可以随意改变录屏范围
  • markdown工具,最初开始写markdown的时候基本上就是写一点,发布,看一下行不行,不行再改(实在笨)这个工具还是蛮好用的,可以边写边看,左边编辑右边就能看到。
  • Typora ,还是一款markdown工具,对比Mou的话,我会更细化Typora,主要是这款加图片和写表格真的是很赞( ⊙ o ⊙ )啊!
  • Sublime ,PHP编写工具(一直都有在用,不过发现了一些之前没注意到的超级好用的地方,所以就也蛮写进来。)超级超级超级好用,强势安利!!
  • , Processon,一个作图网站,好用到爆炸,UI-原型图、UML图、Mind思维导图、流程图......,只有你想不到,没有他做不到(我也不知道写着写着怎么就打起广告了)
  • Axure RP8,一个还不错的原型设计工具!

(2)学习和使用的新工具:

  • GIT、GitHub,用到现在算是发现他的好处了,刚开始用的时候真的是一把辛酸泪!
  • licecap,一款屏幕录制工具,支持导出 GIF 动画图片格式,轻量级、使用简单,录制过程中可以随意改变录屏范围,很方便!

(3)学习和掌握的新语言、新平台:

  • 这个就真没有了,这次我主要还是写后台(PHP),所以没有什么新语言,乱扯的话,算是学了一个新框架ThinkPHP。
  • 使用gitbub对整个项目进行管理,在github上你不仅可以看见自己的进度如何,同时也能看见队友的进度,有助于提高团队开发的开发进度!

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

  • 图片有点夸张啦,显示才不是那样。。.后台部分1500+左右,前台(赋值,这个我真的好难讲写了多少,静态页面是队友写的,我是在页面基础上进行赋值以及逻代码逻辑的),一共8个页面,加起来差不多2000+吧。前后台加起来,非常勉强的有3500+。其实上次助教对我们组(我说的都队)的评价中提到我们组代码量惊人的时候,我还是很震惊的,相比于其他APP组,他们代码量基本上是每个人随随便便就7000+来说,PHP实际上没有那么多代码量。项目中大多数代码其实是我们这次用的ThinkPHP自带的(⊙﹏⊙),然后助教提及到的 exit什么的也是框架自带😳

学习和掌握的新方法;

  • 应该就是ThinkPHP框架的各种各种各种吧
  • markdown编码、写博客的能力和水平也有一定程度的提高。

其他的提升:

  • 深刻了解了软件开发的整个过程:需求分析->原型设计->编码规范->正式编码->黑白箱测试等
  • 在团队中的交流沟通能力也提高许多,一起编码,一起解决BUG的日子真的很美好!当然是在不熬夜的情况下!!
  • markdown编码、写博客的能力和水平也有一定程度的提高,别看我是个做后台的,之前(换组前)还是写过几篇博客的。

二、人月神话

1.进度把控

  • 千万不要拖延症啊~
  • 千万不要拖延症啊~
  • 千万不要拖延症啊~
  • 重要的事情多说几遍~ ~ ~
  • 栋哥的软工实践任务还是蛮重的,需要合理安排时间、规划任务、按时完成,也只有对进度有较好的把控,才能做出不错的产品,通宵熬夜赶出来的大多不是什么好作品。虽然我们组熬夜次数算得上是最少的,但是仅有的那几次熬夜经历已经十分痛苦,团队的情绪变得烦躁不安、开发效率低下,对身心都有不良影响。所以那些有拖延症的童鞋们,真的真的要注意了!

2.交流沟通

  • 交流沟通很重要~
  • 交流沟通很重要~
  • 交流沟通很重要~
  • 恩,重要的事还是要多说讲几遍~~(我才没有在凑字数)
  • 这次是我第一次和其他人一起合作来共同完成任务,虽然没说前后端分离,但是和前端的沟通(我做后端的)还是十分重要的,记得Alpha版本时,学生的可选导师页面有个小疑问,当时觉得也不怎么重要,就按照自己的想法写了,结果就GG了,然后就返工啦,所以啊,大家对任何小细节有任何小疑惑都要记得及时沟通交流避免不必要的麻烦。

三、建议期许

1.对于自己:

2.对于栋帅:

  • 建议布置写博客的时候,作业的截止时间可以结合普遍存在的拖延症设计的合理一点,比如说这一次最后的个人总结吧,其实静下心来,边听歌边回忆边写博客时间相当享受且有意义的活动。但是这次时间点定在12.31号,要知道好多人接下来4-9号可都是有考试的啊,所以现在就变成,一边烦躁的复习,一边烦躁的写博客。。。。
  • 然后就是作业分值计算问题了,有些团队总体得分较高,但团队里工作量分配差异大,二者的分数居然差别不大。还有些团队,团队分数低(估计是组长博客没写好吧,个人意见哈),但团队中可能有个人做了很多事情,分数却不尽人意。

3.对于后来人:

  • 选择栋帅的软工实践,一定要三思三思再三思。因为一旦选择软工实践,就意味将来可能一大段时间内,在你舍友们在看电视剧、看电影、打游戏、逛街等时间你必须待在电脑前编码,甚至夜深时分,当其他人早已入睡,而你还在编码(我所在的团队由于组长对项目的进度等都比较上心,所以我们熬夜的频率的力度应该是所有组最少的吧。但还是又一次噩梦般的加班,貌似是晚上8点多开始一直到凌晨6点半,恩,没错就是6点半!!)
  • 我没什么技术,我能选软工实践吗?能,当然能,但你必须清楚知道,这意味着你之后需要付出更大的时间和精力投入(当然那些浑水摸鱼的我就不说了)
  • 我有点拖延症、行动力低下,我能选软工实践吗?只能告诉你不能,或许你听我张栋的介绍后觉得满腔的热血,感都快抵挡不住洪荒之力了,但你最好还是别选,这类人进去之后基本也就是买买宵夜打打杂,何必累人累计呢。
  • 团队的选择很重要,特别是组长更是如此,我觉得我们团队今天成绩绝大部分功劳是我们的PM。PM不一定要是技术大牛,甚至可以一点都不会,但要有很强的责任心、能够调动起组员参与活动的积极性、对整个项目要有很清晰的把控....(省略1000+),反正就是组长很重要啦,认真选!
  • 上面那一点不是说组员就不重要哈,组员是项目编码的劳动力啊,所以刚开始组队的时候最好对队友有所了解,比如PHP组,肯定要有至少2类人,一类会前端、一类会PHP,会的带动不会的,要是整个组没半个人会的话,那事情就搞大了!

四、团队分析

团队成员 : 陈燊、许玲玲、胡心颖、王婷婷、陈齐民、黄伟炜、郑扬涛

团队合照 :

团队特色 :都是大佬的团队啊:西二大佬、ACM大佬,抱不完的大腿!

《构建之法》的团队发展的阶段:萌芽阶段、磨合阶段、规范阶段、创造阶段。

  • 萌芽阶段:刚开始的时候是在另一个组(TAC),后面调换到这个组的,所以基本没有什么萌芽阶段。
  • 磨合阶段:以前写代码基本上都是一个人在做,没有什么磨合不磨合的,但是进了一个团队之后就不一样了,你的很多习惯(包括编码等等的各种)可能和其他人大不相同,需要多多倾听他人的意见、建议、想法等,慢慢地就变得更有默契。
  • 规范阶段:经过几周的磨合与适应,大家的一些习惯(编码规范等)都渐渐变得统一、规范,十分怀念那段在活动室中一起写代码、调BUG的日子。
  • 创造阶段:经历alpha版本、bate版本,我们的分工越来越明确、合作效率越来越高效,大家也越来越活泼,一起变吗就变成很愉快且享受的事情。
     
      

五、代码质量

参考论文文献

  • [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.

评价代码质量的指标有很多,我觉得最最重要的就是可读性、可用性!

  • 可用性这点还是很符合条件的!
  • 可读性的话,这点也还可以,上面两幅图是这次软工实践中的代码,在智能提示上面吃了许多亏之后,写消息提示就变得规范多了,加了许多注释,生怕下次又不记得在写什么了!

六、软工证明

1.研发出符合用户需求的系统

2.有计划、有安排的项目开发

3.软件可维护、可继续发展

七、关于自己

一个 活泼可爱、善解人意、(王)婷婷 玉立、表情包很多 的PHP小公举!

posted @ 2016-12-30 21:58  王婷婷007  阅读(359)  评论(1编辑  收藏  举报