个人作业——软件工程实践总结作业
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
达到的期待和目标:能够做出一款APP,熟悉后端知识。
不足:团队管理能力不够,没有学到太多的新知识。
原因:一开始根本没想到会做组长,是被强行推上去的,所以很懵逼,也不知道该怎么做,然后自己组的人也都是同学,朋友,有些话还是不太好意思说,可能是因为比较熟,所以会比较油,相反于之前不认识的新成员,反而吩咐的工作都很积极去完成,结果也都让人满意,可能这就是栋哥一开始说的,最好找不熟悉的人组队,这句话还是挺正确的。至于没学到太多新的知识,是因为团队基本都是小白,就浩哥(教主)有一些基础,而我刚刚好暑假也一直在学后端,所以分配的时候,就是我和浩哥来写后端,其他人都去前端了,本来是打算学一些app的开发的,但是最后还是变成去写网站,建数据库什么的,所以学到的新知识也很少,最多也就在原来的基础上面学了些spring mvc,也没学的怎么样。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
实践中大概完成了1000行左右的代码。
2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业编号 | 作业内容 | 时间/h |
---|---|---|
0 | 一些QA | 2 |
1 | 数独棋盘 | 20 |
2 | 结对作业 - 原型设计 | 5 |
3 | 结对作业 - 编码 | 30 |
4 | 团队展示等前期作业 | 20 |
5 | 随堂小测同学录 | 10 |
6 | Alpha冲刺阶段 | 50 |
7 | 个人技术博客 | 3 |
8 | Beta冲刺阶段 | 30 |
9 | 软件云测评 | 7 |
10 | 课程总结 | 5 |
3) 哪一次作业让你印象最深刻?为什么?
应该是和我翔的结对作业,学到了挺多的东西的,一个国庆全在结对中度过了,虽然很累,但是也取得了比较好的成绩,实践证明付出和收获是成正比的。
4) 累计花了多少个小时在软工实践上?平均每周花多少个小时?
大概180h在软工上面,平均每周20h
5) 学习和使用的新软件/新工具;
(1)GitHub Desktop
这个是在结对的过程中,和我翔学到的,才发现原来GitHub是有图形界面的。
(2) Android Studio
安卓开发的必备工具,自然不必多说
(3)IntelliJ IDEA 2017.2.6 x64
原来一直是用myeclipse,后来在大佬的推荐下改用了idea。
(4)MySQL Workbench 6.3 CE
在浩哥的影响下,抛弃了原来的xampp,选择了这款。
(5)墨刀
比较大众的原型设计工具,还有很多功能待开发。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
个人作业的话没什么感觉,团队的话,大部分时间还是当组长,分配团队任务,写博客,适当的参加后端的编写,还有数据库的搭建,比较深刻的就是结对的那一段时间了,因为那时候正处在国庆期间,本来是想回家开开心心玩几天的(虽然我家很近,但是我基本没怎么回去,所以我爸妈也很希望我有空回家陪陪他们),但是无奈有这么一个结对作业,或许其他队的人要考虑国庆如何碰头结对什么的,但是我和我翔刚好又是老乡,家其实住的也挺近的,所以结对很方便,这也致使我们基本是天天都出来讨论,我翔真的是个很负责的队友,我这个人比较懒,想偷懒的时候看到我翔那么尽责,自然而然也不敢懈怠。
所以谈到经验总结的话,我想团队中还是需要一个有责任心的人负责带动大家,督促大家,结对的这种方式其实挺好的,一对一一起敲代码,互相讨论,所以,在团队中,我们组其实也是采用类似于结对的方式去完成的,后端刚好两个人直接结对,而前端人多,再依据完善功能进行划分,基本是两人一对,互相督促,当小队互相之间需要交流的时候,再进行交流,在最后几天再把前端整合,前端整合后再与后端对接,互相完善对接中的冲突,但是这个也有个问题就是,两两结对,你得保证至少其中有个人是有责任心的,要是两个中都是划水的,那就会导致某个功能不完善,从而导致整个项目整合不成功,而前后端的对接时间没有给足的话,就来不及解决对接出现的问题。这也是我们团队中出现的一些问题。
实例:结对的话参考我的[结对第二次作业](http://www.cnblogs.com/zxlmhh/p/7642836.html),团队中的问题也可以从我们的beta阶段中看出,本来负责博客的人没有好好的做好自己的职责,导致很多博客都没写,最后还得我来完善,这也导致我们团队分数不够高。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
希望告诉大一的我,早点学习课外的知识,课本里面学到的根本不够用,多去找些能够一起做东西的好朋友,干点事情出来,不要像初高中那样把精力只放在学校上课交给你的知识中。
对于后人的期许,做你想做的东西,一个团队之间还是要比较负责点,每个队员都应该积极配合,团队有凝聚力才能创造出一个好的作品。如果每个人都想着划水,那这个团队肯定是要完蛋的,至于要不要中途换队友,我觉得可以有这种体验,但是老师要做到让人心服口服,哪怕是diss也好,不能说我就是为了换人而换人,因为实践中应该有这个环节,我就要这么换,换的时间应该也要规划好,希望老师能够在这方面多思考些。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
√ 萌芽阶段
√ 磨合阶段
√ 规范阶段
X 创造阶段
五、怎样证明你学会了软件工程?(待APP完全成型后再补上)
1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
六、个性发挥,包括图文、照片和创意等
附一张学校的一角,希望在生活中可以多发现身边的美,疲惫之后再看世界之前可能不觉得是景的景,此时却成为心中最美的景。(世界还是很美好的)
主要还是喜欢这小船,有时候想想一个人在小船上慢慢让它飘着,不去想其他的分析师,真的还是蛮爽的一件事。