网络15 个人作业5 软件工程总结
网络15 个人作业5 软件工程总结
一、请回望开学时的第一次作业,你对于软件工程课程的想象
对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
软工项目确实锻炼了作为一个团队的协作能力,提高了编写各种文档、画各种流程图的、以及如何和目标用户沟通、如何和队友交流的能力,代码量也提升了很多。同时学会了软件工程中的很多理论和概念,比如关于UX的讨论、需求分析等等,还让我认识了很多优秀的工具。
不足之处是我觉得这门课还是需要更多的时间,这么短的时间内又要学习理论知识,又要学习各种文档、分析技巧,还要完成团队项目的设计开发实现,感觉压力挺大的。
总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门课程中,完成了多少行的代码
一万行左右,主要是团队项目中写的代码 -
软工的各次作业分别花了多少时间?(做一个列表)
作业 耗时 /h 个人作业1 5 个人作业2 10 结对编程 36 个人作业3 10 个人作业4 6 团队项目每日总结 0.5 * (7 + 5) -
哪一次作业让你印象最深刻?为什么?
结对编程那一次作业,因为那是在本课程刚刚开始的时候,当时花了很多寻找和熟悉我们所需要的技术的各种工具,例如微软持续集成工具VSTS、单元测试框架MSUT、熟悉Git以及Git的仓库、以及代码覆盖率、性能测试等等,博客也花了很多时间来写。 -
累计花了多少个小时在软工上?平均每周花多少个小时?
- 累计花了233个小时左右
- 平均每周花25个小时
-
学习和使用的新软件;
所使用的软件- SublimeText
- Qt Creator
- Visual Studio
- Visual Studio Code
- PyCharm
- Github Desktop
-
学习和使用的新工具;
- VSTS
- GIT
- MSUT
- ProcessOn
-
学习和掌握的新语言、新平台;
- 以下都是浅尝辄止
- Python Flask
- HTML
- CSS
- 以下了解的比较多
- C++ / QT
- QSS
- 新平台
- Git Issue 管理平台
- 以下都是浅尝辄止
-
学习和掌握的新方法;
- 敏捷开发
- Deadline是第一生产力
- NABCD需求分析
- 竞争性需求分析
-
其他方面的提升
- 文档编写
- 博客书写
- 团队协作
- 抗压能力
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 无论是结对编程还是团队项目,积极地应对才能更好地提高效率,消极面对反而会让问题更加棘手
- 为可能出现地突发情况做好准备,Plan B在关键时候很重要
- 埋头研究细节的时候也要偶尔抬头看看整体情况,战略上的错误无法用战术逆转
- 一个凝聚力高的团队能事半功倍
- 带着热情去做一件事能做得更好
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。对于换人机制,有什么样的建议?
建议下一届的学弟学妹们最好选择开发效率高的工具来编程,写PC端的工作量比同等规模下其它平台大很多,很累。
对于换人机制,延续现在这样的机制就好,自由度高。
四、分析自己所处的团队
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
这些阶段我们团队都经历了,而由于与我们的团队成员本来就是比较熟悉的朋友,所以一开始磨合的阶段比较快地过去了,我们的团队比较融洽,比较有执行力。可以说最后也达到了“创造”阶段,做出了自己满意的一定成果。
五、怎样证明你学会了软件工程?
-
研发出符合用户需求的软件
必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是做没有用户使用的软件
-
发布地址:Gugua Release-码云发行版
-
后台数据
-
-
通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ;而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
-
需求文档 Gugua需求文档-码云
-
原型设计 Gugua原型设计-墨刀
-
实现
-
测试维护 测试维护报告-码云
-
ISSUE管理系统 Issue-码云
-
持续开发
-
团队协作
-
自行设计制作并实现所有元素、资源、功能
-
-
并且通过数据展现软件是可以维护和继续发展的
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
- Git仓库
- 需求文档 和 原型设计 同上
- README https://gitee.com/niverse799/GuguaClient
- 环境部署演示 Gugua构建演示