软工--最后的作业

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

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

  • 首先啊不得不说,这门课的确让我有了很多提升。比如心理素质,在那种考试和冲刺还有实习一起来袭的时候,心情是很差的。其次是团队合作,毕竟以前都是一个人敲代码,这次课程有结队和团队作业。也是能让自己认清身处于一个队伍和一个团队的时候,个人的软件开发和团队的开发可以说是截然不同的两种存在,你可能会很习惯自己的打代码过程并且乐在其中,或者你也很喜欢自己一个人的努力的过程。但是对不起,在团队开发中,你可能会考虑很多东西,首先是你所做的东西不在是你自己的想法,会通过大家的集思广益来给你要做的进行一个规定,还有就是你写的代码不再是你自己看看就好了,你的代码得让你自己队友也能弄懂,那也就表示你的注释得有命名风格得正规。很多不同的地方,的确只有在团队中才能领悟。还有就是你在你所处的位置该做到那些你要做的事情。还有就是对一个软件的开发过程也是有了很多体验,这些也是的确在书上看是没什么的实际体会的。
  • 至于不足的话,那也就是代码能力欠缺,毕竟因为当时我们的冲刺任务,时间紧任务重,基本没有给你去好好学的时间,你能学到的只是一个函数的写法,或者说是调用一个函数的方法。能够明白的也就是,哦,这边是有一种写法可以很方便的实现我想要的效果的。但是具体让你自己写出来,估计你也不一定能够重现。还有的话就是

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

  • 1.统计一下,你在这门软件工程实践中,完成了多少行的代码:
    答:5000行左右吧。
  • 2.软工实践的各次作业分别花了多少时间?(做一个列表)
作业 时长
软件工程实践2017第一次作业 3.5
软件工程实践2017第二次作业 12
结队项目——第一次作业 6
团队第一次作业——团队展示 0.1
结对项目——第二次作业 20
团队作业—选题报告 4
个人技术博客(α) 5
团队作业—需求规格说明书 2.5
团队作业—预则立&&他山之石 0.5
团队作业——系统设计 5
团队作业——UML设计 4
团队作业——随堂小测(同学录) 10
个人作业——软件产品案例分析 8
团队项目课堂展示 0.5
团队项目测试报告与用户反馈 1
团队Alpha博客链接目录 0.05
团队事后诸葛亮博客 1.5
Beta冲刺博客集合贴 2
个人作业——软件工程实践总结作业 4
Alpha和beta阶段代码 100
  • 3.哪一次作业让你印象最深刻?为什么?
    答:华为软件评测的作业我记得挺深的,因为没想到写个评测报告要写这么多,而且还必须找出2个bug,很意外。
  • 4.累计花了多少个小时在软工实践上?平均每周花多少个小时?
    答:讲道理没统计过,有作业的话大概有22小时每周的话,没有作业的话每周8小时左右,累计250小时吧。
  • 5.学习和使用的新软件?
    答:Android studio,Axure,MindMaster。
  • 6.学习和使用的新工具?
    答:GitHub,博客园,Markdown。
  • 7.学习和掌握的新语言、新平台
    答:Android平台。
  • 8.学习和掌握的新方法
    答:在GitHub和其他各种开源网站上找源代码以及在阿里巴巴矢量库中找合适的图标,使用litepal框架来搭建数据库。
  • 9.其他方面的提升。
    答:寻找自己想要的代码方面有了巨大提高,以及在读别人写的代码的方面有了很多训练。

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

首先呢,个人作业没什么好说的,毕竟自己的问题自己了解,自己解决,代码能力不足的就去提高。结对作业的话,请一定要注意,双方的时间是否能有部分一致,可以让双方能够有充分的交流的机会和讨论问题或者共同进行代码编写的时间。这些东西对于结队作业来说是很重要的。至于团队项目的话,首先你得自己先明白自己的性格问题,你适合和那些人一起进行团队开发呢?你感觉那些你认识的人是很负责很有激情和动力的人。充分了解队友能更好的进行合作。同时,在团队中一起讨论的时候,有自己的想法的时候,一定要说出来,要么说服别人,要么自己被说服。不然你自己也很难去用心去完成项目。

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

如果在软工实践不是必修的情况下,当你们能够有所选择的时候。请一定慎重,在选之前,先问自己三个问题。第一:你大三上想要有部分休息时间嘛?第二:你对代码方面的能力如何?第三:你是否是那种能够合理安排自己时间的人?如果你这三个问题的回答都是合格的。那你就选吧。特别注意,在选队员的时候,你一定要认真的选择,队伍里有几个很负责的人是很重要的!至于换不换队员的话,其实我是感觉必要性不是很大,个人认为可以换,但不是强制,想换的可以申请换,同时会存在适当的加分。

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

由于我是没有出去轮换的队员,所以一开始就是在这一个团队中。可以说这几个阶段都经历过了一遍。首先的萌芽阶段,那时候是我们第一次团队作业也就是选题报告吧,开始各种各样的讨论。成员们对于组织结构有不少看法,对完成任务的困难也有不少讨论,但是还没有把注意力集中到解决问题上。而后的磨合阶段也就是在同学录作业中,大家那天一起搞到了凌晨4点,团队成员们开始逐步熟悉和适应团队工作的方式,并且确定各自的存在价值。再来就是规范阶段,也就是一开始的Alpha版本的开始,由于任务比较艰巨所以大家还是开始协同作战。成员们就很多事情取得了一致。然后就达到了创造阶段了。

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

首先我想表达的是,连我自己都感觉我没学会软件工程
1)研发出符合用户需求的软件
Alpha版本完成的时候,其实就已经开始在班中让同学使用,并让他们提出一些建议或者bug。
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

3)并且通过数据展现软件是可以维护和继续发展的。
软件的文档在github上,不熟悉项目的人可以通过观看文档来上手。

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

posted @ 2017-12-27 17:30  千玄机  阅读(217)  评论(1编辑  收藏  举报