软工个人作业 -- 提问回顾与个人总结

项目内容
这个作业属于哪个课程2023 年北航软件工程
这个作业的要求在哪里个人作业-提问回顾与个人总结
我在这个课程的目标是学习软件工程的科学理论知识,在实践中锻炼自我思考能力和团队开发能力
这个作业在哪个具体方面帮助我实现目标推动我回顾和反思整个软件工程课的体验与收获

提问回顾

学期初提问博客

提问1

条目内容
问题职业软件工程师也可以只做到每天持续工作就能收获成就吗?
定位第 3 章 软件工程师的成长,3.1节 个人能力的衡量与发展,团队对个人的期望:P52
原因与我先前的经验有些矛盾

回答

经过我的个人实践,我的答案是否定的。这个问题的最初意思是:在职业软件工程师的职业生涯中,是否仅通过理性地执行就可以胜任自己的工作?后来在实践中我认识到,理性的执行力固然是推动工作前进的必要动力,但是软件工程并不像 Chuck Close 所从事的个人艺术事业,它还强调团队的合作,在这个过程中团队成员之间的沟通、共情和相互鼓励等因素也是软件工程能够成功的关键。

提问2

条目内容
问题如何处理团队内部关于代码风格规范的矛盾?应该求同存异吗?
定位第 4 章 两人合作,4.2 代码风格规范:P71
原因与我先前的经验有些矛盾

回答

通过实践,我认识到在团队项目中统一代码规范确实非常有必要,因为这样可以方便他人阅读和理解自己的工作,提高沟通的效率。在新加入一个团队时,大家的代码规范难免出现矛盾,此时就需要进行交流协商,需要团队成员共同向优秀的代码规范进行适应。

提问3

条目内容
问题官僚模式是否存在优点?
定位第 5 章 团队和流程,5.2节 软件团队的模式,官僚模式:P101
原因对作者的推理过程有疑问

回答

书中主要描述了官僚模式的缺点,在我们的团队开发过程中,其实大部分场景下大家都是以平等的地位进行交流的,但是在某些特殊时刻,比如明确产品灵魂时,大家往往或各执己见,或完全断线,这个时候确实需要有一个领导者以绝对的权威来坚定团队的前进方向(极短的开发时间内试图让每个人都完全理解团队的全部思路不太可能也没必要),所以我认为官僚模式在特殊情境下有着让团队快速摆脱迷茫的优点,但是对于最顶层的决策者的素质要求较高。

提问4

条目内容
问题在软件工程课中如何实践竞争性需求分析?
定位第 8 章 需求分析,8.4 竞争性需求分析的框架:P168
原因与我的假设不同

回答

在最开始时,我认为软工课程的小组之间的选题并不存在竞争关系,导致实践环境的竞争性较低。但是在实践中我发现虽然大家题材不同,但是所用到的软工科学方法都类似,确实存在相互比较的点。同时在我们团队的开发过程中,我们也常与市面上的类似竞品进行对比分析,也很好地实践了竞争性需求分析。

提问5

条目内容
问题我们的软工实践为什么不允许结对编程的双方来自同一个团队?
定位第 9 章 项目经理,9.5 PM和风险管理:P205
原因与我先前的经验有些矛盾

回答

对于这个问题我有两方面的认识,一是这个规定确实让同学们多了和不同学生合作交流的机会,二是我在最开始对”用结对编程的方式完成了一个和自己主团队的项目没什么关系的小项目后再重新回到自己的团队中,在之后的实践中将结对编程完全抛在脑后“的顾虑在实践后完全打消了,因为我们在代码实现的过程中,采用的最高效的方式就是线下结对编程,可以说我们的大项目就是由一个个小的结对项目搭建出来的。

知识点

需求

我学习到了可以使用问卷、微信群聊、讨论贴等方式来收集用户需求,同时通过用户用例、用户故事等方式将需求明确地记录下来。

设计

对于软件核心创意的设计是至关重要的,有了这个团队的目标才能清晰,干劲才能被充分激发。而具体实现的架构设计也应当采用灵活的设计模式,并将系统合理划分模块,这样对于实现、维护和可能的重构都有好处。

实现

我在之前Vue2的开发经验基础上,结合团队需求,快速学习掌握了Vue3、Electron等实现框架,在队友的帮助下也更加熟悉了git的操作流程,并且在实现过程中大量采用了敏捷开发的方法。

测试

对于测试,我认识到了单元测试的重要性,也体会到了自动化测试的效率,及时、方便的测试对于识别、修复软件的缺陷非常重要。

发布

我们团队在发布方面的实践非常全面,搭建了宣传官网,在知乎、CSDN等网站进行了宣发,同时尝试了微信群、B站等社交平台,这部分确实要感谢以强哥为主力的团队成员的辛苦付出。

维护

通过对用户 issue 的快速响应修复软件的缺陷,并且合理维护和及时更新软件版本号,以确保用户能够获取到最新的功能和修复。

心得体会

个人项目

之前的个人项目的设计、实现和测试等工作基本都是自己一个人实现的,仅在遇到自己无法解决的困难时,我会和同学进入深入的交流,因此总体来说个人项目比较自由,但是质量优劣基本取决于个人水平和投入的精力。

结对编程

结对编程对我来说是一次特别新奇且印象深刻的体验,这个项目不同于个人项目,要求两个人实时保持思路上的沟通和代码上的合作,这样保证了设计的效率以及实现的质量。经过这次经历后,我在后续的团队开发中多次和团队成员进行线下结对编程,有效提高了实现效率。

团队开发

最初,我对罗杰软件工程的认识是特别硬核,因为多次听说学长干大事、熬大夜、破大防,因此当时我就想如果我要去罗杰的话,我一定要选一个心仪的队友,当时我的第一个想到的就是强生,这里面的一些感情我也说不明白,只是主观觉得强生的性格我很喜欢(虽然可能是单向的),但是现在经历了完整的罗杰软工后,我并不后悔当初我的决定,相反我收获了很多我当时根本无法预料的东西:

一是接触到了很多优秀的人:楠哥:优秀的架构师和代码实现者,燕老师:美工能力、调研能力都刷新我的认知,哲哥:总能轻松解决令我头皮发麻的分支冲突,昊哥、朱哥:耐心、给人安全感,当然还有强哥:可以说强哥的天赋点全点在我不擅长的地方,出色的文档组织能力、理想主义的思考和表达以及经常做我不敢做的事。

二是收获了很多难忘的体验:印象最深的就是alpha发布前的最后一次冲刺,我记得那天我从白天八点开始肝,一直和燕老师肝到了第二天白天八点,中间还给燕老师过了个生日,其实当时到最后几小时我的意识已经模糊了,只是猛然抬头才发现天亮了。此外,我的电脑里至今还有一个深不见底的文件夹,点击删除甚至会让我的文件系统重启。

对我个人工作的总结,我的工作主要是前端框架的实现以及接口的对接,难度我觉得并不大,只是可能需要大量的精力以及时常需要解决神秘的bug。Ficus目前确实是一款充满了“妥协”的软件,我觉得很大一部分原因确实是我们精力太有限了,就我个人而言,我真的没办法做到多线程全工,如果这学期没有保研的内卷,我想我会更享受这次美妙的、在大学阶段十分难得的合作之旅。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值