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

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

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

在选择软工实践这门课的时候,我是抱着能学到很多东西的心态,但是没有想到软工实践这门课占用了我这么多的时间,因为软工实践,暑假的最后一个礼拜基本都是在房间里敲代码;因为软工实践,国庆也是在写不完的代码中度过的;因为软工实践,曾经一直坚持12点半前睡觉的我数次坚持到了3点半才睡。可以说,没有软工实践这门课,我的这学期会过得轻松多了,每天看完书做完作业后还可以看看电影。但是我又很庆幸我没有退选这门课,通过软工实践这门课我学到了很多东西:MarkDown,JSON,原型设计,Android,软件开发的流程,Github,团队协作开发.......。这些东西都是以前任何理论课实践课都接触不到的。能在一门软工实践课中接触到这么多的东西,可以说是物超所值了。这门课的教学方式和以前的课程有很大的不同,非常的创新灵活,贴近实战,不像之前的实践课那样死板。
软工实践这门课很好地贯彻了它的思想“Learning by doing”,通过项目实战让我们学到了很多东西,但是我个人认为还有些不足的地方:一个是任务布置的有点偏多,大部分是写文档,对于我这种表达能力不是很好的人来说写文档真的是十分痛苦的一件事;第二个就是冲刺的时间设置的不太合理,因为Alpha冲刺的时候刚好我们组有些人要考试,忙着复习,所以Alpha冲刺的前半段时间项目基本没什么进展,大家都是在学习Android,到了考试之后,也就是Alpha的后半段才开始疯狂冲刺。所以我认为冲刺的时间范围可以设置的更加广一点,冲刺的天数可以少一点,比如20天冲7次就非常的合理。

2)总结这门课程的实践总结和给你带来的提升,包括以下内容:

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

大概完成了3000~4000行代码。

  • 2、软工实践的各次作业分别花了多少时间?(做一个列表)

作业 时间
软件工程实践2017第一次作业 7小时
软件工程实践2017第二次作业 20小时
结队项目——第一次作业 10小时
团队第一次作业——团队展示 0.25小时
结对项目第二次作业 24小时
团队作业—选题报告 3小时
个人技术博客(α) 3小时
团队作业—需求规格说明书 5小时
团队作业—预则立&&他山之石 4小时
团队作业——系统设计 6小时
团队作业——UML设计 2小时
团队作业——随堂小测(同学录) 15小时
个人作业——软件产品案例分析 6小时
团队项目课堂展示 3小时
团队项目测试报告与用户反馈 5小时
团队Alpha博客链接目录 0小时
Alpha冲刺 70小时
团队事后诸葛亮博客 1小时
Beta冲刺博客集合贴 0小时
Beta冲刺 25小时
  • 3、哪一次作业让你印象最深刻?为什么?

除去Alpha冲刺和Beta冲刺的话,最让我印象深刻的应该就是“团队作业——随堂小测(同学录)”这个作业了吧,第一次熬夜写代码写到凌晨4点,所以对于学软工实践前基本12点前睡觉的我可以说是印象十分深刻了。

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

粗略地算了一下,花在软工实践上的时间大概有220个小时,平均一下大概每周花16个小时在软工实践上。

  • 5、学习和使用的新软件;

Android Studio
Microsoft Visual Studio 2015
墨刀
Git
StarUML
XMind

  • 6、学习和使用的新工具;

Microsoft Visual Studio 2015平台上的效能分析工具
JSONCPP

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

基于Java的Android开发语言

  • 8、学习和掌握的新方法;

软件开发流程
画UML图的方法

  • 9、其他方面的提升。

每次的deadline使我的心理抗压能力得到提升
站上台不会像以前那么怯场了

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

当你要做一个项目的时候,一定要花比较多的时间在项目架构设计以及研究是否可行;之前的“数独”还有“部门分配”的作业中,就是因为前期没有进行充分的算法分析设计以及可行性研究,导致写了很久的代码,快写完的时候发现这个算法好像不可行,又重新思考新的算法,浪费了大把的时间。

进行团队项目的时候,一定要学会团队协作,要和团队成员充分地去协商好各部分的接口规范。在我们的团队项目中,有些功能模块的接口事先没有协商好,导致后期浪费了大把的时间在修改接口代码上。

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

软工实践是一门很累的课,毫不夸张的说,它是我自进入大学以来花费时间最多的一门课。“感谢”软工实践这门课,让我见到了凌晨4点的福大。但是我想对下一届同学说的是:软工实践虽然很累,确将是你们大学这三年来上的最有意义的一门课,你们可以在这门课上学到很多以后进入IT公司所必备的技能。所以你们若励志成为IT人,那么我强力推荐你们选修这门软工实践,对你们将来的面试或者工作都是有很大的帮助的。当然,如果你只是想考公务员或者从事其他行业的话,我是不推荐的。
关于“中途是否要换员”这件事呢,之前微信群里大家讨论得也是比较激烈的。老师设置“换员”这个环节应该是考虑到未来工作中我们的团队中也可能出现换员的情况,想尽可能地去模拟实际。但是我是认为老师没有考虑到我们的Beta冲刺只有短短10天时间,一个新成员要在这10天之内熟识团内的成员并熟悉团队的项目再进行后续开发工作是比较困难的,所以在Beta冲刺阶段设置“换员”的话意义不是很大。综上所述,我认为下一届不应该中途换员。

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

构建之法中提到的团队发展有4个阶段,分别是萌芽阶段,磨合阶段,规范阶段和创造阶段。我认为我们团队只是刚刚达到了创造阶段的门槛。整个项目的过程中,暴露出来的问题还是有的:

  • 部分功能模块在最初进行模块设计的时候没有分配到位
  • 虽然有代码规范,但是在整个的软件编码部分,还是偶尔会没有遵循代码规范,导致后期要去修改代码
  • 冲刺的时间分配的不是很合理,前半段commit较少,到了后半段才开始赶代码。

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

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

在Alpha阶段的时候,我们已经把我们的软件推荐给我们班的人使用了,并积极收集bug反馈和建议。

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

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

Github链接

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

posted on 2017-12-27 16:12  JorgeZhu  阅读(431)  评论(5编辑  收藏  举报