福大软工 · 最终作业 - 软件工程实践总结(个人)
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
经过这次软工实践我的编程水平有了很大提升,学会使用了很多的软件工具,不过最后项目并没有成功完成,非常可惜。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码
大概1000多行代码吧。
2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 耗时 |
---|---|
作业一 | 1 |
作业二 | 5 |
结对作业一 | 3 |
结对作业二 | 6 |
团队作业一 | 0.2 |
选题报告 | 2 |
需求分析报告 | 1.5 |
项目UML设计 | 3 |
团队现场编程 | 4 |
项目评测 | 3.5 |
Alpha冲刺 | 10 |
Beta冲刺 | 12 |
3、哪一次作业让你印象最深刻?为什么?
最后几次的冲刺印象最深刻,因为时间很紧张,这种大家一起弄东西的,讨论工作的感觉特别强烈,觉得很好。
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
累计花了有50+小时的时间在软工实践上,平均每周花3~4个小时。但是其实中间也有一段时间是几乎没花时间的,有的周则是好几天天天在做软工。
5、学习和使用的新软件;
git,starUML,Axure
6、学习和使用的新工具
Android Studio
7、学习和掌握的新语言、新平台
java、安卓平台
8、学习和掌握的新方法
使用AS,使用各种制作图表的软件,使用git
9、其他方面的提升。
团队成员交流方面有很大提升。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
沟通是解决问题的最佳途径,能力不足可以去提升,一旦沟通不到位,能力好对项目也只是杯水车薪。就比如我们团队,前期就是没有怎么沟通,大家各自埋头苦干,互相之间没有沟通过,就造成后面对接时的问题百出,不是版本不对,就是需求数据与返回数据牛头不对马嘴,等于又在重新来一遍。所以说,事前的沟通真的很重要,直接关系到项目的能否成功的完成。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:
1)你有什么想建议、告知和期许想要告诉他们呢?
听学长一句劝,别选软工实践!(滑稽)
2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)? 假设依旧是一个90+人数的大班
这个,跑路这事最好不要干,这是很不负责人的行为。有什么事团队好好沟通,都可以解决的,咬咬牙也就过去了。
3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
10个吧。
4)个人/结对/团队作业应该控制在怎样的规模?
我觉得现在这样就非常的好。
5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
我觉得我们团队经历了萌芽,磨合,规范,半创造阶段。因为最后并没有得出成品,所以半创造阶段吧。
五、怎样证明你学会了软件工程?
类别 | 具体技能和面试问题 | 现在的回答(大三) |
---|---|---|
语言 | 最拿手的计算机语言之一,代码量多少? | C++,7000行 |
语言 | 最拿手的计算机语言之二,代码量多少? | html,3000行 |
软件实现 | 你有没有在别人代码的基础上改进 | 有 |
软件实现 | 你是怎么读懂别人的代码的 | 看注释看注释看注释 |
软件实现 | 你采取了什么方法来保证新功能不会影响原来的功能 | 规范封装、集成测试 |
软件实现 | 你在开发中遇到的最复杂的bug是什么,你是如何解决的?这个bug出现的原因是什么,你在将来应该怎么避免bug再出现? | 版本的不匹配问题导致无法整合,打回去重做,在做之前写好规范 |
软件测试 | 你如何测试自己写的代码 | 使用VS自带的测试工具 |
软件测试 | 你如何测试别人写的代码 | 使用VS自带的测试工具 |
软件测试 | 你掌握了多少种测试工具和方法 | 一种 |
软件测试 | 你写过测试工具吗 | 没有 |
软件测试 | 你如何对一个网站进行压力测试和效能测试 | 未接触过 |
软件测试 | 你如何测试一个软件的人机界面(UX/UI) | 在使用过程中测试 |
效能分析 | 你写过的最复杂的代码是什么 | 没写过什么很复杂的代码。。。 |
效能分析 | 你是如何测量和改进它的效能的,用了什么工具,如何分析的 | 用VS的分析工具,分析程序各部分程序的耗时情况,再优化 |
需求分析 | 你做过多少个有实际用户的项目,用户最多有多少,你的项目有什么创新的地方 | 无 |
行业洞察力 | 你最感兴趣的领域是什么 | 人工智能 |
行业洞察力 | 这个领域过去十年经历了哪些创新 | 无人驾驶、医疗机器人 |
行业洞察力 | 你分析过这个领域前十的产品吗?请分析一下它们的优劣 | 没分析过 |
行业洞察力 | 你要进入这个领域应该如何创新 | 广泛调查人民需求 |
项目管理 | 你参与过项目管理吗 | 没参与过 |
软件设计 | 你做过构架设计,模块化设计,接口设计吗? | 有 |
质量意识 | 你是怎么做代码复审的 | 规范格式、规范接口、规范模块 |
工具/社区 | 你在各种开发平台都使用过什么开发工具 | VS,eclipse,JetBrains WebStorm |
工具/社区 | 自己写过什么工具来改进工作效率 | 无 |
工具/社区 | 给社区贡献过什么工具和代码,github有分享代码吗 | 无 |
工具/社区 | 你的技术博客坚持了多久,读者最多的是哪一篇 | 呃... |
团队协作 | 请描述你在项目中如何说服同伴采用你提出的更好的解决方案,或者你如何听取了别人的一件,改进了自己的方案 | 现场分析讨论 |
团队协作 | 你如何说服懒惰的同伴赶紧工作,实现团队目标 | 起来干活啦! |
理论素养 | 你上过什么数学,计算机或其他理论课 | 高等数学,离散数学,概率论,数值分析,数据结构与算法,编译原理等 |
理论素养 | 请举出具体的例子,说明你学到的理论知识如何帮助你解决实际问题 | 数据结构与算法的搜索算法解决了路径问题 |
自我管理 | 全年级你专业排名多少? | 102 |
自我管理 | 你刚入学带现在的排名有变化吗? | 退步了很多 |
自我管理 | 如何解释你的排名的变化 | 自己不够认真,还有有些课程我自己真的不是很懂 |
总结:这一个学期的软工真的让我学到了非常多的东西,虽然其中也有很多辛苦的地方,但是我并不后悔选择它。软工加油!