TWI648682B - 軟體的自動化產生系統 - Google Patents

軟體的自動化產生系統 Download PDF

Info

Publication number
TWI648682B
TWI648682B TW106115058A TW106115058A TWI648682B TW I648682 B TWI648682 B TW I648682B TW 106115058 A TW106115058 A TW 106115058A TW 106115058 A TW106115058 A TW 106115058A TW I648682 B TWI648682 B TW I648682B
Authority
TW
Taiwan
Prior art keywords
component
design specification
components
relationship
software
Prior art date
Application number
TW106115058A
Other languages
English (en)
Other versions
TW201843624A (zh
Inventor
宋宜璋
Original Assignee
如如研創股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 如如研創股份有限公司 filed Critical 如如研創股份有限公司
Priority to TW106115058A priority Critical patent/TWI648682B/zh
Publication of TW201843624A publication Critical patent/TW201843624A/zh
Application granted granted Critical
Publication of TWI648682B publication Critical patent/TWI648682B/zh

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

一種軟體的自動化產生系統,其包含一規格書產生模組以及一系統產生模組,該規格書產生模組基於一使用者需求產生一結構化設計規格書,該結構化規格產生模組包含預設之複數種元件,每種元件為一可編程單元,該結構化設計規格書定義各元件之一元件特性關係,該元件特性關係為複數個該元件之關係組合,產生至少一表單;該系統產生模組匯入該結構化設計規格書,並經一組碼程序將該結構化設計規格書之所有的該元件之元件特性關係,產出一系統主選單以及相關連結,組合成為完整的處理程序產生一系統程序碼組合;該系統產生模組以該系統程序碼組合經編譯後輸出一結果系統。

Description

軟體的自動化產生系統
本發明係關於一種軟體自動化產生系統,尤其是關於一種利用可以透過分析與建立使用者需求後產生結構化設計規格書之自動化產生軟體系統。
程式產品(software program product)是現在社會生活不可缺少的一部分,每種電子產品之所以能夠運作多數都必須靠整合完成的程式驅使其運行,達成全自動化運行與控制的目的。現在的程式設計流程通常必須透過系統分析人員(SA,System Analyst)先了解使用者的需求之後,以一系統說明書表達客戶之需求,並交給系統設計師(SD,System Designer)進行系統的詳細設計(detail design),提供書面的詳細設計規格書,讓程式開發團隊所有成員可以了解詳細設計的細節,並以指定的程式語言來撰寫該設計規格書所要求的程式(software program)。
現有的軟體系統設計說明書之編撰主要使用傳統文書編輯器或配合流程圖編輯器以文字描述與流程圖的方式呈現,這些圖表與說明性文字通常只能提供給下游的程式設計師閱讀之用。然而,軟體系統說明書供軟體設計師團隊成員閱讀,即使該說明書如何詳盡,仍然會發生設計師團隊成員對資訊解讀之完整性不足或甚至錯誤解讀的問題。而且,因為閱讀式資料傳遞錯誤或認知錯誤,引發後續需求端、系統分析端、設計端三方來回反覆溝通與確認,造成拖延軟體開發的時程,降低系統發展的生產力。
為了解決現有程式設計由需求建立至設計完成之形式容易產生誤解進而造成延長開發時間,導致可能提高成本等技術問題,本發明提出一種可以作為自動程式產生模組之輸入資訊的一結構化設計規格書檔案,讓整個開發程序由一開始完成規格書確定規劃之後,可產生可執行的軟體,解決現有技術反覆溝通修正、以及延遲開發的技術問題。
本發明之一種軟體的自動化產生系統,其包含一規格書產生模組以及一系統產生模組,其中:該規格書產生模組基於一使用者需求產生一結構化設計規格書,該規格書產生模組包含預設之複數種元件,每種元件為一可編程單元,該結構化設計規格書定義各元件之一元件特性關係,該元件特性關係為複數個該元件之關係組合,產生至少一表單;該結構化設計規格書包含定義該表單中各元件的關連性,且該結構化設計規格書定義兩個該表單之間的關聯性與從屬關係;該系統產生模組匯入該結構化設計規格書,並經一組碼程序將該結構化設計規格書之所有的該元件之元件特性關係,解析系統架構,產生表單、資料庫、使用者介面布局,該系統產生模組依據所解析的系統架構,產出一系統主選單以及相關連結;由該資料庫之規劃內容,產出資料庫模式;利用內部儲存與預先定義每個元件所對應的程式,組合成為完整的處理程序產生一系統程序碼組合;該系統產生模組以該系統程序碼組合經編譯後輸出一結果系統。
藉由前述說明可知,本發明所揭露的技術特徵與方案,達成下列技術功效:
1.所有的人為溝通於設定、產生該結構化設計規格書過程均已經完成,因此,當確認完成該結構化設計規格書之後,即可確定所產生的系統結 果執行的結果如該結構化設計規格書所指定,如果程式執行結果非所需或執行動作產生問題,則代表結構化設計規格書之錯誤而非程式編撰錯誤。如此,本發明揭露之該自動化軟體的產生系統可以解決傳統程式設計過程需要客戶、系統分析師/系統設計師產生程式設計師可以理解閱讀的流程說明、多組系統設計師閱讀流程說明分組編撰程式模組等多級溝通過程,導致訊息不足、訊息遺漏、理解錯誤進而造成開發流程延遲與成本上升的問題。
2.在完成規格設計後即可要求將整個物料表(BOM)送至軟體工廠于與自動化加工,最終產出對應此專案設計規格內容的應用系統,以供設計者測試與驗收。軟體工廠的軟體程式讀取此專案之物料表的內容,完整且正確地解譯設計師的設計細節,並依此內容全自動地產出可運行的應用系統,而免除了程式設計師(programmer)的介入,不但節省了大量的人力與時間,並且可以控制交期與產出的品質。
10‧‧‧規格書產生模組
12‧‧‧元件
20‧‧‧系統產生模組
A‧‧‧使用者需求
B‧‧‧結果系統
圖1 為一自動化軟體產生系統的系統方塊示意圖。
圖2 為一結果系統顯示介面示意。
圖3 為一規格書產生模組提供之一需求輸入使用者介面示意圖。
圖4 為該規格書生產模組之功能步驟方塊圖。
圖5 為自動化軟體產生系統之架構與流程範例示意圖。
請參考圖1、2,其係為一種軟體的自動化產生系統之方塊示意圖,該軟體的自動化產生系統包含一規格書產生模組10以及一系統產生模組20。該規格書產生模組10基於一使用者需求A之資訊輸出一結構化設計規格書, 該結構化設計規格書輸入該系統產生模組20之後,經過一規格匯入、一組碼以及一解編譯程序後,輸出可以執行的一結果系統B。該結果系統為一可執行的程式系統,種類不限定,例如是進銷存、專案管理、人力資源系統等,該產生系統可以是內含可執行程式的電腦系統,或為軟體程式系統。該結構化設計規格書之格式可為XML、資料庫格式(Database)等。
該規格書產生模組10包含預設之複數元件12,每種該元件12對應一料號,每個該元件12所對應的料號於該結構化設計規格書產生之時即產生對應於該每個元件12,其中,該元件12為具有不同功能與目的的一可編程單元。該結構化設計規格書係定義所選擇或使用的各元件12之一元件特性關係,該元件特性關係可包含:
(1)元件12之功能:舉例而言,該規格書生產模組10所提供該元件12可以是一運算邏輯、一功能物件...等。系統設計師可以選擇適當的元件12之組合,產生一表單、一資料庫或一使用者介面等。該功能物件可以是一按鍵、一圖形顯示單元、一繪圖單元等。
(2)元件12之數值:可為一文字、一數值、一數值範圍等。
(3)元件12之屬性:不同元件12可以具有一個以上相同或不同的屬性,屬性可以依據不同的元件12有所不同,例如,如果是資料型態的該元件12可以是名稱、單位、規格等。例如為功能按鍵的元件12,該屬性可以是定義該按鍵的名稱、輸入參數、輸出參數或執行動作種類等。
(4)元件12之輸出入:不同形式之該元件12之間可能具有輸出入功能,基於元件12之間的輸出入,可定義該元件12與該元件12之間的一連結互動關係,使各元件12之間產生一輸出入連結互動關係。所謂的輸出入連結互動關係,可以是元件12與元件12之間的數值輸出入關係、演算關係或控制關係。
請參考圖1、2,圖2揭示產生該結構化設計規格書之實施範例, 該實施範例先將該使用者需求A以一流程架構呈現。舉例而言,使用者需求一套進銷存系統,必然需要可以進行庫存查詢的功能之展現需要的流程架構可能包含:(STEP 1)需求選擇項目;(STEP 2)提供單據查詢、供需查詢、零件庫存查詢、庫存異動選項;以及(STEP 3)針對上列STEP 2程序之每個選項提供進一步的功能與程序,例如產生報表或選單或輸出結果。
完成前述的流程規劃,一系統設計師即可以宣告或定義方式決定所使用的各元件12之該元件特性關係(即功能、屬性、輸出入連結互動關係),組裝與定義該結構化設計規格書所定義的所有元件12,產生輸入、處理、輸出之關係定義。基於此,當該結構化設計規格書完成正確的定義後,解決現有程式產生過程訊息完整度不佳與容易產生誤解的問題,除去不必要的上下游溝通,加速軟體程式的發展。
請參考圖3,為了讓結構畫規格書可以順利產生,可提供一規格書編輯介面讓系統設計師可以選擇並有效編輯各元件12之相關定義,該編輯介面可以提供一專案結構、一資源清單、一規格編輯等區塊,該專案結構用於定義與宣告執行流程與從屬關係架構。該資源清單係每個專案所需要的元件12;該規格編輯區係指定元件12之特性與關係,指定各元件12之功能、屬性、數值及/或輸出入關係。
請參考圖4、5,產生該結構化設計規格書時,該規格書產生模組10可基於步驟流程如下:
S1)宣告系統架構與執行流程:依據使用者需求A建立所需要的執行流程與系統架構,所謂的執行流程是指使用者未來執行該結果系統B時,希 望執行的程序流程。以實際範例說明,以一庫存管理系統之一新零件進料功能為範例,使用者期待的流程是:(流程1)產生一新增零件表單;(流程2)於該新增零件表單選擇或輸入「零件」、「種類」、「規格」與「數量」;及(流程3)按下「建立」按鍵,依據所選的「零件」、「種類」、「規格」與「數量」更新一物料資料庫。
基於前述的(流程1)~(流程3),本步驟S1必須完成資料庫架構、建立上列流程次序及所需對應的元件12(可以設定數量的零件12、可以設定規格的元件12、「建立」按鍵的元件12...)。
S2)表單選擇與設定:依據前述之該庫存管理系統之範例為例,選擇預設的表單格式或者設定表單格式,並選擇適當的元件12於該表單內。表單係由所選的該元件12之集合。
S3)宣告資料庫內容:基於需求,設定資料庫的所需欄位、格式,其可包含但不限於一資料表、一檢視表以及一索引資訊。
S4)定義元件12之功能、數值、屬性與輸出入連結關係:決定/宣告或定義表單中的每個元件12之間關係;以前述庫存管理系統為例,請配合參看圖2,假設該「M4螺絲」之零件庫存上有20個,已經低於「安全庫存量」,因此進貨5000個M4螺絲因此透過「新增零件表單」輸入零件,該新增零件表單內其中代表一現有庫存之該元件12(代號:元件a)之數值為20;另代表一進料數量之元件12(代號:元件b)填入5000。如此,該新增零件表單中代表一現有庫存顯示之元件12(代號:元件c)與該現有庫存之該元件12(元件a)、該進料數量之元件12(元件b)之輸出入連結關係為c=a+b之加法邏輯關係。而且,使用者可進一步設定一按鍵(元件d),於使用者觸發之後,執行前述運算與顯示動作。 因此,透過定義表單每個元件12、選擇具有加法邏輯運算功能的元件12、並設定與宣告邏輯運算關係。
S5)格式轉換:將設計師的輸入資訊轉換為結構化格式後儲存,完整保存各類設計資訊、處理規格以及彼此的關聯性。
本發明之該規格書產生模組10中,一專案內的所使用的元件12以一物料表(BOM,Bill Of Material)格式架構元件12與元件12之間的關係與功能、屬性等特徵。產生該結構化設計規格書之過程,亦即建立該物料表內部的所有元件12與其之間關係。因此,透過物料表之概念,亦即是使用各元件12之宣告與定義逐步規劃出此專案之整體、完整的作業架構,讓各元件12產生輸出入連結互動關係,形成各元件12之各作業節點(process node)上所要投入的資源(input resources,即前述數值、屬性等)、工法(process rules,即前述的功能),以及產出項目(output)與去處(destination)(即前述的輸出入)。基於此,當完成物料表之建立,即可產生物料表內所有元件12所要執行的功能、元件12與元件12之從屬關係、互相之間的溝通關係,於儲存該結構化設計規格書於資料庫內時,即可對應產生每個元件12的對應料號。簡言之,本實施例所提供的技術手段,可以讓程式系統分析師可以於了解客戶需求之後,基於客戶的需求,挑選現有元件12、宣告與定義每個元件12之間的元件特性關係,以物料表的格式歸納所由元件12從屬關係與規格,每個元件12均有其專屬料號。產生料號的方式可為該規格書產生模組10包含一料號產生器,該料號產生器係基於各元件12之從屬關係,以階層形式編排具有從屬關係的料號。舉例而言,屬於按鍵之元件12可以依據輸入參數型態、邏輯運算元件、輸出欄位等,而編列元件12及其對應之料號,例如,一「確認送出」的按鍵元件12料號為10000,該「確認送出」為讀取「輸入參數」元件12(料號10100)數值與「字串」元件12(料號10200),使一「輸出繪圖」元件12(料號10300)產生一圖形輸出,其中,「輸出繪圖」 元件12使用一座標軸轉換元件(料號10310)以及一色塊產生元件(料號10320)而達成繪圖輸出。如此,每個使用的元件12可產生有階層式關係、不重複的料號。料號的編排與關連性非限定於前述的範例,舉例而言,為了確認元件12對應料號之間上、下位階關連,可在每個元件12之屬性定義或標註上一個位階的該元件12,如此,使每個元件12與其對應料號產生從屬關係,便於用於產生該結構化設計規格書。
該系統產生模組20進行下列步驟,產生結果系統:規格匯入:由規格書產生模組10輸入/匯入該結構化設計規格書。
組碼:該系統產生模組20基於該結構化設計規格書中所有的該元件12之元件特性關係,解析系統架構,產生表單、資料庫、使用者介面布局。其中,該系統產生模組20依據所解析的系統架構,產出一系統主選單以及相關連結;由該資料庫之規劃內容,產出資料庫模式(database schema);且依據定義之各元件12,建立所定義的各表單的資料處理需求。利用內部儲存與預先定義每個元件12所對應的程式,組合成為完整的處理程序,包含資料庫的指令。舉例而言,組碼程序基於結構化設計規格書定義每一個元件12之間的屬性、運算邏輯、輸出入關係、數值關係等,依據所定義的次序,組合元件12與元件12的程式段落,產生一系統程序碼組合。
編譯程序:該系統產生模組20取整合完成的系統程序碼組合,進行編譯(compile)或是演譯,產生該結果系統。
藉由前述說明可知,本發明所揭露的技術特徵與方案,達成下列技術功效:
1.所有的人為溝通於設定、產生該結構化設計規格書過程均已經完成,因此,當確認完成該結構化設計規格書之後,即可確定所產生的系統結果執行的結果如該結構化設計規格書所指定,如果程式執行結果非所需或執行 動作產生問題,則代表結構化設計規格書之錯誤而非程式編撰錯誤。如此,本發明揭露之該自動化軟體的產生系統可以解決傳統程式設計過程需要客戶、系統分析師/系統設計師產生程式設計師可以理解閱讀的流程說明、多組系統設計師閱讀流程說明分組編撰程式模組等多級溝通過程,導致訊息不足、訊息遺漏、理解錯誤進而造成開發流程延遲與成本上升的問題。
2.在完成規格設計後即可要求將整個物料表(BOM)送至軟體工廠于與自動化加工,最終產出對應此專案設計規格內容的應用系統,以供設計者測試與驗收。軟體工廠的軟體程式讀取此專案之物料表的內容,完整且正確地解譯設計師的設計細節,並依此內容全自動地產出可運行的應用系統,而免除了程式設計師(programmer)的介入,不但節省了大量的人力與時間,並且可以控制交期與產出的品質。

Claims (4)

  1. 一種軟體的自動化產生系統,其包含一規格書產生模組以及一系統產生模組,其中:該規格書產生模組基於一使用者需求產生一結構化設計規格書,該規格書產生模組包含預設之複數種元件以及一料號產生器,每種元件為一可編程單元,該料號產生器基於各元件之從屬關係,以階層形式編排具有從屬關係的料號,每個元件對應不重複之一料號,該結構化設計規格書為一物料表形式並定義各元件之一元件特性關係,該元件特性關係為複數個該元件之關係組合,產生至少一表單;該結構化設計規格書包含定義該表單中各元件的關連性,且該結構化設計規格書定義兩個該表單之間的關聯性與從屬關係;該系統產生模組匯入該結構化設計規格書,並經一組碼程序將該結構化設計規格書之所有的該元件之元件特性關係,解析系統架構,產生表單、資料庫、使用者介面布局,該系統產生模組依據所解析的系統架構,產出一系統主選單以及相關連結;由該資料庫之規劃內容,產出資料庫模式;利用內部儲存與預先定義每個元件所對應的程式,組合成為完整的處理程序產生一系統程序碼組合,該系統程序碼組合包含該資料庫的指令;以及該系統產生模組以該系統程序碼組合經編譯後輸出一結果系統。
  2. 如請求項1所述的軟體的自動化產生系統,該結構化設計規格書之格式為XML。
  3. 如請求項1或2所述的軟體的自動化產生系統,該元件特性關係為邏輯運算定義、文字、數值、數值範圍、屬性、輸出入連結互動關係或從屬關係。
  4. 如請求項3所述的軟體的自動化產生系統,該元件之屬性包含定義所對應料號的從屬關係。
TW106115058A 2017-05-05 2017-05-05 軟體的自動化產生系統 TWI648682B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106115058A TWI648682B (zh) 2017-05-05 2017-05-05 軟體的自動化產生系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106115058A TWI648682B (zh) 2017-05-05 2017-05-05 軟體的自動化產生系統

Publications (2)

Publication Number Publication Date
TW201843624A TW201843624A (zh) 2018-12-16
TWI648682B true TWI648682B (zh) 2019-01-21

Family

ID=65431041

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106115058A TWI648682B (zh) 2017-05-05 2017-05-05 軟體的自動化產生系統

Country Status (1)

Country Link
TW (1) TWI648682B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI234088B (en) * 2002-10-17 2005-06-11 Wistron Corp Object-oriented web page production method and its device
TW200939121A (en) * 2007-12-07 2009-09-16 Alcatel Lucent Device and method for automatically building applications from specifications and from off-the-shelf components selected by semantic analysis
CN101645010A (zh) * 2009-08-20 2010-02-10 深圳市珍爱网信息技术有限公司 代码自动生成系统及方法
US20140109038A1 (en) * 2003-11-25 2014-04-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
TWI515583B (zh) * 2014-03-11 2016-01-01 Lm艾瑞克生(Publ)電話公司 用於客製化應用程式之動態執行時間產生之方法與系統

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI234088B (en) * 2002-10-17 2005-06-11 Wistron Corp Object-oriented web page production method and its device
US20140109038A1 (en) * 2003-11-25 2014-04-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
TW200939121A (en) * 2007-12-07 2009-09-16 Alcatel Lucent Device and method for automatically building applications from specifications and from off-the-shelf components selected by semantic analysis
CN101645010A (zh) * 2009-08-20 2010-02-10 深圳市珍爱网信息技术有限公司 代码自动生成系统及方法
TWI515583B (zh) * 2014-03-11 2016-01-01 Lm艾瑞克生(Publ)電話公司 用於客製化應用程式之動態執行時間產生之方法與系統

Also Published As

Publication number Publication date
TW201843624A (zh) 2018-12-16

Similar Documents

Publication Publication Date Title
CN104732306B (zh) 一种业务应用系统的快速开发系统及方法
CN107273117B (zh) 一种编程友好型的敏捷代码自动生成系统
CN106599039B (zh) 一种支持关系数据库数据自由组合嵌套的统计表述方法
US20050283758A1 (en) Bi-directional programming system/method for program development
CN106293664A (zh) 代码生成方法及装置
US20160350079A1 (en) Method and system of editing workflow logic and screens with a gui tool
CN113886362A (zh) 基于工作流引擎及低代码平台的数据存储系统及存储方法
CN104391731A (zh) 一种基于c#的与数据类型无关的编辑方法
KR101326985B1 (ko) 오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치
CN111273900A (zh) 基于gitlab实时代码共享的在线拖拽编码生成方法
CN113655996B (zh) 一种基于需求模型的企业级系统生成方法
TWI648682B (zh) 軟體的自動化產生系統
TWI638276B (zh) 物料表形式之結構化設計規格書產生方法
TWI633452B (zh) 結構化設計規格書產生模組
CN115469860B (zh) 基于指令集的需求到软件领域模型的自动生成方法及系统
US20200042291A1 (en) Software System Generating System
JP2020027663A (ja) 仕様書作成部
JP3229512U (ja) ソフトウェアシステム作成システム
JP3233033U (ja) 仕様書作成部を含むソフトウェアシステム作成システム
JP3229811U (ja) 設計仕様書に基づいたbomの作成システム
Rinker et al. Traceable Multi-view Model Integration: A Transformation Pipeline for Agile Production Systems Engineering
CN109002278A (zh) 结构化设计规格书产生模块
CN109002279A (zh) 自动化软件的产生系统
Butting et al. Model and Data Differences in an Enterprise Low-Code Platform
CN108984154A (zh) 物料表形式的结构化设计规格书产生方法