版權歸原作者所有,如有侵權,請聯(lián)系我們

[科普中國]-巴士因子

科學百科
原創(chuàng)
科學百科為用戶提供權威科普內(nèi)容,打造知識科普陣地
收藏

巴士因子是軟件開發(fā)中關于軟件項目成員之間信息集中及共享度的一個衡量指標。一個項目至少失去若干關鍵成員的參與(“被巴士撞了”,指代職業(yè)和生活方式變動、婚育、意外傷亡等任意導致缺席的緣由)即導致項目陷入混亂、癱瘓而無法存續(xù)時,這些成員的數(shù)量即為巴士因子。

簡介在軟件開發(fā)中,軟件項目的巴士因子是指對某些信息集中于某一個人,或少數(shù)幾個人的一個不那么尊重的度量指標。設“巴士因子”=N,如果有N個人被巴士撞到,無法工作,就會導致項目混亂以致于無法繼續(xù)。即指為了使一個軟件開發(fā)維護完全無法進行下去,需要有多少個團隊成員被車壓死。所謂“被巴士撞到”只是個比方。也可以是某個人換了工作、生了孩子、改變了生活方式或生活狀況(中了彩票決定不再工作),其影響都是一樣的。

對關鍵成員的詮釋為“對項目不可或缺”,即其掌握的項目信息(例如設計、源碼、知識)并不被眾多其他成員所熟悉、共享。在一個巴士系數(shù)很高的項目中,就算某個人突然不參與工作,也會有很多其他個人掌握相關的項目信息而足以接替他的位置。

軟件開發(fā)軟件開發(fā)方法是軟件工程理論的重要內(nèi)容之一,在軟件開發(fā)方法中,對于開發(fā)軟件時“做什么”和“如何做”,給出了明確的、詳細的回答。人們在不同時期為了解決各種不同的軟件開發(fā)問題,推出了多種不同的軟件開發(fā)方法,并且每種軟件開發(fā)方法還有靈活多樣的表現(xiàn)形式1。軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項包括需求捕捉、需求分析、設計、實現(xiàn)和測試的系統(tǒng)工程。軟件一般是用某種程序設計語言來實現(xiàn)的。通常采用軟件開發(fā)工具可以進行開發(fā)。軟件分為系統(tǒng)軟件和應用軟件,并不只是包括可以在計算機上運行的程序,與這些程序相關的文件一般也被認為是軟件的一部分。 軟件設計思路和方法的一般過程,包括設計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結構設計和模塊設計、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。

軟件團隊成員軟件項目經(jīng)理

軟件項目經(jīng)理作為軟件企業(yè)最基層的管理人員,負責分配資源、確定優(yōu)先級、協(xié)調(diào)與客戶之間的溝通,盡量使項目團隊一直集中于正確的目標。項目經(jīng)理還要建立一套工作方法,以確保項目工作的完整性和質(zhì)量。這就要求項目經(jīng)理擁有領導、決策、組織、控制和創(chuàng)新等方面的能力。

系統(tǒng)分析員

在一個研發(fā)項目中,系統(tǒng)分析員主要從事需求獲取和研究,他們是項目中業(yè)務與技術間的橋梁,其工作是通過與客戶進行交流,了解客戶的業(yè)務以及客戶對系統(tǒng)的需求和期望,圍繞新的系統(tǒng),協(xié)助客戶建立新的業(yè)務流程。然后,根據(jù)新的業(yè)務流程,設計系統(tǒng)的功能,編寫軟件需求說明書,詳細描述系統(tǒng)的功能。最后,利用各種手段和方法,使客戶理解即將建立的系統(tǒng),并予以確認。擔任系統(tǒng)分析員的人員應該善于簡化工作、善于協(xié)調(diào),并且具有良好的人際溝通和書面溝通技巧。擔任系統(tǒng)分析員的人必須具備業(yè)務和技術領域知識,需要熟悉用于獲取業(yè)務需求的工具,同時還要掌握引導客戶描述出需求的方法。

系統(tǒng)設計員

系統(tǒng)設計員的工作是根據(jù)軟件需求說明書進行構架設計、數(shù)據(jù)庫設計和詳細設計,負責在整個項目中對技術活動和工件進行領導和協(xié)調(diào)。構架設計要確立每個構架視圖的整體結構,視圖的詳細組織結構、元素的分組以及這些主要分組之間的接口。數(shù)據(jù)庫設計工作是定義表、索引、視圖、約束條件、觸發(fā)器、存儲過程、表空間或存儲參數(shù),以及其他在存儲、檢索和刪除永久性對象時所需的數(shù)據(jù)庫專用結構。詳細設計則是詳細定義系統(tǒng)每一個功能的實現(xiàn)方式和方法。

開發(fā)人員

負責按照項目所采用的標準來進行單元開發(fā)與測試,開發(fā)人員依據(jù)數(shù)據(jù)庫設計和詳細設計進行單元模塊的代碼編寫和測試,然后將各單元模塊集成到更大的子系統(tǒng)中。項目研發(fā)團隊的開發(fā)人員需要能夠迅速并準確地理解系統(tǒng)設計員的設計文檔,并能快速地進行代碼開發(fā)和單元測試。

測試人員

測試系統(tǒng)設計員是測試中的主要角色,該角色負責對測試進行計劃、設計、實施和評估。測試人員依據(jù)系統(tǒng)分析員編寫的軟件需求文檔和系統(tǒng)設計員編寫的軟件設計文檔編寫測試計劃和測試案例,然后測試人員根據(jù)測試計劃和測試案例對開發(fā)人員提交的經(jīng)過初步單元測試的系統(tǒng)進行各種更嚴格的測試,最后形成測試報告并反饋給開發(fā)人員進行修改。

本詞條內(nèi)容貢獻者為:

方正 - 副教授 - 江南大學