馬麗娟
(江南機電設計研究所,貴州貴陽,550000)
基于軟件開發環節中軟件架構的作用研究
馬麗娟
(江南機電設計研究所,貴州貴陽,550000)
隨著在軟件開發環節中軟件架構所具備的作用越來越強,為此相關學者對這一課題投入比較多的時間與精力,本文通過對軟件架構的定義、種類、表現方法、具體作用進行分析,以期可以更好的發揮軟件架構作用。
軟件開發;軟件架構;作用
軟件架構就如同是軟件系統的地基,那么這是屬于一個軟件系統核心因素,為此,這對于一個系統所存在的基本功能、宏觀特性、主體結構起到決定性的作用,往往軟甲架構處在開發軟件環節的前期階段,設計軟件架構就是通過進行客戶需求的分析、非功能性需求的挖掘、另外轉化客戶需求進行定義的領域知識成為軟件模型。基于本質上進行分析,軟件架構屬于一種抽象解決軟件需求的方案,可以為設計大型軟件系統的各個方面提供相應的指導。
軟件架構所指的就是說相應的系列性的抽象模式,可以為設計大型軟件系統的各個方面提供相應的指導。從本質上來看,軟件架構是屬于一種系統草圖。在軟件架構所描述的對象就是直接的進行系統抽象組件構成。連接系統的各個組件之間就是做到把組件之間所存在的通訊比較明確與相對細致的實施描述。處于相應的系統實現環節,那么就會使得細化這些抽象組件成為現實的組件,比如可以是具體的某個類或者是對象。從面向對象領域進行分析,那么各個組件之前實施的連接實現往往是接口。
按照當前我國的各種不同的關注角度,能夠將軟件架構劃分成為三種類型。
2.1 邏輯架構
軟件系統系統當中的各個元件之間所存在的關系,比如外部系統接口、用戶界面、商業邏輯元件、數據庫等。
2.2 物理架構
究竟是怎樣做到在硬件當中放置軟件元件。例如處于上海與北京進行分布的分布式系統的物理架構,這也就是說全部的元件都是屬于物理設備,主要的有主機、整合服務器、應用服務器、代理服務器、存儲服務器、報表服務器、Web服務器、網絡分流器等。
2.3 系統架構
相應的系統存在著性能、強壯性、可擴展性、靈活性、可靠性等這些非功能性特征。設計系統的架構比要讓系統架構設計人員存在著過硬的軟件與硬件的性能與功能,往往從事這樣的工作這是屬于設計系統架構環節最為困難的工作。除了以上所提到的之外,基于各個不同的角度進行分析,都能夠了解到劃分元件、決定設計這兩個架構的要素。一個軟件系統的元件首先就是屬于一種邏輯元件。那么究竟怎樣做到在硬件中有效的放置以上所提到的邏輯元件,還有的就是這些元件怎樣發揮作用在整個系統的性能、強壯性、可擴展性、靈活性、可靠性等。這也是屬于特別重要的信息。比如在一個中等規模的數據庫應用系統往往大致存在一百個左右數據表,那么這也就使得設計一個系統往往必須依托一百頁規模架構進行文檔設計。
往往表示軟件架構則是借助于多種架構視圖實施。基于本質上進行分析,那么這樣的多種架構視圖則是選取相應的圖形方式將處于架構領域存在著十分重要意義的模型元素予以摘要性的說明。
(1)實施視圖,這主要包含的內容為包含這實施模型及其從模塊到包、層的組織形式實施的概覽;而且在這一過程中,還存在著把相應的邏輯視圖中的包與類往實施視圖中的包與分配模塊的狀況實施描述。
(2)邏輯視圖,這主要的是最為關鍵的設計類、從這些設計類到包與子系統的組織形式,另外還有的就是這些包與子系統到層的組織形式。
(3)配置視圖,這主要的是描述最為典型的配置平臺的各種物理節點,還有的就是往物理節點分配來自于進程視圖的任務的情況,往往這一視圖僅僅只是在分布式系統。
(4)用例視圖,這主要的是場景與用例。
(5)進程視圖,這主要的是描述進程與線程的涉及的任務,這些任務的配置與交互,還有的就是把設計分配對象與類向任務,往往這一視圖僅僅只是出于系統存在著特別高程度并行過中才使用。
4.1 開發新產品過程中軟件架構所具備的作用分析
所謂的軟件架構則是屬于在現實的世界與計算機領域所搭建起來的一座溝通的橋梁,具體來說,其作用主要為以下幾點。
第一點就是進行業務目標的上乘。從本質上來看,軟件架構往往存在著出于將業務目標完成而必須開展相應的大局規劃的責任;第二點所指的就是進行技術決策的下接。憑借著把面向業務的相關需求往面向技術方向轉向的軟件架構設計方案,這可以將行之有效的限制與指導提供給后續的技術開發工作;第三點就是有效的將新產品的質量提升;第四點所指的就是進相應的新產品開發過程的組織;第五點所指的就是借助于相應的迭代實施相應新產品開展與增量的交付;第六點則是說控制所具備的復雜性,立足于相應的分而治之的思想,從而能夠為金星秀問題所具備的復雜性實施相應的控制。
4.2 開發軟件產品過程中系統架構所具備的作用分析
第一就是將所具備的相應的核心知識予以固話;第二就是可以提供相應的可重用資產;第三就是將產品推出的周期進行有效的縮短;第四就是使得產品開發與維護的總成本得以最大限度的降低;第五就是將產品的質量有效的提升;第六就是為批量控制提供有效的支持。
4.3 軟件產品線架構所具備的特點分析
軟件產品線架構就是說根據一個公司或者是某一個組織內部那些一系列的產品所進行設計的相應的通用架構。那么就能夠了解到這樣的一系列產品存在著特別多的相似之處那么這些能夠借助同一個架構或者部分共享來實施具體實現,使得生產率得到最大限度的提升。軟件產品線架構主要存在著以下的作用。
第一個作用就是應該將一系列的明確許可的變化進行考慮;第二個作用所指的就是必須做到文檔化;第三個作用就是說應該可以存在著相應的產品創建者指南,將實例化架構的整個過程進行描述。
4.4 維護軟件過程中軟件架構的作用分析
從本質上來看,相應的軟件維護工作主要的來源是Bug與需求變更。往往修復一個Bug與增加一個新的功能,那么通常都會涉及到架構環節的一條模塊協作鏈,針對這樣的情況,軟件架構比有利于維護工作的開展;反之,如果對于架構并不能了解,相應的進行程序的盲目修改,這也就會存在著可能性對架構設計的思路造成未必,從而導致整個系統所存在的架構逐步顯得比較混亂,這也就會存在著可能性導致出現不可思議的Bug與問題。
4.5 軟件升級過程中軟件架構的作用分析
相應的軟件架構則是通過對軟件系統實施持續性的修改,還應該必須做好重構,往往對其實施重構主要是兩種狀況:第一種狀況就是特別混亂的架構,從而導致實施一個比較小的改動就會出現牽動全身;第二種狀況所指的就是即將實施的升級軟件存在著比較大的力度,之前的軟件架構與新的需求根本就不能適應。相應的軟件架構予以重構則是屬于再工程的一種情況,往往必須實施的步驟為逆向工程、重新規劃、正向工程這樣的三個步驟。
[1]陳煥彬. 淺談.NET三層架構在系統開發中的應用[J]. 電腦與信息技術,2016,(05):45-47.
[2]李聲威,王愛景,譚紅星.敏捷開發中軟件架構設計與實踐[J].電腦與信息技術,2015,(03):1-4+11.
Research on the role of software architecture in software development
Ma Lijuan
(the jiangnan institute of mechanical and electrical design, Guiyang Guizhou,550000)
With the software architecture in the software development process has more and more strong, the effect of related scholars have to invest more time and energy for the subject, this article through to the
definition of software architecture, kinds, method of performance, the specific function is analyzed, in
order to better able to play a role of software architecture.
software development; Software architecture; role