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

[作业博客]
(https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1816W/homework/2550)

一、请回望暑假时的第一次作业,你对于软件工程课程的想象#

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力” 对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?##

    开篇博客中我对软件工程这门课程的期待是“希望能使自己具备足够的软件设计知识,能够使自己的能力得到提升”。

  • 到目前为止,我觉得代码的编写能力以及自学能力都达到了我的期待和目标。因为我觉得我从这门实践课中掌握了挺多的代码编写经验,自学能力也得到了提高。
  • 不足方面是缺乏规范的软件设计能力和代码风格。因为在最后的软件实践作业中,代码并不是特别规范,也缺乏相应的设计方法。

2)总结这门课程的实践总结和给你带来的提升##

  • 1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
        2878行
  • 2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业 时间/(分钟)
软工实践第一次作业 35
软工实践第二次作业 708
原型设计-结对第一次作业 300
结对第2次作业——WordCount进阶需求 955
个人作业——关于福州大学微信公众号的案例分析 240
  • 3、哪一次作业让你印象最深刻?为什么?
        可能是 “项目Beta冲刺”,因为我们团队在Alpha阶段进度挺慢的,主要功能都没实现,而且这时也是课业最重的时候,因此在Beta冲刺上压力挺大。几乎每天一有时间就和队友出去写代码,晚上也是有一定程度的熬夜,都在12、1、2点睡,在Beta演示前一个晚上,我和队友改BUG改到了3点,印象特别深刻。当BUG改完后,软件可以运行时的心情也是特别难忘的。

  • 4、累计花了多少个小时在软工实践上?平均每周花多少个小时?
        累计花了256个小时在软工实践上,平均每周16小时。

  • 5、学习和使用的新软件;
        Eclipse、Android Studio、JProfiler、Genymotion等。

  • 6、学习和使用的新工具;
        墨刀、JUnit Test、Github等

  • 7、学习和掌握的新语言、新平台;
        JAVA语言、Eclipse、Android Studio开发平台等

  • 8、学习和掌握的新方法;
        单元测试、原型设计、静态建模、动态建模、性能测试、AS开发平台BUG调试等

  • 9、其他方面的提升。
        变得更加有耐心,自学能力也得到了提升。

二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析#

    团队项目实践中的经验总结:不同于个人和结对编程,团队项目因为有整个团队的参与,因此彼此的分工和配合非常重要。

  • 刚开始就需要确定每个人员负责的模块和内容,分工需要明确,这样可以最大程度保证进度的有序进行。
  • 在进行合作模块的编程时,需要遵守同一套代码规范,以及写好注释,这样既可以方便后面的整合也可以方便其他人看懂你的代码。例如我们团队在刚开始并没有指定一套代码规范,导致后面整合时看不懂代码,需要时不时地互相询问。
  • 学会利用Github这个平台进行代码的Push和Pull操作,这样可以避免项目整合时遇到麻烦。比如我们团队前端一开始都是自己新建项目编写代码,后面整合时会遇到各种问题,只能采用“”复制粘贴“这种非常低效率的方法。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。特别地,下一届要不要中途换队员?#

  • 对下一届实践的建议
        不用害怕自己能力太低无法完成软工作业。一个学期的软工实践下来,我最大的感受就是应该多学习,自己的收获将与自己的付出成正比。代码量低也不需要太过担心,只要每次都认真完成实践作业,代码量和打代码能力就会慢慢提升。
  • 对于后来人的期许。特别的,下一届要不要中途换队员?
        希望后来人可以多吸取前人经验,比如我上面所说的那几条,这样可以少走很多弯路。如果是为了体验真实项目中人员替换的过程,是可以中途换队友的,对于了解工作的交接、整个项目计划的调整都有很大的帮助。

四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)#

    我认为我们团队从一开始的散乱到后面的职责分明、目标统一,经历了萌芽、磨合、规范三个阶段,而“创造”阶段可能还未达到。一开始个人的角色和职责都还不清楚,并且做事的规程也被忽视了,导致后面阶段代码整合出现问题和代码互相看不懂。而通过一段时间,在讨论的过程中出现了一些意见分歧,但后面都通过相互交流解决了,进入了规范阶段。我们整个团队的目标明确,并且能相互尊重彼此,倾听不同的意见,每个人的职责也明确了,工作效率也相对提高了。而“创造阶段”可能还未达到,可能并未达到真正的高效率,角色和职责也缺乏灵活性等。

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

侧重选择第二点

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

    在最后一次的软工实践作业中,按照每次作业的要求,我们使用了一系列工具,包括一些框架和设计工具如墨刀等,并且有一套职责分工(三个前端、两个后端等)和项目流程计划(项目规划/需求/设计/实现/发布/维护)。团队的合作体现在互相的沟通,一起出去讨论项目,提出自己的意见等。准时交付体现在beta测试时演示了主要的功能。

六*(选做)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记#

参考论文: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

  • 软件难懂难使用的问题:我们的软件在Beta答辩时有得到助教和老师的疑问,有一些问题是关于整个操作过程包括按钮名字都比较难懂。因此需要进行简化和改进,使得整个过程简单易懂。过于复杂的软件也会造成经费问题。

七、个性发挥,包括图文、照片和创意等#

    在最后想写点自己在整学期软工实践的感想,有一种感觉就是突然发现已经过了4个月,软工实践即将结束。刚开始真的以为会很困难,自己代码量那么少,编码能力又不高,怎么坚持下去。但到后面,渐渐发现自己是可以做出点东西的,不断的学习是可以提高自己的。而期间获得的小黄衫也是对我努力的一种肯定,让我能明确自己的目标,继续地坚持下去。

![](https://img2018.cnblogs.com/blog/1471433/201812/1471433-20181223001036217-1022609811.jpg)

    其实真的一点都不难熬,你会发现时间过的很快,自己成长的也很快。

posted @ 2019-01-08 12:12  wyz0918  阅读(209)  评论(1编辑  收藏  举报