標籤:
軟體體繫結構,也就是軟體架構。提到架構,我首先想到的是建築行業的“架構”。在我們要蓋一棟建築物之前,會有專業的設計師設計圖紙,分析建築物的架構,保證建築物的安全性。在軟體行業也是如此,當我們開發一個軟體之前,也需要有專業人士對軟體進行分析,做出架構,這就是架構師。
要瞭解軟體架構,首先得明白什麼事架構。
架構就是:
- 根據要解決的問題,對目標系統的邊界進行界定
- 並對目標系統按某個原則進行切分。切分的原則,要便於不同的角色,對切分出來的部分,並行或串列開展工作,一般並行才能減少時間。
- 並對這些切分出來的部分,設立溝通機制。
- 根據3,使得這些部分之間能夠進行有機的聯絡,合并組裝成為一個整體,完成目標系統的所有工作。
認識概念是理解架構的基礎。概念是我們學習一切事物的開始。對於一個新事物,首先我們應該在腦海中有個相關的概念,這樣才能更好的理解。要通過概念,發現概念背後的問題,進而才能夠認識目標領域所需要解決的問題。
軟體開發通常都是一個團隊,團隊中每個人都有自己的工作和任務,也有自己需要解決的問題。這時就需要我們能夠找到問題的主體。當我們明白了問題的主體,我們才有可能真正的認識到問題是什麼才能明確問題的邊界。如果我們每個人都只是致力於自己的工作,那麼最後就有可能會造成自己的工作不但沒有完成而且會有更多問題。這就需要我們團隊之間的溝通,需要架構師明確:這是誰的問題以及有什麼問題。
每一個軟體都需要多個人來完成,這就需要進行架構切分。每個人的精力都是有限的,都有自己擅長的部分。所以就需要根據每個人不同的特點和特長來進行架構切分。但是在切分時要保證利益相關人的權利和義務對等。
在瞭解了架構,就需要瞭解什麼是軟體了。現在是資訊的時代,人們越來越願意把事情交給電腦來做。這樣就會需要越來越多的軟體來滿足人們的需求,需要大量的軟體工程師,從而也有了很多不同的相關職位,比如架構師、測試師等。由於軟體工程師的負載太重,就把軟體開發進行拆分,這就是架構。從而有了軟體架構。
軟體是需要在電腦的硬體中運行起來的,所以在開發軟體時就需要解決業務問題和電腦問題。要考慮到如何讓軟體在硬體中運行,如何能使軟體更好的運行。
軟體架構需要軟體的組織架構和流程來保障。架構本身就是在不斷增大,工作內容不斷拆分,工作人員不斷增加。
軟體架構包括了代碼架構,以及承載代碼啟動並執行硬體部署架構。其中最重要的還是代碼架構。因為軟體是對現實生活的虛擬化,所以我們在開發軟體的過程中,要有嚴格的商務邏輯。
軟體體繫結構是規範軟體開發的基本架構,可以便於開發人員和使用者的溝通,模組化、層次化設計,有利於減少返工,提高效率,便於系統開發前、後期的籌備和服務。
軟體體繫結構的認識