个人作业——软件工程实践总结作业
格式描述
-
要求:链接
-
学号:221600124
-
目标:软件工程实践总结
一、请回望开学初的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
达到期待:在课程中学习了一些新的知识,并且真正的运用到实践中去,提高了自学的能力,收获了很多。
存在不足:不懂的地方还有很多,很多地方没能够做的完美。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
统计一下,你在这门软件工程实践中,完成了多少行的代码?
完成了约2k行代码,但可能由于代码质量的关系,导致该数据有点虚高
软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 所花时间/h | 学习和掌握的技能 |
---|---|---|
第一次作业 | 2 | 发表博客记录自己的成长,MarkDown语法,反思过去 |
结对作业第一次 | 5 | NABCD模型,墨刀 |
结对作业第二次 | 12 | 使用Python爬取网页数据,Vs性能测试,C++STL库的使用 |
团队作业第一次 | 0.5 | |
团队作业第二次 | 5 | 进行选题 |
团队作业第三次 | 7 | 痛点分析 |
团队作业第四次 | 9 | 分析项目需求,撰写《项目规格说明书》 |
团队作业第五次 | 10 | 撰写《系统设计说明书》与《数据库设计说明书》 |
α冲刺 | 50 | Android基础语法,AndroidStudio的使用 |
事后诸葛亮 | 4 | 回顾 |
β冲刺 | 80 | Android与服务器交互,服务器端的搭建,第三方框架的使用 |
哪一次作业让你印象最深刻?为什么?
Beta冲刺阶段,由于之前的Alpha阶段主要是忙于学习新的知识,对于项目写的并不是很完整,也很粗浅,Beta冲刺阶段学到了很多,更写出了比较多的成果,有所收获。
累计花了多少个小时在软工实践上?平均每周花多少个小时?
累计花了约180个小时在软工实践上,平均每周花12个小时,前期比较少,后期比较多
学习和使用的新软件;
Android Studio,墨刀,git desktop
学习和使用的新工具;
adb
学习和掌握的新语言、新平台;
AndroidStudio
学习和掌握的新方法;
敏捷开发,快速上手新工具
其他方面的提升。
团队协作能力,沟通能力,markdown的使用
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
一开始我们非常不理解为什么要去做那些报告啥的,在项目开始的初期,我们对所做的包括项目选题、原型设计、分析等都不太理解。所以,当初在起始阶段所做的工作就有着一定程度的缺陷,而这也在后来的冲刺阶段给我们带来了巨大的痛苦。很多时候我们感觉无从下手,只能一次又一次地集结组员开会,但显然这也于事无补同时效率也并非很高。
一开始就要讨论好分工,谁做那部分要很清楚。
遇到了困难多百度或多与队友交流,有的时候你的代码可能你自己是无法看出有什么问题的,但是别人却能一眼看出,依据自己的实际能力来做,不要随意的给出承诺,要依据自己的能力去适当的包揽任。
每天晚上的会议极其重要,要做好每日的汇报与讨论。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
我认为软件工程实践确实是一次很宝贵的经历,虽然占用的时间较多,但还是值得的,有回报。但是,软件工程实践这门课程所需要的时间还是过多,因为作为一门学分并不多的课程但实际占用的时间却极多。这个占用时间过多是相较于大三下来说,大三下有着较为繁重的升学或找工作压力,尤其是对于升学的人来说
因此,我建议将软件工程实践调整到大二下或者大三上,大家都有一定的基础而又有较多的空闲时间
对于开学初的我,我会建议他一定要在初期做好准备工作,需求分析、原型设计等初期工作要做的充分。并且清楚地知道这些在后期是有用的。而我们小组当初在选题时放弃了几个过难但比较有想法的选题,或许当初坚持一下说不定会有更大的收获。
至于换队员,我们认为是可行的。但是我希望能够是可以预期的,在一开始就说清楚。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
萌芽阶段
刚开始选题的时候,我们小组一起聊天聊到了很晚。大家都有很多的想法,最后确定选题的时候,我们小组都对未来的项目充满了希望和热情。
磨合阶段
我们小组可能处于长期磨合状态,导致对项目开发的热情有所下降,自信心也有所下降。后期程度可能有一定的改善,逐渐迈向规范阶段。
规范阶段
在后期经过各种讨论确定了我们的目标后,我们的开发进度逐渐加速同时也变得规范起来。最后也算是做出了与预期相符的作品,虽然有一定程度的落差。但也算是进入了规范阶段的门槛了。
创造阶段
未经历过,很想但是受限于实际情况
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
个人认为我们小组的选题还是符合用户需求的,只需再美化及添加相应的信誉分制度便可以完善我们的软件,达到拥有一定的用户量和持续使用量的目的。
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
通过Github签入代码,确认组员每天的工作任务是否成功完成。每天都有例会进行项目进度的汇报及未来的规划等。
3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
代码有留下接口,同时也在GitHub上发布源代码
七、个性发挥,包括图文、照片和创意等
为了交项目干杯🍻🍻