国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析軟件架構(gòu)師在軟件開(kāi)發(fā)過(guò)程中的作用

2014-06-28 00:01曾水根陳海燕
科技視界 2014年11期
關(guān)鍵詞:構(gòu)架軟件系統(tǒng)

曾水根 陳海燕

(國(guó)電南京自動(dòng)化股份有限公司,江蘇 南京210032)

0 引言

大部分軟件企業(yè)正在遭遇“軟件危機(jī)”,主要表現(xiàn)在:軟件開(kāi)發(fā)效率低,開(kāi)發(fā)周期長(zhǎng),開(kāi)發(fā)成本高,可維護(hù)性和使用性差,不能很好的滿足用戶個(gè)性化和頻繁的業(yè)務(wù)變化的需求。而日益激烈的市場(chǎng)競(jìng)爭(zhēng)和經(jīng)濟(jì)全球化,賦予軟件工程以新的特征:有效率、有效用地滿足用戶個(gè)性化需求的定制,快速響應(yīng)和適應(yīng)市場(chǎng)及業(yè)務(wù)的變化,以及低成本、高收益等[1-2]。

低成本、 高收益軟件工程的實(shí)現(xiàn)離不開(kāi)軟件架構(gòu)(Software Architecture),軟件架構(gòu)是一個(gè)軟件系統(tǒng)中的核心元素,軟件架構(gòu)師則是這個(gè)核心元素的實(shí)施人,是一個(gè)軟件工程成敗的關(guān)鍵。

1 關(guān)于軟件架構(gòu)

軟件架構(gòu)的定義不是唯一的,在不同的著作上,不同的作者,對(duì)于軟件架構(gòu)的定義也不統(tǒng)一,角度不同,定義不同。

在“軟件構(gòu)架簡(jiǎn)介”中,David Garlan 和 Mary Shaw 認(rèn)為軟件構(gòu)架是有關(guān)如下問(wèn)題的設(shè)計(jì)層次:“在計(jì)算的算法和數(shù)據(jù)結(jié)構(gòu)之外,設(shè)計(jì)并確定系統(tǒng)整體結(jié)構(gòu)成為了新的問(wèn)題。結(jié)構(gòu)問(wèn)題包括總體組織結(jié)構(gòu)和全局控制結(jié)構(gòu);通信、同步和數(shù)據(jù)訪問(wèn)的協(xié)議;設(shè)計(jì)元素的功能分配;物理分布;設(shè)計(jì)元素的組成;定標(biāo)與性能;備選設(shè)計(jì)的選擇。 ”

也有觀點(diǎn)認(rèn)為軟件架構(gòu)考慮的是相對(duì)的宏觀問(wèn)題, 它是重要模塊、過(guò)程和系統(tǒng)數(shù)據(jù)的集合,包括軟件的結(jié)構(gòu)、彼此的準(zhǔn)確關(guān)系、擴(kuò)展與修改方式,依賴的技術(shù)、系統(tǒng)性能和靈活性獲得方法,以及系統(tǒng)實(shí)施或修改計(jì)劃等。

筆者更贊同后一種觀點(diǎn)。

2 軟件架構(gòu)師的定義

軟件架構(gòu)師是軟件行業(yè)中一種新興職業(yè),工作職責(zé)是在一個(gè)軟件項(xiàng)目開(kāi)發(fā)過(guò)程中,將客戶的需求轉(zhuǎn)換為規(guī)范的開(kāi)發(fā)計(jì)劃及文本,并制定這個(gè)項(xiàng)目的總體架構(gòu),指導(dǎo)整個(gè)開(kāi)發(fā)團(tuán)隊(duì)完成這個(gè)計(jì)劃。 主導(dǎo)系統(tǒng)全局分析設(shè)計(jì)與實(shí)施、負(fù)責(zé)軟件架構(gòu)和關(guān)鍵技術(shù)決策的人員[3]。

軟件架構(gòu)師應(yīng)能迅速抓住問(wèn)題要害,并做出合理的關(guān)鍵決定的能力,具備戰(zhàn)略性和前瞻性思維能力,善于把握全局,能夠在更高抽象級(jí)別上進(jìn)行思考,主要包括如下:

(1)對(duì)項(xiàng)目開(kāi)發(fā)涉及的所有問(wèn)題領(lǐng)域都有經(jīng)驗(yàn),包括徹底地理解項(xiàng)目需求,開(kāi)展分析設(shè)計(jì)之類軟件工程活動(dòng)等;

(2)具備領(lǐng)導(dǎo)素質(zhì),以在各小組之間推進(jìn)技術(shù)工作,并在項(xiàng)目壓力下做出牢靠的關(guān)鍵決策;

(3)擁有優(yōu)秀的溝通能力,用以進(jìn)行說(shuō)服、鼓勵(lì)和指導(dǎo)等活動(dòng),并贏得項(xiàng)目成員的信任;

(4)以目標(biāo)導(dǎo)向和主動(dòng)的方式來(lái)不帶任何感情色彩地關(guān)注項(xiàng)目結(jié)果,構(gòu)架師應(yīng)當(dāng)是項(xiàng)目背后的技術(shù)推動(dòng)力,而非構(gòu)想者或夢(mèng)想家(追求完美);

(5)精通構(gòu)架設(shè)計(jì)的理論、實(shí)踐和工具,并掌握多種參考構(gòu)架、主要的可重用構(gòu)架機(jī)制和模式(例如J2EE 架構(gòu)等);

(6)具備系統(tǒng)設(shè)計(jì)員的所有技能,但涉及面更廣、抽象級(jí)別更高;活動(dòng)確定用例或需求的優(yōu)先級(jí)、進(jìn)行構(gòu)架分析、創(chuàng)建構(gòu)架的概念驗(yàn)證原型、評(píng)估構(gòu)架的概念驗(yàn)證原型的可行性、組織系統(tǒng)實(shí)施模型、描述系統(tǒng)分布結(jié)構(gòu)、描述運(yùn)行時(shí)刻構(gòu)架、確定設(shè)計(jì)機(jī)制、確定設(shè)計(jì)元素、合并已有設(shè)計(jì)元素、構(gòu)架文檔、參考構(gòu)架、分析模型、設(shè)計(jì)模型、實(shí)施模型、部署模型、構(gòu)架概念驗(yàn)證原型、接口、事件、信號(hào)與協(xié)議等。

3 軟件架構(gòu)師的工作

軟件架構(gòu)師在軟件開(kāi)發(fā)中的重要性日漸突出。 可以這樣說(shuō),一個(gè)軟件架構(gòu)師工作的好壞決定了整個(gè)軟件開(kāi)發(fā)項(xiàng)目的成敗。

作為軟件架構(gòu)的設(shè)計(jì)者是關(guān)系到軟件成敗的關(guān)鍵因素,缺少了軟件架構(gòu)師的工作,軟件產(chǎn)品的生產(chǎn)率、上市時(shí)間、質(zhì)量和成本等諸多方面就不能得到應(yīng)有的保障。

(1)軟件架構(gòu)創(chuàng)建的意義

使用合適的軟件架構(gòu)可以在需求變動(dòng)的情況下迅速的進(jìn)入變動(dòng)之后的軟件開(kāi)發(fā)。 如果拿一棟大樓來(lái)比喻整個(gè)的軟件產(chǎn)品。 那么軟件架構(gòu)就好比大樓的骨架。 沒(méi)有好的軟件架構(gòu),軟件產(chǎn)品的質(zhì)量可想而知。 軟件架構(gòu)是軟件產(chǎn)品的精髓,只有在合適的產(chǎn)品上采用合適的軟件架構(gòu)才能真正的提高軟件產(chǎn)品的質(zhì)量。

(2)軟件架構(gòu)的創(chuàng)建過(guò)程

一旦項(xiàng)目立項(xiàng), 系統(tǒng)分析師把項(xiàng)目的需求分析提交過(guò)來(lái)之后.根據(jù)該項(xiàng)目的整體解決方案, 軟件架構(gòu)師就必須找到適合該軟件的架構(gòu)。

確定了軟件架構(gòu)之后就可以依據(jù)它來(lái)組建項(xiàng)目團(tuán)隊(duì),并創(chuàng)建一個(gè)骨架系統(tǒng)作為增量式開(kāi)發(fā)的基礎(chǔ),把傳統(tǒng)的軟件開(kāi)發(fā)模式和敏捷開(kāi)發(fā)(Agile Development)模式結(jié)合起來(lái)。

為了軟件產(chǎn)品的升級(jí)及復(fù)用,小型的軟件產(chǎn)品也應(yīng)該設(shè)置軟件架構(gòu)的設(shè)置環(huán)節(jié),大型的軟件產(chǎn)品則必須要有軟件架構(gòu)的設(shè)計(jì)環(huán)節(jié)。 那么,大型軟件產(chǎn)品的開(kāi)發(fā)模式就變成了傳統(tǒng)軟件開(kāi)發(fā)模式、軟件架構(gòu)設(shè)計(jì)和敏捷開(kāi)發(fā)模式的綜合。小型軟件產(chǎn)品的開(kāi)發(fā)模式就變?yōu)榱塑浖軜?gòu)設(shè)計(jì)和敏捷開(kāi)發(fā)模式的綜合。軟件架構(gòu)設(shè)計(jì)不論在大型軟件產(chǎn)品還是小型軟件產(chǎn)品的開(kāi)發(fā)模式中所處的位置基本上是一樣的.都是處在需求分析后進(jìn)行軟件架構(gòu)的設(shè)計(jì)。對(duì)于需求不確定或者軟件架構(gòu)師認(rèn)為變動(dòng)頻繁的功能模塊采用敏捷開(kāi)發(fā)的模式。 如果需求變動(dòng),采用敏捷開(kāi)發(fā)的方式修改相應(yīng)的功能模塊。

(3)軟件架構(gòu)資源庫(kù)的創(chuàng)建與維護(hù)

把不同的軟件架構(gòu)形成一種知識(shí),供以后的項(xiàng)目或其它軟件架構(gòu)師、系統(tǒng)分析師使用。 軟件資源庫(kù)中包括所包含每一種軟件架構(gòu)的文檔說(shuō)明,實(shí)例圖,使用該軟件架構(gòu)的軟件產(chǎn)品等,最好能創(chuàng)建一個(gè)輔助工具軟件來(lái)維護(hù)軟件架構(gòu)資源庫(kù)。

(4)其它作用

隨著開(kāi)發(fā)進(jìn)程的推進(jìn),軟件架構(gòu)師的職責(zé)或關(guān)注點(diǎn)不斷地變化:

1)在需求階段配合系統(tǒng)分析師;

2)需求明確后,軟件架構(gòu)師要進(jìn)行軟件架構(gòu)的設(shè)計(jì);

3)隨后,軟件架構(gòu)師的關(guān)注點(diǎn)開(kāi)始轉(zhuǎn)移到組織開(kāi)發(fā)團(tuán)隊(duì)成員和開(kāi)發(fā)過(guò)程定義上;

4)在編碼階段,架構(gòu)師則成為詳細(xì)設(shè)計(jì)者和代碼編寫者的顧問(wèn)。并且經(jīng)常性地要舉行一些技術(shù)研討會(huì)、技術(shù)培訓(xùn)班等;

5)隨著軟件開(kāi)始測(cè)試、集成和交付,集成和測(cè)試支持將成為軟件架構(gòu)師的工作重點(diǎn);

6)在軟件維護(hù)開(kāi)始時(shí),軟件架構(gòu)師就要分析該軟件架構(gòu)在該軟件產(chǎn)品上的實(shí)施效果,是否存在問(wèn)題,為下一個(gè)軟件項(xiàng)目的軟件架構(gòu)設(shè)計(jì)做準(zhǔn)備。

4 結(jié)論

軟件架構(gòu)的設(shè)計(jì)和規(guī)范可以實(shí)現(xiàn)開(kāi)發(fā)工作的簡(jiǎn)單性和系統(tǒng)對(duì)未來(lái)更改的適應(yīng)性。所以軟件企業(yè)要正確的認(rèn)識(shí)軟件架構(gòu)師的工作,認(rèn)真的對(duì)待軟件架構(gòu)師這個(gè)職位的必要性。

[1][美]RogerS Pressman.軟件工程-實(shí)踐者的研究方法[M].黃柏素,梅宏,譯.北京:機(jī)械工業(yè)出版社,1999.

[2]A W Brown,K C Wallau.The current state of CRSE [J].IEEE Software,1998,15(5):37-46.

[3]張友生,李雄.軟件架構(gòu)師的角色和培養(yǎng)[J].計(jì)算機(jī)教育,2006,11.

猜你喜歡
構(gòu)架軟件系統(tǒng)
禪宗軟件
WJ-700無(wú)人機(jī)系統(tǒng)
急診PCI治療急性心肌梗死的護(hù)理探索構(gòu)架
基于PowerPC+FPGA顯示系統(tǒng)
軟件對(duì)對(duì)碰
高可靠全平臺(tái)ICT超融合云構(gòu)架的設(shè)計(jì)與實(shí)現(xiàn)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
談軟件的破解與保護(hù)