• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于表單的軟件自動化開發(fā)方法

      2020-06-21 15:16方木云劉海波姜偉劉輝
      軟件工程 2020年6期
      關(guān)鍵詞:工作流表單

      方木云 劉海波 姜偉 劉輝

      摘? 要:表單是信息交流的載體,也是信息管理軟件中工作流的基本單位。提出一種基于表單的軟件自動化開發(fā)方法:首先對表單進行形式化描述;其次映射到關(guān)系數(shù)據(jù)庫表中的一個表和一個視圖;然后映射到軟件的一個主界面和一個增加界面;最后映射出表單的保存、修改、刪除和查詢等代碼。根據(jù)這個映射流程,利用VB6.0和SQL Server 2015開發(fā)出CASE工具,使用該工具能自動生成表單的數(shù)據(jù)庫表、界面和代碼。

      關(guān)鍵詞:表單;工作流;軟件自動化

      Abstract: The form is the carrier for information exchange and the basic unit of workflow in information management software. This paper proposes a method of software automation development based on forms. Firstly, the form is described formally; secondly, the form is mapped to a table and a view in a relational database table; thirdly, the form is mapped to a main interface and an additional interface of the software; finally, the form is mapped to the codes of saving, modifying, deleting and querying. Based on this mapping process, a Computer Aided (Assisted) Software Engineering (CASE) tool is developed by using VB6.0 and SQL server 2015. The tool can be used to automatically generate the database table, interface and codes of the form.

      Keywords: form; workflow; software automation development

      1? ?引言(Introduction)

      軟件生產(chǎn)長期處于作坊式的手工階段,如何提高軟件生產(chǎn)效率、降低生產(chǎn)成本,一直是軟件工程界研究的課題。信息化管理軟件在我國軟件產(chǎn)業(yè)中占比大,發(fā)展信息化管理軟件能促進我國工業(yè)和信息產(chǎn)業(yè)升級換代。信息化管理軟件中信息傳遞都是以表單作為載體,例如:個人與個人之間的信息交流是書信和論文等;個人與單位之間的信息交流是申請書和請假條等;政府部門之間的信息來往是公文和通知等;公司之間的買賣交流是協(xié)議和合同等;企業(yè)采供流程中的物資交流是入庫單和出庫單等。這些書信、論文、申請書、請假條、公文、通知、協(xié)議、合同、入庫單和出庫單等都是表單。這些表單作為信息載體在工作流中進行流轉(zhuǎn),保證工作流各個節(jié)點的信息主體相同,差別在于表單狀態(tài)和經(jīng)辦人等流轉(zhuǎn)信息。因此表單可以作為軟件建模的基本單位,并且是實現(xiàn)自動化編程的基礎(chǔ)[1]。基于表單的這種特點建立了表單向數(shù)據(jù)庫表、軟件界面和代碼轉(zhuǎn)換的映射模型,最后采用VB6.0和SQL Server 2015開發(fā)出CASE工具,實現(xiàn)局部軟件自動化。對于軟件公司規(guī)范軟件開發(fā)行為和降低人員培訓(xùn)費用等等方面起到較大作用[2,3]。

      2? ?基于表單的逐級映射(Stepwise mapping based on forms)

      劉驍建提出了基于表單的企業(yè)建模研究和表單生成器的設(shè)計[4];殷旭等提出了基于Web的工作流表單的柔性建模[5];肖宇等研究了基于表單和關(guān)系數(shù)據(jù)庫的工作流管理系統(tǒng)[6];廖斌等提出了基于Web工作流表單的設(shè)計與實現(xiàn)[7];劉迎春等提出了基于Web工作流系統(tǒng)中表單的定義與處理[8];唐文忠等提出了基于共享模型的工作流表單系統(tǒng)設(shè)計[9]。本文提出了基于表單的軟件自動化開發(fā)方法。

      2.1? ?表單的概念和形式化描述

      定義:表單是信息交流的載體,完整的表單分為表頭、表體和表尾三個部分。表頭是信息交流的主題內(nèi)容;表體是信息交流的核心內(nèi)容;表尾是信息交流的參與人和時間。具有多個表體字段的表單稱為復(fù)雜表單,只有一個表體字段的表單稱為簡單表單。

      入庫單和出庫單屬于復(fù)雜表單,表體部分不僅具有多個字段,而且字段之間往往還需要計算功能;請假條和申請書屬于簡單表單,表體部分只有文字,可作為一個字段保存,而且不需要計算功能。簡單表單可視為復(fù)雜表單的特例,圖1是復(fù)雜表單的示意圖。

      下面對表單進行形式化描述:設(shè)表頭(Head)有x(x>=1)個數(shù)據(jù)項,表體(Body)有y(y>=1)個數(shù)據(jù)項,表尾(Tail)有z(z>=1)個數(shù)據(jù)項。表頭數(shù)據(jù)項形式化為H1,H2,…,Hx;表體數(shù)據(jù)項形式化為B1,B2,…,By;表尾數(shù)據(jù)項形式化為T1,T2,…,Tz。圖2是表單的形式化描述。

      結(jié)論:表頭必須有一個單號數(shù)據(jù)項,用來唯一標(biāo)識表單的單號;表尾必須有一個狀態(tài)字段,用來標(biāo)識表單處在工作流中的狀態(tài)。

      單號是表單的標(biāo)識號,是組織、存儲、檢索表單的依據(jù)。狀態(tài)是表單在工作流中的標(biāo)識,是表單上行和下行的依據(jù)。這兩個字段是表單的控制字段,是表單的公用屬性,與具體的業(yè)務(wù)性質(zhì)相關(guān)性不大。

      表單是物理世界信息的建模,是關(guān)系數(shù)據(jù)庫ER圖中的多個實體之間的多對多聯(lián)系[10],下面討論如何映射到關(guān)系數(shù)據(jù)庫表當(dāng)中。

      2.2? ?表單的數(shù)據(jù)庫表建模

      關(guān)系數(shù)據(jù)庫的ER模型是現(xiàn)實世界的抽象,是數(shù)據(jù)庫和軟件架構(gòu)設(shè)計的理論基礎(chǔ)。在ER模型理論中,一個實體映射成一張表,實體的主鍵就是表的主鍵;一個1:1的聯(lián)系跟任意1端的實體合并映射成一個表,任意1端實體的主鍵就是表的主鍵;一個1:n的聯(lián)系跟1端的實體合并映射成一個表,1端實體的主鍵就是表的主鍵;一個n:m的聯(lián)系單獨映射成一個表,兩個實體的主鍵聯(lián)合成為表的主鍵,每個實體表中的主鍵成為該表的外鍵[10]。

      這個理論沒有很好地解決三個以上的多實體之間的n:m聯(lián)系該如何建表。而表單就是三個以上的多實體之間的n:m聯(lián)系。因為按照上述的轉(zhuǎn)換規(guī)則,表單的主鍵來自各個實體主鍵的組合,那么表單的主鍵特別長,而且沒有實際意義,不利于組織和編輯表單。下面給出如何將表單映射到數(shù)據(jù)庫表的方法。

      方法:表單映射成一個視圖ViewMain和一個明細(xì)表TabDetail。

      視圖ViewMain的字段來自表頭和表尾,起到簡要標(biāo)識表單信息的作用,也是為了提高數(shù)據(jù)訪問速度,以及是映射到軟件主界面的數(shù)據(jù)模型。明細(xì)表TabDetail的字段來自表頭、表體和表尾,記錄表單的全部數(shù)據(jù),為了數(shù)據(jù)的完整性,也是映射到軟件增加界面的數(shù)據(jù)模型。圖3是映射關(guān)系,表1和表2是數(shù)據(jù)庫表的結(jié)構(gòu)。其中H1是表單的單號字段,往往是按照年度組織的流水號,不是來自各個實體主鍵的組合;Tz是表尾的狀態(tài)字段,往往是整型數(shù)值。視圖ViewMain是根據(jù)明細(xì)表TabDetail建立的,其字段來自表頭和表尾。在軟件實際開發(fā)過程中,往往取消主鍵和外部鍵的約束,數(shù)據(jù)的完整性靠界面的調(diào)用來保證。

      2.3? ?表單的界面建模

      一個表單映射成一個主界面和一個增加界面。主界面顯示歷史已經(jīng)保存過的信息,對應(yīng)視圖ViewMain,只顯示表頭和表尾信息,以表單號來修改、刪除和查詢信息。增加界面是用來增加一個新表單的信息和修改一個舊表單的信息,對應(yīng)明細(xì)表TabDetail,也是以表單號來組織信息。圖4表示一個表單映射成兩個界面。圖5和圖6分別表示主界面和增加界面。

      2.4? ?表單的代碼建模

      表單增加界面上的核心代碼是【保存】,可以將一個新增加的表單內(nèi)容保存進去,保存時首先生成一個新的單號,然后將表頭、表體和表尾的界面值循環(huán)保存進去。

      表單主界面上的核心代碼有:【增加】打開一個空白的增加界面;【修改】打開增加界面,并且把選中單號的表單內(nèi)容反填回增加界面;【刪除】刪除選中單號的表單內(nèi)容;【查詢】根據(jù)輸入的條件查詢表單內(nèi)容。

      3? ?CASE工具的開發(fā)(Development of CASE tools)

      CASE(Computer Aided Software Engineering)工具能夠規(guī)范軟件開發(fā)過程,提高軟件開發(fā)效率,降低軟件開發(fā)對人的依賴程度,降低軟件開發(fā)的成本,降低軟件開發(fā)的風(fēng)險,提高軟件公司的利潤?;诒韱蔚慕?,可以從EXCEL數(shù)據(jù)字典到關(guān)系數(shù)據(jù)庫表的自動生成,可以從關(guān)系數(shù)據(jù)庫表到界面的自動生成,可以從關(guān)系數(shù)據(jù)庫表到代碼的自動生成。本文根據(jù)上述建模開發(fā)了一個CASE工具,可以實現(xiàn)基于表單的軟件自動化。

      本CASE工具利用VB6.0編程實現(xiàn)。如圖8以關(guān)系數(shù)據(jù)庫表為核心,生成C#代碼的例子。有如下功能:首先選擇表名稱,(1)創(chuàng)建窗體。(2)界面存向數(shù)據(jù)庫的代碼,如從DataSet賦值給表的代碼;從文本框賦值給表的代碼。(3)數(shù)據(jù)表讀向界面的代碼,如從表賦值給DataSet。(4)界面到界面的代碼,如文本框賦值到文本框的代碼。(5)內(nèi)存到內(nèi)存的代碼,如DataSet1賦值給DataSet2。

      4? ?結(jié)論(Conclusion)

      表單是信息交流的基本單位,也是信息管理系統(tǒng)編程的基本單位,是多個實體之間的多對多聯(lián)系,可以建模映射成一個表和一個視圖,映射成一個主界面和一個增加界面,映射出一系列操作的代碼。通過CASE實現(xiàn)這一系列的映射,實現(xiàn)基于表單的軟件自動化。

      參考文獻(References)

      [1] 方木云,謝恩文,劉洪彬,等.基于表單的信息管理軟件開發(fā)建模[J].計算機技術(shù)與發(fā)展,2015,25(1):41-45.

      [2] 方木云,杭婷婷,劉輝,等.軟件工程[D].北京:高等教育出版社,2016.

      [3] 費宗銘,肖寧.基于軟件自動化的開發(fā)環(huán)境[J].計算機研究與發(fā)展,1989(09):21-26.

      [4] 劉驍建.基于表單的企業(yè)建模研究和表單生成器的設(shè)計[D].哈爾濱:哈爾濱工程大學(xué),2006.

      [5] 殷旭,廖斌,王新平.基于Web的工作流表單的柔性建模[J].計算機工程與設(shè)計,2009,30(14):3429-3432.

      [6] 肖宇,許煒.基于表單和關(guān)系型數(shù)據(jù)庫的工作流管理系統(tǒng)[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2004,32(11):42-44.

      [7] 廖斌,殷旭,王新平.基于Web工作流表單的設(shè)計與實現(xiàn)[J].科學(xué)技術(shù)與工程,2009,9(3):721-724.

      [8] 劉迎春,蘭雨晴,金茂忠,等.基于Web的工作流系統(tǒng)中表單定義與處理[J].計算機工程與應(yīng)用,2005,41(20):192-195.

      [9] 唐文忠,莫偉棟.基于共享模型的工作流表單系統(tǒng)設(shè)計[J].北京航空航天大學(xué)學(xué)報,2008,34(4):391-395.

      [10] 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論[D].北京:高等教育出版社,2014.

      作者簡介:

      方木云(1968-),男,博士,教授.研究領(lǐng)域:軟件工程,信息系統(tǒng).

      劉海波(1995-),男,碩士生.研究領(lǐng)域:軟件工程.

      姜? ?偉(1984-),男,碩士,副教授.研究領(lǐng)域:軟件工程.

      劉? ?輝(1979-),男,碩士,副教授.研究領(lǐng)域: 軟件工程.

      猜你喜歡
      工作流表單
      電子表單系統(tǒng)應(yīng)用分析
      淺談網(wǎng)頁制作中表單的教學(xué)
      基于工作流2.0的智慧教室設(shè)計與研究
      工作流在電力生產(chǎn)管理信息系統(tǒng)中的設(shè)計和應(yīng)用
      “奔向共贏、做到最好”行業(yè)信息化研究方法論
      工作流技術(shù)在醫(yī)療信息整合工程中的應(yīng)用分析
      基于工作流的水運應(yīng)急信息管理平臺設(shè)計 
      基于ASP.NET的Web表單自動生成引擎
      動態(tài)表單技術(shù)在教學(xué)管理中的應(yīng)用*
      基于Java可視化測繪生產(chǎn)流程表單的設(shè)計及實現(xiàn)
      陆丰市| 韶山市| 珲春市| 渭源县| 开平市| 策勒县| 白玉县| 枣阳市| 巴楚县| 新疆| 莱西市| 和顺县| 阿勒泰市| 滨州市| 同心县| 莲花县| 江达县| 文安县| 长葛市| 海盐县| 垫江县| 贵南县| 金溪县| 从化市| 宜川县| 五常市| 平和县| 鹤壁市| 海口市| 隆德县| 泗阳县| 东山县| 三门峡市| 康定县| 博白县| 什邡市| 怀集县| 花垣县| 淮滨县| 新化县| 东宁县|