111年高考三級系統專案管理

一、請解釋何謂 COTS (Commercial Off-The-Shelf),並請說明倘系統開發人員或專案管理人員決定採用 COTS 來開發新系統,那麼他們在系統設計上需考慮的因素有那些?另請討論 COTS 系統整合時可能會發生那些問題。(25分)

答:

()COTS(Commercial Off-The-Shelf)

1.是一種不需要修改系統原始碼,只要調整設定就可以符合不同客戶需求的軟體系統。

2.例如幾乎所有的個人電腦軟體,以及非常多種的伺服器產品都是 COTS 軟體。因為這種軟體是為了讓大眾使用而設計的,因此包含許多功能,而這些功能很可能可以在不同的應用程式或環境下再利用。

3.Torchiano Morisio 發現使用開放原始碼的產品經常被當作 COTS 產品來使用;也就是說,使用這類開放原始碼系統不需要修改,也不需要找尋原始碼。

4.COTS 產品的調整是透過內建的組態設定機制,它能把系統的功能依照客戶需要來修改。例如醫院的病歷系統,需要針對不同類型的病患定義不同的輸入表單和輸出報表。

5.另外還可能有組態設定功能是允許系統接受 plug-in 來擴充功能,或檢查使用者輸入資料是否有效。

()在系統設計上需考慮的因素有那些?

假如想要使用 COTS 產品來開發系統,必須先決定一些設計上的決策。

1.哪個COTS產品所提供的功能最適合?

  一般而言,應該會有好幾個 COTS 產品可以選擇。但是如果沒有使用過 COTS 產品,可能很難決定哪個產品是最適合的。

2.資料要如何交換?

  一般而言,個別的產品所使用的資料結構格式都是獨一無二的,必須撰寫轉換程式 (adaptor) 來進行轉換。這些轉換程式是執行期間的系統,是伴隨著 COTS 產品一起運作。

3.產品到底有哪些功能會真正被用到?

  大多數的 COTS 產品具備的功能會比你所需要的更多,而且在不同產品間的功能經常是重複的。必須決定哪個產品的哪些功能是最適合需求。可能的話,對於那些用不到的功能應該拒絕存取,因為它也許會干擾到一般的系統運作。例如 Ariane 5 號火箭的第一次升空失敗的原因,就是因為再利用 Ariane 4 的慣性導航系統,結果在某個 Ariane 5 沒有用到的功能所導致的故障。

()COTS系統整合時可能會發生那些問題

因為這些產品通常本身都是大型系統,而且都是以獨立的系統分開販售,這些都會導致額外的問題。Boehm Abts (Boehm and Abts, 1999) 曾提出 COTS 系統的整合有以下四個重要問題:

1.缺乏對功能與效能的控制:

  雖然產品對外發佈的介面有提供一些必要的功能,不過可能設計不當或是執行效能不佳。產品可能會有隱藏的運算動作,在某些情況下可能會妨礙到它的使用。修復這些問題對於整合COTS 產品的人而言是非常重要的,但是對產品開發廠商而言可能不是很重要。如果使用者想要再利用這些 COTS 產品,可能就必須找出解決這些問題的方法。

2.COTS系統交互換作性的問題:

  有時候很難將許多不同的COTS 產品放在一起運作,因為每一項產品的使用方式都有不同的假設。Garlan 等人 (Garlan, et al., 1995) 曾發表過他們的經驗,當時他們嘗試整合四種 COTS 產品,發現其中三項產品是以事件 (event) 為主,但是每一種都使用不同的事件模型,並且都是假設可以獨占事件佇列。結果整合非常困難,這個計畫的工作量比預期多出5倍,而且總共花了2年的時間,而不是預期的6個月。10年後 Garlan 等人回顧他們的分析,結論是他們當時發現的整合問題尚未解決 (Garlan, et al., 2009)Torchiano Morisio (Torchiano and Morisio, 2004) 發現某些 COTS 產品因為與標準不相容,導致整合動作比原本預期的更困難。

3.無法控制系統的演進:

  COTS 產品的開發廠商會根據市場的反應自行決定系統的變更。尤其對 PC 產品而言,新版本通常推出的很快,而且可能無法和之前的所有版本相容。新的版本可能會多出一些不需要的功能,而且可能會讓之前的版本不適用且不支援。

4.需要COTS廠商的支援:

  各個COTS 廠商對其產品的支援程度差異非常大。因為這些系統都是現成的系統,廠商不會提供系統的原始碼和系統的內部文件,因此當發生問題時,廠商的支援就特別重要。雖然開發廠商可能會承諾提供支援,但是由於市場和經濟環境的改變,可能會讓這項承諾難以實現。舉例來說,COTS 系統的提供廠商可能會因為產品停產,或是被其他公司併購,因而不再支援這項產品。

還有,根據 Boehm Abts 的估算,在許多使用 COTS 整合方式的案例中,系統維護和演進的成本會更大。所有上述的困難都是整體生命週期的問題,而不只是影響到系統的初始開發階段。將來維護的人員越少,整合的 COTS 產品就更可能遭遇困難。

參考資料:陳玄玲-軟體工程:軟體開發技術與軟體專案管理9e 16-16~16-23

arrow
arrow
    文章標籤
    系統專案管理
    全站熱搜

    jacksaleok 發表在 痞客邦 留言(0) 人氣()