;?j|i 0<iS05twfl.doc/006 修正日期92.6.25 玖、發明說明 (發明說明應欽明·發明所屬之技術領域、先前技術、內容、實 施方式及圖式簡單說明) 本發明是有關於一種可自動產生程式之系統及方法, 且特別是有關於一種可應用在COBOL語言之整合性軟體 開發環境。 由於電腦科技不斷的進步,電腦硬體與各種工具軟體 之開發時程已大幅縮短。電腦輔助軟體工程(Computer Aid software Engine ;簡稱CASE),已成爲軟體工程的新趨 勢利用CASE嶄新的技術是希望能擺脫軟體發展困境,化 解軟體開發的危機。 通常在軟體系統開發之流程包括系統分析、系統設 計、程式撰寫、測試及維護。如圖1所示,習知的COBOL 軟體系統開發方式,無論是系統分析、設計到程式撰寫及 維護,仍脫離不了傳統的步驟,包括步驟sl〇〇中,編輯 程式,接著在步驟sl02中,編譯程式,然後在步驟si〇4 中,再進行除錯,若在步驟sl06中,發現程式有錯誤, 則再重新回到步驟slOO中,重新編輯程式,一直不斷此 循環過程。COBOL是發展大型資訊系統最佳最穩的選擇, 然而對一個COBOL的程式設計者而言,面對它動輒上千 行的敘述,及如此繁瑣的開發過程,若無一自動化及完整 的開發工具,實在令程式設計者頭痛。 有鑒於此,本發明提出一種程式自動產生系統及方 法,可解決程式撰寫人員在面對數以千計之程式撰寫過程 兩0雨 :wfl.doc/006 修正日期92.6.25 中’能夠快速撰寫並可維持一定品質之程式碼,所產生之 一套完整的開發工具,它提供了一整套容易使用的工具, 讓公司可以輕易地建立解決方案,使得人們可以快速地、 有效率地、輕鬆地建立出應用程式。 這種設計主要的想法即是將數以千計之程式加以分 類,萃取出標準化的邏輯部分,放入程式範本中。程式設 計人員只要根據相異的地方加以設計,透過程式範本與自 動產生器,即可產生相對應之程式碼。它不僅包含系統分 析、設計、更涵蓋了程式撰寫、維護及專案管理等部分。 舉凡設計、開發測試、執行、產生文件等皆可利用本工具 成。 因此,本發明提出的程式自動產生系統及爲因應上述 之需求而發展出來。其中,此程式自動產生系統包括有: 範本元件、使用者介面資料庫及程式自動產生元件。 範本元件,在本發明中係作爲提供程式範本之用,而 使用者介面資料庫,係儲存由使用者提供之資料之用。程 式自動產生元件,係與範本元件及使用者介面資料庫連 接,可利用範本元件所提供之程式範本及使用者介面資料 庫提供之資料,而產生完整之原始程式碼。 其中在範本元件中之程式範本,提供的是從已分類的 數以千計程式中,萃取出標準化邏輯結構部分。而提供給 程式自動產生元件的標準化邏輯結構’包括有判斷、迴圏、 遞移及其他功能等等。而使用者所提供之資料則有數據資 料或是變數値資料。
Oe^Stwfl .doc/006 修正日期92.6.25 本發明另外提出一種程式自動產生元件,係有關於使 用者利用此程式自動產生元件蒐集及執行程式範本及資 料,而產生原始程式碼的元件。 此程式自動產生元件中包括:專案管理模組、程式編 輯器、螢幕編輯器、報表編輯器、資料編輯器及資料架構 圖表。 其中,專案管理模組,係以一種組織架構管理多個專 案。而在程式編輯器中有一工作空間,係作爲提供使用者 撰寫及維護程式碼所需要的功能。在螢幕編輯器中,可用 圖形控制鈕,修改編輯畫面的屬性及樣式。可利用報表編 輯器上的拉選式工具列,製作出動態圖形報表。利用資料 編輯器之視窗圖形化方式,建立多個檔案及線上查詢之功 能。而資料架構圖表,可顯示多個檔案種類之間的關係, 可讓使用者重新設定檔案之間的關係,及自動將此關係轉 換成程式碼。 本發明又提出另一種程式自動產生方法,係有關於使 用者利用一個程式自動產生元件產生原始程式碼的過程。 此程式自動產生方法之步驟包括:程式自動產生元件 一開始首先呼叫主程式範本,此主程式範本是所有程式範 本之源頭,接著分析主程式範本之內容。然後先處理程式 所欲呈現之畫面,之後,得到畫面的屬性變數値,而此屬 性變數値係屬於畫面中控制元件之屬性變數的,最後,產 生屬於畫面的程式碼。 在處理完畫面後,接著處理資料。依據由多筆資料組
補 Q^t, ;wfl.doc/006 修正日期92.6.25 成資料組中之關連線,呼叫相對應之程式範本,產生屬於 資料的程式碼。 最後執行選項主檔案,將自畫面與資料中產生之程式 碼組合成一個完整程式。 在畫面處理完之後,若有報表需要處理,則必須在處 理資料之前,處理報表,得到屬於報表的程式碼。 爲讓本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細 說明如下: 圖式之簡單說明: 第1圖繪示的是習知之一軟體開發流程圖; 第2圖繪示的是本發明之一軟體開發流程圖; 第3圖繪示的是本發明之一各項產生資料關聯圖; 第4圖繪示的是本發明之一模組槪念圖; 第5圖繪示的是本發明之一專案管理模組; 第6圖繪示的是本發明之一程式編輯器模組; 第7圖繪示的是本發明之一螢幕編輯器模組; 第8圖繪示的是本發明之一報表編輯器模組; 第9圖繪示的是本發明之一資料編輯器模組; 第10圖繪示的是本發明之一資料架構圖表模組; 第Π圖繪示的是本發明之一主運作流程圖; 第12圖繪示的是本發明之一有關螢幕處理資料產生 之流程圖; 第13圖繪示的是本發明之一有關報表處理資料產生 7 :532557
心坪6 亦5tjwfl.doc/006 修正日期92.6.25 之流程圖;以及 第14圖繪示的是本發明之一有關資料處理資料產生 之流程圖。 重要元件標號 200 : 程式自動產生元件 300 : 程式自動產生系統 302 : 範本元件 304 : 使用者介面資料庫 306 : 原始程式碼 402 : 報表編輯器 404 : 資料編輯器 406 : 程式產生器 408 : 專案管理模組 410 : 螢幕編輯器 412 : 程式編輯器 414 : 線上查詢 416 : 邏輯視窗 步驟slOO至步驟sl06爲習知之一實施步驟 步驟s204至步驟S1416爲本發明之一實施步驟 較佳實施例 請參照第2圖,其繪示的是依照本發明之一較佳實施 例,其繪示的是程式自動產生元件200在軟體系統開發的 流程中涵蓋了步驟s204系統分析、步驟s206系統設計、 步驟s208程式撰寫、步驟s210測試等階段。以完整及自 m
修正日期92·6·25 動的發展環境取代傳統的開發方式。不但縮短系統開發的 時間,並可提高生產力,以大幅減少系統維護的成本。程 式自動產生元件200是一個具有高度使用者親和力(User Friendly)的整合發展環境,在這個整合發展環境中來開發 程式,從檔案的定義、變數的宣告到螢幕畫面、報表格式 的設計等發展程式的步驟,皆以完整的視窗介面及各種淸 單的選擇畫面來完成,操作上非常容易。並提供了使用權 限的管制來保護系統、程式及資料的安全性,而且提供系 統管理與程式管理來確保系統開發環境的一致性與完整 性。 請參考第3圖,其繪示的是整個程式自動產生系統的 一較佳實施例,係有關於使用者利用此程式自動產生系統 產生原始程式碼之一方塊圖,此程式自動產生系統包括: 範本元件302、使用者介面資料庫304及程式自動產生元 件 200 〇 其中,範本元件302,係作爲提供程式範本之用,而 使用者介面資料庫304,係儲存由使用者提供之資料之用。 程式自動產生元件200,與範本元件302及使用者介面資 料庫304連接,利用範本元件302所提供之程式範本及使 用者介面資料庫304提供之資料,而產生完整之原始程式 碼。 其中在範本元件302中之程式範本,提供的是從已分 類的數以千計程式中,萃取出標準化邏輯結構部分。而提 供給程式自動產生元件200的標準化邏輯結構包括有判 9 認條正丨 •;^65^|vfl.doc/006 修正曰期 92.6.25 斷、迴圏、遞移及其他功能。而使用者所提供之資料包括 有數據資料及變數値資料。 請參考第4圖,其繪示的是本發明之另一較佳實施例, 繪示的是一種程式自動產生元件,係有關於使用者利用此 程式自動產生元件蒐集及執行程式範本及資料,而產生原 始程式碼的元件,此程式自動產生元件中包括:專案管理 模組408、程式編輯器412、螢幕編輯器410、報表編輯器 402、資料編輯器404及資料架構圖表418。 其中,專案管理模組408,係以一種組織架構管理多 個專案。而在程式編輯器412中係包括工作空間,作爲提 供使用者所需要撰寫及維護程式碼所需要的功能。在螢幕 編輯器410中,可用圖形控制鈕,修改編輯畫面的屬性及 樣式。可利用報表編輯器402上的拉選式工具列,製作出 動態圖形報表。利用資料編輯器404之視窗圖形化方式, 建AL多個檔案及線上查詢之功能。資料架構圖表418,可 顯示多個檔案種類之間的關係,可讓使用者重新設定檔案 之間的關係,及自動將此關係轉換成程式碼。 以下分就這些模組加以說明: 請參考第5圖,其繪示的是在本發明中之專案管理模 組(Project Manager )的的主要操作畫面。專案管理模組係 提供淸楚而且一致性的組織架構來管理專案,專案中的所 有檔案將依其分類以樹狀組織架構來管理,使專案的開發 與管理工作變得容易而且有效率。使用者可以針對整個專 案或專案中個別的程式,分別設定其編譯(compller )及 10
執行(Runtime )的選項。 請參照第6圖爲程式編輯器(Code Editor )的主要操作 畫面。程式編輯器(Code Editor )是特別爲COBOL使用 者所量身訂作的編輯器。包含一個開發者所需要撰寫及維 護COBOL程式碼上所需要的所有功能,整個程式編輯 器的工作空間(Workspace)中包含所有標準的特色,如標 題’主選單,狀態列,尺規列,標準工具列及特殊編輯工 具列’這些都是程式開發者所熟悉的。包括工作空間 (Workspace)及專案的格式(Formatting)皆有選項可供使用 者自行設定,使用者可透過這些選項來達到符合個人習慣 需求或偏好,以提高生產力。工具列的提供也可使程式開 發者快速的執行許多功能,如編譯(Compiler),除錯 (Debug) ’執行(Run)等動作來加速程式的開發。 請參照第7圖爲螢幕編輯器(Screen Painter)的主要功能 操作畫面。螢幕編輯器(Screen Painter):透過對標準的圖 形控制鈕,如文字控制鈕、標籤控制鈕、推動控制鈕及列 表視窗控制鈕,經由簡單的點選(Click )動作或是拖拉 動作之方式,修改其屬性(Property)及樣式(Style)後,在程 式產生時便會自動產生此畫面的COBOL程式碼,使複雜的 畫面設計對使用者而言就像是按一個按鈕般的簡單,幫助 使用者從此遠離設計畫面的夢靨。螢幕編輯器可以節省使 用者在撰寫圖形介面程式的時間,對有經驗的使用者就像 按一個鈕般的簡便;對沒有經驗的使用者也可用最小的力 氣就可做出專業的圖形化的畫面。 11 552557., |^)^p5iwfl.doc/006 修正日期92.6.25 g靑參考第8圖爲報表編輯器之主要功能操作畫面。報 表編輯器(Report Writer):對COBOL使用者而言,要設計 一個圖形報表一直是個麻煩的問題。本發明設計了完全的 直覺性圖形報表開發環境。在這個易用的開發環境中,程 式設計師可以輕鬆的運用拉選式工具列製作出動態圖形報 表,不用花費大量時間撰寫COBOL語法。這個完全支援 COBOL語法的報表編輯器’更擁有跨多數平台和支援超媒 體文件標示語言(HyperText Markup Language ;縮寫 HTML ;以下簡稱HTML)的特色,取代過去傳統只有純 文字格式的報表。設計人員可利用視窗圖形化方式設計報 表格式、產生程式,及自動查詢檔案資料等。 請參考第9圖爲資料編輯器之主要功能操作畫面。資 料編輯器(Data Designer):利用視窗圖形化的設計,讓使 用者有效率與輕鬆的設計檔案,並可建立檔案與線上查詢 資料。 請參考第10圖爲資料架構圖之主要功能操作畫面。 資料架構圖表:透過資料架構圖表,設計人員在計劃層中 就可顯不檔案種類之間的關連,通盤了解專案資料和檔案 內容。在程式層中可顯示檔案種類之間的關係,讓使用者 能重新設定檔案間的關係,並自動將這些關係轉換成程 式。 請參考第11圖,其繪示的是本發明又另一較佳實施 例,其繪式的是一種程式自動產生方法之流程圖,係有關 於使用者利用一個程式自動產生元件產生原始程式碼的過 12 552557 065Q5tMl .doc/006 修1E曰期%.25 生元件 程,此程式自動產生方法之步驟包括:程式自動 一開始在步驟si 100中,首先呼叫主程式範本, 範本是所有程式範本之源頭,接著在步驟sll〇2 + ^ 主程式範本之內容。在步驟S1104中,先處& 刀析 概面, 驟S1106中,得到屬性變數値,而此屬性變數値 面中控制元件之屬性變數的,在步驟sll〇8中,_ 、趣 畫面的程式碼。 屬於 然後在步驟S1116中,處理多筆資料,在妒 ^ % s 111 〇 中,依據多筆資料組成之資料組中之關連線,呼叫相、,、 之程式範本,在步驟si 120中,產生屬於資料的p '寸應 一 丨壬式碼。 最後在步驟S1122中,執行選項主檔案,在步驟“ 中,將自畫面與資料中產生之程式碼組合成一個完敕4 式。 冗""程 請參考第12圖,其繪式的是處理畫面之步驟更包括: 步驟s1200中,設定目前應該處理之畫面,在步驟sl2〇2中, 設定目前應該處理畫面中之控制元件,在步驟812〇4中, 依據控制元件之型態,呼叫對應控制元件之程式範本,在 步驟S1206中,依據程式範本中所定的屬性變數,搜尋並 取出內部檔案之儲存値。在步驟S1208中,若此屬性變數 之儲存値不爲預設値,則在步驟S1210中,依儲存値產生 屬於畫面之程式碼,在步驟S1208中,若屬性變數之儲存 値爲預設値,則不會產生畫面之程式碼,當此畫面之屬性 變數皆處理完之後,在步驟S1212中,若仍有另一個畫面 需處理’則回到步驟S1200中,否則就結束處理畫面的步 13 1wfl.doc/006 修正日期92.6.25 其中,當處理畫面的步驟完成之後,則處理資料之步 驟包括:步驟S1400,呼叫一個資料主檔案,接著在步驟 S1402中,由程式自動產生元件依資料主檔案之指令呼叫 一個關連主檔案,在步驟S1404中,指定目前欲掃描之資 料組,然後在步驟S1406中,指定欲掃描之關連線,是資 料組中的哪一條關連線。 若在步驟S1408中,經判斷得知欲掃描之資料是第一 條關連線,則在步驟S1410中,呼叫相對應之程式範本, 然後在步驟S1416中,依此程式範本產生程式碼。若在步 驟S1408中,經判斷得知欲掃描之資料是步驟S1412欲掃描 的另一條關連線,則在步驟S1414中,呼叫相對應之程式 範本,然後在步驟S1416中,依此程式範本產生程式碼。 請合倂參考第Π圖及第13圖,其中在步驟slllO中, 若有多支報表需處理,則在畫面產生程式碼之後,在步驟 S1112中,依據在報表中控制元件之設定値,找出相對應 之程式範本,在步驟S1114中,產生屬於報表之程式碼。 其中,處理報表之步驟除了上述步驟外,更包括有: 步驟S1300,呼叫一個報表主檔案,接著步驟S1302,判斷 目前該處理之報表種類。步驟S1304,若報表種類不爲圖 形報表,則爲步驟S1308之純文字報表,若在步驟si 304中, 判斷此報表爲圖形報表,則繼續在步驟S1306中,判斷此 圖形報表是否屬於網際網路瀏覽器(Internet Explore ;以 下簡稱IE)的HTML,若不是屬於IE版的HTML,就是在步 14 修正日期92.6.25 H:|0_^wfl.doc/006 驟sl310中所述,是屬於標準版的HTML。 當判斷完要處理的報表是哪一種種類之後,則在步驟 S1312中,設定目前該處理報表種類中的哪一支報袠,接 著若已決定該處理的報表後,則在步驟s 13 14中,取得此 報表之控制元件,在步驟S1316中,依據控制元件之設定 値,呼叫相對應之程式範本,然後在步驟S1318中,產生 此報表之程式碼。若在步驟s1320中,仍有其他之報表需 處理,則繼續從判斷報表種類開始,直到沒有報表需處理 爲止。 若將產生複製資料庫的選項設爲真時,程式產生器便 會將這些程式區塊分別寫入不同的資料庫檔案中,而在有 一個組合檔案,會將各個資料庫檔案串接起來成爲〜完整 的COBOL程式,否則便將所有的程式區塊皆放入一個檔案 中,彳了程完整的一支程式。最後’將追些產生的檔案,寫 入在內部檔案中所指定的路徑下。 綜上所述,本發明的優點包括: 1·以完整及自動的發展環境取代傳統的開發方式。 2·可縮短系統開發時間,並提高生產力,以大幅減 少系統維護的成本。 3·以完整的視窗介面及各種淸單的選擇畫面發__ 個程式從檔案定義、變數宣告、及螢幕畫面和報表格式;_ 設計步驟。 雖然本發明已以較佳實施例揭露如上,然其並非用以 限定本發明,任何熟習此技藝者,在不脫離本發明之精神 15
修正日期92.6.25 和範圍內,當可作各種之更動與潤飾,因此本發明之保護 範圍當視後附之申請專利範圍所界定者爲準。 16