複製鏈接
請複製以下鏈接發送給好友

軟件架構

(指導軟件系統各個方面的設計)

鎖定
軟件架構(software architecture)是一系列相關的抽象模式,用於指導大型軟件系統各個方面的設計。軟件架構是一個系統的草圖。軟件體系結構是構建計算機軟件實踐的基礎。
中文名
軟件架構
外文名
software architecture
作    用
指導軟件系統各個方面的設計
行    業
計算機
提出者
E·W·戴克斯特拉

軟件架構軟件介紹

軟件架構所指的就是説相應的系列性的抽象模式,可以為設計大型軟件系統的各個方面提供相應的指導。從本質上來看,軟件架構是屬於一種系統草圖。在軟件架構所描述的對象就是直接的進行系統抽象組件構成。連接系統的各個組件之間就是做到把組件之間所存在的通訊比較明確與相對細緻的實施描述。處於相應的系統實現環節,那麼就會使得細化這些抽象組件成為現實的組件,比如可以是具體的某個類或者是對象。從面向對象領域進行分析,那麼各個組件之前實施的連接實現往往是接口。 [1] 
軟件架構為軟件系統提供了一個結構、行為和屬性的高級抽象,由構件的描述、構件的相互作用、指導構件集成的模式以及這些模式的約束組成。軟件架構不僅顯示了軟件需求和軟件結構之間的對應關係,而且指定了整個軟件系統的組織和拓撲結構,提供了一些設計決策的基本原理。 [2] 

軟件架構種類

按照當前我國的各種不同的關注角度,能夠將軟件架構劃分成為三種類型。
1、邏輯架構
軟件系統系統當中的各個元件之間所存在的關係,比如外部系統接口、用户界面、商業邏輯元件、數據庫等。
2、物理架構
究竟是怎樣做到在硬件當中放置軟件元件。例如處於上海與北京進行分佈的分佈式系統的物理架構,這也就是説全部的元件都是屬於物理設備,主要的有主機、整合服務器、應用服務器、代理服務器、存儲服務器、報表服務器、Web服務器、網絡分流器等。
3、系統架構
系統架構一般涉及到兩個方面的內容,其一是業務架構,其二是軟件架構。業務架構描述了業務領域主要的業務模塊及其組織結構。軟件架構是一種思想,一個系統藍圖,是對軟件結構組成的規劃和職責設定。一個軟件裏有處理數據存儲的處理業務邏輯的、處理頁面交互的、處理安全的等許多可邏輯劃分出來的部分。

軟件架構表現形式

軟件架構 軟件架構
往往表示軟件架構則是藉助於多種架構視圖實施。基於本質上進行分析,那麼這樣的多種架構視圖則是選取相應的圖形方式將處於架構領域存在着十分重要意義的模型元素予以摘要性的説明。
(1)實施視圖:
這主要包含的內容為包含這實施模型及其從模塊到包、層的組織形式實施的概覽;而且在這一過程中,還存在着把相應的邏輯視圖中的包與類往實施視圖中的包與分配模塊的狀況實施描述。
(2)邏輯視圖:
這主要的是最為關鍵的設計類、從這些設計類到包與子系統的組織形式,另外還有的就是這些包與子系統到層的組織形式。
(3)配置視圖:
這主要的是描述最為典型的配置平台的各種物理節點,還有的就是往物理節點分配來自於進程視圖的任務的情況,往往這一視圖僅僅只是在分佈式系統。
(4)用例視圖:
這主要的是場景與用例。
(5)進程視圖:
這主要的是描述進程與線程的涉及的任務,這些任務的配置與交互,還有的就是把設計分配對象與類向任務,往往這一視圖僅僅只是出於系統存在着特別高程度並行過中才使用。 [1] 

軟件架構具體作用

1、開發新產品過程中軟件架構所具備的作用分析
所謂的軟件架構則是屬於在現實的世界與計算機領域所搭建起來的一座溝通的橋樑,具體來説,其作用主要為以下幾點。第一點就是進行業務目標的上乘。從本質上來看,軟件架構往往存在着出於將業務目標完成而必須開展相應的大局規劃的責任;第二點所指的就是進行技術決策的下接。憑藉着把面向業務的相關需求往面向技術方向轉向的軟件架構設計方案,這可以將行之有效的限制與指導提供給後續的技術開發工作;第三點就是有效的將新產品的質量提升;第四點所指的就是進相應的新產品開發過程的組織;第五點所指的就是藉助於相應的迭代實施相應新產品開展與增量的交付;第六點則是説控制所具備的複雜性,立足於相應的分而治之的思想,從而能夠對問題的複雜性實施相應的控制。
2、開發軟件產品過程中系統架構所具備的作用分析
第一就是將所具備的相應的核心知識予以固化;第二就是可以提供相應的可重用資產;第三就是將產品推出的週期進行有效的縮短;第四就是使得產品開發與維護的總成本得以最大限度的降低;第五就是將產品的質量有效的提升;第六就是為批量控制提供有效的支持。
3、軟件產品線架構所具備的特點分析
軟件產品線架構就是説根據一個公司或者是某一個組織內部那些一系列的產品所進行設計的相應的通用架構。那麼就能夠了解到這樣的一系列產品存在着特別多的相似之處那麼這些能夠藉助同一個架構或者部分共享來實施具體實現,使得生產率得到最大限度的提升。軟件產品線架構主要存在着以下的作用:
第一個作用就是應該將一系列的明確許可的變化進行考慮;第二個作用所指的就是必須做到文檔化;第三個作用就是説應該可以存在着相應的產品創建者指南,將實例化架構的整個過程進行描述。
4、維護軟件過程中軟件架構的作用分析
從本質上來看,相應的軟件維護工作主要的來源是Bug與需求變更。往往修復一個Bug與增加一個新的功能,那麼通常都會涉及到架構環節的一條模塊協作鏈,針對這樣的情況,軟件架構比有利於維護工作的開展;反之,如果對於架構並不能瞭解,相應的進行程序的盲目修改,這也就會存在着可能性對架構設計的思路造成未必,從而導致整個系統所存在的架構逐步顯得比較混亂,這也就會存在着可能性導致出現不可思議的Bug與問題。
5、軟件升級過程中軟件架構的作用分析
相應的軟件架構則是通過對軟件系統實施持續性的修改,還應該必須做好重構,往往對其實施重構主要是兩種狀況:第一種狀況就是特別混亂的架構,從而導致實施一個比較小的改動就會出現牽動全身;第二種狀況所指的就是即將實施的升級軟件存在着比較大的力度,之前的軟件架構與新的需求根本就不能適應。相應的軟件架構予以重構則是屬於再工程的一種情況,往往必須實施的步驟為逆向工程、重新規劃、正向工程這樣的三個步驟。 [1] 
參考資料
  • 1.    馬麗娟.基於軟件開發環節中軟件架構的作用研究[J].電子測試,2017,(13):69-70.
  • 2.    陳伊卿,戴小氐,林木.某任務管理計算機軟件架構設計[J].航空計算技術,2017,47(5):91-93,100.