软体工程第六版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

軟體工程第六版第六章系統工程系統工程簡介約在五百年前,Machiavelli曾說:「再也沒有什麼比引進事情的新秩序更為困難接手、更為冒險的處理或在成功方面更為不確定的。」過去五十年,以電腦為基礎的系統已引進一種事情的新秩序。雖然自Machiavelli說出之後,技術已有極大的進展,但他的話卻繼續敲響著事實。系統工程簡介軟體工程的出現是一個稱為系統工程(systemengineering)流程的結果。系統工程並非單一地專注於軟體上,它聚焦於許多不同的元素(elements)、分析、設計和組織,在系統中的這些元素可以是一種產品、一項服務,或一項資訊與控制轉換的技術。系統工程流程依據它所運用的應用領域而呈現不同的形式。當工作的環境聚焦於一家企業時,商務流程工程(businessprocessengineering)就會被導入。當某種產品(在此環境中,產品包括所有的東西,從無線電話到空中交通管制系統)將被建造時,此流程就被稱為產品工程(productengineering)。商務流程工程與產品工程兩者均嘗試將秩序帶入以電腦為基礎的系統發展中。雖然每個都運用於不同的應用領域,但兩者均努力將軟體放入環境中。本章將聚焦於管理議題與特定流程的活動,使軟體組織能確保它在正確的時間、以正確的方法、做正確的事。快速瀏覽它是什麼?在軟體能被工程化之前,必須要瞭解它所駐留的「系統」。為達完成此項工作,必須要決定系統的整體目標:硬體、軟體、人、資料庫、程序和其他必須確認的系統元素;操作的需求必須被誘引、分析、指明、塑模、確認和管理。這些活動是系統工程的基礎。誰完成它?一位系統工程師的工作是藉由與顧客一起工作以瞭解系統的需求、未來的使用者和其他利益共享者。快速瀏覽它為何重要?有一句古老的諺語:「你不能見樹而不見林。」在此環境中,「森林」即是系統,而樹則是實現系統所必要的技術元素(包括軟體)。若你在瞭解系統前,急著搶先建構技術元素,毫無疑問地你將會讓你的顧客失望。在你擔憂樹之前,先瞭解森林。快速瀏覽步驟為何?藉由從顧客所誘引的資訊,使得目標與更詳盡的操作需求被確認;分析需求以評估它們的清晰程度、完整性和一致性;經常產生結合著系統模型的規格,並由參與人員與顧客共同確認。最後,管理系統需求以確保變更可以被適當地控制。工作產品為何?必須產生系統的一種有效表示法,以做為系統工程的結果。這可能是一個雛型、一項規格或甚至是一種象徵性的模型,但它必須要溝通運作、功能和所要建構系統的行為特性,並提供對系統架構的深刻瞭解。快速瀏覽我如何確定我所做的是正確的?以清晰、完整和一致性檢視所有系統工程的工作產品。預期系統需求的改變,並使用穩固的變更管理方法管理它們。即商務流程工程與產品工程一起進行為電腦軟體配置角色的工作,並且同時建立出將軟體與其他以電腦為基礎的系統元件綁在一起的鏈結(links)。6.1以電腦為基礎的系統韋伯字典(Webster’sDictionary)用下列的方式定義系統:一組或安排的事情的有關形成個體(unity)或根本的(organicwhole)全部;一組事實、原則、規則等,以某種安排的形式被分類與組織,作為顯示一個鏈結不同部份且合乎邏輯的計畫;一種分類或安排的方法或計畫;一種被建立來做某些事的方式、方法、程序…以電腦為基礎的系統借用韋伯的定義,我們定義以電腦為基礎的系統為:一組元素或元素的安排,它們藉由處理資訊而被組織,以達到某些預先定義的目標。以電腦為基礎的系統元素一個以電腦為基礎的系統利用許多不同的系統元素:軟體(Software)電腦程式、資料結構和相關工作產品,作為產生必要的邏輯的方法、程序或控制。硬體(Hardware)提供計算能力、相互聯結(interconnectivity)裝置(例如,網路交換器、通訊裝置)的電子設備,讓資料可以流動,並提供外部世界功能的電機裝置(例如,感測器、電動機、泵)。人(People)硬體與軟體的使用者與操作者。以電腦為基礎的系統元素資料庫(Database)一個很大、有組織經由軟體與長時間存取的資訊整體。文件(Documentation)描述系統使用與運算的敘述資訊(例如,模型、規格、紙本手冊、線上輔助檔案、網站)。程序(Procedure)定義每個系統元素特定的使用或系統所駐流程序環境(context)的步驟。巨集元素以電腦為基礎系統的一項複雜特性是建構某個系統的元素,也可能表示一個更大系統的巨集元素(macroelement)。巨集元素是以電腦為基礎的系統,也是一個更大的以電腦為基礎的系統的一部份。例如,考慮一個工廠自動化系統(factoryautomationsystem),實質上它是一種系統的階層。在最低的階層中,我們有個數值控制機器、機器人和資料登錄裝置。每個以電腦為基礎的系統有它自己的權力(right)。數值控制機器的元素包括電子與電機機械的硬體(例如,處理器與記憶體、馬達、感測器)、軟體(為了溝通與機器控制)、人(機器操作員)、一個資料庫(儲存NC的控制程式)、文件與程序。每個都是以電腦為基礎的系統。6.2系統工程的階層系統工程含括一個由上往下(top-down)與由下而上(bottom-up)方法的集合,以通過如圖6.1所示的階層。系統工程流程通常由「世界觀點(worldview)」開始。即整個商業或產品領域受到檢查,以確保適當的商業或技術環境可以被建立。世界觀點被改進以聚焦在更為有興趣的特定領域。在某個特定領域中,對目標系統元素的需要(例如,資料、軟體、硬體、人)會被分析。某個目標系統元素的分析、設計和建構就被啟始。在階層的頂端建立出非常廣泛的環境。在底層則藉由執行相關工程紀律(例如,硬體或者軟體工程)導入詳細的技術活動。圖6.1系統工程階層分類系統工程階層的表示世界觀點(WV)是由一組領域(Di)所組成,每個可以是一個系統或在自己權力系統中的系統。WV={D1,D2,D3,…,Dn}每個領域都由特定的元素(Ej)組成,每個都在完成領域或元件(components)的目標與目的中扮演某種角色:D1={E1,E2,E3,…,Em}每個元件以特定的技術元件(Ck)實作,以達成某個元素所必需的功能:Ej={C1,C2,C3,…,Ck}在軟體環境中,一個元件可以是一支電腦程式、一個可重複使用的程式元件、一個模組、一個類別或物件,或甚至是某個程式設語言的敘述(statement)。6.2.1系統模型建立系統塑模是系統工程流程的一項重要元素。不論聚焦是否在世界觀點或細節觀點上,工程師創造模型以:定義流程作為所考慮觀點的需要。表示流程的行為和行為所基於的假設。明確地對模型定義外生的(exogenous)和內生的(endogenous)輸入。表示所有的連結(包括輸出),使工程師能夠更為瞭解其觀點。建構系統模型考慮的約制因素建構一個系統模型,工程師應該考慮一些約制(restraining)因素:假設(Assumption)排除許多可能的排列與變化的數量,因而可促使一個模型以合理的方式反映問題。例如,考慮娛樂業使用來創造真實動畫的三度空間演繹(rendering)產品。產品其中的一個領域能夠表示3D立體人形。輸入到此一領域含括來自真人演員指定移動(specifymovement)能力、從視訊(video)或藉由繪圖模型的創作。系統工程師確定某些關於人類運動可允許範圍的假設(例如,腳不能纏繞在軀幹的周圍),因此輸入範圍與處理就可以被限制。建構系統模型考慮的約制因素簡單化(Simplifications)可使模型能夠及時的建立。考慮一家銷售與服務各類型影印機、掃描器和相關設備的辦公室產品公司。系統工程師正在建立服務組織的需要模型,以瞭解服務訂單產生後訊息的流程。雖然服務訂單可源自各方,工程師只從二個來源進行分類:內在的需求與外界的請求。這種簡單的輸入區分是產生服務訂單所必要的。限制(Limitations)協助規範系統。舉例來說,飛機的航空電子系統正為著下一代的飛機而進行模型化的工作。因為飛機都有二部引擎的設計,推進力(propulsion)的監控領域將被模型化,以調適二部引擎的最大值並結合備用系統(redundantsystem)。建構系統模型考慮的約制因素侷限(Constraints)將指導創造模型的方法和實作模型時所採取的方式。舉例來說,對於先前所描述的三度空間演譯系統的技術基礎建設(technologyinfrastructure)採用雙G5為基礎的處理器。問題的計算複雜度必須要被侷限,以符合加於這些處理器上的處理極限。偏好(Preferences)指出對所有的資料、功能和技術所喜歡的架構。所喜歡的解決方案有時會與其他的約制因素相互抵觸。顧客滿意度時常是以其喜愛的方式所被瞭解的程度來預測的。6.2.2系統模擬許多以電腦為基礎的系統是以反應的形式與真實的世界互動。真實世界的事件由形成以電腦為基礎系統中的硬體與軟體所監控,並且基於這些事件,系統於機器上、流程上和導致事件發生的人加入控制。即時與嵌入式系統時常歸類到反應系統的類型。在反應類型的控制機器及/或流程中的許多系統(例如,商用飛機或石油煉解廠)必須於極為高可靠度的情形下進行操作。如果系統失敗,將可能會發生重大的經濟或人員的損失。當以電腦為基礎的系統被建造時,系統塑模與模擬工具就被用來協助於反應時消除意外事件。這些工具應用於系統工程流程期間,硬體與軟體、資料庫和人的角色都被明確指定。塑模與模擬工具讓系統工程師能夠「試駕(testdrive)」系統的規格。6.3商務流程工程:概觀商務流程工程(businessprocessengineering,BPE)的目的BPE是一種為創造實作計算架構的一項全面性的計畫。定義使商業有效地運用資訊的架構。當以一家公司資訊技術需求的世界觀點來看時,會有些懷疑系統工程是必要的。不僅所必要的適當運算架構規格,且植基於組織計算資源獨特組態的軟體架構也必須被發展。商業流程的設計架構三種不同的架構必須在商務目標與目的的環境中分析與設計:資料架構應用架構技術基礎建設(Technologyinfrastructure)資料架構(dataarchitecture)資料架構(dataarchitecture)為商業的資訊需要或商務功能提供一種框架。架構中的個別建構方塊是使用於商務的資料物件。資料物件包含一組定義某些面向、品質、特性或被描述資料的描述符號(descriptor)的屬性。一旦一組資料物件被定義,它們的關係將可被確認。關係(relationship)指出物件如何與彼此相連接。例如,考慮物件:顧客與產品A。此二種物件可以用購買(purchases)的關係相連接;即是,某位顧客購買產品A或產品A是由顧客所購買。資料物件(對一個主要的商業活動可能有數百或數千個)被組織在資料庫中,且被轉換提供服務商業需要的資訊於企業功能間流動。應用架構(applicationarchitecture)應用架構(applicationarchitecture)含括那些為了某些商務目的轉換資料架構中物件的系統元素。應用架構即為執行此種轉換的程式(軟體)系統。在更大範圍的環境中,應用架構可能結合人的角色(是資訊轉換者與使用者)和尚未自動化的商務程序。技術的基礎建設(Technologyinfrastructure)技術的基礎建設(Technologyinfrastructure)提供資料與應用架構的基礎。基礎建設含括硬體與使用支援應用程式的資料與軟體。包括電腦、作業系統、網路、通訊連結、儲存技術和已被設計實行這些技術的架構(例如主從式(client/server))。圖6.2商業流程工程的階層6.4產品設計:概觀產品設計的目的是將顧客所期望的一組被定義的能力(capabilities)轉換成為工作產品。為達成此一目的

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功