廖華強(qiáng) 李昊昱 遂寧市中心醫(yī)院信息科
系統(tǒng)軟件架構(gòu)的重要性
廖華強(qiáng) 李昊昱 遂寧市中心醫(yī)院信息科
系統(tǒng)軟件架構(gòu)也就是對(duì)軟件的架構(gòu)體系進(jìn)行設(shè)計(jì),作為軟件開發(fā)中必不可少一部分,它在復(fù)雜性管理、沖突分析等方面都有著非常重要的意義。
重要性 系統(tǒng)軟件架構(gòu) 項(xiàng)目管理
隨著信息技術(shù)的不斷發(fā)展,軟件架構(gòu)設(shè)計(jì)也得到了非常廣泛的應(yīng)用,但就目前的情況而言,我國對(duì)于軟件架構(gòu)的認(rèn)識(shí)還存在著許多誤區(qū),因此,必須深刻認(rèn)識(shí)到系統(tǒng)軟件架構(gòu)的重要性,為軟件開發(fā)提供堅(jiān)實(shí)的基礎(chǔ)。
在系統(tǒng)開發(fā)中之所以需要對(duì)軟件進(jìn)行架構(gòu)設(shè)計(jì),是因?yàn)閷?shí)現(xiàn)人員和設(shè)計(jì)人員在工作過程中需要有可靠的框架作為基礎(chǔ)。然而相對(duì)于傳遞體系架構(gòu)視圖來說,想要進(jìn)行軟件架構(gòu)設(shè)計(jì)顯然要困難的多,因此,架構(gòu)師必須對(duì)體系架構(gòu)中的組件、組件間通信以及組件接口等重要元素進(jìn)行確定,明確的定義好軟件的體系架構(gòu),為之后的系統(tǒng)軟件開發(fā)打好基礎(chǔ)。另外,架構(gòu)師還需要在進(jìn)行軟件架構(gòu)設(shè)計(jì)的同時(shí)做好開發(fā)過程活動(dòng)的架構(gòu)回顧與架構(gòu)評(píng)估,通過恰當(dāng)?shù)牟僮鳂?biāo)準(zhǔn)與準(zhǔn)確的指導(dǎo)方針來為設(shè)計(jì)人員與實(shí)現(xiàn)人員建立總體的工作方向,確保系統(tǒng)實(shí)現(xiàn)的有效性與準(zhǔn)確性。
隨著軟件開發(fā)技術(shù)的不斷發(fā)展,實(shí)現(xiàn)出來的系統(tǒng)也越來越復(fù)雜,系統(tǒng)軟件架構(gòu)基于‘分而治之’的思想,在控制問題的復(fù)雜性上有著很好的效果,因此,想要對(duì)復(fù)雜的系統(tǒng)進(jìn)行有效管理,良好的軟件架構(gòu)設(shè)計(jì)同樣必不可少。系統(tǒng)軟件架構(gòu)能夠?qū)ο到y(tǒng)內(nèi)構(gòu)件與構(gòu)件之間的關(guān)系進(jìn)行描述,并根據(jù)這一抽象化的系統(tǒng)進(jìn)行分析處理,從而得到高層次的復(fù)雜管理方法,提高系統(tǒng)管理的效率。另外,系統(tǒng)架構(gòu)在設(shè)計(jì)過程中還會(huì)對(duì)組件的遞歸分解進(jìn)行考慮,也就是說系統(tǒng)軟件件架構(gòu)能夠?qū)⒎浅?fù)雜的問題進(jìn)行逐層分解,使之分化成無數(shù)個(gè)小的問題,之后再對(duì)這些小問題進(jìn)行逐一解決,這種問題處理辦法對(duì)于系統(tǒng)管理來說是非常有效的。
軟件架構(gòu)設(shè)計(jì)具有一個(gè)非常重要的優(yōu)點(diǎn),那就是它能夠支持設(shè)計(jì)者在做出改變之前對(duì)其所擁有的效果進(jìn)行推斷。系統(tǒng)軟件架構(gòu)不僅能夠確定架構(gòu)的主要組件,還能夠明確組件與組件間的交互作用,使兩個(gè)組件之間的依賴關(guān)系以及這些組件對(duì)要求的可追溯性等信息能夠更加具體。而有了這些信息,就可以根據(jù)組件的影響來分析出需求的變化,另外如果需要知道改變一個(gè)組件的影響,也可以通過這種方式來實(shí)現(xiàn)。
軟件架構(gòu)設(shè)計(jì)不僅可以對(duì)系統(tǒng)的開發(fā)、管理、分析等工作提供幫助,還能夠有效的控制系統(tǒng)維護(hù)成本,進(jìn)而實(shí)現(xiàn)經(jīng)濟(jì)效益的提升。首先必須明確的是,在軟件的架構(gòu)設(shè)計(jì)過程中,維護(hù)人員是架構(gòu)主要的涉眾,因此軟件架構(gòu)的設(shè)計(jì)首先要考慮的就是維護(hù)人員的工作需求,而維修人員的需求得到了滿足,整個(gè)系統(tǒng)的可維護(hù)性也就得到了提高,系統(tǒng)維護(hù)費(fèi)用自然就會(huì)降低。其次為進(jìn)一步完善系統(tǒng),架構(gòu)師一般在建立體系架構(gòu)的同時(shí),還會(huì)結(jié)合具體的系統(tǒng)維護(hù)機(jī)制,為系統(tǒng)的適應(yīng)性與可擴(kuò)充性提供充分保障,這也會(huì)使系統(tǒng)后續(xù)的維修、升級(jí)費(fèi)用大大降低。
軟件架構(gòu)設(shè)計(jì)可以對(duì)組件間的依賴關(guān)系進(jìn)行確定,從而為項(xiàng)目的計(jì)劃、管理等活動(dòng)提供直接、有力的支持,具體包括工作任務(wù)分配,成本費(fèi)用分析,風(fēng)險(xiǎn)隱患管理、工作日程安排等。此外,軟件架構(gòu)設(shè)計(jì)還能夠?qū)?xiàng)目成本估算提供幫助,比如當(dāng)體系架構(gòu)決定使用第三方組件時(shí),就可以對(duì)組件成本以及開發(fā)工具成本進(jìn)行預(yù)估。最后,架構(gòu)師還可以根據(jù)實(shí)際風(fēng)險(xiǎn)程度確定風(fēng)險(xiǎn)的優(yōu)先次序,并以此為依據(jù)制定出較為合理的風(fēng)險(xiǎn)用對(duì)策略。
軟件架構(gòu)設(shè)計(jì)可以同時(shí)支持復(fù)用資源的創(chuàng)建與使用。在系統(tǒng)中,每建立一個(gè)體系架構(gòu),都能夠?yàn)榇罅6鹊馁Y源復(fù)用提供有力支持,比如體系架構(gòu)的重要組件、和組件間的接口、組件接口質(zhì)量等,都可以支持現(xiàn)貨供應(yīng),而系統(tǒng)與封裝應(yīng)用程序的選擇,同樣可以用來實(shí)現(xiàn)這些組件。同時(shí),隨著軟件尤其是醫(yī)院等單位應(yīng)用軟件的發(fā)展,很多系統(tǒng)軟件已經(jīng)過了多次的升級(jí)與功能拓展,系統(tǒng)架構(gòu)的不合理因素不斷累積,使得每一次的功能升級(jí)都愈發(fā)困難。而軟件架構(gòu)設(shè)計(jì)能夠充分考慮系統(tǒng)的可擴(kuò)充性,減少軟件升級(jí)過程中產(chǎn)生的不合理因素,為系統(tǒng)的優(yōu)化升級(jí)提供巨大的便利。
總之,系統(tǒng)軟件架構(gòu)在軟件開發(fā)中的很多方面都有著十分重要的意義,只有充分的認(rèn)識(shí)到軟件架構(gòu)設(shè)計(jì)在這其中起到的作用,才能夠提高對(duì)軟件架構(gòu)的重視程度,進(jìn)一步推動(dòng)軟件開發(fā)的發(fā)展。
[1]呂林森,鄭鳳.任務(wù)系統(tǒng)軟件體系架構(gòu)研究[J].航空電子技術(shù),2013,44(01):6-9.
[2]李兵.復(fù)雜系統(tǒng)綜合健康管理軟件架構(gòu)的研究[D].沈陽航空工業(yè)學(xué)院,2008.