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

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

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

最初以为软工实践是一门侧重于编码,锻炼我们编程能力的课程,后来慢慢发现它更注重于让我们了解开发软件的整个流程。
经过了近一个学期的实践课程,打过代码,写过文档,做过ppt,对比开篇博客,在感受团队合作的魅力方面和熟悉开发软件的流程方面达到了期待和目标,而在学习分析和处理问题的思想方面还存在不足,尤其是学习新东西的能力上。
收获:通过做日记app的过程,了解到开发一个软件需要经历哪些步骤,远不止简单编码,对于前端后台那些专有名词不再是一头雾水,相关的工具平台也有所接触了解。
不足:没有全身心地投入到项目中,还是会拖拖拉拉,没有对知识的强烈渴望,没有主动去探索学习,以致于成长缓慢。

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

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

这门课的编码主要是在数独作业,结对作业和团队作业中,完成的编码大概1000行。

2、软工实践的各次作业分别花了多少时间?

作业 花费时间
软工展望 4小时
数独游戏 21小时
结对原型设计 15小时
结对部门匹配 20小时
团队展示 4小时
选题报告 6小时
需求规格说明书 10小时
团队小测同学录 4小时
华为云评测 4小时
α阶段冲刺 60小时
β阶段冲刺 30小时
软工实践总结 5小时
合计 183小时

3、哪一次作业让你印象最深刻?为什么?

第一次数独作业。因为刚开始接触新东西,克服了畏难心理,花大量时间求教,尝试,最后做出来的满足感给我留下深刻印象。

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

200小时,平均每周12小时。

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

主要学习和使用的新软件有visual studio2017,eclipse,android studio。

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

主要学习和使用的新工具有github,android studio,博客园,markdown编辑器。

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

学习和掌握的新语言主要是java,在此过程中主要是对android studio和github以及博客园的使用。

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

nabcd法需求分析,原型的设计,团队协作能力。

9、其他方面的提升。

主要了解了开发软件的整个流程,学会写文档,使用github管理代码,以及明白代码规范的重要性。

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

团队项目实践中的经验总结:

在前期团队项目合作还是很顺利的,而到了后期就效率低下。主要原因还是分工和领头作用。团队需要一个带头人来引领全局,分工派发任务。
前期书写需求规格说明书时,每个人负责几个部分很明确,最后汇集排版负责人也都安排好,使得整个过程有条不紊进行。后期,没有一个领头人出来进行分工,只是很笼统地几个人做前台几个人做后台,也没有具体到需要做什么内容。页面有几个,做什么风格都不知道,以至于原型设计中缺少的页面都没做。拖拖拉拉,遇到问题没有及时解决,队友间交流都是很茫然,使得过了一个月,进度几乎为0。
再者,团队的氛围也很重要。beta冲刺大家每天晚上固定时间段一起出来打代码,一可以使得不懈怠偷懒,二可以实时了解到项目的进度情况,三遇到问题也可以及时处理。

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

建议:

1.不会就去学,学会去探索,不要有畏难情绪。
2.编码符合代码规范,方便自己和他人查看。
3.跟着有经验的队长应该可以学得更快。
4.如果有条件还是要一起出去打代码效率会高一点。
5.不断总结,吸取教训,当日任务当日清。
中途换队友还是可行的,后来人需要花时间融入新团队,队员要跟他说清楚这个项目的功能,同时前人的代码书写规范很重要,这对两人对接任务是否成功有很大的影响。

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

萌芽阶段:大家还有点拘束,刚刚接触到团队的宗旨,个人的角色和职责都不是很清楚,忙着适应环境、团队结构、角色、日常流程,不怎么提出建议和问题。
磨合阶段:组内开始开展讨论,交流增多,对于疑惑和冲突都会拿来讨论,偶尔会出现“你不让我我不让你”的情形,僵持不下。
规范阶段:团队的工作流程和工作的方式得到了大家的一致认可,作为一个整体,团队要做什么,不做什么,都更明确。做决定也更有效率了,会有专门的时间来处理一些问题,进行回顾总结。
创造阶段:尚未达到,效率还没达到那种巅峰状态。

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

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

所做的日记app组内成员在试用,也推荐给舍友和其他同学使用,目前功能还不完善,和最初理想的样子有些出入,但也能符合用户安静写日记的需求。

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

冲刺阶段团队基本每天都会在commit代码到github上,对于每天的进度都有冲刺博客记录,及时解决遇到的问题。

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

github上面有软件的源代码,以及相应的代码规范和文档说明,该软件是可以维护和继续发展的。

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

相比alpha冲刺,我更喜欢beta,一起打代码的氛围还是很好的。

posted @ 2018-01-04 18:47  九龄  阅读(295)  评论(1编辑  收藏  举报