1.2 系统工程概念辨析
在工程研制工作中,系统工程师需要同时面对系统使用要求不明确、技术途径不明朗、研制周期不确定等挑战,追求实现技术上合理、经济上合算、研制周期短、整体性能优化的系统研制目标。这就需要应用系统工程方法,同时采取其他技术手段和管理手段,实现整个工程技术开发过程和进度、经费和性能指标三要素的平衡进展。
在讨论系统工程具体方法之前,需要明确本书所提系统工程的内涵,澄清有关概念,这既是理解系统工程具体方法和技术的基础。
1.2.1 系统工程的概念
在国外,特别是在国外的工程领域,虽然对于Systems Engineering的定义也存在不同的描述,但它的内涵是清晰的,无论是政府机构、工业部门或者是高等院校,都是有共识的。而在我国,关于“系统工程”的内涵,却是众说纷纭。因此,首先需要明确“系统工程”的概念,将它与其他相关概念进行区分。
西方分析哲学提倡在讨论一个观点时,首先要从语言的角度对概念辨析清楚。对于中文“系统工程”这个词汇,其实它有不同的含义。如果不辨析它所指的是哪个含义,那么,对它的讨论或者争论可能就是各说各话。首先,中文的“工程”在不同的场合,可以分别对应为“engineering”或“project”,但这两个词的含义区别很大;同时,中文中表示修饰关系的结构助词“的”在很多场合可以省略,如“伟大的祖国”也可以说成“伟大祖国”。因为这两点原因,人们在讲“系统工程”时,可能是指不同的东西。在很多场合,人们将复杂的、需要用系统思维来解决的问题都称作“系统工程”,比如“××是个系统工程”,其含义是“××是个系统的工程”,这里的“系统工程”对应的英文翻译是“Sysmatic Project”,而不是“Systems Engineering”。
系统工程一般包括分析、设计、验证等工作,系统分析只是系统工程的一个步骤;系统分析的目标是提出最优的系统设计方案,而不是系统工程的全部。因此,不可以将系统分析等同于系统工程。
本书讨论的是工程实践领域的系统工程方法,是指建造和管理人工系统的方法。作为一种跨学科的方法,它从需求出发,综合多种专业技术,通过分析—综合—试验的反复迭代流程,开发出一个整体性能优化的系统。2015年,国际系统工程协会(INCOSE)发布了系统工程手册4.0版,给出的系统工程定义是:“系统工程是一种实现成功系统的跨学科的方法和途径。它专注于在开发周期的早期阶段就定义客户的需要和所需要的功能,将需求文档化,然后通过设计综合和系统确认来推进工作,同时考虑运营、成本与进度、性能、培训与支持、测试、制造、弃置等所有的问题。系统工程将所有的专业和专家群体集成为一个团队,形成一个结构化的开发过程,实现从概念到生产到运营。系统工程综合考虑所有客户的商业需求和技术要求,其目标是提供一个满足客户需要的合格产品。”
1.2.2 系统工程的内涵
钱学森提出了现代科学技术体系,其中就包括系统科学这个部类。系统科学是从系统的角度来研究客观世界的科学,分为三个层次:在工程技术层次,是系统工程;在技术科学层次,系统工程的学科基础,包括运筹学、控制论、信息论等;在基础科学层次,就是系统学。系统科学经过系统论通向马克思主义哲学。系统科学的体系结构见表1-1。
表1-1 系统科学的体系结构
根据系统科学的体系结构,系统工程是系统科学的组成部分,是系统思想在具体实践中的体现。系统工程的内涵主要从以下几个角度分析。
1.从空间角度分析
在空间角度,强调总体设计、分解与集成相结合。
从近代科学到现代科学,科学方法论经历了从还原论方法到整体论方法,再到系统论方法。系统论是整体论与还原论的辩证统一,它既要着眼于系统整体,同时也要重视系统组成部分,并把整体和部分辩证统一起来,最终是从整体上研究和解决问题,它既超越了还原论,又发展了整体论。系统论既强调对系统内部各组成部分微观机制的认识,更强调对系统组成部分、层次之间的相互联系的分析,特别是整体目标的实现。系统工程就是系统论思想的具体体现,这些工作在系统总体设计中得到体现。
总体设计首先从需求以及大系统约束条件出发,经过分析、综合得到一个初步的系统体系结构和一组性能参数,而不是一开始就陷入细节而忽略对整体的把握。然后,对一个看起来复杂的工程系统逐级分解,即根据研制对象的特点,把系统细分,直到一个易于掌控的层次,并使它们成为成千上万研制任务、参加单位和人员的具体工作。根据系统总体要求和宏观约束,逐级进行专业化的详细分析、设计,然后,再从部件、分系统到系统逐级协调、集成与试验,对系统内部的相互联系以及整体性能进行验证,最后得到满足使用要求的系统产品。系统工程方法不追求局部性能的最优,而是综合系统各方面要求以及环境条件约束,发挥设计者的聪明才智,精细设计系统各组成部分在信息、能量和物质交流界面上的协调关系,开发出满足要求、整体性能最优的系统,实现系统整体功能和性能的涌现。
对系统工程的讨论,经常引用Forsberg和Mooz的V形图来描述系统工程的分解-集成过程,如图1-1所示。
图1-1 系统开发V形图
如果在时间轴上把V形图展开(图1-2),则可以更清楚地说明在整个研制过程中系统工程总体设计、分解展开,经过部件研制试验,最后系统工程综合集成的过程。
图1-2 系统开发V形图展开图
总体设计、集成和试验是系统工程师或总体设计部的任务,他们是系统工程方法的直接实践者,是技术开发和管理的决策者。系统工程师不但要具有工程专业方面广博的知识和系统研制的实践经验,还要善于利用分析问题和解决问题的系统观点和方法。在工程系统研制流程中,系统工程师分析用户的需求,通过设计、试验逐步把需求演化为真实系统,在不同研制阶段,根据自己承担的任务范围做出正确的技术和管理决策。同样,分系统和部件研制单位也要确保满足总体对分系统提出的功能和性能要求,同时满足与其他相关分系统之间的协调关系。
2.从时间角度分析
在时间角度,覆盖系统全生存周期,分阶段开展工作。
生存周期也称为“生存周期”或“寿命周期”,对应英文为“Life Cycle”。任何一个系统都要经历从产生到消亡的历程,我们把这个历程称为系统的生存周期。对于人工系统来说,它的生存周期一般从概念研究开始,一直到退役处置。
从产生到消亡的历程中,系统的状态会发生变化。根据系统的不同状态,可以将系统的生存周期分为几个阶段,不同的阶段表示系统的不同成熟状态。在系统的不同阶段,系统的目的、形态、功能以及系统与环境的关系都有所不同,相关方对系统的需要也不同。例如,对于航天器,其生存周期是从一个新概念的诞生开始,历经设计、制造、发射和应用阶段,直到失效退役。有了生存周期的概念,就可以从宏观、全局的角度来考虑系统及其与环境的关系,以便在全生存周期内有序、充分地满足相关方的需要。系统生存周期早期的活动对于后期的结构和功能有重要影响,因此,系统的结构和功能一般在早期的生存周期阶段被定义,在早期的生存周期阶段就要考虑后续生存周期阶段的需求,以便在早期做出科学、可行、优化的决策。例如,对于人工系统来说,在概念阶段和开发阶段定义系统需求并开发系统解决方案时,就要邀请负责其他阶段研制工作的专家参与权衡分析,以便做出科学的决策,不影响生存周期后期的研制工作。
目前,不同应用领域有不同的生存周期阶段划分标准。根据ISO/IEC/IEEE 24748-1:2018,典型的系统生存周期阶段包括概念、开发、生产、使用、保障和退役六个阶段(详细介绍请见本书第3章)。
3.从逻辑角度分析
在逻辑角度,反复应用分析—设计—验证过程,将系统要求转化为系统结构。
系统开发是一个认识不断深化的过程,人们不可能一开始就对系统需求、系统结构、系统各部分之间的关系以及系统环境有明确、清晰的结论,而是要遵循理论与实践相结合、不断螺旋上升的认识过程。系统工程就以过程(Process)的形式,对系统重复开展分析—设计—验证的过程,实现对系统认识的不断深化和系统实现的持续改进。通过迭代的方式对系统不同组成部分重复应用,通过递归的方式对系统不同层级重复应用。
系统工程过程自顶层开始,最终应用于系统研制的全流程,分析—设计—验证反复进行,是逐步深化的问题解决流程。它自始至终跟踪使用要求,把要求逐步转化为系统规范和一个相应的体系结构。不同的标准定义了不同的系统工程过程,参照 ISO/IEC/IEEE 15288:2015的规定,系统工程过程包括技术过程、技术管理过程、组织的项目使能过程和协议过程四大类(详细介绍见本书第4~9章)。
4.从方法角度分析
在方法角度,定性方法与定量方法相结合,重视建模与仿真。
在对系统定性认识的基础上,对系统进行科学的定量描述,也是系统工程的基本方法。定性描述是定量描述的基础,定量描述为进一步深入地定性分析服务。
建模与仿真是现代系统工程不可或缺的手段。首先,需要利用已知的基本科学定律,经过分析和演绎建立系统的模型,然后把系统的模型转化为仿真模型,进行仿真试验。建模和仿真可以使系统设计人员在计算机上对设想的或者真实的系统进行设计和试验,定量地分析系统性能,准确地预测系统行为,从而对选定的方案给出总体评价,指导进一步的优化方案和参数,避免设计失误,实现最优。
1.2.3 系统工程的相关术语
为了明确本书所提“系统工程”的内涵,本节将进一步解释相关术语。
1.系统(System)
系统(System)是由相互作用和相互依赖的若干组成部分结合成的具有特定功能的有机整体。理解“系统”这一术语的关键有三点:
1)它至少包含两个组成部分。
2)组成部分之间存在关联关系。
3)由于组成部分之间的相互关系,使得系统的功能不等于所有组成部分功能的累加,而是会涌现出新的功能。
系统可以被划分为多个层级,常见系统层级划分如图1-3所示。
图1-3 常见系统层级划分
系统的价值不在于形式,而在于功能,在于形式所承载的功能。图1-3的树状结构有时被称为产品分解结构(Product Breakdown Structure,PBS)。系统的功能可以用功能分解结构(Function Breakdown Structure,FBS)描述。因为形式承载着功能,所以FBS与PBS之间存在映射关系。事实上也可以按照FBS划分系统的层级,尤其是软件密集型系统,按照FBS划分系统的层级更利于对某些技术问题的理解。FBS与PBS之间不同的映射关系(图1-4)即不同的系统架构(Architecture)。
图1-4 FBS与PBS之间的映射关系
2.工程(Engineering)
工程(Engineering)一词最早产生于18世纪的欧洲,本来专指作战兵器的制造和执行服务于军事目的的工作,后扩展到许多领域,如制造机器、架桥修路等。工程以集成建造为核心、以新的存在物为标志,着重解决“做出了什么”的问题,强调改造客观世界的实际效果。工程活动由产品驱使,主要社会角色是工程师。工程活动的成果主要是各类人工系统。将实际改造世界的物质实践活动和建造实施过程知识化,形成的就是工程方法,是一种面向实践的技能和方法,主要成果形式是工程原理、设计和施工方案等。工科高等院校里的工程学科专业,例如,电子工程、机械工程和软件工程等,传授与研究的就是我们非常熟悉的关于工程的技能和方法,培养的就是各个方面的工程师。
3.体系(System of Systems,SoS)
近年来,人们所研究和建造的系统的规模和复杂性不断增大,人们就用“体系”来描述这类系统。体系(System of Systems,SoS,也译为“系统之系统”)是指系统的组成部分是管理上和(或)运营上相互独立的系统。SoS由成员系统组成,系统由组成部分组成;SoS和系统都具有涌现性。SoS与系统有相似之处,又有显著的差别。两者之间的简要对比见表1-2。
表1-2 系统与SoS的简要对比
SoS具有以下特征:
1)SoS内的成员系统可独立运行,同时又相互关联,共同发挥作用。
2)成员系统具有各自的生存周期。一些成员系统可能在其生存周期的研发过程中,而另一些则已经进入运行阶段。在极端的例子中,SoS中老的成员系统可能已经列入退役时间表,而此时新的成员系统还未开始。SoS类似不断新陈代谢的有机体,也像一个俱乐部,不时有新成员加入,也时有成员退出。
3)SoS的初期需求通常不太明确,对SoS的需求随着成员系统的成熟而成熟。
4)SoS的复杂性是一个重要问题。随着成员系统的增加,SoS的复杂性以非线性的方式增长。更为严重的是,相互冲突或缺乏数据接口标准可能使通过成员系统接口进行数据交换变得十分困难。
5)管理问题困扰整个SoS。每个成员系统都有自己对应的项目,需求协调、预算限制、进度、接口和技术升级更加剧了SoS的复杂性。
6)SoS的边界是模糊的,甚至是开放的。除非某个人能定义和控制SoS的范围,并管理成员系统的边界,否则没有人能够控制外部接口的定义。
7)SoS工程永远不会完工。即使SoS的所有成员系统都已经开始,项目管理也必须继续考虑不同成员系统生存周期的变化,如新技术会给一个或多个成员系统带来影响,引发对成员系统开展技术升级。
8)SoS的目的是不稳定的,是“善变”的。
4.系统思维(Systems Thinking)
系统思维(Systems Thinking),也被称为系统思考,是把认识对象作为系统,从系统和组成部分、组成部分和组成部分、系统和环境的相互联系、相互作用中综合地考察认识对象的一种思维方法。系统思维注重从整体出发考虑问题,避免片面和近视的局部思维方式,加强顶层设计和整体谋划;同时处理好方方面面的关系,解决好各项措施之间的关联性和耦合性。
在构造复杂系统或提供复杂服务时,企业所面对的问题都不是单一的问题,也不是相互孤立的问题。问题往往有多个层级且数量较多,问题之间存在广泛的联系。把所面对的问题集合看作整体系统,把其中的单一问题看作是系统的组成部分,一组单一问题相互关联构成整体问题,这就是所谓的“把问题看作是系统”的思维方式。如果把问题看作是系统,那么构造系统的方法与认识问题、分析问题和解决问题的方法就能统一了。系统思维的关键是关注“整体”,并且关注“关联关系”。“不谋全局者,不足谋一域”是对系统思维中关注整体思想的准确诠释。
另外半句话“不谋万世者,不足谋一时”也与系统工程关注全生存周期的思想是一致的。
经常有人说“我们要用系统工程思想,把这个项目做好”。这句话中所说的“系统工程思想”,其实是“系统思维”或者“系统的观点和方法”。
5.项目管理(Project Management)
人们经常将“系统工程”与“项目管理”混淆,因此,在此做进一步的探讨。
(1)性质不同 项目管理是为创造独特的产品、服务或成果而进行的临时性工作。而系统工程是研制出一个满足用户需求的复杂系统产品(如飞机、卫星、轮船和手机等)的方法和途径。
(2)关注点和成功判据不同 系统工程关注的重点是被研制的复杂技术“系统”本身。也就是说,系统工程是“产品导向”的,系统工程的成功判据是研制出的系统是否达到了功能和性能的指标,是否满足用户的期望与需求。而项目管理是“工作导向”的,项目管理致力于项目的全面成功;除了产品功能、性能技术指标外,项目的成功还需要考察投入成本、研制进度以及客户满意度等关键成功要素。
(3)生存周期不完全相同 系统工程讨论的生存周期,是以被研制的“系统”为关注点,可以说是产品的生存周期,因此系统生存周期是按照系统在不同阶段的不同形态划分的。而项目更多是以“工作”为视角,按照每个阶段不同的工作内容来划分阶段。
(4)负责人不同 系统工程由系统工程师负责,项目管理由项目经理负责。系统工程师是项目中的技术负责人,对产品能否达到指标、满足用户要求负责;而项目经理对实现项目总目标负全责。系统工程师应在项目经理的领导和支持下,在项目的约束条件(经费、进度、资源、风险等)下确定技术方案,完成研制工作;而项目经理要对系统工程师提供“人、财、物”等的支持,保证技术工作顺利开展。
项目管理为了保持其通用性而不涉及技术,因此几乎所有项目管理书籍都不探讨技术管理,不涉及系统工程。但是在实践中,认为进行项目管理就是实施了系统工程,或者加强系统工程就是注重项目管理,这些观点都是错误的,这样都可能会因为忽视总体技术而导致技术研制工作面临巨大风险。
常见的问题是,项目所研制的每个部件、每个分系统都是合格的甚至是性能优良的产品,但是要么集成不到一起以形成系统,要么集成到一起的系统不能正常工作或者不能满足系统整体指标要求。因此,在工程项目的实施中必须贯彻系统工程方法,强调总体技术。美国国防部规定所有的工程项目,都必须采用严格的系统工程方法。
项目管理致力于项目的全面成功。除了系统工程关注的产品功能、性能技术指标外,项目的成功还需要考察与技术指标相互影响、相互制约的投入成本、实施进度甚至客户满意度等关键成功要素。在此基础上,还要进一步关注与外部的竞争合作关系、对内部战略规划的支撑作用、组织治理和文化等其他绩效指标,这些内容并不是系统工程方法关心和能解决的。
如果只关注通过系统工程完成产品本身的研制成功,而忽视了项目的多重制约因素,也将导致严重的后果。例如,一个达到技术指标但经费严重超支、进度远远落后的产品,无论是面向战场的武器装备,还是面向市场的智能电子产品,都将面临失败。
因此,NASA强调,应自觉将系统工程置于项目管理的背景下,在项目各制约因素下实践系统工程方法;同时,项目管理也应在“人、财、物”等方面为系统工程实践提供有力支撑。项目管理与系统工程不是两个独立的方法体系,国际上的相关组织也在积极研究如何通过协调项目经理和系统工程师的角色,更好地确保项目的成功。