亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行軟件選型

發布時間:2021-10-15 14:32:13 來源:億速云 閱讀:207 作者:iii 欄目:web開發

這篇文章主要講解了“如何進行軟件選型”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何進行軟件選型”吧!

選型的需求來源于業務訴求

選型總是在業務驅動下進行的。

我相信業務用的好好的,沒有性能瓶頸,沒有合規要求,也沒有新需求要開發,我們也不會想著換個框架或組件。

當業務有真正的訴求的時候,比如有數據同步,業務解藕,削峰填谷,分布式事務等需求時,我們就需要調研相應的解決方案了。

這個時候往往會面對很多的軟件,究竟該選哪個,用哪個?如果有團隊成員比較熟悉的以前用過的軟件,可能大概率就會選擇它,畢竟用過有經驗,遇到問題也知道怎么解決。

但如果團隊成員都沒有用過,這個時候面對如此多的軟件,而且在有限的時間里,我們到底該如何選擇呢?或者說軟件選型該考慮哪些呢?

選擇調研對象

在開始選型前,我們需要知道有哪些待調研的對象。

  • 想用消息中間件,需要調研的對象可能有RabbitMQ,RocketMQ,Kafka等。

  • 有數據同步的需求,需要調研的對象可能有otter,Datax,canal等。

  • 想用rpc服務,調研的對象可能有Dubbo、gRPC、Thrift等。

這里就不再一一展開了,其實想說的就是,首先我們要知道調研的對象,接下來就需要看看到底要調研哪些內容。

調研的內容

(1)  系統架構

軟件的系統架構很大程度上決定了軟件的簡單或復雜、可擴展性、高可用性等較難改變的屬性。

所以我們在選型的時候,需要重點考慮軟件架構。

軟件的官網中一般都會有相應的架構圖,從中我們可以看到軟件的基本組件,架構的簡易程度等內容

。比如下圖為RocketMQ的架構圖,從中可以看出RocketMQ的基礎組件有NameServer  Cluster、Broker Cluster,還能進一步看出NameServer Cluster的基本職責有Broker Discovery,以及Broker  Cluster可以通過數據同步來實現高可用等內容。

如何進行軟件選型

除了系統架構,我們可能還需要關注下軟件的實現語言,如果以后需要進行定制化開發,團隊成員是否有相應能力。

(2)  軟件的社區情況

軟件的社區情況,是我個人在軟件選型的時候著重考慮的一個點。

活躍的社區對于開源軟件來講很重要,因為活躍的社區說明軟件的用戶很多,用戶多就有很多的實踐經驗可以參考交流,在你遇到問題的時候能有個交流的平臺。

總之,活躍的社區能夠幫助你解決軟件使用過程中的很多問題。

那么從哪幾個方面可以考量軟件的社區情況呢?這里主要講的是開源軟件的社區情況考量。

我個人一般會看軟件的最近一次提交是什么時候,issue的數量及回復情況,更進一步可以看軟件的郵件列表內容。

(3)  文檔

產品的文檔太重要了。

產品做的再好,沒有文檔,也沒人會用。

詳細的產品文檔包括但不限于軟件架構,用戶手冊,性能測試,常見問答等。

如果你在調研相應軟件的時候,發現找了很久也沒找到架構圖、用戶使用手冊等內容,那你就要好好考慮該不該用這款軟件了。

通讀產品文檔可能需要花上一些時間,但花這個時間是很值得的。通讀產品文檔可以讓你對整個產品有個大概了解了,有哪些特性,有哪些功能,性能表現如何等,這些你都能做到心中有數。

Spring的文檔是我個人認為非常好的文檔,不夸張的說,能把Spring文檔通讀一遍,80%的Spring問題對你來說都不算問題。

如何進行軟件選型

另外文檔最好讀官方的,如果是國外的軟件,盡量讀英文的。

(4) 其他

包括但不限于合規性,法律,生態工具等內容,比如如果使用的開源軟件協議為GPL,按照協議規定,所有的二次開發都應該再次開源出來。

特性或功能驗證

調研完產品后,我們對軟件應該有了個大概了解了,此刻我們需要回到業務上來。

產品的特性或功能能否滿足業務的需求,這才是決定我們選型的最重要原因。

一般的原則是,能夠滿足當前以及可預見的未來的需求的軟件,是最合適的,因為這樣的軟件又能滿足需求,又不至于太過復雜。

此階段一般會進入到體力活環節,需要各種測試,比如基本功能測試,高可用測試,性能測試等。在測試的過程中也盡可能的將測試腳本化、自動化,因為這個過程可能會重復多次,沒人想一次次的手動來做。

這里的測試一般需要給出結論,即當前軟件是否能夠滿足業務的各種需求。

該階段一般會遇到很多的問題,而活躍的社區,詳盡的文檔可以幫助你解決這些問題,同時團隊成員應該盡可能的在該階段積累軟件使用的過程資產。

應用階段

應用階段根據選型軟件的性質不同有不同的應用方式。

如果軟件是基礎軟件比如數據庫之類,一般會先進行試點應用,因為基礎軟件的影響面比較大,而選擇試點應用,既可以規避大的風險,也能夠通過實踐積累起經驗,方便后續的全面升級。

如果軟件只是當前業務使用,影響較小,那么要有自信直接上,不要慫~

幫助別人

經歷了軟件調研,功能特性驗證,到項目的正式使用,可以說現在你也成為了軟件社區中的一員,那么不要忘了分享你的使用經驗,幫助其他軟件使用者,畢竟一開始也是社區幫你解決了問題。

感謝各位的閱讀,以上就是“如何進行軟件選型”的內容了,經過本文的學習后,相信大家對如何進行軟件選型這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东山县| 共和县| 凯里市| 余庆县| 离岛区| 白玉县| 闸北区| 同德县| 嘉兴市| 前郭尔| 宁阳县| 广宗县| 许昌市| 织金县| 保亭| 通化县| 武夷山市| 屏南县| 凌海市| 德清县| 靖宇县| 乡宁县| 商洛市| 开江县| 南漳县| 南陵县| 平罗县| 绵竹市| 扬州市| 九龙城区| 八宿县| 于都县| 凌海市| 金沙县| 新巴尔虎右旗| 淮北市| 金川县| 霍邱县| 盐源县| 乌苏市| 抚松县|