用于管理RAMS数据和分析的工具。
项目描述
RAMS工具包(RAMSTK)
用于可靠性、可用性、可维护性和安全性(RAMS)分析的工具包。
测试 |
|
---|---|
质量 |
|
软件包 |
|
🚩 目录表
免责声明
RAMSTK 尝试使用 语义版本控制 2.0.0。根据规范项目 4,主版本 0 适用于初始开发,任何内容都可能在任何时候发生变化。这正是 RAMSTK 的情况!因为 RAMSTK 是一个开发者展示,目前没有活跃的开发分支。在 1.0.0 发布后,这可能会改变。在此之前,可以使用标记的版本,但 latest
标签可能不起作用,并且可能不向后兼容。当主版本为 0 时,重大更改将通过次要版本号的增加反映出来。也就是说,版本 0.15.0 与版本 0.14.0 不兼容。
🎨 特性
RAMSTK 基于模块的概念,其中模块是与系统开发相关的信息和分析的集合。目前 RAMSTK 包含的模块有
- 修订模块
- 使用概况
- 功能模块
- 功能分解
- 危害分析
- 故障定义
- 需求模块
- 利益相关者输入优先级排序
- 需求开发
- 对需求进行清晰度、完整性、一致性和可验证性分析
- 硬件模块
- 可靠性分配
- 均等分配
- AGREE 分配
- ARINC 分配
- 目标可行性
- 使用各种方法预测硬件可靠性
- 类似项目分析
- MIL-HDBK-217F 零件计数
- MIL-HDBK-217F 零件应力
- FMEA/FMECA
- RPN
- MIL-STD-1629A,任务 102 严重性分析
- 失效物理分析
- 可靠性分配
- 验证与验证模块
- 任务描述
- 任务接受值
- 任务时间
- 任务成本
- 整体验证计划时间/成本估算
💾 安装
RAMSTK 使用 postgresql 作为其数据库引擎。您需要有一个具有对 postgresql 服务器读写访问权限的用户才能使用 RAMSTK。设置 postgresql 服务器和创建具有适当权限的用户说明可以在项目的 Wiki 中找到。
下载和安装
由于 RAMSTK 仍然是版本 0 产品,强烈建议您在虚拟环境中安装。下面的说明假设您将在虚拟环境中安装,并且 RAMSTK 所依赖的系统范围 Python 包将不可用。如果是这样,您将需要通过操作系统的包管理器提供各种系统开发包来安装 RAMSTK。
一旦您使用操作系统的包管理器安装了任何缺少的开发文件包,请从 GitHub 下载您要安装的 RAMSTK
$ wget https://github.com/ReliaQualAssociates/ramstk/archive/v<version>.tar.gz
$ tar -xf v<version>.tar.gz
$ cd ramstk-<version>
获取 RAMSTK 源代码的另一种方法是克隆存储库。
$ git clone https://github.com/ReliaQualAssociates/ramstk.git ramstk.git
$ cd ramstk.git
根据您的习惯创建并激活虚拟环境。一种方法是用 pyenv 和 poetry。使用 pyenv 不是必需的,除非您想安装和使用除操作系统提供的版本以外的 Python 版本。
$ pyenv install 3.8.7
$ poetry env use ~/.pyenv/shims/python3.8
$ poetry shell
这将安装 Python-3.8.7,并告诉 poetry 使用您刚刚安装的 Python 解释器。最后,poetry 会创建(如果需要)并激活使用 Python-3.8.7 作为解释器的虚拟环境。
现在虚拟环境已激活,您可以安装必要的 RAMSTK 依赖项和 RAMSTK 本身。省略 PREFIX 变量将导致 RAMSTK 默认安装到 /usr/local。
$ make depends
$ make PREFIX=$VIRTUAL_ENV install
当升级 RAMSTK 时,您可以简单地
$ pip install -U ramstk
这将仅安装来自 PyPi 的最新 RAMSTK 版本,并且将保留配置、数据和图标文件。如果您克隆了 RAMSTK 存储库,您还可以使用 Makefile
$ git switch master
$ git pull
$ make install.dev
开发依赖项
我们使用 poetry 来管理 RAMSTK 的依赖项。使用 Makefile 安装如下
$ make depends
如果尚未安装,这将安装所有需要的开发和运行时需求。
运行测试
安装后,要运行整个RAMSTK测试套件,只需执行以下命令
$ make test
要运行带有覆盖率的测试套件,请执行
$ make coverage
$ make coverage.report
要运行特定的测试或测试组,请使用pytest
$ pytest -m integration tests/modules/test_allocation.py
$ pytest -m unit tests/analyses/prediction
🔨 使用方法
安装RAMSTK后,可以从终端仿真器启动
$ ramstk
如果您需要提交问题,这是一个好选项,因为输出应包含在您的报告中。RAMSTK还安装了一个*.desktop文件,您可以在“数学”或“科学”类别中的应用程序列表中找到它。如果您在虚拟环境或其他非标准位置安装,则可能找不到该*.desktop文件。
请参阅用户指南以获取最新使用说明。
文档
RAMSTK的文档作为发布资产构建和包含。对于每个发布,您将找到用户指南的pdf和html实现。对于每个小版本和主要版本发布,您还将找到开发者指南的pdf和html实现。
💬 贡献
请阅读CONTRIBUTING.md以获取我们行为准则的详细信息以及向我们提交拉取请求的过程。
还请阅读DEVELOPMENT_ENV.md以获取设置开发环境以工作和测试RAMSTK的说明。
🍞 作者
- Doyle 'weibullguy' Rowland - 初始工作 - weibullguy
📜 许可证
本项目受BSD-3-Clause许可证许可 - 请参阅LICENSE文件以获取详细信息。
RAMSTK还根据注册号TXu 1-896-035在美国版权局注册,因为我有律师,律师喜欢为每小时300美元的文件备案。
类似产品
以下是一些商业可用的产品,它们执行RAMS分析。我们不推荐任何一种;它们都是优质产品,根据您的需求和预算,可能更适合您或您的组织。显然,我们更希望您使用RAMSTK。
项目详情
下载文件
下载适合您平台的项目。如果您不确定选择哪个,请了解有关安装包的更多信息。