裴麗君
(大連東軟信息學(xué)院,遼寧 大連 116000)
當(dāng)前,現(xiàn)代技術(shù)的發(fā)展使得計(jì)算機(jī)已經(jīng)與人們的日常生活、工作和學(xué)習(xí)有著更加密切的聯(lián)系。隨著這種依賴程度的不斷加深,人們?cè)谑褂糜?jì)算機(jī)時(shí)已經(jīng)不再只是局限于簡(jiǎn)單的計(jì)算機(jī)操作,以及由其提供的各類功能。針對(duì)這一問(wèn)題,計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的研發(fā)人員根據(jù)人們的需要,陸續(xù)開(kāi)發(fā)出功能更多且更加全面的計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件,并逐步實(shí)現(xiàn)了對(duì)其現(xiàn)有功能的進(jìn)一步拓展,從而滿足人們對(duì)應(yīng)用軟件的功能需求[1]。但由于軟件開(kāi)發(fā)是一項(xiàng)綜合性較強(qiáng)的工作,傳統(tǒng)思路和設(shè)計(jì)流程開(kāi)發(fā)的軟件在后期使用中會(huì)出現(xiàn)諸多問(wèn)題,在一定程度上影響著計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的質(zhì)量和運(yùn)行效率,同時(shí)也會(huì)對(duì)用戶造成極大的困擾。針對(duì)這一問(wèn)題,相關(guān)領(lǐng)域研究人員開(kāi)展了深入的研究,并逐漸將對(duì)軟件的開(kāi)發(fā)作為研究重點(diǎn),提出了規(guī)范性、易維護(hù)性等開(kāi)發(fā)原則。但就當(dāng)前總體情況而言,針對(duì)計(jì)算機(jī)硬件方面的研究與設(shè)計(jì)力度明顯高于軟件方面。所以,相應(yīng)的對(duì)硬件的投入力度更大,這一問(wèn)題的存在對(duì)于計(jì)算機(jī)軟件在市場(chǎng)當(dāng)中的地位就會(huì)造成極大影響。綜上所述可知,這些問(wèn)題則使得當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的設(shè)計(jì)難度得到進(jìn)一步提升。為了增加計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件在開(kāi)發(fā)過(guò)程中每秒處理請(qǐng)求的數(shù)量,提升軟件開(kāi)發(fā)效率,本文在引入大數(shù)據(jù)技術(shù)的基礎(chǔ)上對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)進(jìn)行研究。
為了確保開(kāi)發(fā)的計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件可以在應(yīng)用中達(dá)到既定效果,需要在開(kāi)展相關(guān)研究前,對(duì)計(jì)算機(jī)程序中的應(yīng)用軟件進(jìn)行單任務(wù)與并發(fā)任務(wù)的結(jié)構(gòu)化同步設(shè)計(jì)[2]。此過(guò)程中,可以認(rèn)為應(yīng)用軟件中的程序是一個(gè)嵌入在邏輯端的外設(shè)程序,此程序可以根據(jù)前端事件的特點(diǎn)與需求,進(jìn)行主循環(huán)模式的優(yōu)化,并根據(jù)結(jié)構(gòu)化事件的處理順序,在主循環(huán)模塊中進(jìn)行程序段的設(shè)計(jì),通過(guò)此種方式進(jìn)行軟件結(jié)構(gòu)的循環(huán),不僅可以確保開(kāi)發(fā)的應(yīng)用軟件具有操作便捷、結(jié)構(gòu)簡(jiǎn)單等優(yōu)勢(shì),同時(shí)也可以保證應(yīng)用軟件具有資源占用率低、運(yùn)行效率高等優(yōu)勢(shì)[3]。
為了達(dá)到上述預(yù)設(shè)的要求,可在開(kāi)展相關(guān)設(shè)計(jì)前,對(duì)應(yīng)用軟件處理的優(yōu)先級(jí)進(jìn)行搶占,即當(dāng)前端存在一個(gè)緊急處理程序或事件時(shí),需要進(jìn)行事件模塊的調(diào)用,設(shè)置α為控制指令編程系數(shù),β為數(shù)據(jù)信息定義項(xiàng),?為控制指令譯碼向量,A表示事件模塊的調(diào)用需求值,可得到事件模塊調(diào)用函數(shù)為:

若事件模塊調(diào)用函數(shù)取值大于1,則可以進(jìn)行事件模塊調(diào)用,并在發(fā)生調(diào)用行為的同時(shí),執(zhí)行下一次循環(huán),以此種方式,確保單任務(wù)在程序中執(zhí)行的循環(huán)性[4]。同時(shí),在進(jìn)行程序執(zhí)行順序的處理時(shí),考慮到前端用于支撐程序的硬件設(shè)備可能存在缺陷。因此,可直接參照單片機(jī)運(yùn)行模式,進(jìn)行程序控制,并在控制程序時(shí),調(diào)用一個(gè)單信號(hào)任務(wù)處理事件,將此事件表示為DSP,則DSP 的執(zhí)行框架為:While(啟動(dòng)繼續(xù)執(zhí)行指令){調(diào)用應(yīng)用軟件中的事件處理程序1,調(diào)用應(yīng)用軟件中的事件處理程序2,……,調(diào)用應(yīng)用軟件中的事件處理程序n}。按照上述方式,進(jìn)行單個(gè)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件中單任務(wù)的執(zhí)行。在完成對(duì)應(yīng)用軟件中單任務(wù)執(zhí)行的研究與結(jié)構(gòu)化設(shè)計(jì)后,應(yīng)明確大部分軟件中的任務(wù)均為多任務(wù)同步發(fā)送產(chǎn)生。因此,需要參照上述流程,進(jìn)行應(yīng)用軟件中的多任務(wù)執(zhí)行結(jié)構(gòu)化設(shè)計(jì)。與上文表述相同的是,在執(zhí)行多任務(wù)前,應(yīng)先進(jìn)行任務(wù)結(jié)構(gòu)的劃分,再根據(jù)執(zhí)行的指令要求,進(jìn)行模塊任務(wù)的融合。與上述內(nèi)容不同的是,執(zhí)行并發(fā)任務(wù)的流程如圖1 所示。

圖1 并發(fā)任務(wù)執(zhí)行流程Fig. 1 Concurrent task execution process
由圖1 可知,在執(zhí)行并發(fā)任務(wù)時(shí),不可在一個(gè)主循環(huán)程序中實(shí)施,而是要根據(jù)任務(wù)量與執(zhí)行任務(wù)的指向,將并發(fā)任務(wù)程序分配到多個(gè)任務(wù)處理模塊中,在實(shí)時(shí)環(huán)境中,通過(guò)RTOS 的協(xié)調(diào)化處理,實(shí)現(xiàn)對(duì)并發(fā)任務(wù)的調(diào)度。在掌握多任務(wù)結(jié)構(gòu)化原理后,將通過(guò)對(duì)不同模塊之間交互關(guān)系的分析與處理,進(jìn)行事件耦合性的分析,將耦合性較強(qiáng)的執(zhí)行任務(wù)分配到相同的任務(wù)模塊中[5]。在此過(guò)程中應(yīng)注意的是,所有待執(zhí)行任務(wù)在優(yōu)先級(jí)排序時(shí),應(yīng)保持任務(wù)渠道與程序之間的通信,通過(guò)對(duì)原語(yǔ)言的同步,減輕程序開(kāi)發(fā)人員的負(fù)擔(dān),但有所區(qū)別的是,單結(jié)構(gòu)化的設(shè)計(jì)對(duì)于硬件資源的要求相對(duì)較低,而多結(jié)構(gòu)化的設(shè)計(jì)對(duì)于硬件資源的要求較高,因此,需要根據(jù)前端支撐硬件的賦存情況,選擇是否需要增設(shè)輔助硬件的方式,進(jìn)行并發(fā)任務(wù)的執(zhí)行。綜上所述,通過(guò)對(duì)單任務(wù)與多任務(wù)執(zhí)行的并行分析,掌握不同任務(wù)在傳輸中的關(guān)系,將此作為依據(jù),進(jìn)行結(jié)構(gòu)化層級(jí)關(guān)系的梳理,軟件開(kāi)發(fā)架構(gòu)層級(jí)劃分如圖2 所示。

圖2 軟件開(kāi)發(fā)架構(gòu)層級(jí)Fig. 2 Software development architecture level
通過(guò)此種方式,便可以實(shí)現(xiàn)對(duì)不同類型任務(wù)應(yīng)用的結(jié)構(gòu)化設(shè)計(jì)。
在明確計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的單任務(wù)和多任務(wù)以及相應(yīng)的結(jié)構(gòu)化設(shè)計(jì)后,為了確保應(yīng)用軟件在日后使用過(guò)程中能夠更加貼合使用用戶的需要,還需要引入大數(shù)據(jù)技術(shù),對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件所面向的對(duì)象進(jìn)行設(shè)計(jì)。同時(shí),在設(shè)計(jì)過(guò)程中,考慮到軟件的擴(kuò)展性和維護(hù)性,將數(shù)據(jù)與數(shù)據(jù)之間的封裝處理操作轉(zhuǎn)向在對(duì)象實(shí)體當(dāng)中完成[6]。由于處于邊界的數(shù)據(jù)無(wú)法實(shí)現(xiàn)對(duì)內(nèi)部數(shù)據(jù)的訪問(wèn),并且操作十分困難,因此引入大數(shù)據(jù)技術(shù),為對(duì)象之間的信息傳遞提供連接,從而實(shí)現(xiàn)2 個(gè)軟件用戶的間接訪問(wèn)。同時(shí),引入大數(shù)據(jù)技術(shù)后,計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件面向?qū)ο蟮倪x擇能夠更加貼合人們的思考方式,使得問(wèn)題空間與解空間的描述更加準(zhǔn)確,即便在不了解內(nèi)部細(xì)節(jié)的情況下,也能夠?qū)浖_(kāi)發(fā)的多態(tài)、重載等開(kāi)發(fā)操作提供支撐條件。通過(guò)上述方式的軟件開(kāi)發(fā)就能夠在后期實(shí)際應(yīng)用中具備更強(qiáng)的重用性。此外,在這一階段,還可結(jié)合大數(shù)據(jù)技術(shù)中的對(duì)象挖掘技術(shù)實(shí)現(xiàn)對(duì)不同軟件用戶特征的挖掘。將挖掘?qū)ο竺恳活悇e下的對(duì)應(yīng)特征出現(xiàn)概率進(jìn)行統(tǒng)計(jì),可引入如下公式:

其中,T表示挖掘?qū)ο竺恳粋€(gè)對(duì)應(yīng)特征出現(xiàn)的概率;λi表示挖掘?qū)ο蟮奶卣鲗傩詳?shù)據(jù);n表示計(jì)算機(jī)軟件當(dāng)中所有特征屬性數(shù)據(jù)個(gè)數(shù)。
根據(jù)上述公式,確定每一類別下對(duì)應(yīng)特征出現(xiàn)的概率,將出現(xiàn)概率最多的特征相對(duì)應(yīng)的挖掘?qū)ο笞鳛檐浖_(kāi)發(fā)過(guò)程中的面向?qū)ο蟆2⒃诖_定面向?qū)ο蠛螅ㄟ^(guò)軟件建模、詳細(xì)設(shè)計(jì)等步驟實(shí)現(xiàn)對(duì)面向?qū)ο蟮木唧w描述[7]。同時(shí),在這一過(guò)程中,也可使用MSC 對(duì)用戶實(shí)例進(jìn)行建模。模型中分為4 個(gè)模塊,分別為:應(yīng)用模塊、面向?qū)ο筮\(yùn)行支撐模塊、PTOS對(duì)象化封裝模塊和RTOS 模塊。通過(guò)各個(gè)模塊之間的相互配合,以此來(lái)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件靜態(tài)和動(dòng)態(tài)行為做出描述。隨后研究還發(fā)現(xiàn),通過(guò)模型中后2 種模塊的引入還能夠進(jìn)一步提高計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的內(nèi)存空間占用,從而有效降低其運(yùn)行效率。在面向?qū)ο笤O(shè)計(jì)階段,根據(jù)建模得出的結(jié)果選擇應(yīng)用軟件的體系結(jié)構(gòu),并對(duì)高級(jí)對(duì)象進(jìn)行細(xì)化,描述對(duì)象之間的通信關(guān)系,并確定被動(dòng)對(duì)象,從而實(shí)現(xiàn)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件面向?qū)ο蟮脑O(shè)計(jì)。
在完成上述設(shè)計(jì)后,下面將對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)中的軟件內(nèi)部構(gòu)件組成與選擇進(jìn)行研究。為了確保內(nèi)部構(gòu)件滿足計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的開(kāi)發(fā)需求,需要在研究中引進(jìn)“生產(chǎn)線”理念,明確規(guī)劃后的構(gòu)建模型與完善的軟件體系結(jié)構(gòu)對(duì)于軟件開(kāi)發(fā)的重要性,因此,要在開(kāi)發(fā)中進(jìn)行程序架構(gòu)的設(shè)計(jì)與維護(hù),即對(duì)軟件進(jìn)行“粗粒度”的維護(hù)。目前,市場(chǎng)上比較經(jīng)典的軟件架構(gòu)包括順向邏輯軟件、復(fù)用軟件,后者是現(xiàn)在較為常用的軟件體系結(jié)構(gòu)。在復(fù)用軟件結(jié)構(gòu)中,可以將每個(gè)體系構(gòu)成作為一個(gè)對(duì)接口,通過(guò)此接口與外部的交互,進(jìn)行服務(wù)信息的請(qǐng)求,相比常規(guī)的黑盒式服務(wù)軟件,此種構(gòu)架模式具有更強(qiáng)的獨(dú)立性與抽象性,可以滿足不同終端用戶對(duì)于軟件功能的個(gè)性化需求。綜合上述分析,對(duì)軟件構(gòu)件模型與軟件體系結(jié)構(gòu)進(jìn)行描述,結(jié)構(gòu)示意圖如圖3 所示。

圖3 構(gòu)件模型與軟件體系結(jié)構(gòu)Fig. 3 Component model and software architecture
按照?qǐng)D3 給出的結(jié)構(gòu)進(jìn)行軟件體系結(jié)構(gòu)的設(shè)計(jì),在設(shè)計(jì)過(guò)程中應(yīng)注意的是,不同的構(gòu)件與軟件適配存在唯一性,即設(shè)計(jì)的軟件只能在預(yù)設(shè)的空間中應(yīng)用,一旦發(fā)生前端硬件的拓展,極有可能存在軟件不適配的問(wèn)題。因此,也可以將此構(gòu)件模式稱之為“構(gòu)件-架構(gòu)”模式。為了確保軟件功能的完善性,可在進(jìn)一步的設(shè)計(jì)中,引進(jìn)高階抽象理念、即Agent理念,基于此理念將不同層次上的構(gòu)件體系進(jìn)行連接,可以確保基礎(chǔ)架構(gòu)與模型架構(gòu)在應(yīng)用中保持同步性。在進(jìn)行應(yīng)用程序交付時(shí),可通過(guò)對(duì)用戶需求的集中分析,進(jìn)行不同領(lǐng)域中構(gòu)件代碼的編譯,并在編譯后,將所有與之相關(guān)的構(gòu)件導(dǎo)入一個(gè)標(biāo)準(zhǔn)的構(gòu)件庫(kù)中,確保代碼格式標(biāo)準(zhǔn)后,即可實(shí)現(xiàn)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的交付。此外,可在交付前,根據(jù)軟件開(kāi)發(fā)需求,進(jìn)行應(yīng)用軟件的試運(yùn)行與調(diào)試,確保軟件功能無(wú)誤后,即可執(zhí)行交付。綜上所述,完成基于大數(shù)據(jù)技術(shù)的軟件開(kāi)發(fā)設(shè)計(jì)。
本文在結(jié)合大數(shù)據(jù)技術(shù)的基礎(chǔ)上,提出一種全新的軟件開(kāi)發(fā)方式,其界面如圖4 所示。

圖4 軟件開(kāi)發(fā)界面Fig. 4 Software development interface
為了進(jìn)一步驗(yàn)證設(shè)計(jì)方法在實(shí)際中的應(yīng)用效果,選擇將本文方法與傳統(tǒng)的基于安全技術(shù)的開(kāi)發(fā)方式進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)對(duì)象為:同一計(jì)算機(jī)應(yīng)用功能需求軟件的開(kāi)發(fā)。為了方便論述,將本文方法設(shè)置為實(shí)驗(yàn)組,將文獻(xiàn)[5]方法作為對(duì)照組,做了如下對(duì)比實(shí)驗(yàn):
為了實(shí)現(xiàn)對(duì)2 種軟件開(kāi)發(fā)方式的驗(yàn)證,選擇將開(kāi)發(fā)時(shí)的運(yùn)行效率作為評(píng)價(jià)指標(biāo),針對(duì)實(shí)驗(yàn)組與對(duì)照組在實(shí)驗(yàn)過(guò)程中每秒處理的請(qǐng)求數(shù)量作為評(píng)價(jià)量化結(jié)果。為了確保實(shí)驗(yàn)結(jié)果的客觀性,2 種開(kāi)發(fā)方式下所需的開(kāi)發(fā)條件均相同。選擇將某一軟件的開(kāi)發(fā)程序編寫作為實(shí)驗(yàn)用例,分別利用實(shí)驗(yàn)組和對(duì)照組這2 種開(kāi)發(fā)方式對(duì)該實(shí)驗(yàn)用例進(jìn)行開(kāi)發(fā)。在該實(shí)驗(yàn)用例中,包含了對(duì)項(xiàng)目?jī)?nèi)容的配置、對(duì)視圖的渲染以及文件緩沖和程序創(chuàng)建等內(nèi)容。在實(shí)驗(yàn)過(guò)程中,引入黑盒測(cè)試模式,在確保2 種開(kāi)發(fā)方式正常運(yùn)行的情況下,對(duì)5 種不同操作任務(wù)下每秒處理的請(qǐng)求數(shù)量進(jìn)行記錄。其中,操作任務(wù)分別為:直接對(duì)開(kāi)發(fā)程序編寫文件進(jìn)行訪問(wèn)(任務(wù)1);直接對(duì)視圖模塊進(jìn)行訪問(wèn)(任務(wù)2);對(duì)模塊、操作和參數(shù)進(jìn)行訪問(wèn)(任務(wù)3);正常模式下對(duì)軟件參數(shù)進(jìn)行設(shè)置(任務(wù)4);對(duì)多組參數(shù)同時(shí)設(shè)置(任務(wù)5)。在實(shí)驗(yàn)組與對(duì)照組均完成上述5 個(gè)操作任務(wù)后,將實(shí)驗(yàn)結(jié)果進(jìn)行記錄,并繪制成表1。

表1 實(shí)驗(yàn)組與對(duì)照組實(shí)驗(yàn)結(jié)果對(duì)比表Tab.1 Comparison of experimental results between experimental group and control group
從表1 得出的實(shí)驗(yàn)數(shù)據(jù)可以看出,在完成5 項(xiàng)操作任務(wù)后,實(shí)驗(yàn)組每秒處理請(qǐng)求的數(shù)量明顯多于對(duì)照組,同時(shí)在實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn),實(shí)驗(yàn)組總共完成的請(qǐng)求超過(guò)10 000 個(gè),而對(duì)照組總共完成的請(qǐng)求小于2 500 個(gè),對(duì)照組軟件開(kāi)發(fā)明顯不具備優(yōu)勢(shì)條件。因此,通過(guò)本文上述實(shí)驗(yàn)得出的結(jié)果能夠證明,在確保最終計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的開(kāi)發(fā)質(zhì)量均符合標(biāo)準(zhǔn)的情況下,引入大數(shù)據(jù)技術(shù)后可以提升軟件開(kāi)發(fā)的運(yùn)行效率,并且能夠充分滿足開(kāi)發(fā)者的設(shè)計(jì)需要,為計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件在市場(chǎng)當(dāng)中的競(jìng)爭(zhēng)實(shí)力提升提供條件。
本文在引入大數(shù)據(jù)技術(shù)后,從3 個(gè)方面對(duì)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的開(kāi)發(fā)進(jìn)行了詳細(xì)的設(shè)計(jì),并在傳統(tǒng)軟件開(kāi)發(fā)方式應(yīng)用效果的基礎(chǔ)上,增加了每秒處理請(qǐng)求數(shù)量,從而使得軟件開(kāi)發(fā)的效率得到了進(jìn)一步提升。在今后的研究當(dāng)中,還將進(jìn)一步細(xì)化計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用軟件的類別,針對(duì)嵌入式軟件的開(kāi)發(fā)和應(yīng)用進(jìn)行更加深入的研究,從而確保開(kāi)發(fā)的軟件中的各個(gè)構(gòu)件和運(yùn)行功能能夠滿足軟件使用用戶的需要,以期為提升軟件開(kāi)發(fā)效率提供一定幫助。