国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于構(gòu)件的管理信息系統(tǒng)云開發(fā)平臺(tái)研究

2016-05-14 05:07周偉蔡瑩王天楠陳平
關(guān)鍵詞:云計(jì)算

周偉 蔡瑩 王天楠 陳平

摘 要:本文研發(fā)了一種基于構(gòu)件的管理信息系統(tǒng)開發(fā)平臺(tái),以平臺(tái)即服務(wù)(PaaS)的模式提供管理信息系統(tǒng)的開發(fā)服務(wù)。文章首先分析管理信息系統(tǒng)的基本功能,研發(fā)了一系列高效可靠的可復(fù)用構(gòu)件,使管理信息系統(tǒng)的關(guān)鍵功能可以通過(guò)直接組裝構(gòu)件的方式實(shí)現(xiàn);接著研發(fā)了一種開發(fā)平臺(tái),讓開發(fā)者可通過(guò)瀏覽器在云端組裝構(gòu)件,以迭代的方式快速構(gòu)建和部署系統(tǒng)功能。對(duì)于不能用現(xiàn)有構(gòu)件直接組裝而成的業(yè)務(wù),開發(fā)者可利用開發(fā)平臺(tái)提供的新構(gòu)件進(jìn)行開發(fā)服務(wù)構(gòu)建。北京師范大學(xué)研究生學(xué)位系統(tǒng)、研究生質(zhì)量監(jiān)控系統(tǒng)等管理信息系統(tǒng)的敏捷開發(fā)實(shí)踐表明,基于構(gòu)件的PaaS開發(fā)模式,能夠很好地契合敏捷軟件開發(fā)理念,大幅提高系統(tǒng)的開發(fā)效率,減輕系統(tǒng)的維護(hù)負(fù)擔(dān),提升系統(tǒng)的構(gòu)建質(zhì)量,降低系統(tǒng)整體成本。

關(guān)鍵詞:云計(jì)算;敏捷開發(fā);權(quán)限管理;混合編程;平臺(tái)即服務(wù)

中圖分類號(hào):TP315 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2016)07-0028-05

一、引言

管理信息系統(tǒng)是一個(gè)具有高度復(fù)雜性、多元性和綜合性的人機(jī)系統(tǒng),它全面使用現(xiàn)代計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫(kù)技術(shù),以及管理學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)、模型論和各種最優(yōu)化技術(shù),為經(jīng)營(yíng)管理與組織決策服務(wù)。[1]管理信息系統(tǒng)的研發(fā)團(tuán)隊(duì)不僅要有多個(gè)學(xué)科的背景知識(shí),而且也要熟悉相關(guān)管理領(lǐng)域的業(yè)務(wù)流程。因此相比于一般的軟件開發(fā),管理信息系統(tǒng)的開發(fā)尤其具有學(xué)習(xí)難度大、開發(fā)周期長(zhǎng)、開發(fā)成本高、缺陷查到難、維護(hù)代價(jià)大的特點(diǎn)。

業(yè)界一直試圖開發(fā)新的技術(shù)、使高質(zhì)量計(jì)算機(jī)程序的開發(fā)和維護(hù)更容易、更快捷、成本更低廉。[2]人們一直在研發(fā)更能表達(dá)編程中各種概念的高級(jí)語(yǔ)言和應(yīng)用程序框架以提高生產(chǎn)率?,F(xiàn)代高級(jí)語(yǔ)言在命令式的面向?qū)ο窬幊袒A(chǔ)上,發(fā)展了聲明式、函數(shù)式和動(dòng)態(tài)的特性,使其表達(dá)能力更接近人類的思考能力,方便開發(fā)者集中精力解決業(yè)務(wù)本身的細(xì)節(jié)。[3]人們也一直在歸納設(shè)計(jì)經(jīng)驗(yàn),精練解決方案,總結(jié)能解決軟件開發(fā)中最常見問(wèn)題的設(shè)計(jì)模式,通過(guò)現(xiàn)成的抽象,把常見錯(cuò)誤解決方案的細(xì)節(jié)予以制度化來(lái)減少缺陷。[4]在各行業(yè)的管理需求的驅(qū)動(dòng)下,涌現(xiàn)出了各種管理信息系統(tǒng)。[5-6]

為了進(jìn)一步提高某些領(lǐng)域的軟件開發(fā)生產(chǎn)率,人們提出了基于構(gòu)件的軟件工程(CBSE)。CBSE強(qiáng)調(diào)用可復(fù)用的“構(gòu)件”來(lái)設(shè)計(jì)和構(gòu)造軟件系統(tǒng),把構(gòu)建重點(diǎn)從編碼轉(zhuǎn)移到組裝,改變著大型軟件系統(tǒng)的開發(fā)方式。[2]一些大型企業(yè),如SAP,提供的企業(yè)資源管理(ERP)的解決方案,正是采用了這種過(guò)程模型。一些學(xué)者也開始在相關(guān)管理領(lǐng)域嘗試基于構(gòu)件的實(shí)踐。[7]然而在管理信息系統(tǒng)領(lǐng)域廣泛使用CBSE之前,必須分析對(duì)應(yīng)管理領(lǐng)域,尋找重復(fù)模式。這就要求系統(tǒng)分析師不僅是軟件構(gòu)建專家,而且也要對(duì)管理領(lǐng)域有深入的了解。云計(jì)算時(shí)代的來(lái)臨,為解決這個(gè)問(wèn)題提供了契機(jī)。一些學(xué)者開始嘗試軟件即服務(wù)(SaaS)的應(yīng)用模式。[8-10]一個(gè)領(lǐng)域的SaaS很難能為其他領(lǐng)域提供服務(wù),因此人們又提出了平臺(tái)即服務(wù)(PaaS)的理念,即把軟件研發(fā)的平臺(tái)作為一種服務(wù),以SaaS的模式提交給用戶。軟件行業(yè)的領(lǐng)導(dǎo)者紛紛推出了PaaS,如Google App Engine、Amazon EC2、Windows Azure等。PaaS的出現(xiàn)提高了應(yīng)用的開發(fā)速度,加快了SaaS的發(fā)展。然而這些服務(wù)的出現(xiàn),縮短了開發(fā)周期,降低了開發(fā)成本,同時(shí)也增加了學(xué)習(xí)難度和缺陷查找成本。

本文結(jié)合CBSE和PaaS的優(yōu)勢(shì),研發(fā)了一種基于構(gòu)件的管理信息系統(tǒng)云開發(fā)平臺(tái)。第二部分論述通過(guò)分析管理信息系統(tǒng)的基本功能,研發(fā)的一系列高效穩(wěn)定可復(fù)用的構(gòu)件。這些構(gòu)件使開發(fā)者可以用組裝的方式實(shí)現(xiàn)基本功能。第三部分論述云開發(fā)平臺(tái)。該平臺(tái)使開發(fā)者只要通過(guò)Web瀏覽器即可組裝和開發(fā)新構(gòu)件。第四部分為敏捷開發(fā)實(shí)踐,介紹基于此平臺(tái)開發(fā)管理信息系統(tǒng)的成功案例。第五部分為總結(jié)。

二、構(gòu)件設(shè)計(jì)與開發(fā)

基于構(gòu)件的軟件工程(CBSE)正在改變大型軟件的開發(fā)方式,其考慮的重點(diǎn)從編碼轉(zhuǎn)移到組裝軟件系統(tǒng),考慮的焦點(diǎn)是“集成”,而不再是“實(shí)現(xiàn)”;基于構(gòu)件開發(fā)縮短了70%的開發(fā)周期,減少了84%的項(xiàng)目開銷,生產(chǎn)率指數(shù)可達(dá)26.2,而工業(yè)標(biāo)準(zhǔn)值為16.9。[2]管理信息系統(tǒng)雖然涉及的學(xué)科多,而且相關(guān)的管理領(lǐng)域千差萬(wàn)別,但是其基本功能相對(duì)明確,主要包括數(shù)據(jù)處理、預(yù)測(cè)、計(jì)劃、控制以及輔助決策。這些功能存在很多共性,可對(duì)這些共性建模。我們通過(guò)分析管理信息系統(tǒng)應(yīng)用領(lǐng)域,開發(fā)了關(guān)系數(shù)據(jù)庫(kù)管理、表單和CRUD網(wǎng)格、報(bào)表分析、權(quán)限管理、新構(gòu)件開發(fā)五大可復(fù)用構(gòu)件,如圖1所示。

1.關(guān)系數(shù)據(jù)庫(kù)管理

數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),它是管理信息系統(tǒng)的核心部分,是進(jìn)行科學(xué)研究決策的前提條件。關(guān)系數(shù)據(jù)庫(kù)建立在關(guān)系數(shù)據(jù)模型基礎(chǔ)上,適合作為管理信息系統(tǒng)的主數(shù)據(jù)庫(kù)。人們已經(jīng)開發(fā)了功能非常強(qiáng)大的數(shù)據(jù)庫(kù)設(shè)計(jì)和管理工具,如PowerDesigner、Navicat、SQLyog等,但這些工具是作為一個(gè)獨(dú)立的產(chǎn)品發(fā)布的,很難與其他構(gòu)件集成。

我們開發(fā)了一種基于Web的輕量級(jí)數(shù)據(jù)庫(kù)管理工具,通過(guò)分析關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的元數(shù)據(jù),識(shí)別各種實(shí)體和聯(lián)系,實(shí)現(xiàn)在線數(shù)據(jù)管理、創(chuàng)建數(shù)據(jù)結(jié)構(gòu)文檔、生成ORM實(shí)體類及創(chuàng)建表單等功能。在數(shù)據(jù)庫(kù)設(shè)計(jì)之后,此工具可根據(jù)數(shù)據(jù)表結(jié)構(gòu)自動(dòng)生成表單,用表單和CRUD網(wǎng)格工具對(duì)所生成的表單進(jìn)行配置,即可實(shí)現(xiàn)數(shù)據(jù)的采集和存儲(chǔ)。

2.表單和CRUD網(wǎng)格

表單是利用網(wǎng)頁(yè)進(jìn)行數(shù)據(jù)采集的基本單位。表單允許用戶通過(guò)文本域、單選按鈕、復(fù)選按鈕等控件輸入數(shù)據(jù),提交信息,是用戶和服務(wù)器之間進(jìn)行信息交互的重要手段。表單開發(fā)是整個(gè)管理信息系統(tǒng)開發(fā)的重要基礎(chǔ),其過(guò)程是根據(jù)采集數(shù)據(jù)的結(jié)構(gòu),對(duì)數(shù)據(jù)項(xiàng)設(shè)計(jì)合適的表單域,并在用戶提交時(shí)進(jìn)行數(shù)據(jù)合法性校驗(yàn),將合法的數(shù)據(jù)存入數(shù)據(jù)庫(kù)。傳統(tǒng)的表單開發(fā)需要前端工程師、后端工程師和數(shù)據(jù)庫(kù)工程師的協(xié)作,開發(fā)成本較高。

我們的表單和CRUD網(wǎng)格構(gòu)件極大地減少了上述過(guò)程的復(fù)雜度,只需通過(guò)配置就可以實(shí)現(xiàn)數(shù)據(jù)的增加(Create)、讀取(Retrieve)、更新(Update)和刪除(Delete)。CRUD網(wǎng)格工具既能分析表單對(duì)應(yīng)數(shù)據(jù)表的結(jié)構(gòu),也能分析結(jié)構(gòu)化查詢語(yǔ)言(SQL)腳本,根據(jù)分析結(jié)果自動(dòng)生成支持排序、分頁(yè)、查找、導(dǎo)入、導(dǎo)出等功能的CRUD網(wǎng)格。表單工具可配置各個(gè)表單域的控件類型、數(shù)據(jù)類型和驗(yàn)證規(guī)則,并可通過(guò)配置數(shù)據(jù)觸發(fā)器實(shí)現(xiàn)實(shí)體之間的邏輯驗(yàn)證。表單和CRUD網(wǎng)格工具還支持自定義操作按鈕,按鈕通過(guò)引用一段SQL或Python腳本,實(shí)現(xiàn)個(gè)性化的功能。我們還實(shí)現(xiàn)了一種基于有限狀態(tài)機(jī)的工作流引擎,使基于角色逐級(jí)審核的業(yè)務(wù)需求,只要通過(guò)表單和有限狀態(tài)機(jī)的配置就可以實(shí)現(xiàn)。[12]而對(duì)于實(shí)體之間聯(lián)系的管理,我們構(gòu)建了一種通用模型,開發(fā)者按照約定編寫已選、可選、增加、刪除和權(quán)限檢測(cè)五條SQL腳本即可實(shí)現(xiàn)實(shí)體之間多對(duì)多聯(lián)系的管理。

通過(guò)關(guān)系數(shù)據(jù)庫(kù)管理構(gòu)件、表單和CRUD網(wǎng)格構(gòu)件的組裝,就可以實(shí)現(xiàn)數(shù)據(jù)采集、轉(zhuǎn)換、存儲(chǔ)、檢索等功能。接下來(lái),我們開發(fā)了報(bào)表分析構(gòu)件。

3.報(bào)表分析

報(bào)表就是用表格、圖表等格式來(lái)動(dòng)態(tài)顯示數(shù)據(jù)。根據(jù)數(shù)據(jù)特征不同生成不同類型的報(bào)表可挖掘數(shù)據(jù)中信息。報(bào)表分析工具是管理信息系統(tǒng)進(jìn)行計(jì)劃、預(yù)測(cè)和輔助決策的重要組成部分。一些數(shù)據(jù)庫(kù)管理工具,如Foxpro、Navicat等均支持報(bào)表的開發(fā),但它們很難與Web系統(tǒng)集成起來(lái)。水晶報(bào)表等工具能夠很好地與Web系統(tǒng)集成,但是其商業(yè)授權(quán)費(fèi)用非常高。

我們開發(fā)的報(bào)表分析工具用HTML、CSS和JavaScript作為報(bào)表定義語(yǔ)言,SQL和Python作為數(shù)據(jù)源腳本。這些語(yǔ)言均是行業(yè)的開放標(biāo)準(zhǔn),容易學(xué)習(xí),沒有商業(yè)授權(quán)費(fèi)用。表格工具實(shí)現(xiàn)了Model-View-View-Model(MVVM)模式,使開發(fā)人員可以把視圖和邏輯分離出來(lái),通過(guò)數(shù)據(jù)綁定的方法生成視圖。[14]SQL和Python是被廣泛使用的腳本語(yǔ)言,特別適用于混合語(yǔ)言編程的軟件開發(fā)。[15]圖表工具的可視化引擎是基于開源的數(shù)據(jù)可視化產(chǎn)品,開發(fā)人員可以用腳本生成數(shù)據(jù),直接生成直觀、生動(dòng)、可交互、可個(gè)性化定制的數(shù)據(jù)可視化圖表。[16]我們還針對(duì)常用的圖表類型,如條形圖、餅圖、拆線圖、散點(diǎn)圖、雷達(dá)圖等,構(gòu)建了表格轉(zhuǎn)圖表模塊,這樣只需一條SQL腳本即可生成圖表。

運(yùn)用報(bào)表分析構(gòu)件可實(shí)現(xiàn)預(yù)測(cè)、計(jì)劃和輔助決策的功能。為實(shí)現(xiàn)管理信息系統(tǒng)的控制功能,我們構(gòu)建了一個(gè)開放靈活的權(quán)限管理構(gòu)件。

4.權(quán)限管理

權(quán)限管理是根據(jù)設(shè)置安全規(guī)則或策略,讓用戶能且只能訪問(wèn)被授權(quán)的資源。首先我們實(shí)現(xiàn)了一個(gè)基于角色的訪問(wèn)控制(RBAC)引擎。所有表單和CRUD網(wǎng)格的增刪改查、表單域的選取和更新、按鈕、SQL和Python腳本、報(bào)表、頁(yè)面等都實(shí)現(xiàn)了RBAC。[17]RBAC實(shí)現(xiàn)了功能級(jí)權(quán)限的訪問(wèn)控制。

數(shù)據(jù)級(jí)權(quán)限在管理信息系統(tǒng)中也非常重要。數(shù)據(jù)級(jí)權(quán)限指在功能模塊內(nèi)控制用戶的數(shù)據(jù)訪問(wèn),如學(xué)生信息模塊中,學(xué)院只能管理本學(xué)院學(xué)生,學(xué)校則能管理所有學(xué)生。傳統(tǒng)數(shù)據(jù)級(jí)權(quán)限管理一般采用硬編碼的方式,把權(quán)限邏輯用條件的形式與業(yè)務(wù)代碼耦合在一起,難以測(cè)試,開發(fā)維護(hù)成本高。一些學(xué)者研究基于屬性規(guī)則的數(shù)據(jù)權(quán)限模型,但其規(guī)則引擎配置復(fù)雜,而且不能適應(yīng)更加復(fù)雜的權(quán)限控制。[18]我們用過(guò)濾器、觸發(fā)器、控制腳本相結(jié)合的形式,實(shí)現(xiàn)了較為靈活的數(shù)據(jù)級(jí)權(quán)限控制。過(guò)濾器用一種輕量級(jí)的數(shù)據(jù)交換格式(JSON)定義,配置簡(jiǎn)便靈活。[19]規(guī)則引擎對(duì)資源進(jìn)行過(guò)濾,用戶只能得到經(jīng)過(guò)濾器過(guò)濾后的信息。觸發(fā)器和控制腳本用SQL腳本或Python腳本定義,能夠在用戶進(jìn)行操作之前進(jìn)行自定義驗(yàn)證,并能在操作之后進(jìn)行數(shù)據(jù)加工。

表單、網(wǎng)格、報(bào)表與權(quán)限管理的集成,能靈活地實(shí)現(xiàn)管理信息系統(tǒng)的數(shù)據(jù)處理功能、預(yù)測(cè)功能、計(jì)劃功能、控制功能和輔助決策功能。我們還開發(fā)了一個(gè)新構(gòu)件開發(fā)工具,可實(shí)現(xiàn)更加個(gè)性化功能。

5.新構(gòu)件開發(fā)

對(duì)于不能用現(xiàn)有構(gòu)件實(shí)現(xiàn)的系統(tǒng)需求,要構(gòu)造滿足這些需求的新構(gòu)件。新構(gòu)件開發(fā)模塊在服務(wù)器端實(shí)現(xiàn)了MVC模式,有效地分離了應(yīng)用的業(yè)務(wù)邏輯、數(shù)據(jù)和界面,提高了應(yīng)用的可擴(kuò)展性、可維護(hù)性和可復(fù)用性;[20]在客戶端實(shí)現(xiàn)了MVVM模式[14],不僅使視圖可以獨(dú)立于模型的變化和修改,降低了耦合度,而且讓業(yè)務(wù)邏輯和數(shù)據(jù)的開發(fā)與頁(yè)面設(shè)計(jì)徹底獨(dú)立開來(lái)。我們?cè)陂_發(fā)的前端和后端均采用了模板引擎,能更加合理地分離前后端,不僅能提高開發(fā)人員的協(xié)同效率,而且可以降低Web應(yīng)用服務(wù)的資源消耗,提高系統(tǒng)吞吐量。[21]

新構(gòu)件開發(fā)采用了混合編程的開發(fā)模式。程序設(shè)計(jì)語(yǔ)言有各自的優(yōu)勢(shì)和不足,混合編程可以充分利用各種程序設(shè)計(jì)語(yǔ)種的優(yōu)勢(shì),只要解決各種語(yǔ)言間參數(shù)傳遞的問(wèn)題,就可以極大地提高開發(fā)效率。[22]我們采用了C#和Python混合開發(fā)模式,對(duì)瀏覽器、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器的數(shù)據(jù)交換定義了一套完整的規(guī)則,把HTTP的請(qǐng)求和響應(yīng)數(shù)據(jù)均封裝在兩種程序設(shè)計(jì)語(yǔ)言都識(shí)別的字典和數(shù)組中,打通了混合開發(fā)的關(guān)鍵環(huán)節(jié)。

三、云開發(fā)平臺(tái)

平臺(tái)即服務(wù)(PaaS)是指將軟件研發(fā)的平臺(tái)作為一種服務(wù),以SaaS的模式提交給用戶,它不但可以為更高的可用性、更具擴(kuò)展性的應(yīng)用提供基礎(chǔ)平臺(tái),還可以提高硬件資源利用率,降低業(yè)務(wù)運(yùn)營(yíng)成本。[23]PaaS平臺(tái)提供應(yīng)用程序的開發(fā)和運(yùn)行環(huán)境,使開發(fā)者不需要維護(hù)軟硬件設(shè)備,又免去了繁瑣復(fù)雜的應(yīng)用部署過(guò)程。但是現(xiàn)有的PaaS平臺(tái)一般僅提供特定的編程語(yǔ)言的運(yùn)行環(huán)境,且難以提供像集成開發(fā)環(huán)境(IDE)那樣強(qiáng)大的功能,反而會(huì)增加開發(fā)者編碼和測(cè)試成本。[3]本文平臺(tái)不僅提供應(yīng)用程序開發(fā)和運(yùn)行環(huán)境,而且支持構(gòu)件組裝,實(shí)現(xiàn)CBSE過(guò)程,大幅提高生產(chǎn)率。

1.開發(fā)環(huán)境

我們實(shí)現(xiàn)了在線應(yīng)用開發(fā)服務(wù),支持HTML、CSS、Javascript、Python、SQL的開發(fā)。為了保證云端編碼效率的質(zhì)量,我們基于CodeMirror(一種開源的源代碼編輯器)進(jìn)行二次開發(fā),實(shí)現(xiàn)了一個(gè)基于Web的集成開發(fā)環(huán)境(IDE),實(shí)現(xiàn)了源代碼的編輯、版本控制、編譯、執(zhí)行,支持代碼折疊、格式編排、括號(hào)匹配、智能縮進(jìn)、自動(dòng)完成、代碼美化、錯(cuò)誤檢測(cè)等功能,符合現(xiàn)代化IDE的特性。版本控制通過(guò)數(shù)據(jù)保存事件處理程序,自動(dòng)保存了源代碼的歷史版本,并支持一鍵查看。編譯功能實(shí)現(xiàn)了對(duì)Python腳本的動(dòng)態(tài)編譯,能夠識(shí)別腳本中的語(yǔ)法錯(cuò)誤。編碼完成后,開發(fā)者可直接訪問(wèn)資源對(duì)應(yīng)的統(tǒng)一資源標(biāo)識(shí)符(URI)查看代碼執(zhí)行結(jié)果。

2.構(gòu)件組裝

我們研發(fā)了基于Web的構(gòu)件組裝工具。我們是基于資源的設(shè)計(jì)研發(fā)的云開發(fā)平臺(tái),可引用功能和數(shù)據(jù)都通過(guò)簡(jiǎn)明的URI被訪問(wèn)。[24]因此開發(fā)者只需通過(guò)開發(fā)環(huán)境組織資源URI的拓?fù)浣Y(jié)構(gòu)就可實(shí)現(xiàn)構(gòu)件的組裝。我們還設(shè)計(jì)了一種以數(shù)據(jù)為中心的構(gòu)件快速組裝框架,其用戶界面是一個(gè)帶工具欄的支持查找和分頁(yè)的CRUD網(wǎng)格。開發(fā)者可定義網(wǎng)格中顯示的數(shù)據(jù)和工具欄中的按鈕。我們定義了常用的按鈕點(diǎn)擊事件處理程序,如需要確認(rèn)后才執(zhí)行、直接訪問(wèn)URI、訪問(wèn)選中數(shù)據(jù)格式化后的URI、訪問(wèn)以選中數(shù)據(jù)為參數(shù)的URI、把選中數(shù)據(jù)以AJAX形式提交、輸入?yún)?shù)并把選中數(shù)據(jù)以AJAX提交等操作。開發(fā)者只用關(guān)注構(gòu)件的組裝,而不用關(guān)注界面的設(shè)計(jì)。另外,我們還開發(fā)了一個(gè)URI分析工具。該工具能夠分析URI的格式和參數(shù),匹配URI對(duì)應(yīng)構(gòu)件的配置腳本或源代碼,從而使開發(fā)者可以更快速地組裝和維護(hù)構(gòu)件。

下面介紹基于本文開發(fā)方法的敏捷開發(fā)實(shí)踐案例。

四、敏捷開發(fā)實(shí)踐

2001年,Kent Beck和其他軟件專家共同簽署了“敏捷軟件開發(fā)宣言”,聲明個(gè)體和交互重于過(guò)程和工具,可以工作的軟件重于面面俱到的文檔,客戶合作重于合同談判,隨時(shí)應(yīng)對(duì)變化重于遵循計(jì)劃。[25]敏捷理念強(qiáng)調(diào)4個(gè)關(guān)鍵問(wèn)題——小而高度自主的團(tuán)隊(duì)、項(xiàng)目共同利益者的交流合作、有效支持變化及快速交付滿意的軟件。下面介紹基于構(gòu)件的PaaS模式下,管理信息系統(tǒng)的開發(fā)實(shí)踐。

1.研究生學(xué)位管理系統(tǒng)

隨著研究生教學(xué)規(guī)模的擴(kuò)大、學(xué)位授予類型的增加以及研究生教育改革的深化,研究生學(xué)位管理工作的需求也不斷變化。學(xué)位管理系統(tǒng)在研究生管理過(guò)程中具有業(yè)務(wù)流程清晰、數(shù)據(jù)嚴(yán)謹(jǐn)規(guī)范、權(quán)限要求嚴(yán)格等特點(diǎn)。[26]

學(xué)位授予工作,主要有兩條工作流。一是論文評(píng)閱,即學(xué)生提交申請(qǐng)信息(科研成果、導(dǎo)師評(píng)語(yǔ)、論文等),教務(wù)員進(jìn)行審核,經(jīng)專家評(píng)閱合格方可進(jìn)行答辯申請(qǐng);二是答辯申請(qǐng),即學(xué)生提交根據(jù)專家意見修改后的論文信息進(jìn)行答辯,答辯秘書錄入答辯結(jié)果,教務(wù)員審核答辯信息并確定分會(huì)名單,分會(huì)討論錄入分會(huì)結(jié)果,校會(huì)審議。

我們組織了三人的開發(fā)團(tuán)隊(duì),遵循Scrum方法,對(duì)兩條工作流設(shè)計(jì)了三個(gè)5天周期的迭代計(jì)劃實(shí)現(xiàn)主要功能。信息采集功能通過(guò)表單、CRUD網(wǎng)格構(gòu)件和報(bào)表構(gòu)件直接組裝實(shí)現(xiàn)。利用工作流構(gòu)件,通過(guò)把有限狀態(tài)機(jī)與表單和CRUD網(wǎng)格構(gòu)件集成的方式,實(shí)現(xiàn)了論文評(píng)閱和答辯申請(qǐng)兩條工作流。學(xué)位授予數(shù)據(jù)的匯總和統(tǒng)計(jì)分析通過(guò)配置報(bào)表分析構(gòu)件實(shí)現(xiàn)。迭代周期結(jié)束之后,再根據(jù)業(yè)務(wù)的變化調(diào)整構(gòu)件的配置或重新組裝構(gòu)件,靈活響應(yīng)變化,優(yōu)化系統(tǒng)。

利用本文方法開發(fā)的北京師范大學(xué)學(xué)位管理系統(tǒng),具有架構(gòu)先進(jìn)、功能完備、數(shù)據(jù)準(zhǔn)確、擴(kuò)展靈活的特點(diǎn),為我校學(xué)位管理工作提供有力支撐。

2.研究生質(zhì)量監(jiān)控與評(píng)估系統(tǒng)

教學(xué)質(zhì)量是教育永恒的主題。為了保證高等教育教學(xué)質(zhì)量,使規(guī)模、質(zhì)量、效益協(xié)調(diào)發(fā)展,應(yīng)當(dāng)構(gòu)建一套科學(xué)可持續(xù)的質(zhì)量監(jiān)控與評(píng)估體系。[27]研究生質(zhì)量監(jiān)控與評(píng)估系統(tǒng)主要以學(xué)生評(píng)教、專家督導(dǎo)、論文外審、公開答辯、畢業(yè)生滿意度調(diào)查等措施為基礎(chǔ),監(jiān)控教學(xué)過(guò)程的質(zhì)量,構(gòu)建評(píng)估與反饋系統(tǒng)。信息系統(tǒng)主要實(shí)現(xiàn)數(shù)據(jù)的采集、公示和分析。

學(xué)生評(píng)教數(shù)據(jù)、排課數(shù)據(jù)位于第三方開發(fā)的教務(wù)管理系統(tǒng)中,需要跨數(shù)據(jù)庫(kù)集成;外審、答辯數(shù)據(jù)位于自主開發(fā)的學(xué)生管理系統(tǒng)中,可直接引用;專家督導(dǎo)信息采集、答辯信息公開功能、滿意度調(diào)查可用現(xiàn)有構(gòu)件組裝。

我們組織了二人研發(fā)團(tuán)隊(duì),設(shè)計(jì)了兩個(gè)5天周期的迭代計(jì)劃快速構(gòu)建信息采集、公示功能。我們用Python編寫了數(shù)據(jù)同步的腳本,從第三方教務(wù)管理系統(tǒng)讀取排課信息;用CRUD網(wǎng)格構(gòu)件實(shí)現(xiàn)了督導(dǎo)信息采集功能;讀取答辯信息用模板引擎生成了答辯信息公開的網(wǎng)頁(yè);用問(wèn)卷構(gòu)件生成了滿意度調(diào)查問(wèn)卷。此處要分析的數(shù)據(jù)維度大,采用SPSS統(tǒng)計(jì)軟件輔助分析數(shù)據(jù)。反饋功能主要通過(guò)學(xué)院教學(xué)經(jīng)費(fèi)、招生計(jì)劃的調(diào)節(jié)實(shí)現(xiàn)。

利用本文方法開發(fā)的北京師范大學(xué)研究生質(zhì)量監(jiān)控與評(píng)估系統(tǒng),為北京師范大學(xué)研究生質(zhì)量監(jiān)控和評(píng)估提供了基礎(chǔ)數(shù)據(jù),有利于提高監(jiān)控和評(píng)估工作的質(zhì)量和效率。

3.本文方法優(yōu)勢(shì)分析

本文方法結(jié)合了CBSE和PaaS,與傳統(tǒng)方法相比,具有如下優(yōu)勢(shì)。

首先,本文方法進(jìn)一步改善了質(zhì)量。傳統(tǒng)的CBSE過(guò)程的構(gòu)件合格性檢驗(yàn)要考慮運(yùn)行時(shí)需求、資源使用等因素的影響,而PaaS則使開發(fā)者不必考慮這些因素。傳統(tǒng)的PaaS模式具有較高的缺陷查找成本,而利用CBSE,隨著構(gòu)件的每一次復(fù)用,缺陷被發(fā)現(xiàn)并被消除,構(gòu)件質(zhì)量也隨之改善,使缺陷一般出現(xiàn)在構(gòu)件的集成中,極大提高了缺陷消除的效率。

其次,本文方法進(jìn)一步提高了生產(chǎn)率。軟件開發(fā)過(guò)程一般為溝通、策劃、建模、構(gòu)建、部署的迭代過(guò)程。CBSE降低了計(jì)劃、模型、文檔、代碼和數(shù)據(jù)的創(chuàng)建工作花費(fèi)的時(shí)間,同時(shí)PaaS無(wú)需配置復(fù)雜的開發(fā)和運(yùn)行環(huán)境,使開發(fā)團(tuán)隊(duì)都可以在線實(shí)時(shí)協(xié)同,提高了開發(fā)效率。

最后,本文方法進(jìn)一步降低了成本。少構(gòu)建多復(fù)用的CBSE肯定是成本合算的。本文開發(fā)的平臺(tái)以PaaS模式大幅降低了構(gòu)件合格性檢驗(yàn)、適應(yīng)性修改與組裝的成本。同時(shí),本文核心方法采用的是開放標(biāo)準(zhǔn)技術(shù),沒有商業(yè)授權(quán)成本,且相對(duì)容易學(xué)習(xí),能減少開發(fā)團(tuán)隊(duì)磨合成本。

五、總結(jié)

本文研發(fā)了一種管理信息系統(tǒng)開發(fā)平臺(tái),以基于構(gòu)件的PaaS模式提供管理信息系統(tǒng)開發(fā)服務(wù)。該服務(wù)能改變管理信息系統(tǒng)的開發(fā)方式,讓開發(fā)者在云端即可完成開發(fā)工作,把開發(fā)者考慮的重點(diǎn)從“編碼”轉(zhuǎn)移到“組裝”,考慮的焦點(diǎn)從“實(shí)現(xiàn)”轉(zhuǎn)移到“集成”。北京師范大學(xué)研究生學(xué)位系統(tǒng)和研究生質(zhì)量監(jiān)控與評(píng)估系統(tǒng)的敏捷開發(fā)實(shí)踐表明,本文的開發(fā)模式能夠很好地契合敏捷軟件開發(fā)理念,大幅提高系統(tǒng)的開發(fā)效率,減輕系統(tǒng)的維護(hù)負(fù)擔(dān),提升系統(tǒng)的構(gòu)建質(zhì)量,降低系統(tǒng)整體成本。

參考文獻(xiàn):

[1]張金城.管理信息系統(tǒng)[M].北京:北京大學(xué)出版社,2001.

[2]Roger S. Pressman. Software Engineering: A practitioners Approach [M]. Beijing: China Machine Press, 2009.

[3]Steve McConnell. Code Complete[M]. Beijing: Publishing House of Electronics Industry, 2006.

[4]Erich Gamma. Design Patterns: Elements of Reusable Object-Oriented Software[M]. Beijing: China Machine Press, 2007.

[5]趙仁鈴,余洋.Web2.0環(huán)境下的研究生管理信息平臺(tái)建設(shè)[J].學(xué)位與研究生教育,2013(5):41-45.

[6]田媚,黃雅平,趙宏偉.畢業(yè)設(shè)計(jì)(論文)管理系統(tǒng)研究與實(shí)踐[J].中國(guó)教育信息化,2015(1):65-67.

[7]于海軍,朱明,蘇厚勤.基于組件的軌道交通AFC設(shè)備運(yùn)營(yíng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2010(12):161-163,201.

[8]向堅(jiān)持,陳曉紅.SaaS模式的中小企業(yè)客戶關(guān)系管理研究[J].計(jì)算機(jī)工程與應(yīng)用,2009(19):232-235.

[9]譚健欣,劉宗妹.基于云計(jì)算的高校信息化建設(shè)思路與實(shí)現(xiàn)路徑[J].中國(guó)教育信息化,2015(5):15-18.

[10]陳展榮,全渝娟,何萬(wàn)寧.大學(xué)計(jì)算機(jī)實(shí)驗(yàn)教學(xué)平臺(tái)建設(shè)與資源共享研究[J].中國(guó)教育信息化,2015(5):41-43.

[11]鄧超,周文平,申新鵬,楊剛.企業(yè)云開發(fā)平臺(tái)研究[J].微電子學(xué)與計(jì)算機(jī),2012(7):162-166.

[12]徐小良,汪樂宇,周泓.有限狀態(tài)機(jī)的一種實(shí)現(xiàn)框架[J].工程設(shè)計(jì)學(xué)報(bào),2003(5):251-255.

[13]Abraham Silberschatz. Database System Concepts[M].Beijing: China Machine Press, 2008.

[14]陳明,李猛坤,張強(qiáng).一種基于擴(kuò)展MVVM模式的SaaS面向服務(wù)計(jì)算模型[J].微電子學(xué)與計(jì)算機(jī),2010(8):27-30.

[15]羅霄,任勇,山秀明.基于Python的混合語(yǔ)言編程及其實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2004(12):17-18,112.

[16]任磊,杜一,馬帥,張小龍,戴國(guó)忠.大數(shù)據(jù)可視分析綜述[J].軟件學(xué)報(bào),2014(9):1909-1936.

[17]夏榆濱,宣明付.基于RBAC的統(tǒng)一權(quán)限管理系統(tǒng)研究[J].微計(jì)算機(jī)信息,2006(30):75,114-116.

[18]歐陽(yáng)榮彬,王倩宜,李麗,劉云峰.基于屬性規(guī)則的數(shù)據(jù)權(quán)限模型研究與實(shí)現(xiàn)[J].大連海事大學(xué)學(xué)報(bào),2010(2):81-83.

[19]劉文,甘志春,李文,王更輝.基于XML和JSON的格式化網(wǎng)絡(luò)參數(shù)文件研究[J].計(jì)算機(jī)與網(wǎng)絡(luò),2013(24):54-57.

[20]劉亮,霍劍青,郭玉剛,袁泉,王曉蒲.基于MVC的通用型模式的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2010(6):635-639.

[21]姬一文,吳慶波,楊沙洲.一種服務(wù)器端模板引擎的改進(jìn)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2011(3):1077-1079,1087.

[22]陽(yáng)康,黃長(zhǎng)清.MATLAB與C#混合編程在軋制力預(yù)報(bào)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2013(5):1885-1888,1901.

[23]徐鵬,陳思,蘇森.互聯(lián)網(wǎng)應(yīng)用PaaS平臺(tái)體系結(jié)構(gòu)[J].北京郵電大學(xué)學(xué)報(bào),2012(1):120-124.

[24]潘冰.面向資源的RESTful Web應(yīng)用研究[J].微計(jì)算機(jī)應(yīng)用,2010(7):38-43.

[25]Robert C. Martin. Agile Principles,Patterns,and Practices in C#[M]. Beijing: Posts & Telecom Press,2010.

[26]王素美,黃宗英,來(lái)天平.基于業(yè)務(wù)流程的學(xué)位管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(S1):330-334.

[27]王軼,陳敏.美國(guó)普通高校教學(xué)質(zhì)量監(jiān)控體系的特點(diǎn)及啟示[J].首都師范大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2015(1):135-140.

(編輯:王天鵬)

猜你喜歡
云計(jì)算
談云計(jì)算與信息資源共享管理
志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
云計(jì)算與虛擬化
基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
基于云計(jì)算環(huán)境下的ERP教學(xué)改革分析
基于MapReduce的故障診斷方法
實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
云計(jì)算中的存儲(chǔ)虛擬化技術(shù)應(yīng)用
學(xué)術(shù)期刊云出版研究
沅江市| 苗栗县| 临沭县| 海口市| 长白| 天全县| 泰安市| 昌黎县| 云梦县| 锦州市| 伊吾县| 长沙县| 霍州市| 潼南县| 贵德县| 鄂尔多斯市| 塔城市| 从江县| 班玛县| 白水县| 滦平县| 德兴市| 防城港市| 京山县| 石台县| 大埔区| 平果县| 普宁市| 大丰市| 维西| 潞西市| 大埔县| 沧州市| 西昌市| 乌拉特中旗| 尼木县| 二连浩特市| 黄冈市| 封丘县| 唐河县| 漯河市|