亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件自動(dòng)化生產(chǎn)模式

        2006-02-23 00:54:48朱偉斌
        計(jì)算機(jī)教育 2006年2期

        朱偉斌

        摘要傳統(tǒng)的生產(chǎn)模式越來越難以滿足飛速增長的軟件需求,要提高軟件生產(chǎn)效率,必須研究軟件生產(chǎn)模式。本文對(duì)當(dāng)前提出的新的軟件生產(chǎn)模式(MDA、軟件工廠)進(jìn)行了剖析,提出了進(jìn)行改進(jìn)軟件生產(chǎn)模式實(shí)踐的要點(diǎn)。

        關(guān)鍵詞軟件生產(chǎn)模式 MDA軟件工廠DSL 軟件模式軟件開發(fā)方法學(xué)

        1 引言

        在高需求、高投入、高競(jìng)爭(zhēng)的環(huán)境下,軟件生產(chǎn)的規(guī)模和效率成為軟件企業(yè)最需要解決的問題之一。隨著軟件工程理論和CASE工具的發(fā)展,突破傳統(tǒng)軟件開發(fā)方式的方法論逐步被提了出來。OMG在UML的基礎(chǔ)上提出了模型驅(qū)動(dòng)構(gòu)架(簡(jiǎn)稱MDA),為從軟件抽象模型到軟件代碼的自動(dòng)生成指出了一個(gè)方向。這個(gè)概念很快就得到工具廠商的響應(yīng),目前大多數(shù)主流UML工具都支持MDA的部分功能。而在Microsoft即將發(fā)布的Visual Studio.Net 2005中更是加入支持軟件工廠的工具Team System??梢灶A(yù)見,以軟件自動(dòng)化生成為特點(diǎn)的軟件生產(chǎn)方式的革命即將來臨。

        事實(shí)上,各種新型CASE工具正在悄悄地改變我們的軟件開發(fā)模式。然而,自動(dòng)化的軟件生產(chǎn)時(shí)代并不會(huì)馬上到來。軟件生產(chǎn)自動(dòng)化并不僅僅是幾個(gè)軟件工具,它更是一種新的軟件開發(fā)的方法學(xué)。它需要我們的管理人員、開發(fā)人員轉(zhuǎn)變傳統(tǒng)的開發(fā)觀念,使我們的技術(shù)積累、過程管理等方面都適應(yīng)新的開發(fā)模式。而且,從傳統(tǒng)開發(fā)模式到自動(dòng)化開發(fā)模式必定是一個(gè)漸進(jìn)的過程。我們正處在變革的初級(jí)階段,必須應(yīng)用與此階段相適應(yīng)的開發(fā)模式。

        2 傳統(tǒng)軟件生產(chǎn)方式和MDA開發(fā)過程

        到目前為止,大多數(shù)軟件代碼的生產(chǎn)仍然依靠程序員來人工完成。這種傳統(tǒng)的軟件生產(chǎn)方式為軟件產(chǎn)業(yè)帶來了許多問題。首先,軟件生產(chǎn)的效率低下,項(xiàng)目延期率極高;其次,軟件產(chǎn)品的質(zhì)量沒有保證;再次,軟件開發(fā)團(tuán)隊(duì)的規(guī)模受到局限;最后,軟件產(chǎn)品難于修改和維護(hù)。

        這里,有一個(gè)問題困擾著軟件界:程序員所進(jìn)行的大量工作都是集中在抽象層次較低的軟件編碼上,軟件應(yīng)用的抽象層次和程序代碼的抽象層次相距較遠(yuǎn);程序代碼對(duì)應(yīng)用需求的準(zhǔn)確程度難于測(cè)量,程序員的個(gè)人能力成為制約軟件產(chǎn)品質(zhì)量的關(guān)鍵。而且,隨著軟件規(guī)模的越來越大,軟件項(xiàng)目也變得難以控制。

        針對(duì)傳統(tǒng)軟件開發(fā)模式存在的弊病,MDA被提出來了。盡管,MDA仍然不成熟,但是它確立了一種新的軟件開發(fā)架構(gòu)。MDA的全稱是模型驅(qū)動(dòng)架構(gòu),它不僅僅是一種標(biāo)準(zhǔn),更是一種重要的開發(fā)方法學(xué)。2002年,國際權(quán)威的對(duì)象建模標(biāo)準(zhǔn)化組織OMG將MDA作為其戰(zhàn)略方向。短短三年過去,幾乎所有的主流UML建模工具都融入了MDA功能。

        顧名思義,MDA是使用軟件建模語言作為軟件編程語言來直接產(chǎn)生軟件的一種體系結(jié)構(gòu),它定義了平臺(tái)無關(guān)模型(PIM)和平臺(tái)相關(guān)模型(PSM)這兩個(gè)概念。PIM是具有高抽象層次、獨(dú)立于任何實(shí)現(xiàn)技術(shù)的模型,它描述軟件系統(tǒng)如何支撐業(yè)務(wù),并不關(guān)心軟件是在哪個(gè)平臺(tái)上實(shí)現(xiàn)的。PSM是使用特定平臺(tái)的術(shù)語描述如何實(shí)現(xiàn)業(yè)務(wù)的模型,例如關(guān)系數(shù)據(jù)庫模型使用表、視圖、外鍵約束等描述業(yè)務(wù)對(duì)象及其之間的關(guān)系。

        MDA的最大特點(diǎn)就是這些變換是自動(dòng)進(jìn)行的。如果用MDA的概念套入傳統(tǒng)的開發(fā)生命周期,傳統(tǒng)的開發(fā)也可以看作是模型的變換。然而,傳統(tǒng)的變換是需要程序員手工進(jìn)行的,唯一的自動(dòng)變換是高級(jí)語言代碼到可執(zhí)行目標(biāo)代碼的變換。由于從PIM到代碼的變換可以自動(dòng)進(jìn)行,MDA過程迭代時(shí),開發(fā)人員就可以從PIM模型開始,而非從代碼開始。這樣,分析設(shè)計(jì)文檔就不會(huì)和代碼相分離,整個(gè)軟件也就更容易理解了。

        MDA的目標(biāo)就是將程序開發(fā)工作的抽象層次提高。軟件技術(shù)發(fā)展史,也是開發(fā)抽象層次逐步提高的歷史。例如在語言方面,我們從機(jī)器語言開始,經(jīng)歷了匯編語言、高級(jí)語言、4GL的發(fā)展歷程,高級(jí)語言也從結(jié)構(gòu)化語言發(fā)展到面向?qū)ο蟮恼Z言,現(xiàn)在又出現(xiàn)了基于模式的編程。每一次轉(zhuǎn)變都是一次抽象層次的提高。然而到目前為止,實(shí)現(xiàn)MDA仍然面臨一些現(xiàn)實(shí)問題,如怎樣根據(jù)自身需求構(gòu)造變換,如何使得構(gòu)造過程足夠簡(jiǎn)單。

        3軟件自動(dòng)化生產(chǎn)模式的實(shí)踐策略

        MDA的提出讓軟件界看到了軟件生產(chǎn)模式變革的新希望,許多新的方法論也被提了出來。微軟公司提出了軟件工廠的定義:一個(gè)使用基于軟件架構(gòu)(Software Schema)的軟件模板來配置的可擴(kuò)展的工具,它是可以為產(chǎn)品系列提供生產(chǎn)設(shè)備的軟件產(chǎn)品系列。微軟提出的軟件工廠,其創(chuàng)新之處就是在于生產(chǎn)流程的自動(dòng)化。

        軟件工廠的概念體現(xiàn)了先進(jìn)的自動(dòng)化編碼概念,提高了開發(fā)人員工作的抽象層次,同時(shí)也給開發(fā)人員的手工加工提供了空間。雖然MDA遠(yuǎn)未成熟,但是改變生產(chǎn)模式,提高軟件生產(chǎn)的效率,是每個(gè)軟件項(xiàng)目管理人員和開發(fā)人員必須要做的努力。

        在軟件生產(chǎn)自動(dòng)化的初級(jí)階段,筆者認(rèn)為超前要求軟件完全自動(dòng)化生產(chǎn)幾乎是不可能的,但是完全可以運(yùn)用現(xiàn)有的工具進(jìn)行半自動(dòng)化的軟件開發(fā)。圖1描述了一種切實(shí)可行的半自動(dòng)化軟件生產(chǎn)模式。

        這種軟件生產(chǎn)模式分成兩條主線。一條主線是軟件體系結(jié)構(gòu)方面的研發(fā)工作。這是軟件自動(dòng)化生產(chǎn)的一個(gè)前提,可以將這一步工序認(rèn)為是生產(chǎn)線的建造。通過軟件體系結(jié)構(gòu)方面的開發(fā),我們可以得到兩個(gè)對(duì)于自動(dòng)化生產(chǎn)至關(guān)重要的部件,一個(gè)是軟件支持庫,另一個(gè)是軟件自動(dòng)編碼工具。另一條主線是真正應(yīng)用軟件產(chǎn)品的研發(fā)。軟件產(chǎn)品研發(fā)的第一步是自動(dòng)化進(jìn)行的,是通過已經(jīng)配置好的軟件自動(dòng)化編碼工具將業(yè)務(wù)需求模型自動(dòng)轉(zhuǎn)換為待加工的半成品代碼,我們可以將這個(gè)過程看成是生成毛坯的過程。第二步是通過手工進(jìn)行的,是對(duì)自動(dòng)生成的代碼進(jìn)行修改、微調(diào)的過程,我們可以將這一過程稱為精加工過程。經(jīng)過程序員的精加工,一個(gè)符合用戶功能和性能需求的高質(zhì)量軟件產(chǎn)品就產(chǎn)生了。

        這種模式可以加快開發(fā)進(jìn)程,使軟件符合企業(yè)所研發(fā)的技術(shù)架構(gòu),代碼更一致,可維護(hù)性更強(qiáng),穩(wěn)定性也更有保證;同時(shí),它也避免了自動(dòng)化生成代碼刻板,細(xì)節(jié)難以自動(dòng)生成的問題。這樣的方案比理想化的MDA模型更容易實(shí)現(xiàn),同時(shí)它也符合軟件工廠的一些基本特點(diǎn)。

        4 結(jié)束語

        運(yùn)用圖1所示的生產(chǎn)模式,筆者所在的公司已經(jīng)進(jìn)行了一些成功的實(shí)踐。在進(jìn)行軟件自動(dòng)化實(shí)踐的時(shí)候,我們得到了以下幾點(diǎn)寶貴的經(jīng)驗(yàn)。

        (1)在先進(jìn)的理論指導(dǎo)下,運(yùn)用各種行之有效的模式,探索適合自身發(fā)展的生產(chǎn)模式。

        (2)重視軟件開發(fā)團(tuán)體自身的技術(shù)積累,以更好運(yùn)用軟件自動(dòng)化生產(chǎn)工具。否則,就會(huì)陷入巧婦難為無米之炊的窘境。

        (3)轉(zhuǎn)換開發(fā)人員的心態(tài)和習(xí)慣,及時(shí)培訓(xùn)開發(fā)人員、解除開發(fā)人員的疑慮。在剛開始實(shí)施根據(jù)數(shù)據(jù)庫模式生成代碼時(shí),筆者所在的公司曾出現(xiàn)過這樣一些情況:開發(fā)人員對(duì)生成工具不熟悉,認(rèn)為不如手工編碼方便,還認(rèn)為使用生成工具不靈活,限制了他們的創(chuàng)造力,不愿意修改由軟件工具生成的代碼。在這樣的情況下,項(xiàng)目管理人員不得不反復(fù)講解軟件生成工具的原理,強(qiáng)調(diào)在當(dāng)前條件下生成工具只是生成毛坯,還需要精加工過程。

        軟件自動(dòng)化生產(chǎn)模式需要逐步完善,其成功實(shí)踐也不是一朝一夕能夠取得的。隨著軟件工程技術(shù)的發(fā)展,軟件自動(dòng)化生產(chǎn)模式的探索已不僅僅是停留在理論上。軟件生產(chǎn)模式的革新將為我們帶來更高的軟件生產(chǎn)力。無論我們?cè)谟^念上更傾向于MDA、微軟軟件工廠、面向語言編程,進(jìn)行軟件生產(chǎn)模式創(chuàng)新都是勢(shì)在必行的。這不僅僅是軟件企業(yè)競(jìng)爭(zhēng)發(fā)展的需要,也是中國軟件產(chǎn)業(yè)走向強(qiáng)大的必由之路。

        參考文獻(xiàn)

        1 Anneke Kleppe, Jos Warmer, Wim Bast. 鮑志云譯.解析MDA.北京:人民郵電出版社,2004

        2 David S. Frankel. 鮑志云譯.應(yīng)用MDA. 北京:人民郵電出版社,2004

        3 張亞勤.全球軟件行業(yè)現(xiàn)狀、趨勢(shì)與挑戰(zhàn).http://research.microsoft.com/asia/news/displayArticle.aspxid=1004

        4 Umlchina.袁峰摘譯.Forrester發(fā)布MDA和基于模式開發(fā)報(bào)告.http://www.umlchina.com/News/Content/190.htm,2005

        5 Jack Greenfield.軟件工廠簡(jiǎn)介.http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/aj3softfac.mspx,2004

        6 Jack Greenfield.通過模式、模型、框架和工具裝配應(yīng)用程序.http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/SoftFactAssApp.mspx,2004

        国产成人啪精品| 国产精品久久久久免费观看| 天天综合网天天综合色| 热久久亚洲| 中文字幕一区二区va| 国产av精品麻豆网址| 亚洲色欲色欲www在线观看| 久久亚洲黄色| 视频网站在线观看不卡| 日本视频在线观看二区| 国产h视频在线观看| 91av手机在线观看| 亚洲国产精一区二区三区性色| 精品一区二区在线观看免费视频| 狠狠躁夜夜躁人人爽天天古典| 最新国产日韩AV线| 亚洲一区二区三区成人在线| 亚洲国产国语在线对白观看| 成人国内精品久久久久一区| 亚洲精品乱码久久久久久麻豆不卡| 国产精品亚洲最新地址| 国产 高潮 抽搐 正在播放| 老熟女高潮一区二区三区| 国产91在线精品福利| 久久国产精品色av免费看| 日本va欧美va精品发布| 亚洲性无码av在线| 一本久道久久综合狠狠操| 亚洲毛片一区二区在线| 久久精品麻豆日日躁夜夜躁| 超碰日韩AV在线| 亚洲AV无码久久精品成人| 美女狂喷白浆网站视频在线观看| 亚洲欧洲成人a∨在线观看| 无码h黄动漫在线播放网站| 国产在线一区二区视频免费观看| 一区二区三区视频在线观看| 高清破外女出血av毛片| 亚洲三级香港三级久久| 白白色视频这里只有精品| 国产精品亚洲а∨天堂2021|