999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于改進Jackson圖的報表分析與設計方法研究

2018-03-26 02:14:46田苗苗孫宏波范寶德
軟件導刊 2018年3期

田苗苗 孫宏波 范寶德

摘要:作為企業信息系統的一個必備模塊,統計與分析模塊需要將不同功能、不同模塊的數據連接起來按報表進行查詢,然而結構化方法或面向對象方法都強調信息的隱蔽和封裝,因此在進行報表分析和設計時不直觀、便捷。為了在報表分析和設計中更直觀地表示數據來源,且更便捷地導出SQL語句,提出了基于改進Jackson圖的分析與設計方法。實驗結果表明,在實際系統應用中,該方法具有很強的可行性,能夠更方便地實現自動化程序生成,提高軟件開發生產率,同時更有利于報表數據的一致性驗證,減少軟件出錯概率。

關鍵詞:報表;軟件分析方法;軟件設計方法;改進Jackson圖

DOIDOI:10.11907/rjdk.172469

中圖分類號:TP301

文獻標識碼:A文章編號文章編號:16727800(2018)003004505

英文摘要Abstract:As an unavoidable module of enterprise information systems, module statistics and analysis rearranges data from various functions and modules into report forms. While both structural method and object oriented method are all emphases on information transparency and encapsulation, when it comes to report forms these methods are lack of intuitive and convenient. In order to display the data source more intuitively and to export the SQL statement more conveniently in the analysis and design of the report, an improved Jackson diagram based analysis and design method for report forms is proposed. Finally,experimental results show an industrial case validates the feasibility of this approach.The conclusion is that this approach is more convenient for automated program generation, and can improve the productivity of software development. It is more conducive to the consistency verification of report data and to reduce the probability of software error.

英文關鍵詞Key Words:report form; software analysis method; software design method; improved Jackson diagram

0引言

企業信息系統已經被大部分企業廣泛使用[1]。在企業信息系統中,統計與分析數據往往以報表形式展現[2]。報表是進行數據存儲、瀏覽、分析、統計的有效工具[3],也為企業經營者和決策者了解企業運行情況并作出戰略決策提供了重要的數據支撐[4]。然而,現有企業信息系統往往采用結構化方法或面向對象方法進行分析和設計[5],這兩種方法都強調了信息的隱蔽和封裝[6]。而報表數據往往來源于不同的模塊和功能,這就對報表的分析和設計造成了一定困難。

另一方面,作為面向數據結構的分析和設計方法,傳統的Jackson圖能夠用于報表分析和設計[7],卻很難與結構化方法或者面向對象方法結合起來[8]。本文借鑒Jackson方法,提出一種基于改進Jackson圖的分析與設計方法,不僅能夠有效地分析與設計報表,還能與已有的結構化方法及面向對象方法進行有機結合。

1基于改進Jackson圖的分析方法

1.1基本屬性表示

在改進的Jackson圖中,圓角矩形表示最基本的數據元素,在此基礎上還有若干屬性的表示方法,如圖1所示。其中,A表示報表需要顯示的數據元素名稱,用正體表示。報表中不需要顯示的數據元素名稱用斜體表示。F(A)表示對數據元素A的函數操作,F表示函數名,F也可以為嵌套函數。左上角標G(p)表示數據元素A與參數p的關系,G表示關系運算符或BETWEEN…AND…。當G表示BETWEEN…AND…時,表示為G(p1,p2)。右上角標β表示對A操作的關鍵字,如β=g表示“GROUP BY”,β=o表示“ORDER BY”,β=d表示“DISTINCT”。A表示臨時表中存儲的數據,(a)表示對A重命名。

1.3臨時表表示

報表有時需要建立臨時表,以方便查詢和數據操作,如圖3所示。臨時表有兩種表示方法,一種是通過實體中的數據元素連接得到結果集合,如圖3(a)所示;另一種是程序執行過程中需要存放臨時數據,將臨時數據存放到臨時表中,有些臨時數據通過子過程得到,如圖3(b)所示。臨時表也是實體的一種。

1.4實體關系表示

實體與實體之間的關系通過實體間的數據元素建立連接,如圖4所示。在實體1中起到連接作用的數據元素通過連線與實體4連接,在實體4中起到連接作用的數據元素用左上角標G(p)標記,實體1與實體4則建立了關系。其中,P表示外界接口傳入的參數,F(A)表示對A的函數操作。圖4的實體可以是視圖也可是臨時表。

臨時表不僅可以與其它實體建立連接,還可以對臨時表中的數據進行統計操作。當統計臨時實體中的數據時,可直接對臨時表中的數據進行統計匯總,如圖5(a)所示;也可以通過臨時表中的某些數據統計出不同的匯總信息,如圖5(b)所示,通過數據A統計出不同的匯總信息。這僅表示臨時表的信息匯總,不表示匯總信息存儲在臨時表中。

1.5程序結構定義

改進Jackson圖包含矩形框、框內文字、連線等。矩形框與矩形框之間的關系不是調用關系,而是組成關系,一個矩形框中包含的操作僅由它下層矩形框中的操作組成??騼任淖钟脕肀磉_數據的具體內容。

改進Jackson圖中元素彼此間的邏輯關系有順序結構、選擇結構、循環結構[9],如圖6所示。順序結構由一個或多個元素組成,每個元素按照確定次序出現一次,一般為從左到右的順序,如圖6(a)所示;選擇結構包含兩個或多個元素,每次使用這些元素時,按照一定條件從這些元素中選擇一個執行,如圖6(b)所示。其中“0”表示選擇,S(i)為執行條件;循環結構包含一個循環體,根據使用時的條件每進入循環結構一次,循環體將被執行多次,也可能執行0次,如圖6(c)所示,其中“*”表示循環。

2基于改進Jackson圖的設計方法

報表的最終目的是為用戶呈現有指導意義的數據[10],經過基于改進Jackson圖的分析之后,進一步進行設計工作。

2.1定義

為了敘述方便,本文作以下定義:

終端實體:在改進Jackson圖中,終端實體是只能由其它實體生成而不能生成其它實體的實體。

非終端實體:在改進Jackson圖中,非終端實體是能生成其它實體的實體。

生成框:在矩形框內,帶有“生成”字眼的矩形框稱為生成框。

程序結構框:通過報表的輸入數據結構和輸出數據結構的對應關系,導出報表程序結構時,表示程序結構的矩形框稱為程序結構框。在SQL SELECT轉化規則中,將忽略程序結構框。

公式框:如果矩形框內是公式,稱為公式框。

內部連接條件:在視圖或臨時表中,數據庫中的多張表通過相同的數據元素連接起來,這種連接條件稱為內部連接條件。

外部連接條件:在實體與實體之間的關系中,上一個實體的數據元素通過生成框,連接下一個實體中有左上角標G(p)的實體數據元素,這種連接條件稱為外部連接條件。

2.2終端實體轉化規則

在建立實體之間關系時,實體1中的數據元素與實體2的數據元素建立連接,這就對應了一條SQL SELECT語句。所以,每一個生成框生成一條SQL SELECT語句。按照以下定義的規則得到的SQL SELECT語句,如圖7所示。

定義的規則為:①每一個生成框生成一條SQL SELECT語句;②在生成的實體中,實體中正常字體的數據元素依次在SELECT關鍵字后,用逗號分隔;③在生成的實體中,該實體中包括的實體名依次在FROM關鍵字之后,用逗號分隔;④在生成的實體中,內部連接條件轉化成WHERE條件子句,每一個連接線對應一個WHERE條件子句,連接線相當于等號;⑤外部連接條件也轉化為WHERE條件子句,根據生成實體中數據元素的左上角標G(p)轉化為WHERE條件子句;⑥如果在生成的實體中,數據元素有右上角標β,在得到這些數據元素時要寫上這些標記。

2.3非終端實體轉化規則

非終端實體轉化規則與終端實體轉化規則基本相同,區別在于SELECT關鍵字之后的規則。在非終端實體中規則為:SELECT關鍵字之后為連接該實體之后生成框的數據元素。按照非終端實體轉化規則轉化的SQL SELECT語句,如圖8所示。

2.4子過程轉化規則

子過程獲得的數據存放在臨時表中。子過程中包含公式框,框內是對數據計算的公式。子過程轉化為的SQL SELECT語句如圖9所示。下面定義公式框的規則:①將公式框以及公式框以下的部分全都去掉,成為終端實體,按照終端實體的轉化規則轉化為SQL SELECT語句;②每一個公式框生成一條SQL SELECT語句;③將公式框內的操作方法寫在SELECT關鍵字之后,再寫關鍵字AS,AS之后為緊跟公式框的數據元素名稱;④FROM關鍵字以及WHERE關鍵字之后的規則與終端實體的轉化規則相同。

3應用案例

以煙臺某公司受訂年度統計表為例,用改進Jackson圖分析受訂年度統計表的數據結構,然后轉化為SQL語句??蛻粢蟮氖苡喣甓冉y計表的數據結構如圖10所示。報表中顯示的數據分為表頭信息和表體信息,表頭信息從基礎資料模塊中獲得,表體信息從多個業務模塊中獲得。

改進Jackson圖的報表分析過程為:①分析報表的輸入數據結構和輸出數據結構,找出輸入數據結構和輸出數據結構中有對應關系的數據單元,即有直接的因果關系,在程序中可以同時處理,對于每對有對應關系的單元畫一個程序框,導出程序結構[11];②根據程序結構確定實體,以及實體關系;③根據定義的規則,導出SQL SELECT語句。

報表的輸入數據結構為數據庫中的數據,而數據庫中的數據都存儲在數據庫表中,數據庫中的表又分為基礎資料模塊表和業務模塊表,輸入數據結構見圖11(a);報表的輸出數據結構是多條報表記錄,一條報表記錄包括表頭信息和表體信息,輸出數據結構見圖11(b);報表中的記錄從數據庫中獲得,報表中表頭信息從數據庫的基礎資料模塊獲得,表體信息從數據庫的業務模塊獲得,從而得出報表輸入數據結構和輸出數據結構的關系,如圖11(c)所示;根據輸入數據結構和輸出數據結構的關系導出程序結構,如圖11(d)所示;進一步分析受訂年度統計表得到詳細程序結構,如圖11(e)所示。

由于篇幅有限,本文僅以受訂年度統計表Jackson圖中的一部分——生成表體索引為例,導出SQL語句。生成表體索引的Jackson圖如圖12所示,表體索引實體為非終端實體,應用非終端實體轉化規則,轉化為SQL SELECT語句,如圖13所示。

受訂年度統計表的Jackson圖應用上述SQL語句自動轉換規則,實現了自動化程序的生成,提高了軟件開發效率,有利于報表數據的一致性驗證,有效地指導了后續編碼階段。受訂年度統計表的運行結果如圖14所示。

4結語

現有企業信息系統往往采用結構化方法或面向對象方法進行分析和設計,這兩種方法中都強調了信息的隱蔽和封裝。然而作為企業信息系統的一個必備模塊,統計與分析模塊卻需要將不同功能、不同模塊的數據連接起來進行統一查詢,該模塊往往由多個報表構成,對于這些報表功能的分析和設計尚缺乏有效手段。本文提出了一種基于Jackson圖的分析與設計方法,相比于其它分析設計方法,本方法具有如下優點:①重新定義的Jackson圖對于報表分析的表達更為直觀,與報表的實際分析過程更加契合,更便于理解;②提出的SQL語句自動轉換規則,更便于實現自動化程序生成,提高軟件開發的生產率;③形式化的生成過程,更有利于報表數據的一致性驗證,減少軟件出錯概率。最后,本文在實際案例中驗證了該方法的可行性和有效性。

參考文獻參考文獻:

[1]林世明.計算機集成信息系統在企業管理中的應用[J].數字技術與應用,2016(2):244.

[2]潘永才,劉海龍.可定制報表系統的設計與應用[J].物聯網技術,2015(1):104106.

[3]劉麗欽.基于非線性模型的報表工具的研究[D].北京:華北電力大學(北京),2009.

[4]湯加,符云清,萬煊民.一種基于單數據源的可視化自定義報表模型[J].計算機科學,2017,44(5):184188.

[5]張淑娟.軟件工程技術發展趨勢研究[J].軟件導刊,2014(2):1213.

[6]仲輝,曹淑艷,邱滌珊.面向對象與結構的系統分析與設計方法應用研究[J].計算機工程與應用,2003,39(23):105107.

[7]JACKSON M A. Principles of program design[M].New York: Academic Press,1975.

[8]史濟民,顧春華,鄭紅.軟件工程:原理、方法與應用[M].第3版.北京:高等教育出版社,2009.

[9]張海藩.軟件工程導論[M].第5版.北京:清華大學出版社,2008.

[10]馬瑞敏.基于Web的報表生成技術研究及其應用[D].重慶:重慶大學,2009.

[11]姜宏偉,呂勵,梁田,等.Jackson設計方法中關于結構沖突的處理[J].智能計算機與應用,2001(2):3031.

責任編輯(責任編輯:黃?。?

主站蜘蛛池模板: 欧美色图久久| 99er这里只有精品| 午夜国产大片免费观看| 日韩在线永久免费播放| 亚洲AⅤ综合在线欧美一区| 这里只有精品在线| 毛片网站观看| 国产丝袜啪啪| 91精品国产一区| 欧美视频在线不卡| 亚洲国产综合精品中文第一| 日韩免费成人| 国产美女丝袜高潮| 红杏AV在线无码| 国产剧情一区二区| 亚洲国产系列| 欧美成人午夜视频| 久久精品电影| 国产自在线播放| 国产欧美在线观看精品一区污| 青草视频网站在线观看| 国产一在线观看| 青青青视频91在线 | 国产亚洲精久久久久久无码AV| 国产经典免费播放视频| 国产拍在线| 男女猛烈无遮挡午夜视频| 无码免费的亚洲视频| 97精品国产高清久久久久蜜芽| 久久黄色免费电影| 亚洲成人福利网站| 精品91视频| 九九热精品在线视频| 国产成人调教在线视频| 亚洲制服丝袜第一页| 亚洲精品无码高潮喷水A| 精品精品国产高清A毛片| 高清欧美性猛交XXXX黑人猛交| 国产亚洲精品资源在线26u| 欧美中出一区二区| 久久91精品牛牛| 国产成人乱码一区二区三区在线| 国产丝袜丝视频在线观看| 91av国产在线| 国产福利拍拍拍| 亚洲男人的天堂视频| 久久综合色视频| 99这里只有精品在线| 亚洲天堂色色人体| 日本午夜三级| 91综合色区亚洲熟妇p| 亚洲免费福利视频| 在线观看无码a∨| 中文字幕亚洲精品2页| 国产亚洲现在一区二区中文| 欧美人人干| 3344在线观看无码| 日本道综合一本久久久88| 亚洲男女天堂| 精品無碼一區在線觀看 | 国产亚卅精品无码| 欧美成人精品高清在线下载| 一本久道热中字伊人| 欧美精品aⅴ在线视频| 无遮挡国产高潮视频免费观看| 天天综合天天综合| 无码有码中文字幕| 99在线观看免费视频| 中美日韩在线网免费毛片视频| 中文字幕永久视频| 久操线在视频在线观看| 99国产在线视频| 精品福利视频导航| 日韩精品无码不卡无码| 在线免费a视频| 国产在线91在线电影| 九色国产在线| 国产男女免费视频| 国产精品成人不卡在线观看 | 亚洲午夜国产精品无卡| 波多野结衣一区二区三区四区视频| 99久久精品国产综合婷婷|