关于软件开发的一些疑问,希望专业人士可以进行解答:

1、关于设计文档:
①详细设计说明书中对“数据库表/文件使用情况”的描述是什么含义呢?跟数据库设计说明书对应吗?“数据库表/文件使用情况”有填写内容是否就是涉及到数据库设计,就需要输出数据库设计说明书和表结构设计?
②同一个数据库表或文件名称会同时用于多个功能吗?③详设中的功能码是由谁来定义的?每个功能都会有功能码吗?
③详设中功能名称与迭代待办事项列表中用户故事名称可以不一致吗?含义相同但是描述不同那种。是否需求规格说明书,详设,迭代待办事项中的用户故事名都要保持一致?
④总体设计说明书完成节点是在什么阶段?可以在项目迭代中更新到项目末期再完成吗?
2、关于单元测试和集成测试:是迭代中所有功能都需要编写单测用例然后进行单测吗?什么情况下需要进行集测?

既然是详细设计了,要远比你想的这些还要复杂。

  1. 详细设计中,数据库表/文件,一般包含以下内容:
  • 数据库的选型,关系or文档型,具体到品牌和版本,文件涉及到哪些类型,是否包含流媒体,图片,文档文本等,存放方式如何,如:存放在对象存储中,图片,流媒体文件永久保存,部分文本,如日志保留180天,超过180天的转储至归档型冷备存储中。
  • 数据库库名,编码格式,表的名称、类型、结构、约束、索引等。
  • 每个表和文件的用途、数据来源、数据处理方法等。
  • 数据库表和文件的依赖关系、关联关系等(如果有的话,比如部分场景下,会将用户头像的存储位置置于用户表的某一列)。
  • 数据库表和文件的维护策略、更新策略等。
  • 数据库表和文件的使用规范、约束等。
  1. 同一个数据库表以及文件是否使用多个用途应该咨询产品,而不是研发。如果产品不care的情况下,一般可以复用的资源是不需要再冗余一份的,除非冗余的性能要比取源资源好非常多,比如用户头像吧,存一份就够了,剩余的完全可以通过用户id找到对应的用户头像获取,就没有必要单独建一张表供存取头像,当用户更新头像时,只需要将用户表的头像路径更新为最新的路径即可。

  2. 关联但不必须的关系,具体情况需要取决于项目。在国内开发中,所有的技术都要服务于业务,换句话说,所有的程序猿都要听狗产品的。这么说,相比你能理解一些。

  3. 可以,但不推荐。以我多年的工作经验来看,一边设计一边让程序猿干活的产品都是沙壁,不是自己跑路就是坑程序猿跑路。试问,你自己都没有整明白,如何设计一款好的产品?今天改改,明天改改,狗来了路过都得朝你骂两句。

【以下回答由 GPT 生成】

问题一解答:

1、关于设计文档:

① "数据库表/文件使用情况" 是指在详细设计说明书中对于数据库表或文件的使用情况进行描述。它与数据库设计说明书有关联,但并不需要包含具体的数据库设计内容,可以只包括表的使用情况和相关的约束或要求。数据库设计说明书更多是关于数据库结构的详细设计文档。

② 同一个数据库表或文件名称可能会被多个功能同时使用,这是根据具体的需求和设计决策来确定的。在设计中需要考虑数据的一致性和正确性。

③ 详细设计说明书中的功能码可以由开发团队来定义,一般可以根据具体需求和功能来命名,以便于在设计文档和开发过程中进行跟踪和管理。不是每个功能都必须有功能码,有些功能可能并不需要独立的功能码。

④ 在详细设计说明书中,功能名称和迭代待办事项列表中的用户故事名称可以不一致。它们的意思可以相同,不同的命名可能出于不同的角度或目的来描述功能。在需求规格说明书、详细设计说明书和迭代待办事项中,用户故事名最好保持一致,以便于团队沟通和跟踪。

⑤ 总体设计说明书的完成节点通常是在需求分析和详细设计阶段之后,开发阶段之前。它是在需求分析和详细设计的基础上,对整个系统进行综合设计和规划的文档。虽然可能会有迭代的过程,但最好在整个项目开始之前就完成总体设计。

问题二解答:

2、关于单元测试和集成测试:

在软件开发的迭代过程中,每个功能都应该编写相应的单元测试用例并进行单元测试。单元测试主要是针对单个功能或模块的测试,确保其功能的正确性和稳定性。

集成测试一般是在多个功能或模块集成到一起之后进行的测试,目的是确保不同功能之间的接口和交互能够正常工作。集成测试通常发生在功能开发完成后,不同功能的集成和协同测试是为了验证整体系统的一致性和可靠性。

集成测试的情况包括但不限于: - 功能间的接口是否正常工作 - 不同模块之间的数据传递和处理是否正常 - 多个功能协同工作时是否出现冲突或错误

综上所述,在软件开发过程中,单元测试和集成测试都是必须的,并且需要在每个迭代周期中进行。这样可以及早发现和解决问题,确保软件的质量和稳定性。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^