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

19373473--王翼搏 2024-03-10 14:44:11

个人作业:阅读和提问

项目内容
这个作业属于哪个课程2024年北航敏捷软件工程
这个作业的要求在哪里个人作业:阅读和提问
我在这个课程的目标是学习软件工程知识
这个作业在哪个具体方面帮助我实现目标了解软件工程知识

阅读提问

Q1 如果单元测试的结果是错的,那一定是程序出了问题吗?

如果单元测试的结果是错的,那一定是程序出了问题

在第2章中,有如上的结论,但如果单元测试依赖于外部系统或资源(如数据库、API等),而这些系统或资源在测试时不可用或返回错误的结果,那么测试也可能失败,不一定是程序出了问题。

Q2 单元测试应该谁来写?

单元测试必须由最熟悉代码的人(程序的作者)来写

第2章中有如上的说明,但是我认为最适合写单元测试的人应该是最熟悉该模块需求的人,或者说由提出该需求的人来测试,这是因为程序的作者可能只是按需求完成了代码,那么在测试时,也会按自己的代码的理解来完成测试,而如果他在写代码时已经误解了该需求,那么无论如何去测试,都是测不出问题的,因为在他眼中这就是正确的,而在真正的需求上,可能该功能是有问题的,因此我认为应该由最熟悉需求的人来写测试。

Q3 如何去衡量一个功能的效益呢?

书中介绍了基础功能、核心功能、惊喜功能的投资/效益关系。书中提到惊喜功能可能随着时间的推移,会降低竞争力,变成核心功能甚至基础功能。那么在前期投入的时候,如何去衡量一个功能的效益呢?

Q4 如何避免不良习惯的互相影响?

书中讲述了二人合作过程中可能出现的一系列阶段,提及“二人合作过程中的相互影响”。诚然,二人合作中不断磨合会让两个人成长和进步,但是同样的,一个人的坏习惯也有可能影响另一个人,如何避免不良习惯的互相影响?

Q5 软件开发时应当由 PM 负责分解需求吗?

一个团队项目要在一段时间内完成诸多任务,满足用户的需求,实现团队的目标,同时还希望项目能维持良好的技术架构,以便持续开发,千头万绪,从哪里人手? 一队人马站在项目的“需求”前,就像愚公和家人站在王屋山前一样,他们可能都在想:这座山到底要花多少时间才能搬走呢?这时候我们需要一个角色站出来领导大家,把看似巨大无从下手的项目逐步分解为可以操作的工作。PM 是责无旁贷的领导者。

在谈到分解需求时,作者提出 PM 应当是“责无旁贷的领导者”。然而,在实际开发中,开发者可能会遇到各种技术层面上的困难,而这一点 PM 有可能是无法预料到的。因此如果简单地让 PM 成为项目需求的分解者,那么在项目管理和项目时间安排上极有可能出现估计错误的情况。

...全文
91 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

73

社区成员

发帖
与我相关
我的任务
社区描述
2024年北航敏捷软件工程
软件工程团队开发结对编程 高校 北京·海淀区
社区管理员
  • clotho67
  • Yeyanhan
  • HJin_Gwok
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧