一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
在懒癌方面已经改进了许多,涉足广泛,基本了解了作为一个pm应该做些什么,以及前端的部分知识清单。但对于前端开发的开发方面还是存在欠缺,且领导力不足。
原因与个人性格有关,不够果断,倾向于让所有人满意,但现实比较不同,很难去做到100%满意度,再加上我的选择困难,导致了很多情况下拖到最后才被迫做出决定,于是更多的情况下我会选择自己独立完成事情,而非与人合作或者分配任务,其实也是基于对于队友的不信任,担心无法达到自己的想法从而一力承担所有事务,这是一个很大的遗憾。
确实看到了很多次凌晨的福大,挺好的吧,安静的时候适合一个人做事情。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 120 | 120 | 25 | 25 | 1熟悉了c++有关vector,map用法 2学习了正则表达式 3学习了状态转换图和有穷自动机 |
2 | 10 | 130 | 10 | 35 | 看了有关软件的使用,原型模型以及构建之法 |
3 | 100 | 230 | 27 | 62 | 1. 初级爬虫徽章(1/1)2. 通宵徽章(1/100)3. Python入门徽章(1/1) |
4 | 200 | 430 | 30 | 92 | 1. 绘制各种UML图 2. Prototype制作3. python及cpp进一步复习使用 |
5 | 140 | 570 | 24 | 116 | 1. 制作视频动画 2. Java预习 |
14 | 0 | 570 | 36 | 152 | 1. 制作原型 2. 色彩搭配 3. 微信小程序前端学习 |
15-16 | 100 | 670 | 20 | 172 | 1. css学习 2. 微信小程序前端基本构架掌控 |
2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 投入时间(小时) |
---|---|
第一次作业 - 准备 | 10 |
第二次作业 - 个人项目 | 25 |
第三次作业 - 结对项目1 | 10 |
第四次作业 - 团队展示 | 6 |
第五次作业 - 结对作业2 | 24 |
第六次作业 - 团队选题报告 | 8 |
第七次作业 - 需求分析报告 | 3 |
第八次作业(课堂实战)- 项目UML设计(团队) | 10 |
Alpha 冲刺(包括总结和答辩) | 60 |
团队现场编程实战(抽奖系统) | 8 |
第十次作业 - 项目测评(团队) | 10 |
Beta 冲刺(包括计划和总结以及答辩) | 12 |
总计 | 186 |
3、哪一次作业让你印象最深刻?为什么?
是现场编程那次吧,大家在一起头脑风暴,各种idea的涌现,完成任务时的舒畅感,真是非常美好的回忆。
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
平均的话大概得有10小时每周.
开篇博客:as more as possible
对比来说应该算是完成了这份答卷,确实花了很多时间在软工实践上,比大学以来所有的课程都多。
5、学习和使用的新软件;
Typora,Mockingbot,Letsdraw,vs code,微信小程序开发平台
6、学习和使用的新工具;
Processon,墨刀,来画,leangoo
7、学习和掌握的新语言、新平台;
python,微信小程序,css
8、学习和掌握的新方法;
copy n paste(大雾)
遇到不熟悉的部分,先着手解决问题,后期再进行改进,在改进中成长。
与队友接洽,必须定下deadline,并且要比预期提前一些,给他们留下拖延的冗余,从而顺利完成任务。
9、其他方面的提升。
身价大幅度提升,毕竟与国宝更像了。
对于开发软件的流程更加熟悉了。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
好的队友很重要,如果大家都是初学者,没有人带动则很容易产生惰性,不知从何下手索性放手,我的第一个小组即是如此,无驱动力向前,而在新的小组里因为后端的需求导致前端必须在规定时间内完成,否则会拖慢整体进度。
沟通有时候真的非常占用时间,一些不大的任务还是就一个人独立完成即可。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:
1)你有什么想建议、告知和期许想要告诉他们呢?
注意护肤和发量❤
2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
假设依旧是一个90+人数的大班
要,可以体验其他组的氛围,但是也存在问题,小组不会把任务交给
3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
8人,pm 1,前端 2,后端 2,算法 1,开发组长 1,机动 1。
4)个人/结对/团队作业应该控制在怎样的规模?
个人:完成一个功能即可
结对:能体现出分工,例如前后端等,无需太复杂
团队:完整的开发一个app
5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
跃安吧,一路下来基本都是他在跟我一起战斗,包括实践的各个阶段,想对他说:晚上在宿舍能别骚了吗,我想睡觉。
ps:还有其他人也一并说了吧
咕咕:开心果吧,虽然基本都在互相欺负中度过(基本都是我被欺负),日子过得蛮愉快。
张扬:期间帮助了我蛮多,包括但不限于结对作业、选题等。
弟弟:估计他也不会看,就随便写写,小组解散之后他还担心我接下来怎么办,毕竟冷战了一个多学期,还是蛮暖心的。
马斌:人超超超超级好,回复十分迅速
gay泽:灰常负责,我有什么问题都会回答
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
萌芽阶段
yes,任务分配不合理,不知道大家各自擅长些什么,很多时候队员连项目的目的都没有搞清楚
磨合阶段
yes,有时候可能会罢工啊什么的,非要自己占上风,或者不说话
规范阶段
yes,暂由pm强制确定方向,先把前期任务完成,求最大公约数
创造阶段
应该是没有,因为换组了,原项目告终
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
已经开发出了功能完整的基于计算机视觉识别的餐饮自助点单结算微信小程序以及配套的商家端微信小程序(待完善),但是因为功能涉及购物车支付,上线该小程序需要企业担保以及电信业务增值许可证,目前已经做到有企业担保但是许可证实在难以获取,因此目前仅仅在内部成员体验测试使用。
具体内容请参考之前博客中的视频链接
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
我们团队几乎每个晚上都会聚集在实验室共同开发,互相交流,因此团队开发效率毋庸置疑,此外我们还借助leagoo进行任务调度管理、github和微信小程序的云开发功能或者手动进行代码合并,我们确信我们能做好团队合作并且在预计时间内发布足够好的软件。
3)并且通过数据展现软件是可以维护和继续发展的。
我们团队有接口文档等各种资料,后端的资料数据保存在刘浩的云服务器上。前端的资料数据保存在黄泽的百度云盘里,同时保存在个人github内,此外u盘里电脑里都有备份。
4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。
看完问题感觉对不起自己,有好多问题都不能回答,希望在后续的学习中能够完成对这些问题的解析
六*(选做)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?从以下参考论文中选择一篇或若干篇:
参考论文文献:
[1] Stamelos I, Angelis L, Oikonomou A, et al. Code quality analysis in open source software development[J]. Information Systems Journal, 2002, 12(1): 43-60.
[2] Boehm B W, Brown J R, Lipow M. Quantitative evaluation of software quality[C]//Proceedings of the 2nd international conference on Software engineering. IEEE Computer Society Press, 1976: 592-605
[3] Samoladas I, Stamelos I, Angelis L, et al. Open source software development should strive for even greater code maintainability[J]. Communications of the ACM, 2004, 47(10): 83-87
七、个性发挥,包括图文、照片和创意等
我:
队员: