• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2014-06-28 20:21:48曾水根陳海燕
      科技視界 2014年11期
      關(guān)鍵詞:軟件

      曾水根 陳海燕

      【摘 要】隨著軟件行業(yè)的快速發(fā)展,軟件工程的規(guī)模越來(lái)越大,復(fù)雜程度越來(lái)越高,軟件設(shè)計(jì)的核心已經(jīng)超越了傳統(tǒng)的“算法+數(shù)據(jù)結(jié)構(gòu)=程序”的設(shè)計(jì)模式,取而代之的是對(duì)系統(tǒng)的總體結(jié)構(gòu)的設(shè)計(jì)和規(guī)范。軟件架構(gòu)師在軟件開(kāi)發(fā)過(guò)程中充當(dāng)著越來(lái)越重要的角色,在整個(gè)軟件的生命周期中的重要性日益突出。本文通過(guò)剖析軟件架構(gòu)師的定義分析了其在軟件開(kāi)發(fā)過(guò)程中的作用。

      【關(guān)鍵詞】軟件;軟件架構(gòu);軟件架構(gòu)師

      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ì)的選擇?!?/p>

      也有觀點(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ì)者和代碼編寫(xiě)者的顧問(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è)職位的必要性。

      【參考文獻(xiàn)】

      [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.

      [責(zé)任編輯:謝慶云]

      猜你喜歡
      軟件
      基于BERT的提示學(xué)習(xí)實(shí)現(xiàn)軟件需求精確分類
      禪宗軟件
      工業(yè)軟件 自主創(chuàng)新
      防鼠軟件
      基于云計(jì)算的軟件自動(dòng)化測(cè)試方法
      電子制作(2019年16期)2019-09-27 09:34:56
      軟件對(duì)對(duì)碰
      巧用立創(chuàng)EDA軟件和Altium Designer軟件設(shè)計(jì)電路
      電子制作(2019年24期)2019-02-23 13:22:20
      GIS相關(guān)軟件在風(fēng)景園林中的應(yīng)用
      軟件修正
      即時(shí)通訊軟件WhatsApp
      CHIP新電腦(2015年10期)2015-10-15 18:03:55
      泰宁县| 桐柏县| 准格尔旗| 通化市| 奈曼旗| 临邑县| 西宁市| 大埔县| 桂阳县| 棋牌| 敖汉旗| 瑞金市| 彰武县| 隆德县| 北碚区| 灵寿县| 综艺| 凉山| 张掖市| 新乐市| 雅江县| 南靖县| 二手房| 建瓯市| 吐鲁番市| 南充市| 台东市| 建湖县| 西和县| 遵义市| 保定市| 理塘县| 昆山市| 商城县| 屏东市| 东安县| 安图县| 新宾| 古交市| 内丘县| 三门峡市|