01 / 導讀
導讀
引用
Crawley, E., Cameron, B., & Selva, D. (2015). System Architecture: Strategy and Product Development for Complex Systems. Pearson.
章節概要
全書分四個部分,共 16 章,另有附錄、章末習題和索引。Pearson 把系統架構描述為對複雜系統中早期決策的研究:如何把關於早期決策的經驗與分析記錄下來,以及如何選擇能滿足利益相關者需求、易於整合並能靈活演化的架構。出版社還補充說,從混合動力汽車到通訊網路再到飛機,由一線從業者撰寫的案例研究展示了這門學問的科學與藝術兩面。四個部分依次是:思維方式、對既有架構的分析、架構的建立,最後是把架構當作一系列決策來處理。
第一部分,第 1–3 章:System Thinking(系統思維)
第 1 章“Introduction to System Architecture”講複雜系統的架構、良好架構的優勢、學習目標和全書的組織。第 2 章“System Thinking”引入系統與湧現,然後依次完成四項任務:識別系統及其形式(form)與功能(function);識別其實體及它們的形式與功能;識別實體之間的關係;考察湧現。第 3 章“Thinking about Complex Systems”涉及複雜性、系統分解、特殊邏輯關係,以及對複雜系統進行推理的方法,最後介紹架構表示工具 SysML 與 OPM。
第二部分,第 4–8 章:Analysis of System Architecture(系統架構分析)
第 4 章“Form”考察架構中的形式、對形式及形式關係的分析、形式語境,以及軟體系統中的形式。第 5 章“Function”處理外部功能與價值、內部功能、功能互動與功能架構,以及與價值相關的次要功能。第 6 章“System Architecture”把形式與功能結合起來,並加入非理想性、支撐層與介面、執行行為,以及藉助表示進行推理。第 7 章“Solution-Neutral Function and Concepts”由識別與方案無關的功能,進入概念、整合概念,以及執行概念與服務。第 8 章“From Concept to Architecture”展開第 1 層和第 2 層架構,以家庭資料網路為例,並說明如何對系統進行模組化。
第三部分,第 9–13 章:Creating System Architecture(建立系統架構)
第 9 章“The Role of the Architect”討論模糊性與產品開發過程。第 10 章“Upstream and Downstream Influences on System Architecture”列出上游影響(企業戰略、市場行銷、法規和技術匯入)與下游影響(實現、執行、面向 X 的設計,以及產品和系統的演化),最後是架構商業論證決策(Architecture Business Case Decision)。第 11 章“Translating Needs into Goals”講識別受益者與利益相關者、刻畫需求、把需求解讀為目標並對目標排序。第 12 章“Applying Creativity to Generating a Concept”由創造力出發,到概念的發展、擴充套件、完善與選擇。第 13 章“Decomposition as a Tool for Managing Complexity”論述對複雜性的理解與管理。
第四部分,第 14–16 章:Architecture as Decisions(作為決策的架構)
第 14 章“System Architecture as a Decision-Making Process”從阿波羅架構決策問題的表述開始,繼而介紹決策支援工具。第 15 章“Reasoning about Architectural Tradespaces”涉及權衡空間的基礎、帕累托前沿、權衡空間的結構、靈敏度分析,以及架構決策的組織。第 16 章“Formulating and Solving System Architecture Optimization Problems”表述這類問題,處理一個示例(NASA 的地球觀測衛星系統 NEOSS),考察架構決策中的模式與大規模問題,再進入求解方法。
核心概念
第一部分:系統思維
- 湧現:系統中由實體之間的關係而非任何單個實體產生的行為。
- 形式與功能:系統是什麼、做什麼這兩種視角,本書的架構分析即由此構建。
- 分解與複雜性:系統如何被劃分為部分,以及這種劃分如何管理或掩蓋複雜性。
- SysML 與 OPM:表示架構的兩種建模語言。
第二部分:分析
- 外部功能與價值:系統為外部物件所做的事,以及由此創造的價值。
- 與方案無關的功能與概念:不規定如何實現的“必須做什麼”的陳述,以及提出如何實現的概念。
- 整合概念與執行概念:把若干概念組合為整體,以及對系統如何被使用的描述。
- 模組化:在架構的各個層次上把系統的元素歸入模組。
第三至第四部分:建立與決策
- 利益相關者、需求與目標:從受影響的人,經過他們的需求,到排好優先順序的目標這一鏈條。
- 上游與下游影響:架構之前的戰略、營銷、法規和技術,以及架構之後的實現、執行、面向 X 的設計和演化。
- 權衡空間與帕累托前沿:按屬性繪出的可能架構的集合,以及不被其他架構支配的子集。
- 靈敏度分析:檢驗假設變化時結論如何變化。
- 架構最佳化:把架構的選擇表述為最佳化問題並加以求解。
評析
優點
- 從第一性原理建立的詞彙。 第 2 至 8 章按既定順序構建形式、功能、概念和架構,第 2 章還有四項明確的任務,讀者在被要求去設計之前,先獲得了一種描述任何系統的一致方式。
- 既有人的一面也有定量的一面。 第三部分討論架構師的角色、戰略、營銷、法規和利益相關者需求,第四部分則轉向決策支援、權衡空間和最佳化。
- 來自實踐的案例。 目錄中列出了家庭資料網路、阿波羅架構決策和 NEOSS 地球觀測衛星系統作為例項,Pearson 還強調由一線從業者撰寫的案例研究,涉及混合動力汽車、通訊網路和飛機。
- 教學輔助。 大多數章節以引言開頭,以小結和參考文獻結尾,書中還附有章末習題部分。
侷限
- 範圍專門。 Pearson 將本書定位為面向工程與技術管理課程。本書關注的是早期架構決策,而不是需求管理、詳細設計、驗證或專案管理,這些只在第 10 章中作為上游和下游影響出現。
- 要求較高的最後一部分。 第 14 至 16 章轉向決策理論、帕累托分析和形式化最佳化,因此用到了較早章節標題中沒有顯示的定量方法(帕累托分析、靈敏度分析、最佳化)。
- 表示工具只佔一節。 SysML 和 OPM 僅出現在第 3 章的一節(3.6)中,想學習某種建模語言的讀者需要另找資料。
- 通向創造性章節的路徑較長。 概念生成(第 12 章)和架構師角色(第 9 章)排在八章分析之後,這適合課程,但對想直接進入實踐的從業者可能顯得慢。
在課程中的定位
這是系統工程書單中以架構為中心的教材,最好在一般性入門之後閱讀。Holt 的 Systems Engineering Demystified 是使用 SysML 圖的實用入門,Dym、Little 和 Orwin 的 Engineering Design: A Project-Based Introduction 是設計方法論與問題求解的寬泛入門。Kossiakoff 等人的 Systems Engineering Principles and Practice 與 Blanchard 和 Fabrycky 的 Systems Engineering and Analysis 都沿著系統的生命週期展開,提供了說明架構處於何處的過程與工具框架。
Buede 與 Miller 的 The Engineering Design of Systems 是最接近的鄰居:它是基於模型的論述,由利益相關者需求和需求出發,經過功能架構與物理架構,直到整合與合格鑑定。Crawley、Cameron 和 Selva 更深入地講形式、功能和概念,以及作為帶權衡空間與最佳化的決策問題的架構,而 Buede 與 Miller 則涵蓋更寬的工程設計過程。兩者互補,研究生課程可以用一本講過程,用另一本講架構。
如何使用本書
本書面向有開發專案經驗、瞭解需求和分解等基本系統工程概念的研究生和技術管理方向的工程師。Pearson 將其定位為面向工程與技術管理的課程。
一個實用的讀法如下:
- 核心: 第 2、4、5、6 章,它們建立起全書各處使用的形式與功能詞彙;然後是講概念與架構的第 7、8 章。
- 專案類課程: 第 9 至 12 章,涉及架構師的角色、各種影響因素、利益相關者需求和概念生成。
- 偏定量的讀者: 第 14 至 16 章,涉及決策、權衡空間與最佳化;把第 16 章的 NEOSS 示例從問題表述到求解完整地做一遍。
- 配合使用: 選一個真實產品,在往下讀之前,先對它應用第 2 章的四項任務及形式與功能分析,並用章末習題檢查每一步。
