軟件工程——系統架構

最近老師把師兄們之前作的Android項目發給我和其餘同窗,讓咱們把這個項目寫成實訓教材,說要讓一個不會Android的人看了咱們的教材就能夠作出這個項目。我當時就無語了……(心想不會的人首先想看的是基礎教材絕對不會是什麼實訓教材,並且誰會看咱們寫的教材啊,除了咱們學校的學生,是我的都會選擇一些出名的教材)其實,最讓我愣一下的是,老師竟然讓我來寫實訓教材的項目架構部分,當時都無語了,這個學期學習的Android,才半個學期!本身都仍是個菜鳥。無奈吧,作就作吧。我只能說我盡力作,至於作成什麼樣子就不敢保證了。因而乎,我把上個學期學習的《軟件工程》拿來看。當時,由於在作網站(真實項目,我大一上冊學的C,我大一下冊學的.net,大二上冊作的網站,如今都大二下冊了),並且客戶的要求也一直在變,還熬了幾回通宵,各類傷不起啊。上課都在想怎麼作,根本都沒聽老師講。哎,出來混早晚是要還的,因而我便果斷的複習了《軟件工程》的系統架構部分。由於,老師要得比較急,前天看書看到凌晨2點。數據庫

如今,總結一下本身學到的相關知識:設計模式

對於軟件系統來講,描述系統架構通常涉及兩個方面的內容:業務架構和軟件架構。這兩個方面的內容分別針對於人們對業務領域的理解和對系統領域的理解。前者是從業務需求的角度出發,理清物理結構圖和邏輯結構圖,劃分出每一個子模塊,肯定爲何這麼劃分,各個子模塊之間如何交互,每一個子模塊具備哪些接口;後者從技術上着重討論採用什麼樣的技術,如何分層,採用哪些好的技術特徵,會帶來什麼好處,爲何要這麼作等。服務器

 

業務架構:網絡

  業務架構描述了業務領域主要的業務模塊及其組織結構。架構

  

  業務架構的目的是爲業務領域創建一個維護和擴展的結構,描述業務的結構。業務架構對咱們理解客戶業務,尤爲是對軟件開發行業肯定解決方案有着很是重要的做用。框架

  用例模型和領域模型是業務架構的基礎。用例模型、領域模型所描述的業務過程,經過抽象可獲得業務架構。反過來,業務架構對用例模型和領域模型有着重要的指導做用。學習

   

軟件架構:網站

  軟件架構是一種思想,一個系統的藍圖,是對軟件結構組成的規劃和職責進行設定。操作系統

  軟件架構的意義就在於將這些可邏輯劃分的部分獨立出來,用約定的接口和協議將他們有機地結合到一塊兒,造成職責清晰、結構明朗的軟件結構。.net

  軟件架構是一個邏輯性的框架結構描述,他可能並沒有真正的可執行的部分。事實上,大部分的軟件架構都是有一個設計思想,加上若干設計模式再規定一些列的規範、傳輸協議、實現標準等文檔構成的。

  軟件架構須要在業務架構的基礎上引入計算機環境,計算機環境包括硬件環境和軟件環境。硬件環境包括網絡拓撲結構、服務器及其餘設備等,而軟件環境指的是操做系統、應用服務器、中間件、數據庫等。

  一個典型的軟件架構包括兩個視角:廣度視角和深度視角。廣度視角即咱們常說的軟件層次結構,它關注軟件的分層,規定每一層的職責以及曾與層之間的通訊標準,通常使用包元素來描述;深度視角,是指廣度視角中每一層的詳細說明,它關注每一層以及每一個部分的具體實現架構。

 

軟件架構與框架:

  現實中,不少人把框架和架構搞混,有的人認爲架構就是框架,二者是一個東西。其實這是一種不正確的認識。

  從語言的角度來講,架構的英文原文爲:architecture,框架是framework,顯示是兩個徹底不一樣的詞。另外,架構是一種思想,一個系統藍圖,是對系統高層次的定義和描述。框架是針對某個問題領域的通用解決方案,它一般集成了最佳實踐和可複用的基礎結構,對開發工做起到減小工做量、指導和規範的做用。

相關文章
相關標籤/搜索