系统及软件开发最佳实践

IBM Rational 系统及软件解决方案

Comments

这篇文章介绍了 IBM® Rational® 系统及软件工程解决方案(IBM® Rational® Solution for Systems and Software Engineering),区分各种特定行业解决方案,并解释它们是如何支持各种监管标准的。文章同时还描述了解决方案中所包含的最佳实践及所提供的关于如何使用它们的指南。

IBM Rational 解决方案

一个 Rational 解决方案是由一组 Rational 工具、服务及 实践内容— 一组提供了支持解决方案的过程指南的最佳实践等所组成。这篇文章所描述的行业特定解决方案是:

  • IBM Rational 航空航天及国防解决方案(DO-178B/C 规定)
  • IBM Rational 汽车工程解决方案(ISO-26262 规定)
  • IBM Rational 医疗器械解决方案

最佳实践是如何交付的

每一个解决方案所包含的最佳实践内容,已经被开发和证实能为特定行业提供一个完整的生命周期管理解决方案。最佳实践内容描述了如何使用 Rational 及第三方工具来开发一个产品或系统。您可以下载 IBM Rational 解决方案过程资产页面(参见参考资料)上已发布最佳实践内容的类型。

实践内容可以使用 IBM® Rational® Method Composer 来创建和管理,这是一个基于统一方法架构(Unified Method Architecture,UMA)的领域语言。在这些实践中所使用的术语学衍生自 UMA。

实践或过程

在实践与过程之间有着很重要的差别。实践是你应该采用的方法;过程是如何完成任务的流程。过程定义了应用实践的次序,并让工作得以完成,以使您可以实现一个有意义的工程结果。实践则结合 IBM 系统及软件工程过程,解释具体任务以及为了创造出指定的工作产品所需要遵循的次序。过程的常见关键阶段包括:

  • 项目准备(Project preparation)
  • 需求分析(Requirements analysis)
  • 功能分析(Functional analysis)
  • 设计合成(Design synthesis)
  • 实现(Implementation)
  • 单元测试(Unit test)

图 1 显示了实践与过程之间的联系。本例中的实践是关于汽车功能性安全的 ISO 26262 的开发。

在本文这一实践中的过程片断是:“开发 ISO-26262 软件架构性设计,”并显示了特定的活动来完成活动“6,7 软件架构性设计”。一个 activity(活动) 就是一个按次序方式展现的任务流。

在以发布的内容中您可以点击名称为 Analyze SW safety(分析软件安全性) 的任务来获得更多关于如何完成这一任务的信息。图 1 显示了这一任务。

图 1. Rational 汽车工程解决方案中关于开发 ISO 26262 中软件架构性设计的任务
软件架构性设计活动图
软件架构性设计活动图

Analyze SW safety 任务,您将会被带到一个网页,上面描述了角色、所需的输入输出、工作产品、任务描述以及相应实践和指引的链接。在这一任务中,实践(也称为 Key Considerations(关键考虑因素))是 Safety and Reliability Analysis(安全性及可靠性分析)以及 High Fidelity Modeling(高保真建模)。您可以从任务直接连接到相关的实践。图 2 显示了任务细节。

图 2. Analyze SW safety 任务的元素
分析任务的描述、目标,等等。
分析任务的描述、目标,等等。

定制实践内容

您可以开发您自己的定制化资产,例如已发布的网站及工作项模板(Work item template)。工作项模板是一组源自 IBM® Rational Team Concert™ 中可实例化的逻辑性任务组。

您同样可以定制实践内容已使之能符合您组织自身的过程,例如敏捷或迭代过程。这一工作项模板源自可以符合敏捷或迭代过程的一个实践,取决于您的开发过程是如何设立的。定制化过程取决于一个个体的角色、这一开发过程所处的阶段,以及您想实现什么目的。

多个工作项模板都可以成为 process template(过程模板)的一部分,这是一种在 Rational Team Concert 中起步一个项目的方式,以使之能支持一个特定的领域。通常,一个 Rational Team Concert 过程模板包含了多个工作项模板,并且定义了多个角色、一个团队结构,以及一个基本的项目管理结构。

从基础实践内容开始起步

为了理解实践内容的各项基本法则,可以从 IBM Rational 系统及软件工程解决方案(IBM Rational Solution for Systems and Software Engineering)的最基础开始。当您打开 Practices(实践) 类别,您可以看到各种实践都被罗列在以下标题的段落中,Enterprise(企业)Systems Development(系统开发),以及 Software Development(软件开发)。这些段落提供了一种引导您到感兴趣的领域的方式。例如,Enterprise 类别针对了如何度量性能,以及有意为项目经理及那些想了解整体过程改进的人准备的内容。

您可以采用其他的方式查看相同或相似的内容来获得一个不同的视角。例如,如果您选择一个角色,您就可以看到该角色所关联的所有相关任务。当您打开名称为 Delivery Processes(交付过程)的类别,您可以看到两个段落:SE – Use case focused(SE - 关注用例)Systems Engineering workflow(系统工程工作流)。在两个段落中,您可以看到工作分解结构(work breakdown structure)。第一个段落,SE – Use case focused 遵从了本文在前面所描述的通用高层次过程或工作流。Systems Engineering workflow 则同样基于通用工作流,展现在传统的经典标准系统工程 V 过程(systems engineering V process)里。图 3 显示了 Rational Solution for Systems and Software Engineering 中的欢迎页面。

图 3. Rational Solution for Systems and Software Engineering 的欢迎页面
Rational Solution for Systems and Software Engineering 的欢迎页面
Rational Solution for Systems and Software Engineering 的欢迎页面

每一个针对不同行业的实践(如汽车、医药和航空航天)都以行业语言进行编写。在每一个实践下面是其关于需要完成何种任务的细节信息。一组链接潜入在这些实践当中,以提供到其他例如指南或工具顾问(tool mentor)等内容的导航,这些内容将教会您如何进行一个任务。这些实践重用了工具顾问(tool mentor)来捕获对于所有行业用来处理通用任务的常用方法。

使用实践

通常通过已定义的工作流,就可以深入到层次结构中来定位与您当前工作相关的实践内容。而且,这一结构也设置成您可以识别与您的角色相关的任务。您可以通过内嵌在您所使用的 Rational 开发工具中的工具顾问(tool mentor)来访问实践内容。

当您在 Rational Team Concert 中使用一个工作项的时候,您可以为实践中的细节任务创建一组工作项。在工作流中不同的开发阶段有不同的工作项模板,如图 4 所示。

图 4. Rational Team Concert 项目仪表板(project dashboard)中已选择的工作项及下拉菜单所显示的工作项模板
ISO 26262 过程模板中的工作项模板
ISO 26262 过程模板中的工作项模板

这些模板提供了一个便捷的方式来加强项目监管,并协助项目管理。每一个工作项还包含了到任务最初始描述的链接,如图 5 所示。

图 5. Systems engineering for product development work item in Rational Team Concert 中的系统工程产品开发工作项
具有链接到任务描述的工作项
具有链接到任务描述的工作项

工作项模板可以在其他方式中使用 — 例如,如果存在一个需求变更请求,一个工程师或经理在发起一个工作项模板时就会为该任务自动化创建一组工作项,以使相应的条目可以分配给相应的人员。另外一个例子:一个团队领导可以实例化一个工作项模板来创建工作项,以启动与实现一个用户故事(user story)/用例(use case)相关的任务。项目领导随后可以分配任务给团队成员。

如何对特定行业解决方案应用实践

对于航空航天行业应用程序,一个基础实践的子集就是映射细节到 DO-178B 标准,或称为《面向 DO-178B 的集成软件开发过程》(Integrated Software Development Process for DO-178B,ISDP-178)。这些标准文档化了 DO-178B,《航空运输系统及装备规范软件考虑因素》(Software Considerations in Airborne Systems and Equipment Certification) 所强制的在航空运输系统所使用的软件的安全性。这些实践及相关工作产品被映射到 DO-178 的目标子集来帮助展示对标准的遵从性。Rational 航空航天解决方案集成了最佳实践及工具来促进可认证的航空电子设备软件的开发。

对于汽车行业应用程序,Rational 拥有实践内容可以映射到 ISO 26262 标准“道路交通工具——功能性安全(Road vehicles – Functional safety)”一节中所定义的过程框架。ISO 26262 标准是一个为可编程电子系统制定的国际性功能性安全标准 IEC 61508 的改编版本。ISO 26262 通过对所有汽车电子及电子安全相关系统适用的生命周期定义了针对汽车设备所适用的功能性安全。

对于医疗行业,被称为设计控制实践(Design Control Practices)的实践支持多个行业标准,包括 21 CFR Part 820.30 及 IEC62304。设计控制(Design Control)是一种系统开发的方式,可以支持设计的系统性评估,并使之成为整个开发的一部分。这是《美国联邦食品和药物管理局医疗设备制造商指南》(U.S. Federal Food and Drug Administration (FDA) guidance for medical device manufacturers)中的一个基础概念,并且与其他法规主体相兼容。设计控制可以应用到任何医疗系统开发方法或生命周期中去。

每一个解决方案都会以不同的方式进行组织,因为每一个行业有不同的方法。基于不同标准所定义的目标满足一组可交付物,这些交付物是通过使用相应的过程产生的。不同的标准也有不同的关注领域,并用产品开发生命周期的术语来表达的:

汽车

  • 汽车行业解决方案覆盖了管理(management)、运作(operation)、生产(production),以及硬件和软件开发(hardware and software development),并探讨跨整个过程的集成与管理。它同时还引用了您可以使用的第三方工具。
  • 汽车安全标准(ISO 26262)关注一个“功能”(feature)或“项”(item)在整个产品生命周期是否完整包含安全性。

航空航天与国防

  • 对于航空航天与国防解决方案,采用一个建模方式来构建软件。
  • 航空航天与国防安全标准 DO178C 是关于产品中的软件的开发的。

医疗设备

  • 医疗设备 IEC 62304 标准是完全关于构建面向医疗设备的嵌入式软件的。
  • 医疗设备设计控制(FDA)段落并不是指定一种技术,而是基于可交付物,以及可交付物的目标及可交付物之间的关系。它验证了您所构建的正是您此前准备要构建的东西。

面向汽车行业的 ISO 26262 标准是基于过程和可交付物指定的,而面向航空航天和国防的 DO-178C 标准及 IEC 62304 标准,以及面向医疗设备的设计控制则关注于目标。ISO 26262 是一个规范性的标准,而其他的几个标准则是说明性的标准。

部署实践内容

实践内容可以通过两种方式下载:作为实践库(practice library)的一部分或一个 WAR 文件。在 Rational Method Composer 实践库中的原始材料可以在 Rational Method Composer 中进行修改来定制或加入您自己的特定材料;例如,用于公司授权审查用的活动和可交付物。

如果您想要本地预览实践内容,您可以下载 .war 文件,然后重命名为 .zip 文件,解压并使用标准 HTML 浏览器打开它。

如果您想要将内容部署到 Rational Team Concert 来获得组合过程模板(combining process templates)、工作项模板(work item templates)以及实践内容(practice content)等带来的完整受益,下载 .war 文件并将其安装到 Rational Team Concert 的 web 服务器。

总结

这篇文章描述了 IBM Rational 系统及软件工程解决方案的目标,并纲要罗列了其内容。您现在应该熟悉了解如何:

  • 采用 Rational 针对您行业标准的最佳实践和过程
  • 使用 Rational Method Composer 来捕获和修改在行业解决方案中的实践内容
  • 使用过程模板来在 Rational Team Concert 中创建工作项来实施已定义的过程
  • 链接过程模板到实践内容
  • 定义与实践内容相关的术语
  • 链接到可下载的原始形式材料或已发布的网站

相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=960368
ArticleTitle=系统及软件开发最佳实践
publish-date=01162014