M< MDA AN Agile Systems Engineering 敏捷系统工程 [美]Bruce Powel Douglass著 张新国谷炼 译 清华大学出版社
译 者序 复杂系统的构想、开发、实施和运行带来了技术和管理上的双重挑战,应对系统工程的 复杂性己经成为未来工业领域的核心竞争力之一。目前,架构引领、基于模型、数据驱动已 经成为解决复杂问题的基本能力要素。面对复杂系统生命周期中呈现出的不可预见性与不确 定性、外部背景环境剧烈变化以及新兴技术不断涌现,复杂系统的采办方提出了进化式、渐 进式的策略,利益攸关者的需要和需求以及系统需求将不断变化,这就要求复杂系统的开发 过程和系统架构应具备良好的敏捷性,即在不可预见性、不确定性和变化的态势下保持系统 开发有效开展的能力。 架构引领、基于模型、数据驱动的新的开发模式为敏捷方法在复杂系统工程中的实践和 应用提供了基础,使得复杂系统在开发过程中以增量式、迭代式的方式开展。这种新的开发 模式被称为基于模型的敏捷系统工程,即aMBSE(agile Model Based Systems Engineering). aMBSE方法由本书作者Bruce Powel Douglasst博士在MBSE方法上首创,广泛应用于复杂系统 的开发之中,并被证明是行之有效的。aMBSE方法从复杂系统的某一个或几个方面的需求入 手建立模型,并对建立的模型进行执行和分析,在系统开发的早期就进行相关需求和设计的 验证和确认,从而避免大量的工作和人力被投入之后产生的风险和费用。 架构方法是解决复杂性问题的有效方法,通过架构方法能够基于彼此逻辑相关且协调一 致的原则、概念和特性来创造一个全面的解决方案,进而满足系统需求集合(可追溯到业务 或使命以及利益攸关者需求)及生命周期概念(如实施、运行、支持)所表达的问题或机会,并 且可通过技术(如机械、电子、软件等)来实现。本书提出并定义了子系统/组件、可依赖性、 分布、部署、并发与资源5个视角,进而开发了候选架构的模型和视图,通过对复杂系统从 需求到功能架构、逻辑架构再到物理架构的连续传递和映射,实现从系统需求到架构实体再 到系统元素的划分、对准和分配,并建立系统设计与演进的指导原则。 传统的基于文本的系统工程已经难以满足复杂系统的开发要求,必须采用正规化的系统 建模语言对系统的需求、架构和设计进行表达,保证整个开发过程的正确性、一致性和完整 性。本书使用国际面向对象组织OMG制定的正规形式化图形建模语言SysML,对系统的需 求、功能、行为、结构进行建模。SysML遵循MOF的四层元模型框架,具备对“功能-行为 结构”逻辑关系的描述能力。功能表达了系统为满足使命将输入转化为输出的动作以及相应 的性能,行为表达了系统功能之间的交互关系以及系统状态随时间发生的转移,结构则表达 了如何实现这些功能和行为。本书通过使用SysML语言以及图形化的建模环境,从不同维度 展现复杂系统的需求、功能、行为和结构。 本书中的另一个亮点是如何对复杂系统中的各种数据进行正确的表述,这是复杂系统工 程人员较为棘手的问题。数据是物理世界在赛博空间的映射,可以表述系统与背景环境之间 以及系统元素之间物质、能量和信息的交互过程。数据驱动的复杂系统定义必须按照由抽象 到具体、由逻辑到物理的逐步细化过程。复杂系统首先被看作一个“黑盒”,识别并定义其 与外部交互的逻辑数据和接口。然后对系统架构的备选方案进行权衡和分析,选择架构中不
译 者 序 复杂系统的构想、开发、实施和运行带来了技术和管理上的双重挑战,应对系统工程的 复杂性已经成为未来工业领域的核心竞争力之一。目前,架构引领、基于模型、数据驱动已 经成为解决复杂问题的基本能力要素。面对复杂系统生命周期中呈现出的不可预见性与不确 定性、外部背景环境剧烈变化以及新兴技术不断涌现,复杂系统的采办方提出了进化式、渐 进式的策略,利益攸关者的需要和需求以及系统需求将不断变化,这就要求复杂系统的开发 过程和系统架构应具备良好的敏捷性,即在不可预见性、不确定性和变化的态势下保持系统 开发有效开展的能力。 架构引领、基于模型、数据驱动的新的开发模式为敏捷方法在复杂系统工程中的实践和 应用提供了基础,使得复杂系统在开发过程中以增量式、迭代式的方式开展。这种新的开发 模式被称为基于模型的敏捷系统工程,即aMBSE(agile Model Based Systems Engineering)。 aMBSE方法由本书作者Bruce Powel Douglass博士在MBSE方法上首创,广泛应用于复杂系统 的开发之中,并被证明是行之有效的。aMBSE方法从复杂系统的某一个或几个方面的需求入 手建立模型,并对建立的模型进行执行和分析,在系统开发的早期就进行相关需求和设计的 验证和确认,从而避免大量的工作和人力被投入之后产生的风险和费用。 架构方法是解决复杂性问题的有效方法,通过架构方法能够基于彼此逻辑相关且协调一 致的原则、概念和特性来创造一个全面的解决方案,进而满足系统需求集合(可追溯到业务 或使命以及利益攸关者需求)及生命周期概念(如实施、运行、支持)所表达的问题或机会,并 且可通过技术(如机械、电子、软件等)来实现。本书提出并定义了子系统/组件、可依赖性、 分布、部署、并发与资源5个视角,进而开发了候选架构的模型和视图,通过对复杂系统从 需求到功能架构、逻辑架构再到物理架构的连续传递和映射,实现从系统需求到架构实体再 到系统元素的划分、对准和分配,并建立系统设计与演进的指导原则。 传统的基于文本的系统工程已经难以满足复杂系统的开发要求,必须采用正规化的系统 建模语言对系统的需求、架构和设计进行表达,保证整个开发过程的正确性、一致性和完整 性。本书使用国际面向对象组织OMG制定的正规形式化图形建模语言SysML,对系统的需 求、功能、行为、结构进行建模。SysML遵循MOF的四层元模型框架,具备对“功能-行为- 结构”逻辑关系的描述能力。功能表达了系统为满足使命将输入转化为输出的动作以及相应 的性能,行为表达了系统功能之间的交互关系以及系统状态随时间发生的转移,结构则表达 了如何实现这些功能和行为。本书通过使用SysML语言以及图形化的建模环境,从不同维度 展现复杂系统的需求、功能、行为和结构。 本书中的另一个亮点是如何对复杂系统中的各种数据进行正确的表述,这是复杂系统工 程人员较为棘手的问题。数据是物理世界在赛博空间的映射,可以表述系统与背景环境之间 以及系统元素之间物质、能量和信息的交互过程。数据驱动的复杂系统定义必须按照由抽象 到具体、由逻辑到物理的逐步细化过程。复杂系统首先被看作一个“黑盒”,识别并定义其 与外部交互的逻辑数据和接口。然后对系统架构的备选方案进行权衡和分析,选择架构中不
I敏捷系统工程 同组件的实现方式,进而定义不同组件、不同学科之间的物理数据和接口,为基于模型的向 下游工程转交提供输入。本书提出了数据模式的概念,定义了复杂系统的逻辑数据模式和物 理数据模式,实现了机械、电子、软件等不同领域学科之间的互操作。正是由于系统模型的 建立和数据模式的定义,使得敏捷方法从软件领域被推广到多学科领域,引发了系统工程应 用模式的转型。 本书作者Bruce Powel Douglass博士是系统工程与嵌入式软件开发领域的知名专家,在该 领域拥有超过30年的工作经验。作为嵌入式系统开发的代表性人物,Buce在结构化和面向 对象方法、嵌入式系统开发、安全关键系统设计和复杂系统设计等方面都有很深的造诣。本 书以承载能力达1500千克的可穿戴式工业外骨骼机器人以及为人熟知的高端跑步机为示例, 使有大量实例阐明在应用MBSE方法中所涉及的工程流程步骤,使读者更容易掌握aMBSE 的精髓。因此,本书自出版之日起已成为Amazon网站上最畅销的科技书籍之一。 综上所述,MBSE是一种应对复杂系统的有效方法,它实现了从文本到模型、从预估到 敏捷、从软件到多学科领域的转变。通过本书的学习,可以为系统工程师提供详细的指导, 而使读者能够容易且有效地将MBSE方法应用到复杂产品开发中。 最后,感谢中国航空工业集团公司信息技术中心高星海、郄永军、常创业以及编译工作 小组在校对、版本控制等方面中付出的努力,在此表示衷心的感谢。 译者
IV 敏捷系统工程 同组件的实现方式,进而定义不同组件、不同学科之间的物理数据和接口,为基于模型的向 下游工程转交提供输入。本书提出了数据模式的概念,定义了复杂系统的逻辑数据模式和物 理数据模式,实现了机械、电子、软件等不同领域学科之间的互操作。正是由于系统模型的 建立和数据模式的定义,使得敏捷方法从软件领域被推广到多学科领域,引发了系统工程应 用模式的转型。 本书作者Bruce Powel Douglass博士是系统工程与嵌入式软件开发领域的知名专家,在该 领域拥有超过30年的工作经验。作为嵌入式系统开发的代表性人物,Bruce在结构化和面向 对象方法、嵌入式系统开发、安全关键系统设计和复杂系统设计等方面都有很深的造诣。本 书以承载能力达1500千克的可穿戴式工业外骨骼机器人以及为人熟知的高端跑步机为示例, 使有大量实例阐明在应用aMBSE方法中所涉及的工程流程步骤,使读者更容易掌握aMBSE 的精髓。因此,本书自出版之日起已成为Amazon网站上最畅销的科技书籍之一。 综上所述,aMBSE是一种应对复杂系统的有效方法,它实现了从文本到模型、从预估到 敏捷、从软件到多学科领域的转变。通过本书的学习,可以为系统工程师提供详细的指导, 而使读者能够容易且有效地将aMBSE方法应用到复杂产品开发中。 最后,感谢中国航空工业集团公司信息技术中心高星海、郄永军、常创业以及编译工作 小组在校对、版本控制等方面中付出的努力,在此表示衷心的感谢。 译者
作者简介 Bruce Powel Douglass3岁时开始自学读书,不到12岁就开始学习微积分。他14岁辍学游历 美国,几年后进入俄勒冈大学学习数学专业。他最终获得俄勒冈大学运动生理学科学硕士学位 以及USD医学院神经生理学博士学位。他在USD医学院期间提出了一个名为自相关因子分析 的数学分支,用于研究多细胞生物神经系统中的信息处理。 Buce作为软件开发人员和系统工程师在实时嵌入式系统领域己经工作超过30年,是实 时嵌入式系统领域著名的演说家、作者与顾问。他是嵌入式系统大会和UML世界大会的顾问 委员会的成员之一,并在会议上讲授过关于系统工程、项目估算和调度、项目管理、面向对 象的分析与设计、通信协议、有限状态机、设计模式以及安全性关键系统设计方面的课程。 Buce在实时系统、软件设计以及项目管理方面有多年的开发、授课与咨询经验。他还为很 多(特别是实时领域内的)杂志和期刊撰文。 Buce是IBM物联网IoT)业务部的首席布道师。作为首席布道师,除了披荆斩棘开拓道 路,他更像是一位首席科学家。Buce与UML合作伙伴在UML与SysML标准的规定方面密切 合作。他开发了用于Rhapsody建模工具的第一个DoDAF的UML概要以及其他概要,例如故 障树分析概要以及安保性分析概要。他是对象管理组组织的实时分析和设计工作组的副主 席。他还撰写了其他几本关于系统与软件开发方面的书籍,包括Doing Hard Time:Developing Real-Time Systems with UML,Objects,Frameworks and Patterns(Addison-Wesley,1999).Real- Time Design Patterns:Robust Scalable Architecture for Real-Time Systems(Addison-Wesley, 2002).Real-Time UML 3rd Edition:Advances in the UML for Real-Time Systems(Addison- Wesley,2004).Real-Time Agility(Addison-Wesley,2009)Design Patterns for Embedded Systems inC(Elsevier,,20ll)、Real-Time UML Workshop.for Embedded Systemst(Elsevier,,2014)等,以及 一本关于乒乓球方面的短篇教材。 Buce喜欢古典音乐,古典吉他弹奏水平达到专业水准。他参加过多场体育比赛,包括 乒乓球、自行车极限马拉松赛、赛跑以及全接触跆拳道,尽管目前还只是与打不还手的静物 交手。他最近重新回到三项全能运动比赛以及自行车极限马拉松赛,并在2014年首次参加了 铁人三项比赛。 Bruce在全世界进行广泛咨询与培训活动。如果你对此感兴趣,可以通过Bruce..Douglass@ us.ibm.com与他联系
作 者 简 介 Bruce Powel Douglass 3岁时开始自学读书,不到12岁就开始学习微积分。他14岁辍学游历 美国,几年后进入俄勒冈大学学习数学专业。他最终获得俄勒冈大学运动生理学科学硕士学位 以及USD医学院神经生理学博士学位。他在USD医学院期间提出了一个名为自相关因子分析 的数学分支,用于研究多细胞生物神经系统中的信息处理。 Bruce作为软件开发人员和系统工程师在实时嵌入式系统领域已经工作超过30年,是实 时嵌入式系统领域著名的演说家、作者与顾问。他是嵌入式系统大会和UML世界大会的顾问 委员会的成员之一,并在会议上讲授过关于系统工程、项目估算和调度、项目管理、面向对 象的分析与设计、通信协议、有限状态机、设计模式以及安全性关键系统设计方面的课程。 Bruce 在实时系统、软件设计以及项目管理方面有多年的开发、授课与咨询经验。他还为很 多(特别是实时领域内的)杂志和期刊撰文。 Bruce是IBM物联网(IoT)业务部的首席布道师。作为首席布道师,除了披荆斩棘开拓道 路,他更像是一位首席科学家。Bruce与UML合作伙伴在UML与SysML标准的规定方面密切 合作。他开发了用于Rhapsody建模工具的第一个DoDAF的UML概要以及其他概要,例如故 障树分析概要以及安保性分析概要。他是对象管理组组织的实时分析和设计工作组的副主 席。他还撰写了其他几本关于系统与软件开发方面的书籍,包括Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns(Addison-Wesley, 1999)、RealTime Design Patterns: Robust Scalable Architecture for Real-Time Systems(Addison-Wesley, 2002)、 Real-Time UML 3rd Edition: Advances in the UML for Real-Time Systems(AddisonWesley, 2004)、Real-Time Agility(Addison-Wesley, 2009)、Design Patterns for Embedded Systems in C(Elsevier, 2011)、 Real-Time UML Workshop for Embedded Systems(Elsevier, 2014)等,以及 一本关于乒乓球方面的短篇教材。 Bruce喜欢古典音乐,古典吉他弹奏水平达到专业水准。他参加过多场体育比赛,包括 乒乓球、自行车极限马拉松赛、赛跑以及全接触跆拳道,尽管目前还只是与打不还手的静物 交手。他最近重新回到三项全能运动比赛以及自行车极限马拉松赛,并在2014年首次参加了 铁人三项比赛。 Bruce在全世界进行广泛咨询与培训活动。如果你对此感兴趣,可以通过Bruce.Douglass@ us.ibm.com与他联系
前 言 产品的功能和复杂性正在成倍地增加,而且对这些系统的安全性、可靠性以及安保性的 关注使得这样的系统对工程师而言更加困难。同时,产品开发周期正在萎缩。很显然,变革 是需要的。我们需要能够以更少的时间制造出更有能力且缺陷更少的系统。 针对此问题,一个受到高度评价的解决方案是避免以文本作为捕获工程数据的主要手 段。虽然文本具有极好的表现力,但是它是有歧义的,而且是极其不严谨的。使用更加正规 的定义语言(这里,显然是指UML和SysML)进行建模是要力求改善特定的工程数据。只要我 们能够想出改进的方式即可。 另一个所提供的解决方案是敏捷方法。尽管敏捷方法已经开始应用于嵌入式和实时系 统,但这些方法却是由软件IT行业开发的。然而,敏捷文献(几乎)完全关注在台式机或T软 件开发上。他们考虑的开发环境(几乎)全部都是同地域小型团队的合作,并不关注安全性、 可靠性或安保性问题:而且没有与电子或机械部件的联合开发。因此,系统工程师想要知道 的是“这种方法如何适用于‘我’和我的工作”。敏捷文献没有给出答案。 有一些关于系统工程的很好的书籍,也有一些关于SysML与基于模型的系统工程 (MB$E)的很好的书籍。有许多关于软件的敏捷方法的书籍(其中一些书籍也是很好的)。然 而,目前还没有书籍来尝试将这些概念综合为一种一致且可用的系统工程方法。本书的目的 就在于满足这种需要。 我们首先简单地介绍了系统工程学科,之后又简短讨论了敏捷方法,因为它们在大多 数系统文献中都有论述,包括其益处。除前言部分外,还有一章内容关于基本的SysML。接 着,我们就开始理解如何在现实生活中应用MBSE。 本书中的方法基于作者的Harmony敏捷系统工程流程。该流程有关软件开发方面的部分 在其他文献中有详细描述①:本书仅涉及系统工程的关注点。Harmony敏捷系统工程流程是 一种敏捷的、以模型为中心的实施途径,用于开发系统工程所需的工程数据:需求、架构、 接口以及可依赖性分析是其中最重要的内容。Harmony流程是依据作者在全球范围内所指 导完成、取得飞速进展并在其他方面发挥作用的实际项目上累积的数十年系统经验提出和 完善的。 在教育工作者中有这样一种说法一“我示你看。我讲你听。你做你懂”。为此,本书 中有大量示例用于阐明执行所涉及的工程步骤的细节。这些示例涉及工程学科的多个方面, 包括软件、电子和机械工程。这些示例中的第一个示例是高瑞跑步机。第二个更复杂的示例 是能够承载1500千克的可穿戴工业用机器人外骨骼(被称为waldo)。Harmony敏捷系统工程流 程的每个主要活动都是以这些和其他示例展开讨论和演示的。我们鼓励读者针对提出的问题 构建自己的解决方案并建立这些章节中所描述的模型。 ①例如,参见Real-Time Agility(Addison-Nesley,.2OO9)或Rea-Time UML Workshop for Embedded Systems(Elsevier, 2014)
前 言 产品的功能和复杂性正在成倍地增加,而且对这些系统的安全性、可靠性以及安保性的 关注使得这样的系统对工程师而言更加困难。同时,产品开发周期正在萎缩。很显然,变革 是需要的。我们需要能够以更少的时间制造出更有能力且缺陷更少的系统。 针对此问题,一个受到高度评价的解决方案是避免以文本作为捕获工程数据的主要手 段。虽然文本具有极好的表现力,但是它是有歧义的,而且是极其不严谨的。使用更加正规 的定义语言(这里,显然是指UML和SysML)进行建模是要力求改善特定的工程数据。只要我 们能够想出改进的方式即可。 另一个所提供的解决方案是敏捷方法。尽管敏捷方法已经开始应用于嵌入式和实时系 统,但这些方法却是由软件IT行业开发的。然而,敏捷文献(几乎)完全关注在台式机或IT软 件开发上。他们考虑的开发环境(几乎)全部都是同地域小型团队的合作,并不关注安全性、 可靠性或安保性问题;而且没有与电子或机械部件的联合开发。因此,系统工程师想要知道 的是“这种方法如何适用于‘我’和我的工作”。敏捷文献没有给出答案。 有一些关于系统工程的很好的书籍,也有一些关于SysML与基于模型的系统工程 (MBSE)的很好的书籍。有许多关于软件的敏捷方法的书籍(其中一些书籍也是很好的)。然 而,目前还没有书籍来尝试将这些概念综合为一种一致且可用的系统工程方法。本书的目的 就在于满足这种需要。 我们首先简单地介绍了系统工程学科,之后又简短讨论了敏捷方法,因为它们在大多 数系统文献中都有论述,包括其益处。除前言部分外,还有一章内容关于基本的SysML。接 着,我们就开始理解如何在现实生活中应用MBSE。 本书中的方法基于作者的Harmony敏捷系统工程流程。该流程有关软件开发方面的部分 在其他文献中有详细描述a;本书仅涉及系统工程的关注点。Harmony敏捷系统工程流程是 一种敏捷的、以模型为中心的实施途径,用于开发系统工程所需的工程数据;需求、架构、 接口以及可依赖性分析是其中最重要的内容。Harmony流程是依据作者在全球范围内所指 导完成、取得飞速进展并在其他方面发挥作用的实际项目上累积的数十年系统经验提出和 完善的。 在教育工作者中有这样一种说法——“我示你看。我讲你听。你做你懂”。为此,本书 中有大量示例用于阐明执行所涉及的工程步骤的细节。这些示例涉及工程学科的多个方面, 包括软件、电子和机械工程。这些示例中的第一个示例是高端跑步机。第二个更复杂的示例 是能够承载1500千克的可穿戴工业用机器人外骨骼(被称为waldo)。Harmony敏捷系统工程流 程的每个主要活动都是以这些和其他示例展开讨论和演示的。我们鼓励读者针对提出的问题 构建自己的解决方案并建立这些章节中所描述的模型。 a 例如,参见Real-Time Agility (Addison-Wesley, 2009)或Real-Time UML Workshop for Embedded Systems(Elsevier, 2014)