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

格式描述

一、请回望开学初的第一次作业,你对于软件工程课程的想象

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上发布源代码

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

为了交项目干杯🍻🍻

posted on 2019-06-08 17:03  linziming  阅读(128)  评论(2编辑  收藏  举报

导航