2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

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

 ekylin 2006-05-01

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


www.  更新日期:2006-4-8 4:30:08  七度空間



  整合式開發(fā)環(huán)境(Integrated Development Environment,IDE)以往僅扮演工具的角色,但近來面對軟件在商業(yè)應(yīng)用日趨復(fù)雜所帶來的「突顯特性(Emergent Property)」,這類性質(zhì)難以在項目初期事前預(yù)測,卻影響著上線后整體系統(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.首當(dāng)其沖的是否適合使用軟件工程這類結(jié)構(gòu)性的開發(fā)方法,在企業(yè)組織與成本上重新變革。

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

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

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

 ?。④浖椖砍涑饴o章法的管理制度與開發(fā)流程"

  如果軟件項目主管比喻為樂團指揮,那么項目經(jīng)理像是握著指揮棒卻沒有指揮權(quán)力的角色,缺乏協(xié)調(diào)的操舵手,樂團如何能彈出和諧的交響樂?簡單地說,本土的軟件項目常出現(xiàn)外行領(lǐng)導(dǎo)內(nèi)行的窘境。企業(yè)主管常直覺上會選擇擅長溝通的人負(fù)責(zé)管理軟件項目,讓擁有技術(shù)的資深工程師負(fù)責(zé)執(zhí)行,卻在無意中產(chǎn)生角色上的矛盾,前者不一定懂技術(shù)卻得領(lǐng)導(dǎo)技術(shù)團隊,而后者掌握關(guān)鍵的領(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.是否工程師正處于高負(fù)荷量工作?是否有人偷雞摸狗?

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

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

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

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

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

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

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

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

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

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

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

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

  然而,企業(yè)所面對的是應(yīng)用軟件維護(hù)問題,特別是人員異動或職務(wù)調(diào)整,以及客戶變更需求或增修功能時,如何更有效率地管理。不要忘了,軟件維護(hù)過程中就算技術(shù)不變,技術(shù)人員的異動還是會提高維護(hù)的成本與困難度。讓商業(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è)計師,但這些階段的演進(jìn)都離不開程序撰寫的范疇,轉(zhuǎn)入VS2005后邁向另一個轉(zhuǎn)折點:軟件開發(fā)生命周期,讓單一產(chǎn)品實作抽象的軟件工程方法論。

  “何謂好的軟件?”

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

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

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多