999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

從軟件工程角度分析大項目的困境與解決

2022-04-29 22:05:07黃翔
客聯(lián) 2022年2期

黃翔

摘 要:一般情況下,只有親身參與過大項目的開發(fā),經(jīng)歷過大團隊,才能感受為什么軟件工程很重要,又很難做對。軟件開發(fā)有一個難題,叫做“擴展”(scaling),即怎樣服務更多的用戶,并發(fā)用戶數(shù)上升一個數(shù)量級,軟件就必須重構(gòu),大量問題隨之產(chǎn)生。本文利用軟件工程的思維研究、如何擴展軟件和團隊,適應大項目的需要,對大項目的困境做出分析研究并提出相應解決方法。

關鍵詞:軟件工程;代碼解耦;團隊解耦

一、引言

大項目的技術(shù)難度高,管理難度更高,而且大團隊的生產(chǎn)率往往很低,行動緩慢。

只有親身參與過大項目的開發(fā),經(jīng)歷過大團隊,才能感受為什么軟件工程很重要,又很難做對。

軟件開發(fā)有一個難題,即擴展,怎么樣服務更多的用戶,10000個并發(fā)用戶,跟有10個并發(fā)用戶,這是完全不同的概念,哪怕功能完全相同,背后的實現(xiàn)是完全不一樣的。并發(fā)用戶數(shù)上升一個數(shù)量級,軟件就必須重構(gòu),大量問題隨之產(chǎn)生。

二、大項目的困境分析

一個典型的大型軟件項目,開發(fā)過程通常是最開始的時候,它是一個小項目,開發(fā)人員就是兩三個人,甚至可能只有一個人。產(chǎn)品比較簡單,功能很有限。第一版發(fā)布后,拿給客戶使用,反響不錯。客戶要求的新功能,能夠很快開發(fā)出來,Bug 修補也很快,因為早期客戶往往可以與開發(fā)人員直接溝通,快速反饋。

公司于是決定投入更多人員,開發(fā)這個項目。團隊慢慢變大了,軟件開始變得復雜,開發(fā)速度逐漸變慢了,2.0 版花費的時間比預期要長一點。Bug 的修復難度開始增加。總之,新功能的開發(fā)日程變久了。

公司的自然反應是進一步擴充團隊。但是更多的新成員其實會降低其他人的生產(chǎn)率,一個普遍現(xiàn)象是團隊規(guī)模越大,每個人的平均生產(chǎn)率越低。

幾年以后,代碼逐漸老化,復雜性不斷增加,項目開始停滯不前,最終這個項目成為技術(shù)債務,等待被新項目替換。

產(chǎn)生上述困境的其根本原因有兩個,其一就是代碼復雜度,隨著代碼量的增長,單個開發(fā)者想要理解整個代碼庫,變得越來越困難,不真正理解系統(tǒng),過時的代碼開始累積,技術(shù)債務就這樣出現(xiàn)了。其二就是團隊問題,隨著團隊成員的增加,交流成本開始指數(shù)式上升。如果整個團隊有 n 個程序員,為了了解其他人的工作,你需要跟 n - 1 個人逐一交流,那么整個團隊的交流路徑總數(shù)就是 n * (n - 1) / 2。這意味著,交流成本的增長速度是人員增長速度的平方,團隊人數(shù)越多,協(xié)同的難度就越大。不管怎么做,大型組織都很難保持所有成員的積極參與。

三、軟件工程的解決辦法

大項目的開發(fā)效率不高根本原因是軟件規(guī)模的增長,必然使得代碼和團隊變得笨重。解決這個問題就需要從代碼和團隊兩方面去解決。

從軟件工程的角度進行代碼解耦,將軟件解耦,拆分成組件或者模塊,防止各個部分緊密地耦合在一起。每個組件和模塊,都可以獨立開發(fā),通過公開的接口被其它部分調(diào)用,每個部分都可以單獨重構(gòu),不擔心影響到其他部分。

從軟件工程的項目管理的角度去進行團隊解耦,把人員分開。首先,每個子團隊都可以獨立運作,不依賴外部人員。人數(shù)不宜過多,每個子團隊最好不要超過5個人。其次,子團隊內(nèi)部的運作,不需要被外部知道。最后,子團隊之間的協(xié)調(diào),應該按照公開的協(xié)議和規(guī)則,最好能夠自動完成,避免私下協(xié)商。

四、結(jié)束語

很多大團隊按照人員角色分組,比如架構(gòu)組、開發(fā)組、DBA 組、測試組、工程組等等,這是錯誤的。這樣完全沒有解耦。正確做法是按照軟件的業(yè)務功能分組,每組負責一個全流程的軟件大功能,設計、編碼、測試、部署、支持等人員都在同一組。這樣才能做到解耦,以及獨立的交付和重構(gòu)。另外軟件架構(gòu)師的角色也很重要,保障各種服務與整個系統(tǒng)運行狀況之間的協(xié)議和通信,保證代碼和團隊可以正確解耦。

本文通過對大項目的問題的分析并提出解決方法。著手從代碼復雜度和團隊管理兩個方面闡述了大項目解決方法。

參考文獻:

[1]趙俊,石春. 探究軟件開發(fā)進程中項目管理與軟件工程的結(jié)合[J]. 電腦知識與技術(shù),2020,16(11):82-83

[2]崔萌萌,安強. 項目管理對軟件工程開發(fā)的必要性研究[J]. 科技風,2017(17):65. DOI:10.19392/j.cnki.1671-7341.201717057..

[3]周競亮. 軟件工程在大型工程管理系統(tǒng)開發(fā)中的實踐[J]. 人民長江,2009,40(17):86-88. DOI:10.3969/j.issn.1001-4179.2009.17.030.

主站蜘蛛池模板: 欧美午夜理伦三级在线观看| 在线日韩一区二区| 中文字幕无码制服中字| 潮喷在线无码白浆| 99re热精品视频国产免费| 亚洲欧美日韩中文字幕一区二区三区| 精品国产美女福到在线直播| 99视频在线免费看| 亚洲清纯自偷自拍另类专区| 日韩二区三区无| 久久男人视频| 国产麻豆aⅴ精品无码| 亚洲国产第一区二区香蕉| 亚洲黄色片免费看| 亚洲一本大道在线| 久久久久人妻一区精品| 久久毛片基地| 中文字幕亚洲另类天堂| 中文一区二区视频| 一级毛片免费观看久| 中文字幕66页| 色网站在线视频| 国产成人精品视频一区二区电影| 成人av专区精品无码国产| 一本大道视频精品人妻| 亚洲av无码成人专区| 亚洲精品无码高潮喷水A| 免费无码AV片在线观看国产| 欧美区在线播放| 日韩欧美国产三级| 农村乱人伦一区二区| 青青草国产免费国产| 国产婬乱a一级毛片多女| 一边摸一边做爽的视频17国产| 日韩国产精品无码一区二区三区| 国产小视频a在线观看| 五月婷婷综合网| 国产精品无码作爱| 国产激爽爽爽大片在线观看| 福利在线不卡一区| 成人夜夜嗨| 77777亚洲午夜久久多人| 色首页AV在线| 亚洲综合久久成人AV| 手机在线看片不卡中文字幕| 一级毛片免费观看不卡视频| 国产欧美日本在线观看| 亚洲狼网站狼狼鲁亚洲下载| 91蝌蚪视频在线观看| 91久久夜色精品| 第一页亚洲| 毛片在线播放网址| 国产欧美专区在线观看| av大片在线无码免费| 一区二区三区国产精品视频| 久久久波多野结衣av一区二区| 青草娱乐极品免费视频| 一级毛片高清| 这里只有精品国产| 最新亚洲人成网站在线观看| 99国产精品一区二区| 日韩精品一区二区三区免费| 婷婷五月在线| 亚洲精品国产精品乱码不卞| 欧美成人午夜影院| 国产精品久久久久久久久| 国产午夜福利在线小视频| 青青青视频91在线 | 日韩毛片免费观看| 特级精品毛片免费观看| 毛片基地美国正在播放亚洲 | 91口爆吞精国产对白第三集| 欧美日本在线观看| 日韩精品中文字幕一区三区| 亚洲国产午夜精华无码福利| 91麻豆精品视频| 婷婷成人综合| 欧美日本中文| 欧美精品另类| 欧美特黄一免在线观看| 九九九国产| 国产a网站|