• 
    

    
    

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

      ?

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

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

      曾水根 陳海燕

      (國電南京自動化股份有限公司,江蘇 南京210032)

      0 引言

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

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

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

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

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

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

      筆者更贊同后一種觀點。

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

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

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

      (1)對項目開發(fā)涉及的所有問題領域都有經(jīng)驗,包括徹底地理解項目需求,開展分析設計之類軟件工程活動等;

      (2)具備領導素質(zhì),以在各小組之間推進技術工作,并在項目壓力下做出牢靠的關鍵決策;

      (3)擁有優(yōu)秀的溝通能力,用以進行說服、鼓勵和指導等活動,并贏得項目成員的信任;

      (4)以目標導向和主動的方式來不帶任何感情色彩地關注項目結(jié)果,構(gòu)架師應當是項目背后的技術推動力,而非構(gòu)想者或夢想家(追求完美);

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

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

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

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

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

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

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

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

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

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

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

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

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

      (4)其它作用

      隨著開發(fā)進程的推進,軟件架構(gòu)師的職責或關注點不斷地變化:

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

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

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

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

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

      6)在軟件維護開始時,軟件架構(gòu)師就要分析該軟件架構(gòu)在該軟件產(chǎn)品上的實施效果,是否存在問題,為下一個軟件項目的軟件架構(gòu)設計做準備。

      4 結(jié)論

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

      [1][美]RogerS Pressman.軟件工程-實踐者的研究方法[M].黃柏素,梅宏,譯.北京:機械工業(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].計算機教育,2006,11.

      猜你喜歡
      構(gòu)架軟件系統(tǒng)
      Smartflower POP 一體式光伏系統(tǒng)
      禪宗軟件
      英語文摘(2021年10期)2021-11-22 08:02:26
      建筑安裝造價控制核心要點構(gòu)架
      WJ-700無人機系統(tǒng)
      ZC系列無人機遙感系統(tǒng)
      北京測繪(2020年12期)2020-12-29 01:33:58
      急診PCI治療急性心肌梗死的護理探索構(gòu)架
      軟件對對碰
      高可靠全平臺ICT超融合云構(gòu)架的設計與實現(xiàn)
      電子制作(2018年17期)2018-09-28 01:56:54
      略論意象間的主體構(gòu)架
      中華詩詞(2018年1期)2018-06-26 08:46:42
      連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
      长白| 姜堰市| 革吉县| 叙永县| 阿瓦提县| 张家港市| 错那县| 太白县| 察哈| 宁安市| 永修县| 彭阳县| 织金县| 武定县| 重庆市| 肃北| 长泰县| 新闻| 荣昌县| 凉城县| 额尔古纳市| 阜城县| 南充市| 永昌县| 七台河市| 吉安县| 永昌县| 平阴县| 龙川县| 巴林左旗| 应城市| 中阳县| 平谷区| 仙桃市| 格尔木市| 台北县| 甘肃省| 绥芬河市| 车致| 民县| 修武县|