基本信息
- 原书名:SysML Distilled: A Brief Guide to the Systems Modeling Language
- 原出版社: Addison-Wesley Professional
- 作者: (美)Lenny Delligatti
- 译者: 侯伯薇 朱艳兰
- 丛书名: 软件工程技术丛书
- 出版社:机械工业出版社
- ISBN:9787111484585
- 上架时间:2021-12-24
- 出版日期:2015 年1月
- 开本:16开
- 页码:189
- 版次:1-2
- 所属分类:计算机 > 软件工程及软件方法学 > 软件方法/软件工程

编辑推荐
\t点击查看:
\t
《SysML精粹》全书延续了Martin Fowler经典的《UML精粹》的风格,能够快速告诉你在开始的时候需要知道哪些知识,随着需求的出现,会帮助你不断深化你的知识。像SysML本身一样,这本书和方法无关,旨在支持你已经使用的所有流程、过程和工具。
《SysML精粹》作者以清晰、简洁的术语介绍SysML图的基础知识,通过实例阐明如何创建有效的SysML模型,涵盖SysML的核心组件,并以幽默诙谐的方式给出许多切实可行的建议,以帮助读者创建好的模型和好的设计。
内容简介
计算机书籍
本书延续了Martin Fowler经典的《UML精粹》的风格,能够快速告诉你在开始的时候需要知道哪些知识,随着需求的出现,会帮助你不断深化你的知识。像SysML本身一样,这本书和方法无关,旨在支持你已经使用的所有流程、过程和工具。
作者以清晰、简洁的语言介绍SysML图的基础知识,通过实例阐明如何创建有效的SysML模型,涵盖SysML的核心组件,并以幽默诙谐的方式给出许多切实可行的建议,以帮助读者创建好的模型和好的设计。
本书共12章。第1章介绍基于模型的系统工程(MBSE)的概念,并提供学习SysML的情境和业务案例。第2章讨论为什么创建SysML,并介绍可以创建的9种SysML图。第3~11章详细说明了9种SysML图(模块定义图、内部模块图、用例图、活动图、序列图、状态机图、参数图、包图、需求图)的细节,介绍可以在其中显示的元素和关系。第12章介绍分配的概念——它是可以用于横跨9种SysML图关联元素的一种关系。
作译者
Lenny是一位高级系统工程师,和Lockheed Martin一起创建了SysML模型,并在约翰逊航天中心的NASA任务控制中心:21世纪(MCC-21)项目中担任MBSE主管。他之前曾经在NASA的飞行器模拟项目(Aircraft Simulation Program,ASP)中担任嵌入式软件工程师,为NASA构建了VxWorks内核,并为Gulfstream II空间火箭模拟器编写了飞行软件。他还在卡耐基梅隆大学空间机器人中心的Nomad项目中担任软件工程师,为Nomad自动漫游者设计和开发传感器管理子系统。
Lenny是对象管理组织(OMG)SysML修订任务团队(RTF)以及OCUP2认证开发团队的成员。他还是国际系统工程委员会(INCOSE)得克萨斯州海湾分部(TGCC)的教育和外联总监,为休斯敦地区的系统工程社区提供专业发展支持。
除了他的工程经验之外,Lenny还曾担任过美国海军的水面作战指挥官,完成过对任务支持的部署,出过两次任务,分别位于日本的佐世保和弗吉尼亚的诺福克。在海军服过兵役之后,他在Old Dominion大学接受了教育学方面的正式培训,并获得了弗吉尼亚州的数学教师资格证书。在转回工程领域并搬到得克萨斯的休斯敦之前,他在Fairfax公立学校系统中担任过数学教师和系主任。
Lenny对工程学充满热情,乐于帮助工程师开发出更有效的方式来完成工程。他曾为数百位系统和软件工程师创建并提供了上百小时的课程,内容主题包括UML、SysML、MBSE,帮助很多人获得了OMG认证,并教会他们在项目中使用MBSE。他还曾在INCOCE会议以及约翰逊航天中心的美国航天航空公司(AIAA)技术大会上发表SysML和MBSE方面的演讲。
目录
本书赞誉
译者序
序一
序二
前言
作者简介
第1章基于模型的系统工程概览1
1.1 什么是MBSE1
1.2 MBSE的三大支柱4
1.2.1 建模语言4
1.2.2 建模方法4
1.2.3 建模工具6
1.3 MBSE迷思7
小结8
第2章系统建模语言概览9
2.1 SysML是什么,不是什么9
2.2 SysML确实基于UML—但你可以从SysML开始10
2.3 SysML图概览11
2.4 通用的图概念13
译者序
当看到这本书的时候,我才发现系统工程师并不是那么简单。真正意义上的系统工程师要比当初那个职位的意义丰富很多。最重要的就是,系统工程师要创建并维护系统的模型。而软件项目中的系统局限在软件系统的范围之内,其实在很多领域中都会有系统,因此在更多的领域中都会有系统工程师这个重要的角色存在。
在敏捷还没有像现在这么流行的时候,我们的软件开发过程还是遵循瀑布式的流程,需求分析,概要设计,详细设计,编码,测试,一个一个步骤按部就班地进行,而且每个阶段都会有完备的文档作为产出物,下一个阶段会以上一个阶段的产出物作为输入。然而,相信经历过这类流程的朋友都会有过很惨痛甚至于不堪回首的体会,那就是在出现需求变更的时候,我们不得不把所有的文档都修改一遍,当然,也包括我们作为最终产出物的代码。所以,那个时候,需求变更真的是所有项目成员的噩梦。
究其原因,就是因为当时对系统的所有记录都是基于文档的,所以每次变更都会导致所有文档的变更,我们不得不深入到每个部分去做修改,而即便如此,也难免会有遗漏和错误的情况发生。
本书介绍了和基于文档的系统工程完全不同的方式—基于模型的系统工程,这对系统工程师来说是一大福音,特别是对于需求变更非常频繁的软件行业的从业者来说更是如此。
书中首先就说明了基于模型的系统工程方法,并与基于文档的方法做了对比,这样就从根本上解决了出现变更时所需要解决的问题。当需求发生变更的时候,我们不再需要把所有文档都翻出来修改一遍,而是只需要修改一下模型,当需要文档的时候,都是从模型直接生成,这样就不需要到处修改了。
除此之外,书中还详细介绍了各种图,让读者可以在读过之后就了解如何创建SysML表述的模型,所有内容都不依赖于特殊的建模工具,所以读者不必担心对自己选择的工具不适用。此外,图书的网站上还提供了适用于各种工具的示例,结合阅读这本书,读者可以更好地了解SysML。
SysML中的各种图和UML很类似,而本书的编写风格和经典的《UML精粹》又非常类似,所以,如果你读过关于UML的那本著作,那么阅读这本书就会有驾轻就熟的感觉,由此也看出作者是多么体贴和用心。
总之,对系统工程师们来说,不管是属于软件系统领域还是属于其他领域,本书都非常有价值,我们既可以把它当成教程从头至尾仔细阅读,也可以将其作为手册放在手边随时拿过来作为参考。
愿系统工程师朋友们享受阅读本书以及使用SysML的快乐!
侯伯薇
前言
你可以选择把本书作为必备参考书,当遇到难题并且快到最后期限的时候随手翻阅。或者你可以选择每次深入阅读一章,为即将到来的工作向你的工具箱添加新的建模技能。或者你可以选择逐页阅读,从而为OMG认证系统建模专家(OCSMP,OMG Certified Systems Modeling Professional)的前两级认证—OCSMP模型用户和OCSMP模型构建者:基础—做准备。本书的设计可以满足你所有这些方面的要求。
本书读者对象
SysML是一种图形建模语言,可以使用它来可视化并沟通各种规模的社会技术(sociotechnical)系统的设计—由硬件、软件、数据、人和过程组成的系统。系统工程师会负责对社会技术系统进行规范、分析、设计、验证和检验。因此,系统工程师以及系统工程的学生是本书的目标读者。
但这样说十分笼统。很多作者和老师都说过:一切都是系统。让我来补充一下:一切工程师都是系统工程师。不管你的领域和工作职责是什么,你都可能会执行我提到的某些或者全部系统工程任务。这本书的前提是,相对于通过非标准化的沟通模式,加上一系列文档和图,通过集成的SysML模型的标准化媒介,可以更有效地执行这些活动。你是一名系统工程师,你想要更有效地完成工作。因此你也是这本书的目标读者。
在阅读本书之前需要了解什么呢?你应该至少对系统叙述、分析、设计、验证和检验有概念性的了解。提前知道其中包括这些活动,会帮助你内化SysML能够帮助你更好完成这些活动的方式。国际系统工程委员会(International Council On Systems Engineering,INCOSE)的《系统工程手册》(Systems Engineering Handbook)是本权威的参考书。
在阅读本书之前,你并不需要在建模语言方面有任何经验。你可能已经知道,SysML基于统一建模语言(UML)。事实上,你可能已经读过Martin Fowler的《UML精粹》。我把本书设计为系统工程师的必备书,他们需要在软件系统(创建UML的原因)之外更广泛的领域进行系统建模。因此,你不需要了解UML对作为阅读本书的前提。本书的结构和内容使得阅读它本身就足以学习SysML了。
本书结构
本书包含12章以及2个附录。第1章介绍了基于模型的系统工程(Model Based Systems Engineering,MBSE)的概念,并提供了学习SysML的情境和业务案例。第2章讨论了为什么创建SysML,并介绍了可以创建的9种SysML图。第2章还提到了能够应用在所有9种图上的通用概念。
第3~11章详细说明了每种SysML图的细节,介绍了可以在其中显示的元素和关系。尽管能够在这些图上显示的元素和关系种类偶尔有重复,但我还是每次在一章中专注于一个图,以有效地把相关的观点分组,帮助你在需要的时候更容易定位特定主题。第3~11章分别介绍以下SysML图。
模块定义图
内部模块图
用例图
活动图
序列图
状态机图
参数图
包图
需求图
最后一章也就是第12章,介绍了分配的概念—它是可以横跨所有9种SysML图关联元素的一种关系。
序言
系统工程这个学科很难讲授。在职业生涯早期,就有人向我强调,我们无法在教室中学习系统工程,而只能通过实践学习。尽管这种说法并没有得到明确验证,但在系统工程实践中,确实有些概念很微妙,而且晦涩难解。
在模型中表达这些概念需要一种合适而健壮的语言,于是我们这群人于2002年早期开始专门做这方面的工作,SysML由此而来。在设计这种语言的时候,我们试图让它足够简洁和直接,特地把这种语言的目的设定为用于系统工程实践。我确信我们创建的语言既灵活又实用。我很高兴它已经成为沟通系统相关想法的领域标准。
然而,就像系统工程实践一样,我们发现SysML也很难有效地讲授。系统工程涉及的范围很广泛,尽管SysML是一种相对简洁的语言,但同学们还是经常会因为其复杂性而手足无措。学习SysML和基于模型的系统工程的资源现在还相对有限,但已经在逐步丰富。某些大学以及教育机构,已经在定期讲授正式的MBSE和SysML课程,而且现在已经有了至少一本综合性的教材。
但想要偶尔抽时间学习SysML基础知识的工程师和经理可能不会去上课。高级系统工程师也会忙于期限紧张的项目,而没有时间去上课。对于上述两种情况,这本书都价值非凡。
这本书和Martin Fowler的畅销书《UML精粹》结构类似,它以清晰、简洁的术语介绍了SysML图的基础知识。它以轻量级的非正式方式编写,但传递了每种概念的主旨以及图形化的表示方法。关于这本书我最喜欢的一点就是,它会让我手不释卷,而不会陷入到“元说法”和“UML主义”中。书中有很多有趣且切实可行的建议。
这并不是一本应用SysML或者部署MBSE的教材和指导书籍,也不会详细解释每个系统工程概念的方法论原理。尽管它没有在各个章节中使用一系列一致的例子,但也不会仅仅带着读者浏览任何特定的MBSE过程。它不是一本工作手册,没有包含问题,也没有让读者解决的示例练习。作为SysML的使用者或者高级的MBSE实践者,你可能最终需要其他资源,但这本书是个非常不错的开端。
这本书是一本有干货、可以自主学习、轻量级的SysML参考指南。世界对其充满期待。
Rick Steiner
《A Practical Guide to SysML》合著者
序二
采用新技术要花时间
我很幸运能够在20世纪70、80年代技术及实业领域最好的大学之一读书。正如史蒂夫·乔布斯所说,未来是发明出来的,而不是发现出来的。在那所大学中,黑客们通宵达旦,帮助世界创建了雷达、闪光摄影术以及因特网。那些技术有助于改变世界;更重要的是,人们创建了很多公司和其他组织来使用那些技术,经济也随之繁荣起来。计算爆炸从20世纪60年代开始,到1980年在麻省理工结束。
我在学术领域最早的贡献是在麻省理工的11年间做出的,随着我在学术上的兴趣转移和改变,贡献也有了变化,它从人工智能领域开始(最早关注于手写识别技术),在研究生阶段转移到计算系统架构,最终是二者的融合。我在所关注领域做出的贡献,当我还在MIT的时候就已经被五家创业公司采用(尽管可能那是我在MIT期间做出的一个大贡献),但不仅限于那些。人工智能先驱—像Symbolics和金山计算机—对我关于应用技术的理解都非常重要;我自己的创业公司,A.I. Architects(其中有我所见过的最好的系统工程师),也非常依赖于一种冲突,那就是对人工智能的需求和早期个人电脑有限的计算能力之间的冲突。
我在这段时间产生的最重要的认识可能是,使技术从实验室进入实际生产的时间花销,要比任何学术领域想象的还要多。20世纪80年代的专家系统,现在是诊断系统以及世界范围内其他系统的主要补充(尽管一般来说要使用“基于规则的系统”的标记),很明显基于20世纪60年代PLANNER和CONNIVER之类的系统。20年看起来像是弹指一挥间;让一种技术经过工程需求的检验,足够稳定,并在工业范围成为一种方法,然后再面向市场生产和整合,都需要花费大量时间。
OMG敬畏的对象
不管怎样,当对象管理组织(Object Management Group,OMG)在1989年创建的时候,人们承诺对象技术和分布式对象将会改变计算领域的面貌。随着因特网慢慢变成3维网,人们开始看清,一致、标准化的中间件对于让集成—不仅仅是世界范围内的文字页面,还包括应用程序的互操作性—更可能成为现实。“混合”全世界计算能力和数据源的能力(正如我们在20年后所说的),以及使用标准化API和在线协议,要比面向对象的方法更简单。
尽管OMG在最初做得不错,没有大肆宣传,避免了20世纪80年代由于过分宣传AI市场而导致的“人工智能的冬天”,但它对于采用技术需要花费的时间似乎认识不够。在“混合”真正成为现实之前可能需要15到20年,而面向对象语言(最初是C++,它本身就是从Simular发展了20年的产物;现在是Java、C#和Ruby-on-Rails)会渗透到计算领域中。像所有技术一样,OMG敬畏的对象会成为世界各地软件开发者所使用的日常工具,但那会花费很多年。
建模造就内行
媒体评论
——Jeff Estefan,NASA喷射推进实验室首席工程师
“像SysML这样的建模语言的强大之处在于,它不仅可以促进系统工程师之间的沟通,还可以促进跨规则以及跨开发生命周期的沟通。很多语言都具有改善沟通的潜力,但由于缺少有效的指导,它们都很难达到那个目的。在本书中,Lenny把恰到好处的技术和一般通用方法结合,从而让SysML实现那种沟通。我在过去30多年间曾经参与过很多领域的系统和软件工程,并且还在很多组织和大学中讲授过计算机语言、UML和SysML,我发现Lenny的书籍是无价之宝。他清晰地展现了那些概念,并提供了有用且注重实效的实例,让你快速入门并能够成为有效的建模者。”
——Thomas W. Fargnoli,洛克希德马丁公司工程技术领导成员
“这本书对SysML提供了非常棒的介绍。Lenny的说明非常简洁且易于理解;例子非常透彻且有趣。”
——Susanne Sherba,丹佛大学计算机科学系高级讲师
“Lenny的这本书既可以作为SysML的参考书来查阅,也可以作为一本有趣的书来完整阅读,从而帮助我们学习这种语言。它是一本好书,秉承了著名的《UML精粹》的风格。”
——Tim Weilkiens,oose公司CEO
“这本书比单纯的PPT具有更多的信息量,却没有OMG规格说明那么枯燥。它为从业的系统工程师提供了学习纯粹的OMG SysML所需要的动机、概念和标识法,从而更流畅地使用图形化语言来编写规格说明,并分析他们复杂的实际系统。”
——Lonnie VanZandt,No Magic公司首席架构师
“Lenny的这本书是最适用的一本书;它浓缩了讲授和在业界环境中使用SysML的精华经验。作者为这种强大且复杂的建模语言提供了非常清晰且可读的视图,通过易于模仿的实际例子说明了它的用法。尽管最初它的目的是介绍SysML,但我毫无疑问可以把它作为资深实践者的随身参考。”
——Bran Selic,Malina软件公司总裁
“SysML是一种让人望而生畏的建模语言,但在这本书里,Lenny让它变得非常易于理解,而书中的建议会帮助实践者避免各种各样的陷阱,帮助他们领会并应用SysML的核心元素以及精神。如果你计划应用SysML,那么这本书就是你所需要的!”
——Celso Gonzalez,IBM Rational团队高级开发人员
“本书对于开始钻研基于模型的系统工程的工程师来说是一本非常棒的书。空间系统示例以简单而有效的方式记录了状况,并说明了概念。”
——Matthew C. Hause,OMG UPDM小组首席顾问工程师
“从20世纪90年代开始我就深入参与到OMG中,但我的专业需求并没有让我过多接触SysML领域。所以我觉得自己应该是Lenny的书很好的beta测试员。让我高兴的是,通过阅读这本书我学到了很多知识,并且知道你也会一样。”
——Doug Tolbert,Unisys的杰出工程师,OMG委员会成员,架构委员会总监
“本书对基于模型的系统工程的语言组件提供了清晰且易于理解的描述,同时对于在哪里找到工具和方法组件相关的信息提供了建议。本书处处都能够证明,作者对SysML以及它在系统开发过程中的应用都有非常深入的理解。我肯定会在自己讲授的MBSE课程中使用它作为教科书。”
——J. D. Baker,OCUP,OCSMP,OMG架构委员会成员