欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

軟件架構(gòu)設(shè)計(jì)方法與流程

文檔序號:12005299閱讀:791來源:國知局
軟件架構(gòu)設(shè)計(jì)方法與流程
本發(fā)明涉及POS終端技術(shù)領(lǐng)域,特別是涉及一種適用運(yùn)行于POS終端的應(yīng)用軟件的軟件架構(gòu)。

背景技術(shù):
POS(Pointofsale)是一種配有條碼或OCR碼(Opticalcharacterrecognition光字符碼)終端閱讀器,至少具有現(xiàn)金或易貨額度出納功能。其中,POS終端與廣告易貨交易平臺的結(jié)算系統(tǒng)相聯(lián),其主要任務(wù)是對商品與媒體交易提供數(shù)據(jù)服務(wù)和管理功能,并進(jìn)行非現(xiàn)金結(jié)算。現(xiàn)有技術(shù)中,應(yīng)用POS終端所能實(shí)現(xiàn)的管理業(yè)務(wù)可以包括操作員管理、操作員簽到、操作員簽退、建立沖正標(biāo)志、交易查閱等;而應(yīng)用POS終端所能實(shí)現(xiàn)的交易業(yè)務(wù)可以包括:消費(fèi)、消費(fèi)撤消、退貨、預(yù)授權(quán)、預(yù)授權(quán)撤消、預(yù)授權(quán)完成、預(yù)授權(quán)完成撤消、自動沖正等交易等??梢?,POS終端的出現(xiàn)為大、中型超市、連鎖店、大賣場、大中型飯店及一切高水平管理的零售企業(yè)帶來了極大方便。但是,POS終端中的能夠涵蓋各業(yè)務(wù)的應(yīng)用軟件通常在開發(fā)環(huán)境中統(tǒng)一編寫,使得一套軟件代碼編譯出涵蓋多種業(yè)務(wù)的整個應(yīng)用,也就是,各個業(yè)務(wù)之間具有較高的耦合性,最終導(dǎo)致應(yīng)用軟件的管理靈活性較差。例如:當(dāng)應(yīng)用軟件的某一業(yè)務(wù)發(fā)生變化時,即便是細(xì)微的變化,需要將應(yīng)用軟件全量下載并更新到POS終端中,導(dǎo)致下載更新效率較低;或者,開發(fā)人員對某一業(yè)務(wù)的軟件代碼的修改將導(dǎo)致其他業(yè)務(wù)的軟件代碼必須進(jìn)行相應(yīng)修改以避免應(yīng)用軟件無法正常運(yùn)行。

技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種軟件架構(gòu),以提高應(yīng)用軟件的管理靈活性,技術(shù)方案如下:一種軟件架構(gòu),適用運(yùn)行于POS終端的應(yīng)用軟件,所述軟件架構(gòu)包括:應(yīng)用程序編程接口(API)層,其基于標(biāo)準(zhǔn)C語言和相應(yīng)操作系統(tǒng)(OS)層對應(yīng)的私有API,封裝有應(yīng)用軟件所適用OS層對應(yīng)的、所述應(yīng)用軟件所包括業(yè)務(wù)所需的API;業(yè)務(wù)模塊層,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用所述API層的相應(yīng)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,所述API層中的API和所述業(yè)務(wù)模塊層的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。優(yōu)選地,所述軟件架構(gòu)還包括:公共模塊層,其包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)所述應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用所述API層的相應(yīng)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);相應(yīng)的,所述業(yè)務(wù)模塊層,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用所述API層的相應(yīng)API、所述公共模塊層的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,所述API層中的API、所述公共模塊層中的共有功能模塊和所述業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。優(yōu)選地,所述API層為統(tǒng)一API層,其基于標(biāo)準(zhǔn)C語言和多種操作系統(tǒng)(OS)層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用多種OS層所對應(yīng)的、所述應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;相應(yīng)的,所述業(yè)務(wù)模塊層,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用所述統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,所述統(tǒng)一API層中的標(biāo)準(zhǔn)API和所述業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。優(yōu)選地,所述API層為統(tǒng)一API層,其基于標(biāo)準(zhǔn)C語言和多種操作系統(tǒng)(OS)層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用多種OS層所對應(yīng)的、所述應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;相應(yīng)的,所述公共模塊層,其包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)所述應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用所述統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);所述業(yè)務(wù)模塊層,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用所述統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API、所述公共模塊層的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,所述統(tǒng)一API層中的標(biāo)準(zhǔn)API、所述公共模塊層中的共有功能模塊和所述業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。本發(fā)明實(shí)施例所提供的軟件架構(gòu)中,API層基于標(biāo)準(zhǔn)C語言和相應(yīng)OS層對應(yīng)的私有API,封裝有應(yīng)用軟件所適用OS層對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的API;業(yè)務(wù)模塊層包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該API層的相應(yīng)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);并且,該API層中的API和該業(yè)務(wù)模塊層的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。可見,本方案中,各個業(yè)務(wù)模塊之間具有高內(nèi)聚低耦合特性,使得各個業(yè)務(wù)模塊之間相互獨(dú)立,因此,可以有效提高應(yīng)用軟件的管理靈活性。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例所提供的軟件架構(gòu)的第一種結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例所提供的軟件架構(gòu)的第二種結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例所提供的軟件架構(gòu)的第三種結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例所提供的軟件架構(gòu)的第四種結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例所提供的軟件架構(gòu)的第五種結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為了提高應(yīng)用軟件的管理靈活性,本發(fā)明實(shí)施例提供了一種適用運(yùn)行于POS終端的應(yīng)用軟件的軟件架構(gòu)。如圖1所示,該軟件架構(gòu),可以包括:API(ApplicationProgrammingInterface,應(yīng)用程序編程接口)層110,其基于標(biāo)準(zhǔn)C語言和相應(yīng)OS(OperatingSystem,操作系統(tǒng))層對應(yīng)的私有API,封裝有應(yīng)用軟件所適用OS層對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的API;業(yè)務(wù)模塊層120,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該API層110的相應(yīng)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,該API層110中的API和該業(yè)務(wù)模塊層的業(yè)務(wù)模塊120均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。其中,該API層110基于標(biāo)準(zhǔn)C語言和終端廠商的POS終端的相應(yīng)OS層對應(yīng)的私有API,將與相應(yīng)OS層的接口封裝為API,且不同功能的接口被封裝為不同的API;而該業(yè)務(wù)模塊層120基于標(biāo)準(zhǔn)C語言,并調(diào)用該API層110中的相應(yīng)API,將應(yīng)用軟件所包括的不同業(yè)務(wù)封裝為不同的業(yè)務(wù)模塊。需要說明的是,該API層110為應(yīng)用軟件與OS層的接口層;其中,通過封裝作為接口層的API層110中的各業(yè)務(wù)所需的API,使得應(yīng)用軟件的軟件代碼可以適用于POS終端的OS層上;同時,對于API層110而言,通常僅僅當(dāng)行業(yè)規(guī)范或設(shè)備硬件驅(qū)動發(fā)生變更時,軟件代碼需要修改。進(jìn)一步的,為了保證應(yīng)用軟件的軟件代碼在不同終端廠商的POS終端的OS層的適用,不同的OS層需要通過對應(yīng)不同的封裝代碼,封裝成不同的API層,即在本發(fā)明所提供軟件架構(gòu)的基礎(chǔ)上,為不同的OS層封裝不同的API。本領(lǐng)域技術(shù)人員可以理解的是,當(dāng)執(zhí)行某一業(yè)務(wù)時,該業(yè)務(wù)模塊層120可以調(diào)用API層的相應(yīng)API,進(jìn)而該API層110再與OS層進(jìn)行交互,以此完成該業(yè)務(wù)的實(shí)現(xiàn)。并且,由于各業(yè)務(wù)模塊之間具有低耦合高內(nèi)聚特性,因此,當(dāng)開發(fā)人員更改某一業(yè)務(wù)模塊的軟件代碼時,無需變更其他業(yè)務(wù)模塊的軟件代碼;而當(dāng)POS終端中應(yīng)用軟件的某一業(yè)務(wù)模塊需要被更新時,開發(fā)好的相應(yīng)業(yè)務(wù)模塊被編譯成動態(tài)庫,通過相應(yīng)的下載平臺下載到POS終端即可,而無需將整個應(yīng)用軟件全量下載并更新。其中,相應(yīng)的下載平臺可以為應(yīng)用軟件開發(fā)商所提供的專門下載平臺,或者,終端廠商所提供的專門下載平臺,這都是合理的。本發(fā)明實(shí)施例所提供的軟件架構(gòu)中,API層基于標(biāo)準(zhǔn)C語言和相應(yīng)OS層對應(yīng)的私有API,封裝有應(yīng)用軟件所適用OS層對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的API;業(yè)務(wù)模塊層包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該API層的相應(yīng)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);并且,該API層中的API和該業(yè)務(wù)模塊層的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。可見,本方案中,各個業(yè)務(wù)模塊之間具有高內(nèi)聚低耦合特性,使得各個業(yè)務(wù)模塊之間相互獨(dú)立,因此,可以有效提高應(yīng)用軟件的管理靈活性。進(jìn)一步的,為了提高應(yīng)用軟件的開發(fā)效率,本發(fā)明實(shí)施例還提供一種適用運(yùn)行于POS終端的應(yīng)用軟件的軟件架構(gòu)。如圖2所示,該軟件架構(gòu)可以包括:API層210,其基于標(biāo)準(zhǔn)C語言和相應(yīng)OS層對應(yīng)的私有API,封裝有應(yīng)用軟件所適用OS層對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的API;公共模塊層220,其包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)該應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用該API層210的相應(yīng)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);業(yè)務(wù)模塊層230,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該API層210的相應(yīng)API、該公共模塊層220的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,該API層210中的API、該公共模塊層220中的共有功能模塊和該業(yè)務(wù)模塊層230中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。其中,該API層210基于標(biāo)準(zhǔn)C語言和終端廠商的POS終端的相應(yīng)OS層對應(yīng)的私有API,將與相應(yīng)OS層的接口封裝為API,且不同功能的接口被封裝為不同的API;公共模塊層210基于標(biāo)準(zhǔn)C語言,并調(diào)用該API層210中的相應(yīng)API,將應(yīng)用軟件所包括業(yè)務(wù)之間的不同的共有功能封裝為不同的共有功能模塊,即各業(yè)務(wù)可以共有的功能被抽離出來進(jìn)行封裝,從而達(dá)到降低每一業(yè)務(wù)模塊的開發(fā)工作量的目的;而業(yè)務(wù)模塊層230基于標(biāo)準(zhǔn)C語言,并調(diào)用API層210的相應(yīng)API、該公共模塊層220的相應(yīng)共有功能,將不存在共有功能的各業(yè)務(wù)封裝為不同的業(yè)務(wù)模塊。需要說明的是,該API層210為應(yīng)用軟件與OS層的接口層;其中,通過封裝作為接口層的API層210中的各業(yè)務(wù)所需的API,使得應(yīng)用軟件的軟件代碼可以適用于POS終端的OS層上;同時,通常僅僅當(dāng)行業(yè)規(guī)范或設(shè)備硬件驅(qū)動發(fā)生變更時,API層210的軟件代碼需要修改。進(jìn)一步的,為了保證應(yīng)用軟件的軟件代碼在不同終端廠商的POS終端的OS層的適用,不同OS層需要通過對應(yīng)不同的封裝代碼,封裝成不同的API層,即在本發(fā)明所提供軟件架構(gòu)的基礎(chǔ)上,為不同的OS層封裝不同的API。本領(lǐng)域技術(shù)人員可以理解的是,當(dāng)執(zhí)行某一業(yè)務(wù)時,該業(yè)務(wù)模塊層230可以調(diào)用API層210的相應(yīng)API以及該公共模塊層220的共有功能模塊,進(jìn)而該公共模塊層220調(diào)用該API層210的相應(yīng)API,而該API層210再與OS層進(jìn)行交互,以此完成該業(yè)務(wù)的實(shí)現(xiàn)。并且,由于各業(yè)務(wù)模塊之間具有低耦合高內(nèi)聚特性,因此,當(dāng)開發(fā)人員更改某一業(yè)務(wù)模塊的軟件代碼時,無需變更其他業(yè)務(wù)模塊的軟件代碼;而當(dāng)POS終端中應(yīng)用軟件的某一業(yè)務(wù)模塊需要被更新時,開發(fā)好的相應(yīng)業(yè)務(wù)模塊被編譯成動態(tài)庫,通過相應(yīng)的下載平臺下載到POS終端即可,而無需將整個應(yīng)用軟件全量下載并更新。其中,相應(yīng)的下載平臺可以為應(yīng)用軟件開發(fā)商所提供的專門下載平臺,或者,終端廠商所提供的專門下載平臺,這都是合理的。本發(fā)明實(shí)施例所提供的軟件架構(gòu)中,API層基于標(biāo)準(zhǔn)C語言和相應(yīng)OS層對應(yīng)的私有API,封裝有應(yīng)用軟件所適用OS層對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的API;公共模塊層包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)該應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用該API層的相應(yīng)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);業(yè)務(wù)模塊層包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該API層的相應(yīng)API、該公共模塊層的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);并且,該API層中的API、該公共模塊層中的共有功能模塊和該業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。可見,本方案中,各個業(yè)務(wù)模塊之間具有高內(nèi)聚低耦合特性,使得各個業(yè)務(wù)模塊之間相互獨(dú)立,因此,可以有效提高應(yīng)用軟件的管理靈活性;同時,共有模塊層的設(shè)置,可以降低每一業(yè)務(wù)模塊的開發(fā)工作量,因此,提高了應(yīng)用軟件的開發(fā)效率。而為了消除不同OS層的封裝差異,提高代碼通用性,本發(fā)明實(shí)施例還提供一種適用運(yùn)行于POS終端的應(yīng)用軟件的軟件架構(gòu)。如圖3所示,該軟件架構(gòu)可以包括:統(tǒng)一API層310,其基于標(biāo)準(zhǔn)C語言和多種OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用多種OS層所對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;業(yè)務(wù)模塊層320,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該統(tǒng)一API層310的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,該統(tǒng)一API層310中的標(biāo)準(zhǔn)API和該業(yè)務(wù)模塊層320中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。其中,該統(tǒng)一API層310基于標(biāo)準(zhǔn)C語言和多個終端廠商的POS終端的OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,將與多種OS層的接口封裝為標(biāo)準(zhǔn)API,且同一OS層的不同功能的接口被封裝為不同的標(biāo)準(zhǔn)API,不同OS層的相同功能的接口被封裝為相同的標(biāo)準(zhǔn)API,以適應(yīng)多種OS層,消除不同OS層的封裝差異,提高代碼通用性;而該業(yè)務(wù)模塊層320基于標(biāo)準(zhǔn)C語言,并調(diào)用統(tǒng)一API層310中的相應(yīng)標(biāo)準(zhǔn)API,將應(yīng)用軟件所包括的不同的業(yè)務(wù)封裝為不同的業(yè)務(wù)模塊。需要說明的是,該統(tǒng)一API層310為應(yīng)用軟件與OS層的接口層;其中,通過封裝作為接口層的該統(tǒng)一API層310中的各業(yè)務(wù)所需的標(biāo)準(zhǔn)API,使得應(yīng)用軟件的軟件代碼可以適用于不同終端廠商的POS終端的OS層上;同時,對于統(tǒng)一API層310而言,通常僅僅當(dāng)行業(yè)規(guī)范或設(shè)備硬件驅(qū)動發(fā)生變更時,軟件代碼需要修改。本領(lǐng)域技術(shù)人員可以理解的是,當(dāng)執(zhí)行某一業(yè)務(wù)時,該業(yè)務(wù)模塊層320可以調(diào)用統(tǒng)一API層310的相應(yīng)標(biāo)準(zhǔn)API,進(jìn)而統(tǒng)一API層310再與相應(yīng)OS層進(jìn)行交互,以此完成該業(yè)務(wù)的實(shí)現(xiàn)。并且,由于各業(yè)務(wù)模塊之間具有低耦合高內(nèi)聚特性,因此,當(dāng)開發(fā)人員更改某一業(yè)務(wù)模塊的軟件代碼時,無需變更其他業(yè)務(wù)模塊的軟件代碼;而當(dāng)POS終端中應(yīng)用軟件的某一業(yè)務(wù)模塊需要被更新時,開發(fā)好的相應(yīng)業(yè)務(wù)模塊被編譯成動態(tài)庫,通過相應(yīng)的下載平臺下載到POS終端即可,而無需將整個應(yīng)用軟件全量下載并更新。其中,相應(yīng)的下載平臺可以為應(yīng)用軟件開發(fā)商所提供的專門下載平臺,或者,終端廠商所提供的專門下載平臺,這都是合理的。本發(fā)明實(shí)施例所提供的軟件架構(gòu)中,統(tǒng)一API層基于標(biāo)準(zhǔn)C語言和多種OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用多種OS層所對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;業(yè)務(wù)模塊層包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,該統(tǒng)一API層中的標(biāo)準(zhǔn)API和該業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載??梢?,本方案中,各個業(yè)務(wù)模塊之間具有高內(nèi)聚低耦合特性,使得各個業(yè)務(wù)模塊之間相互獨(dú)立,因此,可以有效提高應(yīng)用軟件的管理靈活性;同時,通過利用標(biāo)準(zhǔn)API,使應(yīng)用軟件的軟件代碼適用于不同的OS層,消除了不同OS層的封裝差異,提高了代碼通用性。更進(jìn)一步的,為了提高應(yīng)用軟件的開發(fā)效率,同時,消除不同OS層的封裝差異進(jìn)而提高代碼通用性,本發(fā)明實(shí)施例還提供一種適用運(yùn)行于POS終端的軟件架構(gòu)。如圖4所示,該軟件架構(gòu)可以包括:統(tǒng)一API層410,其基于標(biāo)準(zhǔn)C語言和多種OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用多種OS層所對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;公共模塊層420,其包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)該應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用該統(tǒng)一API層410的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);業(yè)務(wù)模塊層430,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該統(tǒng)一API層410的相應(yīng)標(biāo)準(zhǔn)API、該公共模塊層420的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,該統(tǒng)一API層410中的標(biāo)準(zhǔn)API、該公共模塊層420中的共有功能模塊和該業(yè)務(wù)模塊層430中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。其中,該統(tǒng)一API層410基于標(biāo)準(zhǔn)C語言和多個終端廠商的POS終端的OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,將與多種OS層的接口封裝為標(biāo)準(zhǔn)API,且同一OS層的不同功能的接口被封裝為不同的標(biāo)準(zhǔn)API,不同OS層的相同功能的接口被封裝為相同的標(biāo)準(zhǔn)API,以適應(yīng)多種OS層,消除不同OS層的封裝差異,提高代碼通用性;該公共模塊層420基于標(biāo)準(zhǔn)C語言,并調(diào)用該統(tǒng)一API層210中的相應(yīng)標(biāo)準(zhǔn)API,將應(yīng)用軟件所包括業(yè)務(wù)之間的不同的共有功能封裝為不同的共有功能模塊,即各業(yè)務(wù)可以共有的功能抽離出來進(jìn)行封裝,從而達(dá)到降低每一業(yè)務(wù)模塊的開發(fā)工作量的目的;而業(yè)務(wù)模塊層430基于標(biāo)準(zhǔn)C語言,并調(diào)用該統(tǒng)一API層410的相應(yīng)標(biāo)準(zhǔn)API、該公共模塊層420的相應(yīng)共有功能,將不存在共有功能的各業(yè)務(wù)封裝為不同的業(yè)務(wù)模塊。需要說明的是,該統(tǒng)一API層410為應(yīng)用軟件與OS層的接口層;其中,通過封裝作為接口層的該統(tǒng)一API層410中的各業(yè)務(wù)所需的標(biāo)準(zhǔn)API,使得應(yīng)用軟件的軟件代碼可以適用于不同終端廠商的POS終端的OS層上;同時,通常僅僅當(dāng)行業(yè)規(guī)范或設(shè)備硬件驅(qū)動發(fā)生變更時,統(tǒng)一API層410軟件代碼需要修改。本領(lǐng)域技術(shù)人員可以理解的是,當(dāng)執(zhí)行某一業(yè)務(wù)時,該業(yè)務(wù)模塊層430可以調(diào)用該統(tǒng)一API層410的相應(yīng)標(biāo)準(zhǔn)API以及該公共模塊層420的共有功能模塊,進(jìn)而該公共模塊層420調(diào)用該統(tǒng)一API層410的相應(yīng)標(biāo)準(zhǔn)API,而該統(tǒng)一API層410再與OS層進(jìn)行交互,以此完成該業(yè)務(wù)的實(shí)現(xiàn)。并且,由于各業(yè)務(wù)模塊之間具有低耦合高內(nèi)聚特性,因此,當(dāng)開發(fā)人員更改某一業(yè)務(wù)模塊的軟件代碼時,無需變更其他業(yè)務(wù)模塊的軟件代碼;而當(dāng)POS終端中應(yīng)用軟件的某一業(yè)務(wù)模塊需要被更新時,開發(fā)好的相應(yīng)業(yè)務(wù)模塊被編譯成動態(tài)庫,通過相應(yīng)的下載平臺下載到POS終端即可,而無需將整個應(yīng)用軟件全量下載并更新。其中,相應(yīng)的下載平臺可以為應(yīng)用軟件開發(fā)商所提供的專門下載平臺,或者,終端廠商所提供的專門下載平臺,這都是合理的。本發(fā)明實(shí)施例所提供的軟件架構(gòu)中,統(tǒng)一API層410基于標(biāo)準(zhǔn)C語言和多種OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用多種OS層所對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;公共模塊層包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)該應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);業(yè)務(wù)模塊層包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API、該公共模塊層的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);并且,該統(tǒng)一API層中的標(biāo)準(zhǔn)API、該公共模塊層中的共有功能模塊和該業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載??梢姡痉桨钢?,各個業(yè)務(wù)模塊之間具有高內(nèi)聚低耦合特性,使得各個業(yè)務(wù)模塊之間相互獨(dú)立,因此,可以有效提高應(yīng)用軟件的管理靈活性;同時,通過利用標(biāo)準(zhǔn)API,使應(yīng)用軟件的軟件代碼適用于不同的OS層,消除了不同OS層的封裝差異,提高了代碼通用性;而共有模塊層的設(shè)置,可以降低每一業(yè)務(wù)模塊的開發(fā)工作量,因此,提高了應(yīng)用軟件的開發(fā)效率。下面結(jié)合具體應(yīng)用實(shí)例對本發(fā)明實(shí)施例所提供的一種適用運(yùn)行于POS終端的應(yīng)用軟件的軟件架構(gòu)進(jìn)行介紹。本領(lǐng)域技術(shù)人員可以理解的是,本具體應(yīng)用實(shí)例所提供的適用運(yùn)行于POS終端的應(yīng)用軟件的軟件架構(gòu)僅僅作為一種示例,并不應(yīng)該構(gòu)成對本發(fā)明實(shí)施例的限定。如圖5所示,一種軟件架構(gòu)可以包括:統(tǒng)一API層,其基于標(biāo)準(zhǔn)C語言和4個廠商(廠商A、廠商B、廠商C及廠商D)的POS終端的OS層對應(yīng)的私有API,并通過預(yù)先與廠商A、廠商B、廠商C及廠商D約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用各廠商的POS終端的OS層所對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;具體的,該統(tǒng)一API層可以包括系統(tǒng)類API、顯示類API、打印類API、工具類API、通訊類API、IC卡類API、磁條卡類API、文件類API、密碼鍵盤類API、EMV(即Europay,MasterCard,VISA三大國際卡組織制定的國際通用金融IC卡規(guī)范)庫類API;公共模塊層,其包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)該應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);具體的,該公共模塊層可以包括:打包\解包模塊、參數(shù)文件管理模塊、流水文件管理模塊、結(jié)算文件管理模塊、打印模塊、通訊封裝模塊、交易結(jié)果處理模塊;業(yè)務(wù)模塊層,其包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API、該公共模塊層的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);具體的,該業(yè)務(wù)模塊層可以包括:應(yīng)用入口模塊、由模塊1-消費(fèi)、模塊2-預(yù)授權(quán)、模塊3-退貨構(gòu)成的業(yè)務(wù)邏輯模塊、腳本執(zhí)行結(jié)果上送模塊、離線流水上送處理模塊、沖正處理模塊;其中,該統(tǒng)一API層中的標(biāo)準(zhǔn)API、該公共模塊層中的共有功能模塊和該業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。其中,該統(tǒng)一API層基于標(biāo)準(zhǔn)C語言和四個廠商的POS終端的OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,將與多種OS層的接口封裝為標(biāo)準(zhǔn)API,且同一OS層的不同功能的接口被封裝為不同的標(biāo)準(zhǔn)API,不同OS層的相同功能的接口被封裝為相同的標(biāo)準(zhǔn)API,以適應(yīng)各廠商的多種OS層,消除不同OS層的封裝差異,提高代碼通用性;該公共模塊層基于標(biāo)準(zhǔn)C語言,并調(diào)用該統(tǒng)一API層中的相應(yīng)標(biāo)準(zhǔn)API,將應(yīng)用軟件所包括業(yè)務(wù)之間的不同的共有功能封裝為不同的共有功能模塊,即各業(yè)務(wù)可以共有的功能抽離出來進(jìn)行封裝,從而達(dá)到降低每一業(yè)務(wù)模塊的開發(fā)工作量的目的;而業(yè)務(wù)模塊層基于標(biāo)準(zhǔn)C語言,并調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API、該公共模塊層的相應(yīng)共有功能,將不存在共有功能的各業(yè)務(wù)封裝為不同的業(yè)務(wù)模塊。需要說明的是,該統(tǒng)一API層為應(yīng)用軟件與各個廠商POS終端的OS層的接口層;其中,通過封裝作為接口層的該統(tǒng)一API層中的各業(yè)務(wù)所需的標(biāo)準(zhǔn)API,使得應(yīng)用軟件的軟件代碼可以適用于各廠商POS終端的OS層上;同時,通常僅僅當(dāng)行業(yè)規(guī)范或設(shè)備硬件驅(qū)動發(fā)生變更時,統(tǒng)一API層的軟件代碼需要修改。本領(lǐng)域技術(shù)人員可以理解的是,當(dāng)執(zhí)行某一業(yè)務(wù)時,該業(yè)務(wù)模塊層將調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API以及該公共模塊層的共有功能模塊,進(jìn)而該公共模塊層調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API,而該統(tǒng)一API層再與OS層進(jìn)行交互,以此完成該業(yè)務(wù)的實(shí)現(xiàn)。例如:當(dāng)執(zhí)行消費(fèi)業(yè)務(wù)時,該業(yè)務(wù)模塊層中的模塊1-消費(fèi)可以調(diào)用該統(tǒng)一API層中的顯示類API、磁條卡類API、打印類API等標(biāo)準(zhǔn)API,以及調(diào)用公共模塊層中的打印模塊、交易結(jié)果處理模塊、結(jié)算文件管理模塊等共有功能模塊,而公共模塊層中的被調(diào)用的公共模塊功能可以調(diào)用該統(tǒng)一API層中的相應(yīng)標(biāo)準(zhǔn)API,以此完成該業(yè)務(wù)的實(shí)現(xiàn)。并且,由于各業(yè)務(wù)模塊之間具有低耦合高內(nèi)聚特性,因此,當(dāng)開發(fā)人員更改某一業(yè)務(wù)模塊的軟件代碼時,無需變更其他業(yè)務(wù)模塊的軟件代碼。例如:當(dāng)開發(fā)人員更改沖正處理模塊的軟件代碼時,無需變更其他業(yè)務(wù)模塊的軟件代碼。同時,當(dāng)POS終端中應(yīng)用軟件的某一業(yè)務(wù)模塊需要更新時,開發(fā)好的相應(yīng)業(yè)務(wù)模塊被編譯成動態(tài)庫,通過相應(yīng)的下載平臺下載到POS終端即可,而無需將整個應(yīng)用軟件全量下載并更新。其中,相應(yīng)的下載平臺可以為應(yīng)用軟件開發(fā)商所提供的專門下載平臺,或者,OS廠商所提供的專門下載平臺,這都是合理的。本發(fā)明實(shí)施例所提供的軟件架構(gòu)中,統(tǒng)一API層基于標(biāo)準(zhǔn)C語言和多種OS層對應(yīng)的私有API,并通過預(yù)先約定的標(biāo)準(zhǔn)API技術(shù)要求,封裝有應(yīng)用軟件所適用各廠商POS終端的OS層所對應(yīng)的、該應(yīng)用軟件所包括業(yè)務(wù)所需的標(biāo)準(zhǔn)API;公共模塊層包括共有功能模塊,其中,每一共有功能模塊唯一對應(yīng)該應(yīng)用軟件所包括業(yè)務(wù)之間的一共有功能,且每一共有功能模塊的軟件代碼通過調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);業(yè)務(wù)模塊層包括業(yè)務(wù)模塊,其中,每一業(yè)務(wù)模塊唯一對應(yīng)一不存在共有功能的業(yè)務(wù),且每一業(yè)務(wù)模塊的軟件代碼均通過調(diào)用該統(tǒng)一API層的相應(yīng)標(biāo)準(zhǔn)API、該公共模塊層的相應(yīng)共有功能模塊和標(biāo)準(zhǔn)C語言實(shí)現(xiàn);其中,該統(tǒng)一API層中的標(biāo)準(zhǔn)API、該公共模塊層中的共有功能模塊和該業(yè)務(wù)模塊層中的業(yè)務(wù)模塊均以動態(tài)庫形式存在,以實(shí)現(xiàn)動態(tài)加載。可見,本方案中,各個業(yè)務(wù)模塊之間具有高內(nèi)聚低耦合特性,使得各個業(yè)務(wù)模塊之間相互獨(dú)立,因此,可以有效提高應(yīng)用軟件的管理靈活性;同時,通過利用標(biāo)準(zhǔn)API,使應(yīng)用軟件的軟件代碼適用于不同的OS層,消除了不同OS層的封裝差異,提高了代碼通用性;而共有模塊層的設(shè)置,可以降低每一業(yè)務(wù)模塊的開發(fā)工作量,因此,提高了應(yīng)用軟件的開發(fā)效率。以上所述僅是本發(fā)明的具體實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
长兴县| 滦南县| 北流市| 伊春市| 洛阳市| 莱州市| 阳春市| 温泉县| 黔东| 浮山县| 潼关县| 凤山市| 合水县| 祁东县| 通化县| 贞丰县| 莱西市| 满洲里市| 永平县| 永新县| 巩义市| 海原县| 曲周县| 鲜城| 鄂托克旗| 玉田县| 慈利县| 永兴县| 东平县| 永嘉县| 和静县| 石台县| 吕梁市| 视频| 平江县| 荣昌县| 郸城县| 汉中市| 泾阳县| 台前县| 琼结县|