1、系統工程 (Systems Engineering),設計(design)、實作(implement)、建置(deploy)及操作(operate)包括軟/硬體(h/w & s/w)及人員(people)的系統,主題,衍生的系統特性(emergent system properties)系統及其環境(systems and their environment)系統塑模(system modelling)系統工程行程(system engineering process)系統採購(system procurement),何謂系統?,集合一些相關(inter-related)組件為達到相同目標(c
2、ommon objective)而共同合作一個系統可能包括軟體(software)、機械(mechanical)、電機及電子硬體(electrical and electronic hardware)並且可以讓人操作 系統組件的性質和行為是混合交錯的(inter-mingled),系統工程的問題,系統工程需要協調跨專業的技術(co-ordination across disciplines )可能需要在不同元件間(across components)做取捨(trade-off)不同領域間通常缺乏互信(mutual distrust)與瞭解(lack of understanding )系統必須
3、設計成可以在變更的環境(changing environment)中持續運作多年,軟體和系統工程,在系統裡的軟體比例持續增加 以軟體驅動(software-driven)的通用電子(general purpose electronics)產品正逐漸取代特殊用途(special-purpose)的系統系統工程的問題類似於軟體工程的問題 許多大型系統的計畫因為軟體問題常被耽延(delayed),衍生特質(Emergent Properties),衍生性質是系統元件間的關係(relationship)所形成的結果(consequence)這些性質只有在各元件整合成一個系統時才可被評估(assesse
4、d)與度量(measured),衍生特質的範例,衍生特質的類型,功能特性(functional properties) 當系統所有部分(all parts)為達成某個目標(some objective)時共同運作所出現的性質Example以各種零件組合而成的自行車,在組合(assembled)完成後就具有能當運輸工具的功能特性,非功能衍生特性(non-functional emergent properties)與操作環境(operational environment)中的系統行為(behaviour)有關只要系統無法達到所定義的最低等級(minimal defined level)性質,系
5、統就會被視為無法使用(unusable),Examples可靠性(reliability)效能(performance)安全(safety)保全(security),由於元件間的依賴關係(inter-dependencies ),使得錯誤(faults)會在系統中擴散開來(propagate)系統故障(failure)通常是由於沒有預見(unforeseen)到元件間的相互關係(inter-relationship)所產生的各元件間的所有可能關係(component relationships)不可能都預期(anticipate)得到,系統可靠性工程(System Reliability En
6、gineering),硬體可靠性(hardware reliability)一個硬體元件失效(failure)的可能機率為何? 修復(repair)那個硬體元件需時多久? 軟體可靠性(software reliability)一個軟體元件會產生錯誤結果(incorrect output)的機率為何? 軟體故障與硬體故障的不同在於軟體不會損壞(wear out),對可靠性的影響(Influences on Reliability),作業員可靠性(operator reliability) 系統作業員會犯錯誤的機率有多少?,可靠性關係,硬體錯誤(hardware failure)可能會產生非軟體預
7、期之超出範圍(range)的異常訊號(spurious signals)軟體錯誤(software errors)可能會觸動警報(alarms to be activated),因而造成作業人員的壓力(stress),導致作業人員出錯(operator errors)一個系統被安裝(installed)的環境(environment)也會影響它的可靠性,不被許可的特性(Shall-Not Properties),系統不該出現以下的狀況安全(safety)系統不該出現不安全的行為(behave in an unsafe way)保全性(security) 系統不該允許未經授權(unauthori
8、zed)的使用者使用,系統及其環境,系統並非獨立的實體,而是存在某個環境中系統功能可能會改變它所處的環境 環境也會影響(affect)系統的功能 例如:系統可能會從它的環境要求電力供應(electrical supply),系統階層(System Hierarchies),人及組織因素(Human and Organisational Factors ),程序的改變(process changes)系統是否需要因應環境中的工作程序(work processes)而改變嗎? 工作的變動(job changes)系統是否會造成環境中使用者的技能變為無用(de-skill the users),或是
9、促使他們改變他們的工作方式(change the way they work)?組織架構的變化(organizational changes) 系統是否會改變組織中政治的權力結構(political power structure)嗎?,系統結構塑模(System Architecture Modelling ),架構模型可以摘要檢視(abstract view)的方式展現組成系統的各個子系統(sub-systems)模型中可以包括子系統間的主要資訊流 (information flows) 模型通常是以方塊圖(block diagram)來表示可以分辨出模型中不同類型的功能元件 (funct
10、ional component),竊賊警報系統(Burglar Alarm System ),子系統描述(Sub-System Description),航管系統架構(Air Traffic Control System Architecture),系統元件(System Components),感測元件(sensor components)收集從系統環境來的資訊例如航管系統中的雷達驅動元件(actuator components)能夠造成系統環境的某些改變例如開啟/關閉或開大/減少管線中水流量的活門(valve),計算元件(computation components)能夠接受輸入,再根據輸
11、入進行某些運算(computations),進而產生某些輸出的元件例如可執行實數運算的浮點數處理器(floating point processor)通訊元件(communication components) 可讓系統中元件相互溝通(communicate)的元件例如網路可連接分散處理式電腦(distributed computers),協調元件(co-ordination components) 用來協調與其它系統元件互動的元件例如即時系統(real-time)中的排程程式(scheduler)介面元件(interface components)便捷化(facilitate)與其它系統元件
12、互動(interactions)的元件例如作業員的操作員介面(operator interface),警報系統(Alarm System)中的元件類型,感應器(sensor)移動感應器、房門感應器觸動器(actuator)警報器(siren)通訊(communication)電話自動撥號器(telephone caller),協調(co-ordination)警報控制器(alarm controller)介面(interface)聲音合成器(voice synthesizer),系統工程的行程,系統不同部分(parts)常需要並行開發(parallel development),通常是以瀑布式
13、模型(waterfall model)為主,需有不同領域(different disciplines)的工程師參與一起合作會有較多認知上的誤解(misunderstanding)不同領域通常會使用不同的辭彙(vocabulary),因此需要大量的溝通與協調(negotiation)工程師們可能會有各自的工作進度(agenda)需要完成,系統工程行程(System Engineering Process),跨領域結合(Inter-Disciplinary Involvement),系統需求定義(System Requirements Definition),摘要式功能性需求(abstract f
14、unctional requirements)以摘要方式(abstract way)定義系統功能系統特性(system properties)定義系統的非功能性(non-functional)需求非期望特性(undesirable characteristics)不可接受(unacceptable)的系統行為,系統目標(System Objectives),功能性目標(functional objectives)為辦公大樓提供一個防火和防入侵者警報系統,以便提供內部和外部的火警警告(internal and external warning)或未經授權(unauthorized)的侵入警告組織
15、性目標(organisational objectives)確保大樓內各項工作的正常運作,不致受如火警和未經授權的侵入等事件而嚴重中斷(seriously disrupted),系統設計行程(System Design Process),劃分需求(partition requirements)將各需求組織(organize)成相關的群組確認子系統(identify sub-systems)確認出一組子系統(a set of sub-systems),將這些子系統集合起來可以符合系統需求,分派需求給各子系統(assign requirements to sub-systems)當系統有整合COT
16、S (Commercial Off-the-Shelf) 時可能會造成特殊的問題界定各子系統功能(specify sub-system functionality)定義各子系統介面(define sub-system interfaces),需求/設計的螺旋模型(Spiral Model of Requirements/Design),子系統開發,典型的平行開發專案(parallel projects)會分別對硬體、軟體與通訊元件進行開發可能牽涉到某些現成商用系統(COTS, Commercial Off-the-Shelf)的採購,將硬體、軟體和人員集合在一起組成一個系統的過程應以遞增(in
17、crementally)的方式一次整合一個子系統子系統間的介面問題(interface problems)通常會在這個階段被發現,系統整合(System Integration),環境假設(environmental assumptions)可能不正確人員可能會抗拒(human resistance)新系統的引入系統可能需與其他替代系統(alternative system)並存(coexist)一段時間可能會有實體的安裝(physical installation)問題,例如佈線(cabling)問題需確認作業員所需的訓練(operator training),系統安裝(System Ins
18、tallation),將發現一些未事先預期(unforeseen)的需求使用者可能會以系統設計者預期外(not anticipated)的方式來使用系統可能會在與其它系統的互動中發現(reveal)一些問題實體不相容(incompatibility)問題資料轉換(data conversion)問題因介面不一致(inconsistent interfaces)導致作業員錯誤率增加,系統操作(System Operation),系統演化(System Evolution ),大型系統有較長的使用壽命(lifetime),為符合需求的變更(changing requirement),需進行演化(e
19、volve)演化十分耗費成本(evolution is costly)需從技術(technical)與商業(business)的觀點來分析變更(analyze change)子系統間的互動會產生一些非預期(unanticipated)的問題系統進行變更後可能會破壞(corrupted)系統結構需進行維護的現存系統稱為既有舊系統(legacy systems),現存系統(Legacy Systems),現存系統對商業運轉(business operation)十分重要,丟棄現存系統的風險太高(risky)銀行客戶會計系統(bank customer accounting system)飛機維修系
20、統(aircraft maintenance system)現存系統會限制新的業務流程(constrain new business processes),並且會耗費公司的龐大預算(budgets),現存系統元件(Legacy System Components),硬體可能是過時(obsolete)的主機硬體(mainframe hardware)支援軟體可能需要倚賴不再在市面上經營的供應者(supplier)取得支援應用軟體可能是用過時的程式語言(programming languages)撰寫,應用數據(application data)經常不完全(incomplete)和不一致(inco
21、nsistent)商業過程(business processes)可能受制於軟件的結構(software structure)和功能 (functionality) 商業政策和規章可能隱含(implicit)和嵌入於(embedded)系統軟件,系統解除(System Decommissioning),在系統使用壽命到期後停止系統服務可能需要一併移除污染環境的物質(materials),例如危險的化學物資料可能必須重新建構(restructured),或轉換(converted)成其它系統可使用的格式,取得/發展過程(Procurement/Development),系統採購(System P
22、rocurement ),為達到某些需求進行系統取得(採購)採購前通常需有系統規格(specification)和架構設計(architecture design)須有規格才能簽署系統開發合約也有可能購買現成(off-the-shelf)的商用系統 (COTS)COTS通常比從頭開發系統來得經濟,系統採購行程,採購問題(Issues),需求可能需要修改(modified),以符合現成(off-the-shelf)軟體元件的功能需求規格(requirement specification)可能是系統開發合約(contract)的一部分,承包商及轉包商(Contractors and Sub-Contractors ),大型軟硬體系統的採購通常會以某個主要承包商(principal contractor)為主再與其它供應商(supplier)簽定子合約(sub-contracts),負責部分系統開發客戶與主要承包商直接溝通,並不直接與次承包商做溝通,承包商/ 次承包商模型(Contractor/Sub-Contractor Model),參考資料,Ian Sommerville, Software Engineering, 7th ed., Addison-Wesley,2004.,