73
社区成员




项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2024年北航敏捷软件工程社区-CSDN社区云 |
这个作业的要求在哪里 | [I.3] 个人作业:结课总结-CSDN社区 |
我在这个课程的目标是 | 深入了解软件工程的整个开发过程,参与系列实践,熟练掌握软件工程中使用的各种工具软件,学习参与团队合作,感受现代化的工作模式带来的巨大生产力进步 |
这个作业在哪个具体方面帮助我实现目标 | 为本学期的软工课程画上一个句号 |
Q1:仅在必要时,才使用类型继承,这样的规定会产生许多冗余代码,有何必要性?
实际上在开发过程中,我们确实不怎么使用继承,在编写各式各样代码时,我们大多独立开发 。而且在开发的过程中,我们发现最麻烦的事情就是合作开发,要是每个人都得使用一个父类,那debug可能要de到爆了。
Q2:文中举了一个牺牲质量追求用户体验的例子。在现实生活中,要追求市场份额有时意味着违反“软件工程师的行为应与公众利益一致”原则。从业者们都是如何看待这一问题的呢?
软件行业从业者何其多,不能期待每一个人都保有这样的想法。争夺市场份额是投资人的目的,在开发当中,软件工程师终究还是乙方,如果产生了牺牲公众利益的问题,也许比起责怪软件工程师,更应该责怪背后的投资人。
Q3:对于混淆目标、估计和决心的问题,我认同在软件工程领域作出合理估计、稳步推进的做法,但我认为在国家生产领域,轻视目标和决心有些问题。
我在开发过程中有一个感受,就是再强的PM也没法无视团队成员的情况进行开发,再会做工作的PM也有没法带的团队。PM毕竟只是项目的经理,团队成员或多或少都有自己的操守,软件工程虽然复杂,但是无法与治国相比。
Q4:关于敏捷流程,之前听说我们要在课程中实践敏捷流程,我们如何完成这一目标?感觉书中所说的适合敏捷流程的情况和我们在学校里的情况不太符合。
其实实际体验还是挺好的,团队每两天开一次会,及时调整策略,比较符合敏捷的理念。而且,比起“选择敏捷”,倒不如说“只能敏捷”,受制于开发时间、同学们的水平不一致,可能不太适合利用传统的开发方法进行开发。
Q5:关于MSF中的充分授权和信任,我不理解这里的信任具体指哪一层次的信任
在我们团队里,各个成员之间是平等进行合作的。当然这是因为我们不太涉及利益纠纷,具体的情况可能要在企业中才能看到。
需求:需要根据自己的经验对各类需求进行区分,找出哪些是最核心的,必须做的,需要完成度非常高的,哪些是可以放一放的。
设计:设计和计划是很重要的一步,良好的设计能够极大提高大家的凝聚力。
实现:代码开发需要在条条框框中实现,这不是为了浪费大家的时间和精力,而是为了解深恶个返工的时间。当然,在理解这一点的基础上可以尽可能压缩。
测试:进行单元测试、场景测试、压力测试都是很有必要的。况且对于开发者而言,没有经过测试的产品,我们自己可能都没胆量放出去。
发布:安全性是我们在刚开始有所忽略的地方。这包括代码仓库、前后端debug信息等等内容。
维护:维护过程中,需要吸收用户的各种建议。同时,也需要注意:修改某一部分内容是否会收到大部分人的欢迎?
在开发初期,我并没有成为PM的打算,因为我的成绩不是很好,对于很多技术也不了解,担心拖大家的后腿。结果第一次会投骰子,一不小心成为了PM。开始时我挺担心不能带大家干好工程,因为自己的问题导致大家拿不到好成绩。然而在开发的过程中,我逐渐能够提前思考各种问题,制定计划,推动大家进行开发。在alpha阶段,我们犯了许许多多的错误,在beta阶段,我们可以说取得了非常巨大的进步。
实话实说,当PM还挺爽的,理解为什么微软的开发者都相当master了。实际体验而言,PM要干的事情还是很多的,这些事没有组员的支撑又很难推进。我一直想成为一个领导者,在大学中我也在寻找机会成为负责人,虽然累,但是我深深感到,领导者可以左右一项工程的成败。在需要有人站出来的时候能站出来,不撂挑子,这是非常难得的,而且是我们这个时代非常稀缺的品质。
另外,我还体会到,如果想成为领导者,将来会有各种各样的挑战。同学们都是有心气和自尊的,也好打交道,要到社会上做领导,我还有很长的路要走。