基于Qt的UI是否足够可靠,可用于医疗设备?

use*_*557 11 c++ windows user-interface qt reliability

我在一家小公司工作,开发具有丰富UI的复杂医疗设备.我们目前处于设计的早期阶段.该应用程序针对Windows(仅限桌面),最好只能用C++编写.

经过一些研究,我们倾向于选择Qt来开发UI.它似乎满足了我们所有的需求,即可以开发具有现代外观和高响应性的UI,开发速度相当快(熟悉后),内存使用在某种程度上是合理的,免费用于商业用途(对我们来说是奖金).

我的问题是:它对于医疗设备是否足够可靠?我们绝对不能接受考试中的任何崩溃.我知道首先它当然取决于我们编写的代码的质量,但我仍然想知道是否有人遇到任何特别难以解决的与崩溃相关的神秘问题.特别是当使用作为脚本语言的QML时,它自然会导致难以预测和解释的错误.

在生产中遇到这样一个问题的成本对我们来说非常高,所以在我们选择任何特定的包之前,我们非常需要做出正确的决定.如果您知道在我们的特定环境中可能出现的任何其他与Qt相关的问题(我承认无法进行非常广泛的包测试),我也非常感谢您提及它.

Roo*_*ook 2

我假设您没有开发安全关键设备,因为您运行的是 Windows,并且 Windows 许可协议对此有一些规定。所以你的问题实际上是,“我们正在制造一种必须尽可能稳定的消费品,否则我们看起来会非常非常糟糕”

就我个人而言,我建议使用 C#,因为它在 Windows 下具有出色的工具,并且开发起来更加容易和安全(垃圾收集器是稳定性的朋友,如果不是性能的话),并且单元测试稍微方便一些。对于任何性能关键部分,请使用 C++ 或 C++/CLR,但没有理由使用如此复杂且具有潜在危险的语言来构建 GUI。

  • 使用安全语言编写(例如意外异常而不是完全崩溃)并不会使您的程序变得更加可靠。让它更可靠的是思考它(证明它的事实)并测试它。这些事情在某些语言中比其他语言更容易。事实上,C 似乎广泛用于安全关键系统。这个问题可能相关:http://stackoverflow.com/questions/243387/which-languages-are-used-for-safety-ritic-software (4认同)
  • @AmbrozBizjak:它通过生成异常来消除整个类的微妙故障,而不是允许由缓冲区溢出等引起的损坏。它提供了大量的方法来检查和断言不变量,并且许多工具可用于帮助推理您的软件。然而,我的观点是在假设 OP _不是_ 编写安全关键系统的情况下提出的。安全关键系统往往需要实时性能保证,而 Windows、CLR 和 C# 都无法提供;在这种情况下,C 是一个不错的选择。 (2认同)
  • @user1526557:如果您正在编写一个安全关键系统,如果运行时出现问题,可能会导致受伤或死亡,那么对 GUI 技术的讨论是非常不合适和不相关的。**立即停止并寻求一些专业建议!** 我不认为 Stack Overflow 一定会帮助您通过 FDA 认证。但对于WPF来说;是的,它正在退出。当您等待合适的替代品(例如 WinRT)时,Windows 窗体是一个可行的替代方案。 (2认同)
  • 是的,所以我最初的措辞是准确的,“我们正在制造一种必须尽可能稳定的消费品,否则我们看起来会非常非常糟糕”。请不要混淆这个问题,说它是安全关键!我将重复我最初的 C# 建议。它得到操作系统供应商的支持,是一个具有出色工具的成熟平台。对于仅限 Windows 的应用程序,我肯定会选择它而不是 Qt 和 C++。 (2认同)