国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

VS2005讓軟件開發(fā)回歸軟件工程

2019-11-17 04:46:49
字體:
供稿:網(wǎng)友

  整合式開發(fā)環(huán)境(Integrated Development Environment,IDE)以往僅扮演工具的角色,但近來面對軟件在商業(yè)應用日趨復雜所帶來的「突顯特性(Emergent PRoperty)」,這類性質(zhì)難以在項目初期事前猜測,卻影響著上線后整體系統(tǒng)運作的穩(wěn)定性與可靠度,而這也是客戶非常在意的兩個結(jié)案重點。

  微軟去年底發(fā)表Visual Studio 2005(后續(xù)文章中簡稱為VS2005)試圖協(xié)助企業(yè)開發(fā)穩(wěn)固可靠的軟件,首次在單一工具內(nèi)建開發(fā)方法(樂譜)與項目治理(指揮),讓旗下原有的Visual Studio產(chǎn)品脫胎換骨,成為不折不扣的計算機輔助軟件工程工具(Computer-Aided Software Engineering Tools,CASE Tools)。對同級解決方案供貨商如IBM或Borland而言,或許不算是新鮮事,但微軟的創(chuàng)新在于它僅用一個工具就辦到了!

  以軟件工程為主的開發(fā)方法,目的是讓企業(yè)能以合乎成本效益的方式,有效地控管軟件開發(fā)與質(zhì)量。然而,軟件工程從70年代中期便提出,截至目前為止并未讓本土的軟件產(chǎn)業(yè)帶來競爭力的變革,探究其成因是軟件工程本身為抽象概念,難以落實在現(xiàn)實開發(fā)作業(yè)流程。微軟突破從抽象到具體的實踐管道,以VS2005結(jié)合軟件工程與項目治理,包裝成為軟件開發(fā)生命周期(Software Development Life Cycle,SDLC)。雖然后續(xù)效益有待觀察,但勢必對現(xiàn)今開發(fā)現(xiàn)況帶來沖擊。這些沖擊包括:

  1.首當其沖的是否適合使用軟件工程這類結(jié)構(gòu)性的開發(fā)方法,在企業(yè)組織與成本上重新變革。

  2.接下來是VS2005 EXPress免費版,在Eclipse開發(fā)平臺或phpjava語言陣營投下震撼彈,讓猶豫不決的初學者琵琶別抱。

  3.最后是結(jié)合自家的SQL Server 2005,使得程序設(shè)計師或數(shù)據(jù)庫治理員可以使用.NET語言撰寫數(shù)據(jù)庫查詢語法,并改進以往數(shù)據(jù)庫程序無法偵錯的缺點,甚至可完成軟件開發(fā)生命周期。

  這都將是此篇文章中所要探討的問題,但我們先簡述目前企業(yè)面對軟件開發(fā)的幾個問題:

  "軟件項目充斥漫無章法的治理制度與開發(fā)流程"

  假如軟件項目主管比喻為樂團指揮,那么項目經(jīng)理像是握著指揮棒卻沒有指揮權(quán)力的角色,缺乏協(xié)調(diào)的操舵手,樂團如何能彈出和諧的交響樂?簡單地說,本土的軟件項目常出現(xiàn)外行領(lǐng)導內(nèi)行的窘境。企業(yè)主管常直覺上會選擇擅長溝通的人負責治理軟件項目,讓擁有技術(shù)的資深工程師負責執(zhí)行,卻在無意中產(chǎn)生角色上的矛盾,前者不一定懂技術(shù)卻得領(lǐng)導技術(shù)團隊,而后者把握要害的領(lǐng)域知識(Domain Know-How)卻無法決策。此外,主管或項目經(jīng)理與客戶討論軟件功能變更時,資深工程師常被排除在外,通常是事后被迫接受客戶天馬行空的附加功能,最后只能概括承受,結(jié)果是寧愿敷衍了事、犧牲質(zhì)量,也不愿冒險更動架構(gòu)設(shè)計。主管總因為項目的高失敗率與客戶的抱怨而失眠,他們不禁思考:

  1.哪一種開發(fā)方法能兼顧技術(shù)與治理層面?

  2.如何更有效地讓項目經(jīng)理與技術(shù)人員彼此間信息互通與共享?

  3.軟件開發(fā)方向與質(zhì)量現(xiàn)況如何了?

  4.是否工程師正處于高負荷量工作?是否有人偷雞摸狗?

  5.客戶無預期地變更功能時,項目經(jīng)理應如何控管?

  6.人員異動或流程變更時,項目應如何接續(xù)?……諸如此類的問題

  有趣的是,這原本不應該是開發(fā)工具會提問的問題!反而是治理的弊病,微軟卻反其道而行,企圖說服企業(yè)導入制度化的開發(fā)工具,解決治理人員上(指揮)的問題。

  接下來,微軟更具野心要解決團隊協(xié)同開發(fā)(樂譜)方法的困難。目前企業(yè)因商業(yè)競爭全球化導致產(chǎn)品供給煉錯綜復雜,顧客則因為市場供過于求使得選擇多樣化,卻讓企業(yè)難以了解客戶的需求究竟是什么,造成商業(yè)應用軟件高度復雜,超越小型組織單打獨斗的開發(fā)能力,而不得不朝向大型團隊合作的模式。這使得軟件開發(fā)面臨的全新的問題與挑戰(zhàn),起先從工具、再跨越到流程規(guī)范、并延伸到組織、最后必須采用企業(yè)化治理。然而,軟件項目高失敗率仍是企業(yè)主管揮之不去的夢魘,不斷尋找嚴謹?shù)拈_發(fā)流程方法論以有效控制軟件變異性,而不是阻止軟件改變功能。微軟能夠在VS2005中內(nèi)建開發(fā)方法,并強調(diào)平臺化的高度整合與彈性,讓使用者在操作工具時,不知不覺便完成制度化流程與項目控管等。

  軟件項目缺少量身訂作的治理工具

  「巧婦難為無米之炊」,企業(yè)主管面對軟件項目的多樣性常苦無適切的工具,包括各種技術(shù)專精人才的溝通與信息共享、為解決組織治理而造成流程上迭床架屋的復雜性,以及軟件項目的非凡性造成其產(chǎn)出物(artifacts)異于其它項目,這些創(chuàng)意的產(chǎn)出物都是軟件工程師的藝術(shù)杰作,其商業(yè)價值隱藏在程序代碼的字里行間,不僅難以量化治理,更難以衡量。就像生活外圍看似平凡無奇的石頭,卻是現(xiàn)在計算機主要的組成材料:硅的重要來源,而軟件工程師的價值,就在于他們有能力將商業(yè)邏輯轉(zhuǎn)換為程序代碼(將平凡的石頭提煉成芯片)。當然,假如硅谷的軟件工程師因為披頭散發(fā)而視為藝術(shù)家(或者怪胎),那么不難想象項目經(jīng)理如何有通天的本領(lǐng)來控管這群怪胎的產(chǎn)出物了。

  目前業(yè)界的解決方法,既然管不了程序的運作結(jié)果,那么就治理程序代碼。就像工地的工頭一樣,與其擔心工人砌磚頭的過程中將城堡蓋成榻榻米,不如管好每一塊磚頭在堆砌時的去向,假如這樣還會蓋出榻榻米,就是項目經(jīng)理的錯誤了。只是長久以來,項目治理工具(例如Project)一直著重在時程與成本等企業(yè)治理項目上,少有針對軟件開發(fā)非凡領(lǐng)域的專屬工具。相對地,軟件項目治理工具雖然治理程序代碼,卻難以控管成本、資源、任務指派、進度追蹤與績效等,讓軟件開發(fā)與項目治理一直是兩條并行線式的發(fā)展,缺少交集。

  開發(fā)方法答應可控制的變動,而不是阻撓改變

  開發(fā)方法的重要性最輕易發(fā)生在團隊開發(fā)上,對非技術(shù)背景的人而言,一個軟件工程師在計算機屏幕上畫出一只恐龍是很神奇的事,但對治理軟件團隊的項目經(jīng)理而言,10個工程師可能畫出10種長相、外型與行為都不同恐龍,假如缺少開發(fā)方法的規(guī)范,這些恐龍可能也無法湊成一部侏羅紀公園電影。開發(fā)方法像是電影劇本(或交響樂譜),但這個劇本不是用來限制藝術(shù)型式創(chuàng)作,而是讓創(chuàng)意朝向特定走向,避免發(fā)散與失控,這個方向就是客戶需求。此外,也不至于抹煞軟件工程師的創(chuàng)意。項目經(jīng)理就像好來塢優(yōu)秀導演一樣,要挑一本適合工程師演出,又深得客戶感動的劇本。這在軟件開發(fā)項目上越來越重要,傳統(tǒng)常因為缺少適當?shù)拈_發(fā)方法引導,軟件項目便常出現(xiàn)脫稿演出,甚至偏離客戶需求方向。此時,項目經(jīng)理只好不斷與客戶溝通,甚至隱瞞失控的問題,說服客戶達成共識讓項目勉強結(jié)案。

  整合式開發(fā)環(huán)境供貨商著重技術(shù)層面的改版

  整合式開發(fā)環(huán)境供貨商長久以來,改版的動機都在跟上最新技術(shù),例如微軟推出.Net Framework 2.0或Sun制定J2SE 1.5與EJB 3.0時,廠商便急著將新功能納入工具中,但這正與使用者需求背道而馳。

  企業(yè)并不急著應用新功能,依新技術(shù)改版的工具不僅無法吸引他們,反而使人們更慌張,因為這反應著舊有應用程序升級的壓力,以及人員培訓的成本等(縱使這些應用軟件原本很穩(wěn)定地運作)。簡單地說,軟件升級與改版應由企業(yè)自行決定,但現(xiàn)實上都是供貨商強迫下的結(jié)果,可是我們不禁問,供貨商怎么會比使用者更了解何時應升級?以及為何要升級?

  然而,企業(yè)所面對的是應用軟件維護問題,非凡是人員異動或職務調(diào)整,以及客戶變更需求或增修功能時,如何更有效率地治理。不要忘了,軟件維護過程中就算技術(shù)不變,技術(shù)人員的異動還是會提高維護的成本與困難度。讓商業(yè)運作不停擺,如同交響樂團里,就算換了樂手或指揮,還是得向觀眾演奏出協(xié)調(diào)的樂曲。

  “注重團隊開發(fā)而備受矚目”

  微軟在新一代的Visual Studio 2005,不但扮演著延續(xù)Visual Studio這個開發(fā)工具承先啟后的生命,此次改版更注重團隊開發(fā)與開發(fā)方法,不再執(zhí)著于技術(shù)上提升。簡單地說,讓軟件更輕易治理比起更輕易開發(fā)顯得重要些,而且企業(yè)主管更在意前一點,他們也正是決定掏腰包的人,只有工程師會喜歡后者,只是更輕易撰寫程序并無法降低人力成本。VS2005重要改變是平臺化與涵蓋軟件開發(fā)生命周期,接下來我們將會分析這些改變所帶來的影響。

  由開發(fā)工具到開發(fā)與治理平臺

  VS2005在開發(fā)工具部份強化原始程序代碼管控與自動化建構(gòu)的功能,再納入工作項目追蹤、項目入口網(wǎng)站與報表等治理功能,整合成軟件開發(fā)團隊協(xié)同運作所設(shè)計之共通平臺。

  由程序撰寫到軟件開發(fā)生命周期

  微軟本身為開發(fā)工具供貨商,在整合式開發(fā)環(huán)境發(fā)展歷史中也創(chuàng)下許多革新,包括可視化設(shè)計、主從式架構(gòu)與分布式架構(gòu),雖然也為微軟培育出百萬名以上的.NET程序設(shè)計師,但這些階段的演進都離不開程序撰寫的范疇,轉(zhuǎn)入VS2005后邁向另一個轉(zhuǎn)折點:軟件開發(fā)生命周期,讓單一產(chǎn)品實作抽象的軟件工程方法論。

  “何謂好的軟件?”

  Ian Sommerville在「軟件工程(Sofware Engineering)」一書中提到,所謂的好軟件必須具備以下4種性質(zhì):


特性 說明 可維護性(Maintainability) 完成后的軟件必須能夠?qū)︻櫩偷男枨蟾淖冞M行軟件的演進與維護,這是一項非常重要的特性,因為在變動的商業(yè)環(huán)境中,軟件的改變是無法避免的結(jié)果。 可保護性(Dependability) 軟件的可保護性包括可靠性、防護性與安全性。系統(tǒng)發(fā)生故障時,可信任的軟件不應該會造成實體或經(jīng)濟上的損失。 效率(Efficiency) 軟件不應該浪費系統(tǒng)資源,例如處理器與內(nèi)存。因此,效率包含了響應能力、處理時間、內(nèi)存使用率等。可用性(Usability)軟件必須能夠讓設(shè)計的對象輕易使用,不用花太多功夫,這表示它必須有適當?shù)氖褂媒涌谂c說明文件。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 文成县| 凌源市| 霍林郭勒市| 宁远县| 黄浦区| 长海县| 湖北省| 韶关市| 南木林县| 娄底市| 崇信县| 黄平县| 甘泉县| 开封市| 伊宁县| 涿州市| 宁明县| 石楼县| 陆河县| 东宁县| 手机| 谷城县| 比如县| 大姚县| 临潭县| 托克托县| 通辽市| 南木林县| 原阳县| 新河县| 桑日县| 长沙市| 凤阳县| 南皮县| 疏附县| 嘉祥县| 邯郸县| 马鞍山市| 郴州市| 肇庆市| 建始县|