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

        ?

        基于模板的管理信息系統(tǒng)代碼自動生成

        2018-10-23 11:17:38陳海郎
        價值工程 2018年32期
        關鍵詞:管理信息系統(tǒng)模板

        陳海郎

        摘要:隨著軟件開發(fā)技術的不斷發(fā)展,人們在管理信息系統(tǒng)的開發(fā)過程中總結出越來越多重復性的工作。這些重復性的工作增加了開發(fā)人員重復性編碼的工作量,延長了市場需求響應時間,提高了開發(fā)成本等,同時在團隊開發(fā)過程中,由于隊員之間的代碼編寫能力參差不齊,編碼風格不統(tǒng)一,代碼的質(zhì)量和可維護性得不到保證。從管理系統(tǒng)系統(tǒng)的應用角度分析,設計并實現(xiàn)了一種基于模板的管理信息系統(tǒng)代碼生成方法。該方法通過提煉公共模塊用作模板定制,構建一種基于Rete算法的代碼自動生成引擎,能夠快速生成統(tǒng)一編碼風格的代碼,提高系統(tǒng)開發(fā)效益和質(zhì)量。該方法在“進銷存”管理信息系統(tǒng)開發(fā)中得到了應用,并取得了良好的代碼自動生成效果。

        Abstract: With the continuous development of software development technology, people have summarized more and more repetitive work in the development process of management information systems. These repetitive tasks increase the workload of developers' repetitive coding, prolong the response time of market demand, increase the development cost, etc., and in the process of team development, because the code writing ability between the players is uneven, the coding style is not uniform, and the quality and maintainability of the code cannot be guaranteed. From the perspective of the application system of management system, a template-based management information system code generation method is designed and implemented. The method uses the refinement common module as template customization to build an automatic code generation engine based on Rete algorithm, which can quickly generate code of unified coding style and improve system development efficiency and quality. This method has been applied in the development of the "invoicing" management information system, and has achieved good automatic code generation.

        關鍵詞:模板;Rete算法;代碼自動生成;管理信息系統(tǒng)

        Key words: template;Rete algorithm;automatic code generation;management information system

        中圖分類號:0TP311.5 文獻標識碼:A 文章編號:1006-4311(2018)32-0213-04

        0 引言

        隨著信息時代的不斷深入,管理信息系統(tǒng)的種類越來越多,需求量越來越大。因此,能否在確保軟件質(zhì)量的前提下,提高軟件開發(fā)效率,以快速響應市場需求是軟件企業(yè)重點考慮的問題。雖然現(xiàn)有的軟件開發(fā)大部分都有建模過程,如瀑布模型、噴泉模型、螺旋模型及漸增式模型等,但此時的系統(tǒng)建模主要針對開發(fā)初期對系統(tǒng)的分析和設計,后期的實現(xiàn)仍然需要開發(fā)人員手動編寫代碼,這樣并沒有在真正意義上提高軟件開發(fā)的效率。另外,許多開發(fā)人員在軟件開發(fā)的初期使用UML或其他建模語言來描述軟件開發(fā)項目的流程,開發(fā)前期就會產(chǎn)生大量的文檔和設計模型,然而這些文檔和模型僅僅存在于設計階段,當進入實現(xiàn)階段時,既有文檔和設計模型的價值得不到應有的體現(xiàn)。隨著編碼階段的繼續(xù)進行,系統(tǒng)不斷地被修改而我們修改的僅僅只是代碼,代碼與文檔及設計模型之間的關聯(lián)將變的脆弱,也就是說設計與實現(xiàn)脫節(jié),不利于系統(tǒng)的維護和開發(fā)效率的提高。

        針對傳統(tǒng)的軟件開發(fā)周期長、軟件設計與實現(xiàn)脫節(jié)和軟件代碼重用性差等問題,通過對管理信息系統(tǒng)的應用分析研究發(fā)現(xiàn):盡管當前管理信息系統(tǒng)種類繁多,但是仍然是以數(shù)據(jù)的增加、修改、刪除和查找的功能實現(xiàn)為主,不同的管理信息之間主要以業(yè)務流程和界面風格的不同進行區(qū)分。本文基本模板的管理信息系統(tǒng)代碼自動生成研究,對提高軟件抽象層次將管理信息系統(tǒng)開發(fā)從日益復雜的技術和層出不窮的框架中解放出來,加快信息管理系統(tǒng)快速成型,進而解決代碼重用性問題,提高軟件開發(fā)效率和質(zhì)量等具有重要的意義。

        1 代碼自動生成設計

        1.1 代碼自動生成基本原理

        管理信息系統(tǒng)的操作是對數(shù)據(jù)的操作,被操作數(shù)據(jù)主要數(shù)據(jù)庫表或?qū)嶓w對象。其開發(fā)過程是操作實現(xiàn)的程序頁面新建、疊加的過程,并且程序頁面的數(shù)量是有限集合。根據(jù)有限狀態(tài)自動機理論,管理信息系統(tǒng)代碼生成過程可用一個M=(P,D,O,δ,p0)五元組表示,其中:

        P表示頁面的有限集合,

        D是數(shù)據(jù)的有限集合,

        O是操作的有限集合,

        p0∈P是初始狀態(tài),即未開始生成目標源代碼狀態(tài)。

        依據(jù)上述對管理信息系統(tǒng)代碼自動生成過程的抽象定義,可設計一種代碼自動生成工具按照下面的方式:假設處于未生代碼初始狀態(tài),當代碼引擎接受操作輸入指令時,代碼引擎結合頁面生成規(guī)則(即代碼模板)完成移動函數(shù)的變換,即可完成目標源代碼的生成,并進入下一個狀態(tài),即δ(pn-1,d,o)=pn(n∈N*)。

        1.2 自動生成代碼的模型設計

        根據(jù)代碼生成基本原理,本文通過構建數(shù)據(jù)模型作代碼生成過程的輸入,為實現(xiàn)代碼自動生成提供必要的參數(shù)信息。同時為了更好地實現(xiàn)軟件復用,將管理信息系統(tǒng)代碼結構相似或公共部分進行分析研究,以完成代碼模板的定制,并將代碼模板作為代碼生成的輸入。模板引擎接收到模板文件和數(shù)據(jù)模型輸入后,通過對數(shù)據(jù)模型和模板的解析形式,以實現(xiàn)目標源代碼的輸出。代碼生成的模型如圖1所示。

        2 代碼自動生成實現(xiàn)

        2.1 代碼模板定制

        模板是最終生成的代碼原型[1]。根據(jù)代碼的組成形式,可分為靜態(tài)對象和動態(tài)對象。靜態(tài)對象是指代碼生成過程中無需改變直接輸出的部分。該對象通常是經(jīng)過了嚴格測試的目標源代碼。動態(tài)對象是需要引入特殊的動態(tài)標簽,通過變量或函數(shù)的方式進行定制。在模板引擎驅(qū)動下進行模板解析時,該對象需要借助數(shù)據(jù)模型來完成動態(tài)對象到目標源代碼的動態(tài)轉化。

        代碼模板定制通常需要結合信息管理系統(tǒng)所采用的開發(fā)架構或語言規(guī)范進行具體定制,以確保最終生成的目標代碼具有高可用性和可維護性。本文選用基于J2EE的MVC管理信息系統(tǒng)開發(fā)規(guī)范,對管理信息系統(tǒng)的代碼模板定制進行具體介紹。MVC框架可分為表示層、業(yè)務邏輯層、數(shù)據(jù)持久層和領域模塊層。其具有可復用性較好、維護方便和搭建結構清晰等特點,有利于分開管理數(shù)據(jù)和模板。根據(jù)MVC框架各個分層特點,本研究需要設計四種類型模板用于生成J2EE各層的目標源代碼。代碼自動生成的模板定義如表1所示。

        2.2 基于XML的數(shù)據(jù)模型定制

        數(shù)據(jù)模型主要是對管理信息系統(tǒng)的所需的實體對象數(shù)據(jù)和功能操作信息進行定義的記錄文件,需要用于更替模板文件中的動態(tài)部分,從而生成目標源代碼。本文采用XML文件的格式對的數(shù)據(jù)模型進行定制。之所以選用XML文件的格式進行數(shù)據(jù)模型定制,是由XML文件的特點所決定的。XML是一種簡單、可擴展性強、與平臺無關并被廣泛使用的標記語言,既方便對關系實體對象數(shù)據(jù)和功能操作信息記錄與維護,也有利于模板引擎對該類型文件進行解析。

        基于XML的數(shù)據(jù)模型不僅能夠為生成目標源代碼提供較為完備的必需信息,而且還是一份完整的維護文檔。當用戶需求發(fā)生改變時,只需要對數(shù)據(jù)模型文件做出相應修改或調(diào)整后,重新生成目標源代碼即可,無需在目標源代碼的基礎上進行修改。定義的格式如下所示。

        X6:生成類型為“虛擬路徑訪問”的數(shù)據(jù)操作方法目標源代碼,對應節(jié)點類型為V。

        如圖2所示,在進行目標源代碼生成規(guī)則推理時,事實數(shù)據(jù)(Facts)為待推理的模板文件數(shù)據(jù)。其采用三元組(對象、屬性、值)的方式進行描述。例如生成用戶實體對象的數(shù)據(jù)修改方法可描述為(Users實體對象,Method,update)?;赗ete算法的模板引擎實現(xiàn)偽代碼描述如下:

        算法輸入:管理信息系統(tǒng)實體數(shù)據(jù)三元組列表 Facts= {Fa1,F(xiàn)a2,…,F(xiàn)an};

        算法輸出:代碼生成模型匹配到的規(guī)則 Ru,R={?覫,Ru1,Ru2,…,Run};

        Rete Match(Facts)

        1. Result to ?覫 //匹配結果初始化

        2. Get Next Rule(Nets)to rule //從Nets中逐個取出規(guī)則模式

        3. WHILE rule IS NOT NULL //判斷當前檢測模式是否存在所對應的AlphaNode中

        4. rule is TRUE //當前檢測模式存在標識

        5. FOR pattern in rule.patterns //構建Beta網(wǎng)絡中的JoinNode

        6. Pattern is FALSE //Beta網(wǎng)絡節(jié)點處理完畢狀態(tài)標識

        7. FOR fact in rule.Facts //處理待推理的實體數(shù)據(jù)

        8. match(fact,pattern)to Pattern

        9. IF Pattern is TRUE BREAK;//跳出當前FOR循環(huán),重復步驟5

        10. END FOR

        11. IF Pattern is FALSE

        12. Rule is FALSE //當前檢測模式處理完畢標識

        13. BREAK;

        14. END IF

        15. END FOR

        16. Get Next Rule(Nets)to rule

        17. RETURN rule; //返回匹配到的規(guī)則

        3 代碼自動生成的應用與效果分析

        本文以完成生產(chǎn)部署的“進銷存”管理信息系統(tǒng)為實例,分別對使用本代碼自動生成工具生成代碼和最終發(fā)布代碼進行統(tǒng)計分析,以完成對該工具產(chǎn)生的作用與效果說明。使用代碼生成工具生成的代碼是指為有修改過的原始生成代碼,而最終發(fā)布代碼是指系統(tǒng)正式投入使用時所有的代碼。為了獲得代碼相關統(tǒng)計數(shù)據(jù),本文使用SourceCounter源代碼統(tǒng)計工具對本代碼自動生成工具所生成的代碼和最終發(fā)布的代碼進行數(shù)據(jù)統(tǒng)計。在使用SourceCounter統(tǒng)計前,設定編碼生產(chǎn)率為每個月4000行/每人,一個月工作天數(shù)為20天/每人,每個月的成本為10000元/每人。根據(jù)該統(tǒng)計工具統(tǒng)計后得到的結果并對結果進行相應分析得出了如表2所示。

        從表2可得知:該管理信息系統(tǒng)開發(fā)的代碼生成比例可達84.65%。假設以5個人組成的團隊對該項目進行編碼,在不使用該代碼自動生成工具的情況下大概需要6個月才能完成,使用該代碼自動生成工具后只需1個半月完成編碼工作。

        4 結語

        本文運用有限狀態(tài)自動機理論對代碼生成技術的基本原理進行了論述,并在此基礎上設計了管理信息系統(tǒng)代碼生成模型。該模型主要包括模板文件和代碼生成引擎。然后提出并實現(xiàn)了一種基于XML的模板定制方法,構建一種了基于Rete算法的代碼自動生成引擎。最終應用實例表明該代碼生成技術能夠完成大部分的代碼編寫工作,進而縮短系統(tǒng)的開發(fā)周期,降低開發(fā)難度。同時應用實例表明,該項代碼生成技術設計的模板表現(xiàn)能力有限,對于復雜性的需求不能很好地完成高層次的抽象化公共模塊提煉,代碼自動生成比例達不到100%,后繼還可以通過不斷豐富模板自定義方式,使該項目技術能夠完成更多的代碼編寫工作。

        參考文獻:

        [1]吳步丹.基于模板的工作流應用系統(tǒng)代碼自動生成[J].華中科技大學學報,2013(12):18.21.

        [2]Forgy C L. Rete: a fast algorithm for the many pattern/mane object pattern match problem. Artificial Interlligence,1982,19(1):17-37.

        [3]孫新,等.一種基于共享度模型的改進Rete算法[J].自動化學報,2017(43):1571-1579.

        猜你喜歡
        管理信息系統(tǒng)模板
        鋁模板在高層建筑施工中的應用
        鋁模板在高層建筑施工中的應用
        巧用思維模板 強化規(guī)律應用
        Estimation of irrigation requirements for drip-irrigated maize in a sub-humid climate
        高校圖書館管理信息系統(tǒng)的完善和發(fā)展研討
        應用技術型本科工程管理類專業(yè)《管理信息系統(tǒng)》課程教學改革
        時代金融(2016年27期)2016-11-25 18:43:18
        基于B/S結構的學生公寓管理信息系統(tǒng)的設計與實現(xiàn)
        基于“互聯(lián)網(wǎng)+”的企業(yè)管理信息系統(tǒng)優(yōu)化分析
        基于工作流的水運應急信息管理平臺設計 
        軟件導刊(2016年9期)2016-11-07 21:29:10
        管理信息系統(tǒng)案例教學探討
        成人av片在线观看免费| 色综合久久精品中文字幕| 熟女少妇av免费观看| 国产午夜福利小视频在线观看 | 日本又黄又爽gif动态图| 99久久综合九九亚洲| 日本熟妇裸体视频在线| 人妻精品视频一区二区三区| 天堂无码人妻精品av一区| 亚洲一区综合精品狠狠爱| 精品国产乱来一区二区三区| 少妇下面好爽好紧好湿一区二区| 精品免费久久久久久久| 日韩黑人欧美在线视频观看| 亚洲精品2区在线观看| 三级日韩视频在线观看| 少妇内射兰兰久久| 五月天综合网站| 中文字幕人妻少妇精品| 极品人妻被黑人中出种子| 免费观看又色又爽又黄的| 精品亚洲欧美高清不卡高清| 少妇我被躁爽到高潮在线影片| 久久无码人妻丰满熟妇区毛片| 亚洲 欧美精品suv| 亚洲av中文aⅴ无码av不卡| 亚洲女同av在线观看| 亚洲av综合a色av中文| 国产偷v国产偷v亚洲偷v| 亚洲精品中文字幕码专区| 性猛交ⅹxxx富婆视频| 久久久久久久女国产乱让韩| 午夜国产精品视频免费看电影| 按摩师玩弄少妇到高潮av| 国内精品卡一卡二卡三| 国产精品18禁久久久久久久久| 国产偷拍盗摄一区二区| 红桃av一区二区三区在线无码av| 把插八插露脸对白内射| h动漫尤物视频| 国产精品一区二区黄色|