BUAA_2023软工第三次作业——提问回顾和个人总结

BUAA_2023软工第三次作业——提问回顾和个人总结

项目内容
这个作业属于哪个课程2023年北航敏捷软件工程社区
这个作业的要求在哪里个人作业-提问回顾与个人总结
我在这个课程的目标是了解软件工程方法论,提高工程能力以及团队协作开发能力,总结软件开发经验
这个作业在哪个具体方面帮助我实现目标对整个学期的学习和开发进行总结

一、提问回顾

原问题博客:阅读和提问

Q1:如何定义成熟的团队成员?

成熟的团队成员可以通过以下几个方面来定义:

  1. 技术能力:成熟的团队成员应该具备扎实的技术知识和技能,能够独立完成分配给他们的任务,并能够在面对挑战和问题时提供创新的解决方案。本学期软工项目中,我深刻体会到队友具有强大技术能力的重要性,他们能高质量完成自己工作的同时,指导其他成员,从而提高团队的工作效率和代码质量。
  2. 沟通与合作:成熟的团队成员应该具备良好的沟通和合作能力。我们团队的成员能够清晰地表达自己的想法和观点,并且能够倾听和理解他人的意见。他们能够有效地与团队中的其他成员合作,共同解决问题和实现团队的目标。
  3. 自主性与责任心:成熟的团队成员应该具备自主性和责任心。软工项目中团队队员能够按时交付高质量的成果,对自己的工作质量负责,并积极主动地寻找改进的机会。
  4. 心理成熟:成熟的团队成员应该具备心理成熟度。他们能够处理和应对压力和挑战,保持冷静和理智的思考。他们应该能够接受反馈并从中学习,同时也能够给予他人建设性的反馈。
  5. 灵感:成熟的团队成员需要具备理性,也需要关键时刻迸发出的灵感,有时候这能成为突破关键性难关的钥匙。
Q2:变量命名是否应该有描述?

变量命名应该具备描述性,以便在代码中更好地理解和维护。良好的变量命名可以提高代码的可读性和可维护性,清晰地表达变量所代表的含义和性质。

为此,需要选择能够准确描述变量用途和含义的名称。避免使用单个单词或不相关的缩写作为变量名。例如,使用"customerName"而不是"name",或使用"totalSales"而不是"ts"。

虽然描述性的变量命名有助于代码的可读性,但也要注意不要过度冗长。变量名应该足够描述,同时保持简洁和易于理解。找到一个平衡点,确保变量名称清晰明了,并且不会给代码的可读性带来负面影响。

Q3:结对编程中角色的定位?

在我们的结对编程项目中,驾驶员和领航员是适时轮换的,避免一个人工作过久导致效率降低的情况。同时为防止轮换角色时影响开发效率,我们在开发过程中会适当进行思路上的沟通和交流,大大减少了因为思路不同出现误解的次数,保证项目稳定推进。

Q4:如何类似A\B测试进行多变量测试?

一方面,助教neumy的回答让我豁然开朗,要满足所有用户确实是一件很难的事,项目组应该清晰地认识到哪些意见来自于核心目标群体,哪些意见来自非目标群体。从而针对目标群体的意见进行集中改进,这样在时间、经济以及可行性的角度更加合理的。

另一方面,在我们的项目中,针对用户反馈的意见也会进行讨论,从软件的核心功能、目标群体是否需要、实现难度等方面综合考虑该意见是否需要接纳。这样也能在一定程度上避免开发的新功能不被用户认可。

Q5:学生项目中PM角色的定位?

经过一学期的项目开发,我对PM角色的定位认识更加深刻。PM需要时刻保持清醒,负责制定项目的目标、范围和时间计划,协调团队成员之间的工作和任务分配。确保每个成员了解他们的角色和职责,并明确任务的优先级和截止日期。

同时由于大家开发经验有限,各方面出现的一些问题和困难可能都需要PM帮助或进行协商,促进团队成员之间的协作和合作。

相比团队中的开发人员,PM的工作显得更加重要,这里非常感谢团队PM @mmmusel 一学期的付出。

二、知识点总结

需求

项目初始阶段要进行深度调研,确立需求分析的NABCD模型,作为后续设计和测试的指标和方向。

设计

明确软件的目标以及核心功能,围绕核心功能进行模块化设计,同时严格规定各模块交互接口,避免后续花费更多时间进行调整。

实现

我学习到各类工具的使用方法,包括git、coding、apifox、jsdesign等,提高了开发效率。

测试

软件测试主要分为两大方面。

需要确保软件功能的实用性和可靠性,包括场景测试、单元测试、压力测试等。

需要确保软件的安全性,包括后端的API鉴权,用户隐私避免传输和保存,使用token鉴别用户,减少cookie中保存的用户信息等。

发布

我学习到如何进行网站部署,并且意识到软件应该通过多种渠道进行宣发,尽快通过群聊或社区等形式留下第一批用户,从而逐步扩大用户规模。

维护

我学习到如何有效收集用户反馈意见,并且意识到及时响应用户反馈的重要性,尤其是一些核心功能上的缺陷或影响使用体验的bug,一定要尽快将其分配给负责人进行完善或修复。同时最好记录下bug描述、产生的原因以及修复方式,有助于后续的维护和开发。

三、心得体会

个人作业

从最开始阅读《构建之法》让我对软件工程的基础原理初步形成知识框架。之后我选择进行了对《CSDN技能树》软件的深度调研。在这个过程中,我探索了该软件的功能、特点和用户体验。站在一个开发者的角度去分析软件功能、使用体验等方面的优缺点,对投入实际使用的软件的特征有进一步认识。即使是专业的开发团队,也难免会出现一些或大或小的bug,这让我意识到严谨和完善的软件测试具有非凡的重要性。

结对编程

结对编程阶段,由于对CMake、DLL、QT、单元测试等工具不熟悉,导致整个开发阶段异常艰难,所幸在调研资料以及各方同学的指导下最终还是完成了该项目,尽管不是非常熟练,但也还是基本理解了这些工具的使用方法。

另一方面我也体会到和能力互补的队友一起开发是一件效率极高的事,一个人写代码,一个人监督,这也是一种从未有过的体验。

团队项目

团队项目开发过程异常顺利和愉快。

我认为这主要源于我们团队每个成员都极具责任感和想象力,能够按时交付高质量的模块,避免团队因为木桶效应延缓开发进度。

另外我们团队的PM具备非常优秀的管理能力和开发能力,能迅速合理划分任务、规划时间,并且尽可能减少团队成员因为组会、沟通、项目管理等因素浪费的时间,这让成员能够把心思完全投入在开发中,从而提升效率。再次感谢PM~。

最后,在项目起步阶段,我们针对各方面制定了一整套规范,包括git提交规范、代码编写规范、UI设计、功能规格书、apiFox接口设计规范等。因此整个开发过程中极少出现队员因为git使用不当导致项目仓库被破坏的情况,同时由于规范和统一的代码、接口设计,让我们开发时很少因为这些原因进行重复性工作,这就让整个项目过程非常流畅和愉悦。

未来的团队项目中,我会运用本项目得到的经验,总结教训,提升自己的软实力!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值