软工个人总结
一、请回望开学时的第一次作业,你对于软件工程课程的想象
1.对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
达到的期待和目标:
通过实践,了解了做一个完整项目的必要流程,做一个项目的过程需要经过组队、需求分析、设计、构建、测试、发布、展示、在alpha阶段之后还要事后分析等等,每个流程都需要保持严谨的态度,最终才能完成一个“足够好”的软件。
在自己解决问题能力,编写代码能力方面达到了我的期许,目标是做一个完整的项目也达到了
不足之处:
(1)结对编程还是不习惯两人合作,当出现问题时候,表现得太强势了一点,队友的意见还是要有所肯定的
(2)作为团队的项目经理,感觉做得不是很好,在某些方面还是没有做好良好的沟通。任务分配方面交代得太泛,导致有些成员不清楚自己的任务。在加上自己同时在做后端的开发,没能顾得上团队成员之间任务的协调,导致进度偏慢。
(3)没有事先做好技术准备,在alpha阶段的前期一筹莫展,表示自己的拖延症很厉害,不到最后几天是不会有效率的...
(4)对成员之间出现的分歧和不同意见处理得不是很好
2.总结这门课程的实践总结和给你带来的提升,包括以下内容:
1)统计一下,你在这门课程中,完成了多少行的代码;
1500行代码左右
2)软工的各次作业分别花了多少时间?(做一个列表)
个人阅读作业1 | 结对编程作业 | 个人阅读作业2 | 团队组队展示 | 案例分析 | 需求分析与设计 | 团队计划 | alpha敏捷冲刺 | alpha阶段展示博客 | alpha阶段测试与发布 | alpha阶段项目复审 | alpha阶段之事后诸葛亮 | alpha阶段个人总结 | beta阶段敏捷冲刺 | beta阶段项目验收与总结 | beta阶段验收互评 | 软工个人总结 |
6h | 30h | 6h | 1h | 8h | 6h | 3h | 80h | 3h | 5h | 2h | 5h | 4h | 40h | 3h | 2h | 3h |
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
项目实践中的经验总结:
- 一定要说清楚团队成员各自的任务,在qq或者微信上容易被忽略,最好是面对面交流
- 编写博客的时候不要多个人同时编辑,容易造成其他成员保存的内容被覆盖
- 合理安排时间,千万不能拖,在alpha阶段的时候就是因为前期拖延症太厉害,导致后期狂奔赶进度就很难受了
- 一定要做好技术准备,否则一开始就会陷入迷茫的状态,会使团队整体的额进度变慢,而且大家会很沮丧,没有信心
- 出现团队矛盾的时候,要客观地分析,不能都有个人的感情因素去考虑,要顾及大家的感受
- 团队分工方面不够合理,表示后端开发人员的压力很大
总之,合作很重要,团队自信心要很重要,还有大家共同的信任 - 我们团队的侧重点在开发上,忽略了博客的评分要点,导致分数比较低。因为现实是只要博客写得好,不管项目做得好不好(只要不是太差),就能得个不错的分数
- 不管做什么,沟通很重要,把自己的想法、有什么意见和建议都要大胆说出来
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
对于大一我的建议:
尝试多与他人沟通,多阅读一些除了专业书之外的书籍,学习并不是唯一,它没有你想的那么重要
对于后来人的期许:
好好学习专业知识,不要说自己不会写代码就不真的不写,不会可以学的。认真对待,会有收获和提升的。如果你都不努力一把,又怎么知道自己有多厉害呢?
换人机制:
emmm...如果按老师提到的那种招聘方式,可能大家只会图个热闹,最后该怎么换还是怎么换。最简单的还是吉祥物的交换,这样不管对新的团队还是原来的团队都不会那么麻烦。虽然这样换人的目的就没有太大的意义了,比如说原来是写博客的,那么只是换个团队写博客。换人其实是个比较麻烦的事情,大家组队一般都会找熟人、同班同学、舍友或者关系比较要好的人,所以肯定不能强制指定换谁。大家都想挖dalao,但是呢,一个团队走到alpha阶段结束是不会轻易地退出,换人可以根据角色来互换,以及考虑在原来团队中个人的贡献,互换的两个人贡献度相当就差不多。
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
四个阶段,分别为
- 萌芽阶段:组队完成,大家都不熟悉项目流程,都是一头雾水
- 磨合阶段:因为一些小问题会产生讨论,讨论到最后反而草草决定;出现分歧大家也是婆说婆有理,公说公有理
- 规范阶段:团队成员都清楚自己的任务,遵循代码规范,大家互相交流和帮忙,努力配合PM的工作,可以做出完整的产品
- 创造阶段:未达到
没有达到创造阶段,我们还没有能力做到那种阶段
五、怎样证明你学会了软件工程?
研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
从数据库即可查找到用户量:
发布的软件,微信小程序二维码见下图:
需求分析博客链接:
https://www.cnblogs.com/just-let-it-go/p/8795246.html
alpha阶段博客:
https://www.cnblogs.com/just-let-it-go/p/8880797.html
beta阶段博客:
https://www.cnblogs.com/just-let-it-go/p/9068995.html
beta阶段项目验收和总结博客:
https://www.cnblogs.com/just-let-it-go/p/9134298.html
git项目地址:
https://gitee.com/jmulyq/MyAccount