一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
在第一次作业-准备篇里,我提到过“我除了上学期的UML和人工智能课程的小项目有过团队合作的经历外,基本没什么团队合作经历,一个人的精力是有限的,一个好的软件工程师一定是懂得团队协作的工程师。这些方面是我比较欠缺的。所以,提高团队协作的能力,这就我目前亟需解决的问题。”
通过这将近四个月的软工实践,我的团队协作能力得到了巨大的提升,在小组中,我担任的是组长,我需要统筹整体的项目的进度,需要了解每个组员的能力所在,需要做好每个组员的任务分配,需要制定统一的代码规范......与此同时,我也是一个组员,需要配合其他的组员的开发进度,需要与其他组员的互帮互助......到了课程最后,我们整个小组如期保质保量的完成了课程初所设定的项目目标,同时也获得了汪老师较高的评价。
还有就是编写文档的能力,通过课程作业的安排,我先后参与了项目选题报告、原型设计、项目需求规格说明书、系统设计说明书、数据库设计说明书等文档的编写,期间也获得了龙江腾助教的肯定。
在时间的安排上,我存在明显的不足,为了完成好软工实践的项目,我投入了很多的时间在这个项目上,没有平衡好其他科目的时间。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,完成了多少行的代码;
以下是github不精确统计情况:
作业 代码(行) 结对编程_PairProject1 599++ , 125-- 结对编程_PairProject2 16,287++,10,694-- Github实训 1,499++, 367 -- 团队项目 52,225++, 31,789 -- 总计 70,610 ++ , 42,975 -- -
软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 时间(h) 第一次作业-准备篇 2 结对第一次—原型设计(文献摘要热词统计) 22 结对第二次—文献摘要热词统计及进阶需求 24 团队作业第一次—团队展示 2 团队作业第二次—项目选题报告 4 团队第三次-项目原型设计 5 团队作业第四次-项目需求分析 6 团队作业第五次—项目系统设计与数据库设计 10 团队作业第六次—团队Github实战训练 16 项目Alpha冲刺(团队) 92 事后诸葛亮(团队) 3 项目Beta冲刺(团队) 70 Beta阶段团队项目互评 4 个人作业——软件工程实践总结作业 2 总计 262 平均每周(共15周) 17.5 -
哪一次作业让你印象最深刻?为什么?
alpha冲刺,那次冲刺刚好遇到了我的一个培训,而且恰逢五一假期。五一回家还被我妈调侃“都大学生了,怎么还带作业回家写...”。那几天,因为团队刚开始编码,遇到的问题很多,五一假期每天晚上,我们电话会议总是开得很久,一开始还只是聊聊今天做的事,遇到的bug;后面就索性不挂电话了,大家一边唠唠嗑一遍写代码。。。怎么说呢,现在想起来,挺怀念的,挺难忘的,相信多年以后,这都是一段美好的回忆。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
不完全统计262小时,按15周计算,平均每周17.5小时。
远超出了我在准备篇里的预期。。。
-
学习和使用的新软件;
git、postman、idea
-
学习和使用的新工具;
墨刀、teambition、Typora
-
学习和掌握的新语言、新平台;
Java、Android,
-
学习和掌握的新方法;
PSP、简单项目管理
-
其他方面的提升。
团队协作能力、文档编写能力
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
在整个团队项目的实践中,我的宿舍有其他小组的成员,所以我看到了我们组和他们组的一个小区别:我们的分工从始至终,都非常的明确。后端的一直写后端,算法一直负责算法,UI的就负责UI,前后端对接的就负责前后端对接,全队通过接口文档相互配合,高效的运行。
而另外一个组,他们的成员,一会负责后端,一会又在编写前端H5,以后又在搞数据库,他们分工很混乱,这也导致了他们在git提交代码时经常冲突(多人同时修改了同一个文件)。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
对学弟学妹:
一、好好学习、别局限在课程的安排。
二、学分尽早修满,大三能够有更多的时间,做自己想做的事。
对是否中途换队员:
想法是好的,我是支持的。如果可以,可以先统计一下每个人在自己团队里的分工,然后在相同的分工里进行互换。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?
-
萌芽阶段
团队初期,我可以感受到,组员比较依赖我发布任务,那个时候,我队每个组员的能力也尚处于了解之中,任务的安排有些不是很合理。 -
磨合阶段
团队的组员都十分负责,基本没出现什么冲突,借用我组员的话“我们小组的组员都很负责任,也很善于倾听,任务安排执行都挺顺利的。可能有的时候进度没赶上,如果是自己的部分的话,该都熬夜赶工完成也都没有推脱,还是很拼的。”
-
规范阶段
经历过alpha阶段,我们小组在beta阶段冲刺时就更加合作无间,组员各自从teambition上领取任务完成。测试同学在teambition反馈bug,开发同学领取bug任务修复,整个beta阶段的工作有条不紊的进行着。 -
创造阶段
如果说完成软工实践是我们小组的共同远景的话,按照创造阶段的特点,共同愿景,高度自治,角色和职责能够更具项目的要求自然的转换,没有人为此担心或者发牢骚,当一个团队都往一个目标冲的时候,彼此之间就已经是心照不宣的好友了。我认为我们达到了创造阶段。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件;软件集成了小米推送,下面是小米推送的用户统计数据
日期 | 最高在线 | 日活跃用户 | 新增注册用户 |
---|---|---|---|
2019/5/22 | 5 | 5 | 0 |
2019/5/23 | 5 | 6 | 1 |
2019/5/24 | 6 | 6 | 0 |
2019/5/25 | 5 | 7 | 1 |
2019/5/26 | 6 | 7 | 1 |
2019/5/27 | 5 | 6 | 0 |
2019/5/28 | 7 | 8 | 1 |
2019/5/29 | 7 | 7 | 0 |
2019/5/30 | 8 | 15 | 7 |
2019/5/31 | 9 | 9 | 1 |
2019/6/1 | 10 | 21 | 9 |
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
团队alpha、beta冲刺,全部使用teambition进行项目管理,小组有序的完成了整个项目的开发:
3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
项目源代码在XZPT-Java、XZPT-Android上,项目文档在XZPT-Java/doc目录下,项目进度和迭代过程在teambition上,接口文档和代码规范在ShowDoc上。相关的文档和项目资料都很完整为后续的维护和扩展提供了有力的支持。
六*(选做)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记
待补充
七、个性发挥:团队合照
八、最后想说几句:
经过了Alpha冲刺、Beta冲刺,作为组长,我觉得我们整个小组,从团队氛围,到组员关系,到整体的团队协作能力,都有了很大的提高,从刚开始懵懵懂懂的选题,到现在成功完成了APP的开发、测试、部署、发布。细细想来,我们竟然做了这么多的事情,我很感谢我的小组成员,他(她)们有实力也愿意为团队做贡献。
特别是我们组的两个女生(对哦,我们是为数不多有女生的团队,而且还是俩个~),她们为了小组的项目,经常忙到半夜。306是一个办事特别让人放心的女生,虽然她很忙,有很多课要上、还要考研、还有其他的比赛要参加,但我分配给她的任务,她每次都能够保质保量的完成。307是我们小组在UI方面有着独到见解的女生(感觉其他男生都是直男审美,嘿嘿),在原型设计的时候,她的设计,奠定了我们的APP的整体的基调。虽然后面去了别的小组,但是仍然十分关心我们这个项目,在我们人手不够的时候,十分乐意提供帮助。315是一个神秘的男人,在我们的项目里,他经常以K哥的身份出现,帮助需要帮助的组员。十分热心又有十八般武艺傍身,我由衷的敬佩。319是我们算法和简历生成的负责人员,他虽然比较少盐,但是总是默默的为团队付出,将用户的数据导入简历模板这个任务看似很简单,实际很复杂,一个一页的word简历,形成的中间文件xml可能有四五千行,在这么多行的代码中,要去识别我们需要替换的数据,工作量可想而知。327,一个从安卓开发0基础的boy,到现在能够独立的编写安卓APP(虽然界面可能不太友好O(∩_∩)O哈哈~),作为我的舍友,我看到了他的努力与拼搏。还有新队员408,因为307原来是测试人员,所以新队员的任务也比较轻松,主要是测试并反馈bug给开发人员,不过408喜欢运动打球,时不时的扭到腰,这次beta冲刺期间,他就跑了几趟医院了,希望以后运动的时候注意安全哈~至于我嘛,有了强力的队友支持,我这个组长当得挺舒服的~
整个软工实践下来,我学到了很多,也遇到了很多困难。明白了一个道理,有些东西不是一蹴而就的,就像我们软件开发,你得先让它能跑起来,然后再去做相应的优化;就像我们的学习,我们先要有对全局的把握,然后再去逐个深入;就像我们的团队,从最初的懵懂羞涩,到现在的心照不宣...
虽然软工实践就要结束了,但希望我们“待就业六人组”不散!!❤