网络15软工个人作业5——软件工程总结
一、请回望开学时的第一次作业,你对于软件工程课程的想象
1. 对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
-
达到的期待和目标:
掌握了墨刀的基本使用方法,学会了如何制作出一个原型; 学习了新的IDE的使用(Qt Designer)和新的语言(QSS),对界面设计的要点和技巧有了更深的认识; 体验了完成一个项目所需要经历的基本流程,对今后的生活工作有所帮助; 成功地完成了团队项目,在项目过程中做出了贡献,出了自己的一份力,并且得到了大家的认可。
-
不足的方面:
时间的安排能力上还有所欠缺; 对新的语言的掌握没有很成熟,出现了一些目前还无法解决的问题; 不太有主见,时常等着别人给自己安排任务,牵着鼻子走。
2. 总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
1)统计一下,你在这门课程中,完成了多少行的代码;
大概是7000行左右,不太方便统计。 -
2)软工的各次作业分别花了多少时间?(做一个列表)
序号 | 作业名称 | 完成日期 | 耗时(小时) |
---|---|---|---|
1 | 软件工程网络15个人阅读作业1-开篇博客 | 2018年03月10日 | 5 |
2 | 软件工程网络15个人阅读作业2-提出问题 | 2018年03月18日 | 8 |
3 | 软件工程网络15-结对编程作业 | 2018年03月25日 | 36 |
4 | 软件工程网络15个人作业3-案例分析 | 2018年04月01日 | 8 |
5 | 软件工程网络15个人作业4-Alpha阶段个人总结 | 2018年05月19日 | 6 |
6 | 软件工程网络15团队作业1-团队组队&展示 | 2018年03月25日 | 4 |
7 | 软件工程网络15团队作业2-团队计划 | 2018年04月08日 | 4 |
8 | 软件工程网络15团队作业3-需求分析与设计 | 2018年04月15日 | 10 |
9 | 软件工程网络15团队作业4-Alpha阶段敏捷冲刺 | 2018年04月27日 | 60 |
10 | 软件工程网络15团队作业5-测试与发布 | 2018年05月09日 | 4 |
11 | 软件工程网络15团队作业6-alpha阶段展示 | 2018年05月09日 | 3 |
12 | 软件工程网络15团队作业7-Alpha冲刺之事后诸葛亮 | 2018年05月16日 | 2 |
13 | 软件工程网络15团队作业8-Beta阶段敏捷冲刺 | 2018年05月31日 | 40 |
14 | 软件工程网络15团队作业9-项目验收与总结 | 2018年06月06日 | 4 |
15 | Alpha阶段项目复审 | 2018年05月19日 | 2 |
16 | Beta阶段项目复审 | 2018年06月16日 | 2 |
附文:博客园主页【野原泽君】
-
3)哪一次作业让你印象最深刻?为什么?
印象最深刻应该是Alpha冲刺阶段吧,毕竟是第一次进行团队协作来完成一个项目,一开始选题会议的时候大家都积极发言,最后决定了选题以后都干劲十足!
原本以为是一个学期慢慢开发一个项目的,没想到还有需求分析、测试、复审之类的事情要做,突然以冲刺的方式来进行,大家都有点方,这样在安排冲刺的这段时间里的任务就会有很多。
那段时间真的是每天没课的时候就写代码画界面,都是晚上十一点以后才回宿舍,就是为了能完成每天的工作量,并能如期发布第一个版本,大家都好辛苦啊。
很多时候,做项目写上一天了,然后就会忘记写今日总结,还会出现到底哪一天做的事情自己都搞乱了的情况,只能照着码云的git提交记录来回忆。HHL同学真的很负责了,每天码博客、督促我们写总结,当爹又当妈,所以后期我们决定由他来当任我们项目的PM。 -
4)累计花了多少个小时在软工上?平均每周花多少个小时?
累计耗时将近200小时,平均每周耗时12个小时。 -
5)学习和使用的新软件;
- 原型设计软件:墨刀
- 编码软件:Qt Creator、Qt Designer
-
6)学习和使用的新工具;
- 代码仓库管理工具:GitHub
- 绘图工具:SAI
- Markdown博客编写工具:Visual Studio Code
- 在线gif生成工具:Atool在线工具
【之前用了gif5发现有水印,而且生成图片的质量不太高,所以不推荐】 - 在线去底工具:BgRemover
【同样的用过别的工具比如Background Burner等,但是比较了一下发现BgRemover比较好用】 - 在线作图工具:Process on
【可以多人协作,挺不错的工具】
-
7)学习和掌握的新语言、新平台;
- 样式设计语言:QSS
-
8)学习和掌握的新方法;
- 总觉得很多,但是一下子说不上来。
-
9)其他方面的提升。
- 参与了一个项目的完整流程,对其有所了解;
- 虽然时间安排还是不够,但是工作效率有所提升了!
- 和他人交流的能力好像加强了很多,思维逻辑也有进步,可能是博客写多了=-=。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 关于个人项目:
要先对整个项目进行框架设计,确定好框架后载进行编程,模块化编写,易于项目管理,保证函数之间的独立性,相互的增删改不影响,也易于单元测试。 - 关于结对项目:
结对编程时要根据双方所擅长的领域来决定谁编写谁复审,这样子可以有效提高编程效率。 - 关于团队项目:
在选题的时候要注意,要视情况而定,对既定时间和自己的能力进行权衡再决定好目标任务,否则会出现最后只能完成主要功能的情况;
队员之间要多多交流,编码规范一定要注意,不要各做各的导致最后代码放在一起不兼容,代码可读性也低。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
- 对开学初的自己:
团队项目不是一个学期给你慢慢敲代码的,还有需求分析、原型设计、项目测试等很多程序,实际的编码时间其实不太多的,不要定太高的目标;
在项目过程中你会学到很多东西,多了解一些辅助工具,对你很有帮助! - 对后来人的期许:
我在上面写了很多辅助工具,负责UI设计的同学们可以参考!个人觉得是很好用、很有帮助的;
一定要在项目开始之前学好git代码仓库管理,不要把“我不会git”作为你们项目做不好、c**y代码应付的借口,git很无辜;
写好的项目一定不要删除,保留好源代码,这将是你软件工程一个学期下来所积累的财富,或许之后会帮助你发家致富;
做有实际用途的,有你们自己的风格的项目!
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
✔萌芽阶段
✔磨合阶段
✔规范阶段
✔创造阶段
在项目策划的一开始我们对市面上相同类型的软件进行了逐一比较,选用了他们的优点作为功能设计的参考,在它们的基础上添加了看板添加删除、消息提示条等我们团队自己的构思。
五、怎样证明你学会了软件工程?
1. 研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
2. 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
3. 并且通过数据展现软件是可以维护和继续发展的。
而不是找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
请在随笔中用数据证明上述内容或侧重选择之一。