【问题标题】:Defining minimum memory and free disk space requirements?定义最小内存和可用磁盘空间要求?
【发布时间】:2009-12-24 11:06:53
【问题描述】:

在 Code Code complete 的第 42 页上,有一份您可能希望在需求阶段考虑的需求项目清单。
在项目中(靠近列表底部)显示Are minimum machine memory and free disk space specified
在你做的任何项目中,这是否曾经是一个要求?在开始构建东西之前,你是如何定义这样一个要求的?

我知道这只是一个建议,坦率地说,我认为我永远不会将其包含在我的要求中,但它让我思考(这是真正的问题)..

如何估计系统要求...

【问题讨论】:

    标签: memory requirements


    【解决方案1】:

    这是在需求阶段,所以与估计应用程序将使用的资源相比,确定应用程序必须运行的机器的最低规格不是更多吗?

    我已经为企业客户开发了系统,他们有标准构建并且能够识别将使用的最低规格机器。通常您不知道要安装的机器的最低规格,但您会知道必须支持的操作系统,并且可以从中推断出它们。

    【讨论】:

    • 是的,把它放在那个上下文中,这更有意义。特别是如果您认为预建/内置系统。就像我们工作中的称重模块基本上是一个触摸屏,后面有一个 winxp 机器。我们知道它有什么分辨率、什么 cpu 和什么内存。
    【解决方案2】:

    我之前已经指定了这一点,但它始终是使用当时的“标准”规范的一个大概数字。例如,目前我只想说我的应用程序旨在部署到至少具有 4GB RAM 的服务器上。因为这就是我们开发和测试的基础。

    对于客户端应用程序,您可能需要更详细一些,但通常最好确定您的目标机器类别,然后确保您的应用程序符合这些限制条件。只有当您的应用程序在某个领域有特别高的要求时(例如,如果它存储大量图像,或者需要强大的图形处理器),您才需要更详细地介绍。

    【讨论】:

      【解决方案3】:

      这些肯定是我参与的一些项目的早期阶段的考虑因素。许多科学代码归结为使用大型矩阵。通常可以在早期识别出代码 X 将需要操作一个密集矩阵,例如,100,000 行和列的复数双精度数。做总和。有时答案是 (a) 将 PC 与 RAM 打包在一起,有时是 (b) 我们必须将其并行化以用于内存,即使这对性能而言不是必需的。

      有时我们的用户希望每 N 次迭代检查一次他们的程序。使用非常大的数据集进行检查点会占用大量磁盘空间。再次拿出你的计算器。

      我知道这一切都很小众,但重要的是它。

      【讨论】:

      • 这不是意味着您正在考虑在需求阶段实施吗?这将直接违背整章的内容,即在做需求时不要考虑实现。
      • 确实如此。我从一开始就在考虑实施。一方面,并​​非所有软件都能在 24 小时通知的 500 美元 PC 上运行。另一方面,如果我在专门的 Windows 环境中工作,我将提出任何解决方案必须在 Windows 机器上运行的要求——是的,这是一个约束。但是,在任何现成的 SDLC 中的“正确”步骤之前忽略所有此类实施问题是太天真了。如果这让我与 Code Complete 不一致,那就这样吧。
      【解决方案4】:

      机器内存是一个棘手的问题,虚拟内存非常普遍,但磁盘空间并不那么硬,具体取决于系统。我们有一个正在工作的系统,该系统旨在处理许多外部设备(接受输入、转换数据和交付给客户),并且鉴于我们知道当前和预计的数据量,该系统相当容易调整规模。设备正在生成。

      【讨论】:

        【解决方案5】:

        您可以检查您的软件在测试期间使用了多少内存,然后估计如果您处理更大的块可能需要多少内存,即如果您在最大的测试套件中处理 1000 个项目并且需要 4 MB,那么您可能需要 4 GB 来处理 100 万个项目。

        【讨论】:

        • 程序完成后。问题是关于需求阶段。
        【解决方案6】:

        我已经看到嵌入式系统中的软件对机器内存的要求最低 - 通常源于对定制硬件的限制。如果盒子只能是 X x Y x Z 尺寸,并且必须满足其他物理要求,则软件可用内存的限制可能是绝对的,并且应该预先设置最低限度。

        在网络应用世界中,这对我来说从来都不是什么大事——毕竟,在我完成代码之前可能会发布目标硬件的新模型,而且内存会更便宜……所以为什么当您可以添加时浪费时间尝试适合小尺寸?

        我看到大型数据项目提到可用空间 - 如果您的数据库没有足够的空间来移动数据,您真的可以搞砸系统。我见过一些要求,其中规定了花里胡哨和紧急措施,以确保始终有足够的空间来保持数据库正常运行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-12-12
          • 2014-11-10
          • 2023-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-10
          相关资源
          最近更新 更多