个人作业——软件工程实践总结作业
软件工程实践总结
- 课程: 软件工程1916|W(福州大学)
- 作业要求: 个人作业——软件工程实践总结作业
- 个人学号: 221600427
- 作业目标: 软工实践总结
一、请回望开学初的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 期待:希望能够积累更多开发经验,熟悉团队合作开发
- 达成:积累了团队开发的经验
- 不足:对软件工程的理解还不够深
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
- 统计一下,你在这门软件工程实践中,完成了多少行的代码
作业名称 | 有效代码 |
---|---|
结对第二次—文献摘要热词统计及进阶需求 | 200 |
团队作业第六次—团队Github实战训练 | 150 |
项目Alpha冲刺(团队) | 2200 |
项目Beta冲刺(团队)) | 3500 |
- 软工实践的各次作业分别花了多少时间?(做一个列表)
作业名称 | 时间/h |
---|---|
第一次作业-准备篇 | 1 |
结对第一次—原型设计(文献摘要热词统计) | 3 |
结对第二次—文献摘要热词统计及进阶需求 | 5 |
团队作业第一次—团队展示 | 1 |
团队作业第二次—项目选题报告 | 4 |
团队第三次-项目原型设计 | 7 |
团队作业第四次-项目需求分析 | 10 |
团队作业第五次—项目系统设计与数据库设计 | 3 |
团队作业第六次—团队Github实战训练 | 4 |
项目Alpha冲刺(团队) | 68 |
事后诸葛亮(团队) | 2 |
项目Beta冲刺(团队) | 80 |
Beta阶段团队项目互评 | 3 |
个人作业——软件工程实践总结作业 | 1 |
总计 | 192 |
- 哪一次作业让你印象最深刻?为什么?
项目Beta冲刺(团队),见识到了组长的超强力爆肝,同时也是最累的一个作业。- 累计花了多少个小时在软工实践上?平均每周花多少个小时?
220h左右,平均每周15h- 学习和使用的新软件和新工具;
Unity3D,墨刀,PR- 学习和掌握的新语言、新平台;
无- 学习和掌握的新方法;
单例模式,访问者模式等- 其他方面的提升。
抗压,熬夜加班
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
团队项目:虽然与队友的交流已经足够频繁了(毕竟就在隔壁宿舍),但还是出现了很多令人哭笑不得的事情,例如:和组长总是会出现理解偏差,经常会顺手把某一功能开发了然后发现两人中有一个人白写。。还有互相总是觉得对方的实现方法很蠢,而自己的则可以称之为绝妙(大雾),好了,说跑偏了,实际上在项目开发初期,由于没有经验思路比较混乱,导致写了很多无效代码,光一个卡牌拖动功能就大改了至少三次,小改更是无数次,而且由于与写服务端的队友没能很好的交流,又导致在完成联机功能的时候频频出现重大问题,还有就是对Unity引擎的不熟悉,使前期设计时出现了巨大偏差,直接导致后来很多功能不得不根据先前的设计做出阉割和修改,花费了不少时间。不过总体的开发还是比较愉快的,除了累死个人以外。。。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?
做好爆肝的心理准备,项目坑别挖的太大,别做主力开发。后来人啊,最好找好大腿抱紧,做好给自己的定位,最简单的当然就是成为大佬,,,最后,关于换队员,换!换他丫的!!!咳咳,不建议换,主要是老师也对各小组内人员的水平不了解,这毕竟不是真正的职场,假设真的在工作中,人员调动你至少不可能跑了个做web的,你却招来一个搞测试的,这不是扯蛋么,这种我认为让新东方的去接手蓝翔的活类比完全没有违和感,这种情况跟你直接跑了个人没什么区别,新来的很有可能没法接手。如果老师想要调换队员,建议先了解被调人员的水平和发展方向,随机调人太不合理了。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- 萌芽阶段
大家相互了解批次水平,讨论各自想法- 磨合阶段
分工,组内再分小队,各自负责一部分,最后再融合- 规范阶段
规范代码,协商统一风格,商量注释的添加- 创造阶段
基本都在学习,有创造性想法,但难以实现
五、怎样证明你学会了软件工程?
- 1)研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
有一点点用户(虽然都是自己人),但确实是一款可以使用(游玩)的产品(游戏)。
- 2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
- 3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
六、个性发挥,包括图文、照片和创意等
** rua!沙雕组长想捣鼓的沙雕表情包乱斗模式,冲国最蠢组长没跑了**