软工[I.1] 个人作业:阅读和提问

项目 内容
这个作业属于那个课程 2025软件工程
这个作业的要求在哪里 作业链接
我在这个课程的目标是 和同学们一起成功做出一个项目
这个作业在哪个具体方面帮助我实现目标 了解软工入门的理论知识

问题一 关于结对编程的适用情况的疑惑

  • 书中提到了对于对实施的程序员提出了更高的要求。这种要求不是技术水平,也不是学历水平或工作经验。这种要求是对一个人的心智、道德修养的更高要求。
  • 但是我认为实际上结对编程对于两位程序员的技术水平要求是相当的,正如文中所言,结对编程可以不断地review来保证代码的正确性,两位程序员对这份代码的地位是平等的,但是如果两人的水平不相当的话,这份代码依然会是水平较高的那位程序员的成果,并且我认为结对编程对于其中水平较低的程序员的提升是否较小,因为在追求效率和质量的结对编程中难以沉下心来了解整段代码的思路,我们同样需要考虑在两位程序员对于某段代码起争执的时候如何有效解决争端。
  • 上学期的数据库的一个小组的两位前端还是采用分开编程而不是结对编程,因为感觉无论是代码风格还是命名与注释习惯等都有所不同,这让结对编程看上去效率很低下

问题二 关于需求分析

  • 书中提到了你的创意解决了用户的什么需求? 这个需求可以是明确的, 公开的 (例如: 希望能上网玩三国杀). 也可能是说不清道不明的, 例如 - 以前没人说: 嗯, 如果我能找到这样一个网站, 我可以去偷菜, 就好了…这是刚性需求,或辅助性需求?需求的量有多大? 需求会一直存在么? 很多同学想象力非常丰富,觉得一定会成千上万的用户来使用我想出来的软件。那么可以实践一下,找到10个潜在用户,他们表示“一定会试用你的软件”, 那么就算你找到了合适的需求 (Need)
  • 那么我们如何对于说不清道不明的需求进行挖掘出来并分析之后进行规划分析产品呢,我想譬如在很多情况下也并不如文中说的按照小范围实验来确定这个产品的需求性,譬如在当下很多小程序会突然爆火,比如微信跳一跳和咩了个咩,其实并没有很新颖的玩法,而是很多时候更加取决于这个小程序的营销和宣传,在小范围的实验中并不能找到需求的可能性,或许更取决于营销的好坏

问题三 关于Program Manager

  • 书中提到了PM做开发和测试之外的所有事情
  • 但是其实我认为对于大学生的软件工程这种课程而言,PM最好还是选择有全面技术栈,技术能力较硬的人来担当,因为这样的话可以充分的把握进度的推进,虽然根据刻板印象而言,这样的人会偏向于去写代码而不是了解需求和沟通,但是我认为这样对于大学生的软件工程课而言才能充分的保障完成进度

问题四 关于软件的血型

  • 书中提到了说到“质量”,我们不提“全面质量管理”,因为“全面”之后,会出现“大道废,有仁义”的现象,大家都讲“全面质量管理”,往往意味着我们的质量管理没有抓到点子上。而且有些庸人往往会以“高质量”为由,阻碍正常的工作进程。
  • 对于提出搞高质量需求的人实际上我觉得不完全按照文中所说的三种情况,因为有人是完美主义者,比如星露谷物语的作者ConcernedApe在完成了游戏的初版之后因为不满意从而重画了美术以及音乐而推迟了发布游戏,但是也确实存在如同文中所言没有能力提高质量或者泛泛而谈提高质量而拿不出方案的人,我们该如何去区分并且解决这样的问题

问题五 关于代码量与树叶量

  • 书中提到了代码量等于树叶量,当作如是观测试人员的 "量" 如何度量和评价呢? 能否用发现的 bug 的数量来看?很多开发人员还以自己写了多少代码为骄傲,枝叶繁茂, 是不错, 但是这些代码是否能有机地结合起来, 解决客户的问题?
  • 通常情况下程序员会以自己开发过多少行多少行的项目作为自豪的资本,但是代码量大并不和项目bug少以及结构优美画上等号,也并不能说明项目最终成果的质量,也并不意味着面向用户解决了更多的需求,那么我们究竟该如何在实际的软件工程中平衡代码量和项目最终成果的关系
posted @ 2025-03-05 09:37  尹祺霖22371157  阅读(42)  评论(0)    收藏  举报