?

一種基于對象信息的MIS自適應生成器

2022-07-29 06:17
計算機與現代化 2022年7期
關鍵詞:關聯邏輯界面

周 斌

(1.湖北科技職業學院電信工程學院,湖北 武漢 430074; 2.武漢工程科技學院信息工程學院,湖北 武漢 430200)

0 引 言

管理信息系統(Management Information System, MIS)軟件在當今社會的應用已十分廣泛,各行各業越來越依賴于MIS軟件來實現高效信息化管理。隨著社會的發展越來越快,需求變更速度也隨之加快,相應的MIS軟件變更、升級和換代時間間隔逐漸縮短,導致在單位時間內軟件開發和維護的工作量上升,從而提高了MIS軟件的使用成本,制約了企事業單位的信息化發展水平。要解決這個問題,就必須使MIS軟件具備快速重構的能力,包括基礎功能模塊和軟件組織結構的重構。為此越來越多的解決方案被提出,如通過將軟件進行分層開發與維護、運用各種框架簡化軟件的編碼環節等來降低軟件編碼的工作量,目前這種方式正被廣泛應用于各類MIS開發中[1-12];另一種方式是通過代碼生成器來生成軟件代碼,以達到減少或避免人工編碼的工作量的目的[13-28]。這2類方法雖可以在一定程度上降低MIS開發工作量,但仍存在以下問題:

1)通過使用框架技術雖能夠簡化軟件的編碼環節,但遇到對象變更時依然需要修改程序,未能從根本上改變人工編碼的方式,當變更頻繁時仍然會帶來大量編碼工作。

2)通過代碼生成器來生成軟件代碼雖然無需人工編碼,但軟件中各邏輯相同或相似的部分通常未實現代碼復用,容易造成代碼冗余。

3)當MIS升級維護到新版本后,若出現運行不穩定等情況,需退回到原版本時,只能通過重新部署原版本的MIS,無法實現版本快捷回退或切換。

現有的研究很少關注到基于信息化形式自適應生成MIS軟件基礎模塊和結構的技術。MIS軟件通常包含眾多基礎信息管理模塊,這些基礎模塊處理的信息數據雖不盡相同,但處理的方式和流程以及數據關聯方式卻相似或相同,例如都存在增加、修改、刪除、查詢、統計、導入和導出等處理方式,所處理的數據間也通常存在各種關聯關系。若將這些基礎信息模塊所面向的對象及對象屬性、操作、對象間關聯等進行信息化管理,同時信息化管理組成界面層的各類控件等界面基礎元素、組成業務邏輯層的各種基礎邏輯元素和組成數據訪問層的各種基礎數據訪問元素,進而基于對象的屬性、對象間的關聯等要素構建MIS的數據庫,基于對象屬性、操作、對象間的關聯等要素自適應組合界面元素、邏輯元素、數據訪問元素來構建軟件的三層結構,實現通過簡便的可視化操作即自動基于對象信息生成或重構MIS的功能模塊和相應的數據庫結構,并通過信息化管理MIS各模塊間的組織關系實現動態生成或更新MIS的模塊結構,從而大幅提高MIS軟件的開發和維護效率,縮短開發時間并有效降低開發工作量,較好地應對上述問題。

1 基于對象信息MIS自適應生成器的提出

本文提出一種新的MIS軟件基礎模塊自適應生成器。將MIS中基礎信息模塊所面向的對象進行信息化管理,同時將MIS中的界面層、業務邏輯層和數據訪問層進行分解,形成組成各層的通用基礎元素并以信息化形式分層管理;在此基礎上基于對象信息構建基礎數據庫結構,同時將對象信息與構建界面層、業務邏輯層和數據訪問層的基礎元素進行整合,根據對象的特性自適應組合各層基礎元素構建MIS軟件的交互界面、業務邏輯和數據交互部分,生成MIS基礎功能模塊;將基礎功能模塊、模塊的組合及其對應MIS的版本以信息化形式管理,以達到動態構建和管理MIS軟件基礎模塊、軟件結構和版本的目的,從而實現基于簡單的可視化操作即可動態構建MIS和對MIS版本的管控。

本文生成器分為2個部分:MIS基礎模塊與對應數據庫生成部分和MIS結構管理部分。其中,MIS基礎模塊與對應數據庫生成部分由對象、視圖、業務邏輯、數據訪問管理組成,基于對象信息構建MIS的基礎數據庫,基于對象信息和視圖、業務邏輯、數據訪問信息分別生成對應的界面層、業務邏輯層、數據訪問層,實現基于對象信息和三層架構模式自適應生成MIS基礎信息管理模塊。MIS結構管理部分由版本管理、用戶和權限管理、系統結構管理、系統模塊管理組成。版本管理負責MIS版本的管控,其對應著各版本的系統結構和用戶與權限;系統結構負責系統模塊的組織管理,如模塊的層級、運行狀態等,其對應著系統模塊信息;用戶和權限管理負責特定版本的MIS中用戶和對應權限的管控,權限信息與系統模塊信息相關聯;系統模塊管理負責管理MIS中的由對象信息和通用模板生成的各基礎信息模塊,以及由程序員根據個性化需求設計的自定義MIS模塊。本文MIS生成器的基本組成和運作流程如圖1所示。

圖1 MIS自適應生成器的基本組成與運作流程

1)生成器整體原理。

生成器以信息化形式管理和生成MIS軟件各基礎模塊及整體結構,即通過生成器自身的信息化數據來構建MIS基礎模塊和整體結構。在生成器內將MIS基礎數據結構、基礎功能、基礎流程、基礎界面、模塊對象、對象屬性、對象關聯、軟件架構等要素進行通用化、模塊化、信息化處理,形成構建MIS軟件的基礎模型;將MIS軟件的4大核心部分:用戶界面、業務邏輯、數據訪問方法、數據庫同樣進行信息化管理,界面層基于對象屬性信息、關聯信息及人機交互信息而生成,業務邏輯層基于對象屬性信息、行為特性和關聯信息等生成,數據訪問層基于業務邏輯、對象屬性信息和關聯信息而生成。由此形成構建MIS軟件的核心要素,進而生成相應的MIS軟件。

2)數據庫自適應生成。

在MIS軟件中,數據庫是信息的載體,同時也是對象以及對象間關聯的體現。數據庫結構與對象以及對象間的關聯密切相關,基于上述對象屬性信息和對象關聯信息自適應生成數據庫結構,建立MIS的數據庫。當對象屬性或對象間的關聯發生變更時,自動重構MIS軟件的數據庫結構,實現數據庫結構與數據訪問層聯動。

3)基礎功能信息化與自適應組合生成。

將MIS軟件中的增加、修改、刪除、查詢、統計、導入和導出等基礎功能進行模板化、信息化處理;將基于對象行為抽象而來的業務邏輯和基于對象屬性及關聯抽象而來的數據訪問方式信息化,進而由對象業務邏輯信息整合數據訪問信息,數據訪問信息結合模板化的基礎功能,生成能夠適應對象行為的、基于信息數據的業務邏輯層和數據訪問層。這樣就可達到當對象屬性、行為、對象間的關聯發生變更時自適應重構MIS軟件的業務邏輯層和數據訪問層的目的。

4)軟件結構的動態生成與管理。

將MIS軟件的模塊和結構通過信息化手段來進行匹配與管理,并基于結構信息來構建或重構軟件的結構,從而實現軟件結構的動態管理與生成。

1.1 生成器的基本設計

本文生成器將MIS的用戶界面、業務邏輯、數據訪問和對象進行通用化、模板化、信息化、可視化管理,基于此動態構建MIS基礎模塊的各部分,同時信息化管理MIS的版本、模塊、結構、用戶與權限。通過將構建MIS的各要素信息化管理,實現動態生成MIS的目的。

如圖2所示,生成器由MIS版本、用戶與權限、系統結構、系統模塊、通用視圖、通用業務邏輯、通用數據訪問、對象信息的管理模塊和存儲構建MIS信息的基礎數據庫組成?;趯ο蟮膶傩院完P聯信息構建MIS的數據庫表和表間關聯,形成MIS數據庫基礎部分;根據對象屬性和行為生成對應操作信息,分別將操作信息與信息化的視圖元素、業務邏輯元素、數據訪問元素相整合,動態生成相應的界面層、業務邏輯層和數據訪問層,從而實現構建與數據庫相匹配的MIS三層架構,并將對象的三層架構信息保存至構建MIS的基礎數據庫中。

圖2 基于對象信息構建MIS基礎模塊過程

1)版本管理。

實現對MIS軟件自身版本和狀態的管控,MIS在某一時刻僅對應某一版本。MIS的版本信息存儲于構建MIS的基礎數據庫中,其記錄著MIS的各版本狀態,每條版本信息都對應著相應的系統結構信息和用戶與權限信息。由于下文所述的系統結構、模塊、用戶權限等均以信息化管理,故此處支持在MIS運行狀態下同時構建和測試新版本,并在新版本構建完畢時直接切換,或是從當前版本狀態回退至之前某個版本的狀態。通過版本管理可實現MIS快捷更新或回退至某個特定狀態,從而較好地應對MIS變更的管控。

2)系統結構管理。

系統結構信息記錄著MIS下各級模塊間的組織結構和結構下各模塊的狀態,其對應著若干模塊信息。模塊信息中記錄著MIS中的各級功能模塊,分為基礎模塊和自定義模塊2類。

①基礎模塊是MIS中管理基礎信息的模塊,如數字化校園中的校內單位、崗位、專業、班級、教職工、學生等管理模塊。這部分信息除了其自身意義和價值外,更是支撐自定義模塊的信息基礎?;A模塊由上文所述的通用界面、業務邏輯、數據訪問模板結合模塊對象信息自適應生成并實現信息化管理。

②自定義模塊則是基于基礎信息按照特定需求設計的模塊,如一些統計分析、流程管控和特殊功能的模塊。這類模塊由程序員通過編程實現。

3)通用視圖管理。

通用視圖管理部分主要管理界面層的基本元素和基于這些基礎元素構建的視圖界面,為后續結合模塊對象信息和操作生成界面層提供必要基礎。

①界面層的基本元素是指MIS界面上的控件元素(如文本框、選擇框、復選框等)和基礎頁面布局。

②根據上述對象相關信息動態組合這些基本元素構建其對應的人機交互界面和前端操作響應。

4)通用業務邏輯管理。

通用業務邏輯管理部分主要管理業務邏輯層的基本元素和基于這些基礎元素構建的軟件業務邏輯,為后續結合對象信息生成軟件的業務邏輯層提供必要基礎。

①業務邏輯層的基本元素是指構成業務邏輯層的各種常見的基礎邏輯,如對數據重復和格式的判斷等。

②根據上述對象相關信息動態組合這些基本元素構建其對應的整體業務邏輯,形成業務邏輯層。

5)通用數據訪問管理。

通用數據訪問管理部分將數據訪問基礎模式分為查詢與非查詢2類,建立數據訪問模板,構建MIS基礎單元模塊時根據對象屬性和操作動態生成SQL語句,并基于對象相關信息動態生成當前模塊的數據訪問層。

①將各類基礎的數據訪問方式(如常見的增加、修改、刪除、查詢等數據訪問形式)作為基本數據訪問元素以通用化、信息化形式管理。

②根據上述對象相關信息動態組合這些基本數據訪問元素構建其對應的整體數據訪問層,且數據訪問層與同樣基于對象相關信息構建的數據庫相匹配。

6)對象信息化管理。

通過信息化管理對象屬性、行為和對象間的關聯關系,實現基于對象信息構建MIS軟件的基礎模塊和數據庫。根據對象屬性和對象間關聯關系自適應構建數據庫的表和表間關聯,形成MIS數據庫的基礎結構;將對象基礎信息與上述界面、業務邏輯和數據訪問基礎元素相結合,構建軟件的界面層、業務邏輯層和數據訪問層,從而實現這3層間及數據訪問層與數據庫間的交互,如圖3所示。

圖3 基于對象信息構建MIS基礎模塊過程

1.2 對象信息化管理與數據庫動態構建

以信息化形式管理對象及其屬性、操作和關聯關系,將對象標識和屬性信息映射成數據庫表中的表和表中字段,對象間的關聯關系映射成數據庫中表之間的關聯關系?;趯ο蟮幕A信息、屬性、操作、對象間關聯自適應構建數據庫中的基礎表、表間關聯、索引表等基礎結構,為軟件上層的數據訪問提供基礎。通過管理對象屬性和對象間關聯關系動態構建數據庫中的表以及表與表之間的關系,形成MIS數據庫的基礎結構。如圖4所示,對象1和對象2的標識名分別對應于數據庫中的表1和表2,對象的內部屬性標識分別對應于各自數據表的字段,每個表自帶一個“主鍵ID”,當對象2關聯對象1時,將對象2的外鍵屬性映射成表2的外鍵字段,并將其與表1的“主鍵ID”建立關聯。

圖4 對象與數據表結構之間的映射

1)對象屬性管理。

以信息化形式管理對象屬性的屬性名、屬性標識、數據類型、寬度、取值范圍、是否允許為空、是否允許重復、加密與否、是否供查詢、是否允許在列表中顯示、是否允許編輯、是否允許導入與導出、在界面上的編輯框形式等,并以此生成數據庫中對應的表結構,在變更屬性信息時自動同步更新對應表的結構,同時為結合通用模板構建界面層、業務邏輯層和數據訪問層提供必要基礎。

2)對象關聯管理。

信息化管理對象間的關聯關系,將其映射為對數據庫中對應表之間的關聯和主、外鍵的管控,在為數據表的關聯更新等操作提供基礎的同時,也為數據訪問層、業務邏輯層和界面層的運作提供支撐。

1.3 三層架構的生成

建立增加、修改、刪除、查詢、導入、導出等基礎操作的界面、業務邏輯和數據訪問通用模型,并通過整合各對象信息自適應生成與各對象對應的基礎操作。

1)界面層的構建。

基于Web形式的界面層主要包含2個方面的內容:頁面的結構布局和人機交互的控件。

①頁面結構用于構建頁面的布局,其內容以XML形式存儲并進行信息化管理。每個頁面結構既可用于創建頁面模板,也可以作為子結構嵌入其他頁面結構形成邏輯上的新結構,從而為創建頁面模板提供邏輯上的頁面布局基礎。如圖5所示,在每種頁面結構中標記可嵌入子結構或頁面單元塊的區域(如本圖中的A、B、C、D、E區域),在圖5(a)中的B標記區域嵌入了圖5(b)所表示的子結構生成了圖5(c)所示的頁面結構,形成了A、C、D、E區域,在這些區域可再次嵌入其他頁面結構,也可嵌入相應的頁面單元塊。

圖5 基于對象信息構建MIS基礎模塊過程

②根據對象屬性、操作和關聯信息在相應區域內動態生成人機交互的操作界面。以增加或修改操作界面的輸入方式為例,該操作通常是將對象持久化到數據庫中,對象中非枚舉性質的文本類型的屬性以文本框形式接受輸入,枚舉性質的屬性以選擇框形式接受輸入,備注類型的屬性以文本區域形式接受輸入,外鍵屬性以預先綁定關聯對象主鍵的選擇框形式接受輸入。而在查詢操作中,篩查對象屬性信息中允許被查詢屬性并結合關聯信息構建查詢界面,如查詢字段選項、枚舉類型屬性的選擇框、查詢結果顯示表格等。用戶在界面層輸入并提交的信息將發送給同樣基于對象動態構建的業務邏輯層處理。

視圖管理部分負責界面布局、控件的基礎信息的管理,在整合界面布局建立界面框架的基礎上,根據對象的屬性和操作信息生成相應的控件與之整合成MIS界面。以常見的編輯界面為例,在建立編輯界面框架的基礎上,根據圖6所示的各對象屬性數據類型、枚舉情況、外鍵關聯等信息自動生成對應的控件,并將各控件整合到模板中,形成交互界面和界面提交時獲取控件值的方式。

圖6 根據對象屬性信息生成界面層控件

2)業務邏輯層的構建。

圖7 生成業務邏輯層

業務邏輯層采取通用業務邏輯基礎元素結合具體對象相關信息的方式動態構建。如圖7所示,基于數據庫中存儲的對象信息生成對應的XML文件,當執行業務邏輯部分的程序時從該XML中分別提取對象屬性數據、不允許為空屬性、不允許重復屬性、屬性長度限制、對象關聯屬性等信息,進而結合通用業務邏輯層基礎元素生成業務邏輯層。

業務邏輯管理部分將MIS中常見的增加、修改、刪除、查詢等基礎操作的邏輯通用化、信息化管理,根據對象操作信息整合基礎邏輯信息形成對應的業務邏輯層模板,進而結合對象屬性信息依照上文所述模型的業務邏輯生成方式生成相應的業務邏輯層,其基本流程如圖8所示。

圖8 根據對象操作、屬性信息生成業務邏輯層

圖9 通用業務邏輯模板結合對象信息生成業務邏輯層

通過整合基礎業務邏輯單元塊建立增加、修改、刪除、查詢、導入、導出等操作的業務邏輯模板。將通用業務邏輯模板與對象屬性、關聯信息、操作信息相結合后生成業務邏輯層,負責當前對象操作的業務邏輯控制,如圖9所示。以增加操作的業務邏輯部分為例,根據界面層提交信息所屬模塊(即前文所述的對象)訪問對應的對象信息XML文件,獲取XML中的屬性信息并匹配到業務邏輯模板生成對應的業務邏輯層,進而實現對界面層提交信息的業務邏輯控制。

3)數據訪問層的構建。

首先構建2類通用的數據訪問模式:查詢模式和非查詢模式,分別接收SQL查詢語句和SQL非查詢語句執行相應的數據訪問。在執行查詢操作時,根據對象標識(表名)、屬性的標識(字段名)、數據類型和對象關聯(表關聯)信息動態生成對應的SQL查詢語句,并基于查詢模式運行;在執行增加、修改、刪除信息以及創建、修改、刪除表的操作時,根據對象標識、屬性標識、數據類型信息生成對應的非查詢SQL語句,并基于非查詢模式運行。

數據訪問管理部分將MIS中常見的增加、修改、刪除、查詢等對數據庫的基礎訪問操作分類進行通用化管理,根據業務邏輯層的數據訪問需求信息、對象操作信息、屬性信息和關聯信息動態生成對應的SQL語句,結合相應的數據訪問模板生成數據訪問層,其基本流程如圖10所示。

圖10 數據訪問層的生成基本流程

1.4 MIS結構管理部分

版本管理負責控制MIS的版本狀態和管理各版本的信息,版本信息對應著MIS組成結構信息和用戶與權限信息,權限信息的管理基于MIS結構信息,MIS組成結構信息則記錄著MIS中各模塊的組織結構關系。版本與MIS結構之間是多對一關系,用戶權限與MIS結構之間也為多對一關系,MIS結構與模塊之間為多對多關系,這部分基本運作模式如圖11所示。

圖11 MIS結構管理部分運作模式

2 生成器的技術實現

基于上述機理,本文采用ASP.NET技術對該MIS生成管理器加以實現。

2.1 對象信息的管理

對象信息管理主要包含3個部分:對象基本信息、對象屬性與操作信息、對象關聯信息。

1)對象基本信息管理。

對象基本信息包含名稱和標識名等。如表1所示,在數據庫中建立該對象對應的表時,以對象標識名作為表名;生成數據訪問層的SQL語句時,同樣以標識名作為SQL語句中相應的表名,使得SQL中的表名與數據庫中的表名一一對應,為實現數據訪問層與數據庫交互提供基礎。對象名稱則用于建立界面層時生成相應的標簽,如模塊標題、菜單項等。

表1 對象基本信息

如圖12所示,在生成器中建立管理對象基本信息的模塊,通過對對象的信息化管理,實現動態生成或更新數據庫的表名、界面控件標簽和數據訪問層SQL語句中的表名。

圖12 信息化管理對象基本信息

2)對象屬性與操作信息管理。

對象屬性信息關聯對象基礎信息,記錄對象下屬的屬性數據,為進一步建立數據庫中表的結構和MIS的三層結構提供支撐。如表2所示,屬性名稱主要用于建立界面層時生成相應的字段標簽,以屬性標識生成數據庫中對應表的字段名、界面層的控件ID以及數據訪問層SQL語句的構建基礎;以屬性類型生成數據庫表的字段類型、界面層對應的控件以及數據訪問層SQL語句的構建基礎;以屬性寬度生成數據庫表的字段寬度、界面控件的輸入寬度限制、業務邏輯層的邏輯判斷;以屬性的取值范圍生成業務邏輯層的邏輯判斷;以屬性的其他限制性信息(如是否允許為空、是否允許重復、是否為查詢字段等)生成數據庫表的字段限制、界面層的輸入和輸出限制、業務邏輯層的邏輯判斷以及數據訪問層SQL語句的構建基礎。

表2 對象屬性基礎信息

對象操作信息主要記錄對象的操作特性,它同樣關聯對象基礎信息。如表3所示,對象操作信息結合屬性、關聯信息和相應的通用模板生成對應功能模塊的操作界面、業務邏輯和數據訪問SQL語句,從而實現界面層、業務邏輯層和數據訪問層的構建。

表3 對象操作信息

如圖13所示,在對象基本信息模塊的基礎上進一步建立對象屬性和操作信息管理模塊,這部分包含屬性設置、操作設置、查詢時列表所顯示的關聯對象屬性設置、編輯操作時供選擇的關聯對象屬性設置。

①屬性設置。

主要管理當前對象的屬性名、屬性標識、數據類型、數據寬度、該屬性在UI上的編輯框形式、屬性值為固定選項時的備選項、UI編輯框為文件上傳類型時文件的保存路徑。

②操作設置。

主要管理當前對象的操作和與操作相關的屬性(字段),包括不允許為空的字段、不允許重復的字段、需要加密的字段、供查詢的字段、查詢時列表顯示的字段、允許編輯的字段、允許導入和導出的字段。

③查詢時列表所顯示的關聯對象屬性設置。

設置在當前對象所對應功能模塊中,查詢操作結果列表中所顯示的關聯對象屬性。在通過主、外鍵建立對象間的關聯關系后(下文闡述),將被當前對象關聯的其他對象及其相應屬性作為供選擇的備選項,通過此處的操作動態管理關聯對象屬性的顯示特性。

④編輯操作時供選擇的關聯對象屬性設置。

與第③點類似,此處設置在當前對象所對應功能模塊中,編輯操作界面所顯示的關聯對象屬性。當編輯操作界面中需要通過下拉選擇框等控件選擇輸入關聯對象的屬性時,可通過此設置自動匹配對應的關聯對象屬性值并形成選項。

圖13 對象屬性與操作管理

3)對象關聯信息管理。

對象關聯信息記錄關聯和被關聯對象的主、外鍵信息,基于此建立數據庫中表之間的關聯關系、界面層控件的聯動、業務邏輯關聯判斷和SQL多表關聯查詢基礎,如表4所示。

表4 對象關聯信息

如圖14所示,在對象基本信息和對象屬性信息的基礎上進一步建立對象關聯信息管理模塊。這部分主要在已有對象和對象屬性信息的基礎上,通過設置被關聯和關聯對象的主、外鍵屬性,建立對象間的關聯關系。通過信息化管理對象及其屬性、操作以及對象間的關聯,為MIS數據庫和相應三層結構的動態生成提供了必要基礎。

圖14 對象關聯管理

2.2 MIS數據庫的生成

MIS的數據庫基于上述對象信息生成。各對象所對應數據庫表的生成算法步驟如下:

1)查找當前對象、當前對象的屬性以及與其他對象間的關聯信息,并聲明在MIS數據庫中建表的SQL(create table語句)。

2)根據對象基礎信息中的對象標識生成建表SQL的表名;根據當前對象的各屬性標識生成建表SQL中對應的字段名,屬性的類型和寬度生成相應字段的類型和寬度;根據當前對象與其他對象間的關聯信息生成當前表的外鍵與被關聯表主鍵的關聯。

3)執行建表SQL生成MIS數據庫中與當前對象對應的表。

2.3 三層架構通用基礎元素的管理與各層的生成

將常見的界面層、業務邏輯層、數據訪問層分解成通用的基本要素管理,為后續結合對象信息組合生成對應模塊的各層提供基礎。

1)界面基礎元素的管理與界面層的構建。

這里主要介紹界面控件代碼的管理與生成。各類界面控件的代碼均以信息化形式管理,生成界面層時根據對象屬性調取并組合相應控件,形成界面層控件組。通過在控件代碼中設置特定標記,并在生成界面時用相應的參數替換,實現界面層控件自動生成。以普通文本框為例,其基礎代碼如下:

style="width:$w$px;height:$h$px;……"

name="$n$" id="$i$">

在生成界面層時,通過可視化操作設置文本框寬與高的數值替換“$w$”和“$h$”,以對象屬性標識替換“$n$”和“$i$”。提交時,通過對象屬性的標識可獲取文本框中的內容,進而構造MIS中的對象并交由業務邏輯層處理。

如圖15所示,結合上文所述的對象信息,以編輯操作界面的生成為例,按以下算法步驟進行:

①查找當前對象、當前對象的屬性以及與其他對象間的關聯信息。

②以對象名稱和對象屬性名稱分別生成界面標簽和字段標簽。

③根據對象各屬性信息中的編輯框形式,在界面元素信息中查找其對應的界面控件代碼來生成相應的界面控件,將對象屬性標識作為其對應的界面控件代碼中id和name的值。

④若屬性信息中的編輯框形式是下拉列框等選擇型的控件,則進一步判斷其是否是外鍵屬性,如果是,則查找其關聯對象的主鍵屬性標識和相應的作為選項文本的屬性標識,進而查找這2個屬性標識當前所對應值的集合,生成供編輯界面選擇的關聯選項(如圖15中的所屬類別和所屬院系);否則根據當前屬性信息中的固定備選項生成選擇框中的選項。

⑤當界面提交時,根據對象各屬性信息中的標識獲取其對應控件中的值,并整合構造當前信息的對象后發送給業務邏輯層處理。

圖15 信息編輯界面

2)通過組合業務邏輯塊生成業務邏輯層。

將常見操作的業務邏輯分解成若干通用的邏輯塊,生成業務邏輯時根據需要調取和組合相應的邏輯塊,進而結合對象屬性和操作信息形成對應的業務邏輯層,如圖16所示。

圖16 基于通用業務邏輯塊構建業務邏輯層

以增加操作的業務邏輯為例,假設某對象屬性中編號不允許為空、長度為8位且不允許重復,則在增加操作時的流程如圖17所示。由圖可知需要調取通用業務邏輯塊中的數據為空判斷邏輯塊、數據長度判斷邏輯塊、數據重復邏輯塊進行組合并結合編號屬性共同生成此處的業務邏輯。

圖17 增加操作的業務流程

此處業務邏輯生成的模式如圖18所示,基于對象屬性信息形成的XML文件中記錄著不允許為空的屬性集、屬性值長度限制集、不允許重復的屬性集(由上述假設可知此處屬性集中只有編號),根據這些約束性屬性集的類別調用相應通用業務邏輯塊進行組合,進而結合上述3個約束性屬性集(此處僅包含編號)生成增加操作的業務邏輯。此處的算法步驟如下:

①查找當前對象、當前對象的屬性以及與其他對象間的關聯信息。

②根據對象信息中的操作設置和各類屬性約束設置,生成包含各種約束性屬性集的對象信息XML文件。

③基于XML文件中約束性屬性集的類別調用相應通用業務邏輯塊,并組合形成業務邏輯模板。業務邏輯塊中涉及數據訪問的部分則調用數據訪問層的相應方法(下文將闡述數據訪問層的構建)。

④將約束性屬性集載入模板,將被約束的屬性與模板中相應的邏輯塊相匹配,形成此處完整的業務邏輯。

其他操作的業務邏輯生成也可以此類推,最終形成完整的業務邏輯層。

圖18 增加操作的業務邏輯生成

3)數據訪問層的構建。

建立基礎數據訪問類,封裝查詢和非查詢的通用數據訪問方法。在通過上文所述模型中數據庫生成方式建立各對象所對應表的基礎上,根據對象操作信息建立查詢類和非查詢類的數據訪問方法,基于對象標識、屬性標識、屬性類型、關聯信息、操作信息等生成與之對應的SQL語句,并調用對應的數據訪問方法實現數據訪問,進而構建數據訪問層。其流程如圖19所示。

圖19 基于對象信息建立數據訪問層

數據訪問層的構建算法步驟如下:

①建立查詢類和非查詢類的數據訪問方法,查詢類數據訪問方法接受查詢型SQL語句并執行后返回結果記錄集;非查詢類數據訪問方法接受非查詢型SQL語句并執行后返回執行結果(即是否執行成功)。

②根據業務邏輯塊中所涉及的各類數據訪問形式和內容,構建其相應的通用數據訪問方法。這些方法以對象信息作為參數,在方法體內生成相應的SQL語句(如對象標識作為表名、對象屬性標識作為字段名、根據屬性類型生成字段訪問特性等),進而調用步驟①中相應的數據訪問方法,實現通過接收對象信息來構建支撐業務邏輯的方法群。

③查找當前對象、當前對象的屬性以及與其他對象間的關聯信息,以當前對象信息來調用步驟②中的方法實現對業務邏輯層的數據支撐。

2.4 MIS系統結構與模塊的管理

通過上述方法構建了各對象所對應的數據庫表和三層結構,形成了以對象為單位的MIS基礎功能模塊。如圖20所示,將這些功能模塊進行信息化管理,根據實際需要對模塊進行組合與劃分,形成特定的MIS內部結構,并匹配特定的MIS版本,從而實現MIS版本與內部結構一一對應、MIS內部結構基于功能模塊來建立。

圖20 系統結構與模塊管理界面

3 生成器的應用

本文生成器目前已應用于多個MIS軟件開發項目中。限于篇幅,以下通過以某網站集群管理系統開發項目為例對本文生成器的應用作簡要闡述。

本項目主要開發一種基于碎片化的頁面基礎元素構建多版本網站集群的內容管理系統(Content Management System, CMS)軟件,實現網站集群和集群內各網站內部細節與內容的信息化管理。本文CMS分為6個部分:頁面基礎元素管理部分、站點管理部分、欄目管理部分、頁面模板部分、網站內容管理部分和系統基礎管理部分,如圖21所示。

GMS頁面基礎元素部分站點管理部分欄目管理部分頁面模板部分站點內容部分系統基礎管理部分頁面結構頁面單位塊頁面圖片CSSJS…站點站點數據站點版本組織結構 欄目類別欄目數據 模板設置模板管理欄目關聯 信息發布專題內容信息審核信息簽發信息統計…系統基礎設置用戶管理權限管理…

1)頁面基礎元素管理部分主要對頁面結構、頁面單元塊、圖片、CSS、JS等進行信息化管理,為構建頁面模板提供基礎。此處將這部分的每一種基礎元素作為一個對象加入上文所述的生成器中,生成CMS中對應的各類元素信息管理模塊。

2)站點與欄目管理部分主要對網站集群內的網站類別、網站數據、網站下屬版本和網站集群的組織結構以信息化分級形式進行管理。同樣將站點管理和欄目管理下的各管理模塊以對象形式加入生成器,生成CMS中對應的站點類別、站點數據、站點版本、組織結構、欄目類別和欄目數據管理模塊。

3)頁面模板管理部分主要基于頁面基礎元素來構建,為結合網站中的信息內容生成前端頁面提供基礎。此處將模板作為對象加入生成器,生成CMS中對應的管理模塊。

4)站點內容管理部分主要是對集群內各網站中發布的信息進行管理,此處將網站信息作為對象加入生成器,生成CMS中對應的站內信息內容管理模塊。

5)系統基礎管理部分則包括系統基礎設置、用戶、權限等系統基礎功能模塊。這部分可利用生成器自身的基礎管理功能實現。

本文CMS中的站點類別、站點、站點版本間的關系如圖22所示。此外,欄目類別與網站欄目為一對多關系,網站欄目與欄目內信息內容為一對多關系。以此在生成器中設置各對象間的關聯關系,從而生成CMS中相應模塊間的關聯。

圖22 網站類別、網站數據、網站版本間的關系

由此構建的網站集群CMS具備良好的快捷變更能力,由于關鍵構成部分均以對象形式進行信息化管理,只需在生成器中通過可視化操作調整各對象的信息,即可實現對CMS系統結構、功能、模塊的快捷變更。本文MIS生成器在實際應用中表明其具備以下特點:

1)具備良好的基礎模塊快捷構建與重構能力,MIS開發人員無需在一些基礎信息管理模塊耗費大量時間去編程和管理數據庫。無論是建立或重建基礎信息模塊,只需通過簡單的可視化操作即可實現自適應構建或重構。

2)動態管控MIS的版本和結構,能夠較好實現MIS結構的快速變更和軟件版本的更新與回溯。

3)基于信息化形式構建和管理MIS,便于管理、備份和遷移。

4 結束語

通過將MIS中基礎信息模塊所面向的對象進行信息化管理并生成對應的數據庫,同時將MIS的界面層、業務邏輯層和數據訪問層分解成基礎要素來管理,進而結合對象信息生成相應的軟件交互界面、業務邏輯和數據訪問部分。在此基礎上將自適應生成的基礎信息模塊和自定義模塊通過信息化的組織管理,動態形成MIS的內部結構并為用戶權限、動態菜單、版本管理提供支撐。當修改對象信息時,生成器可自適應快速重新生成與之對應的數據庫表和功能模塊;當需要變更MIS的功能模塊組成結構或版本時,只需修改生成器中的對應的系統結構或版本信息即可;實現了基于信息化管理形式快捷變更MIS的數據庫表、基礎功能模塊和軟件結構與版本。

本文給出的MIS生成器也存在一些不足,對于單個對象所對應的基礎信息模塊和復雜度不高的其他信息管理模塊具有高效快捷的構建與管控能力,但在應對界面和邏輯復雜度、自由度較高的模塊時,本文生成器的效率優勢則會被削弱,這部分需要在以后的研究中進一步探討。

猜你喜歡
關聯邏輯界面
刑事印證證明準確達成的邏輯反思
邏輯
不懼于新,不困于形——一道函數“關聯”題的剖析與拓展
創新的邏輯
微重力下兩相控溫型儲液器內氣液界面仿真分析
國企黨委前置研究的“四個界面”
一種可用于潮濕界面碳纖維加固配套用底膠的研究
扁平化設計在手機界面中的發展趨勢
“一帶一路”遞進,關聯民生更緊
奇趣搭配
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合