TWI638276B - 物料表形式之結構化設計規格書產生方法 - Google Patents
物料表形式之結構化設計規格書產生方法 Download PDFInfo
- Publication number
- TWI638276B TWI638276B TW106114385A TW106114385A TWI638276B TW I638276 B TWI638276 B TW I638276B TW 106114385 A TW106114385 A TW 106114385A TW 106114385 A TW106114385 A TW 106114385A TW I638276 B TWI638276 B TW I638276B
- Authority
- TW
- Taiwan
- Prior art keywords
- component
- design specification
- components
- generating
- input
- Prior art date
Links
Abstract
一種物料表形式之結構化設計規格書產生方法,其步驟包含:(1)宣告系統架構與執行流程:(2)宣告複數個元件,該元件為一可編程單元;(3)以一料號產生器,產生每個元件對應不重複之一料號,複數個該元件之組合形成一表單,其中,該系統架構與執行流程係為表單與表單之間的關聯性;(4)定義每個元件之元件特性關係,該元件特性關係為邏輯運算定義、文字、數值、數值範圍、屬性、輸出入連結互動關係或從屬關係;(5)產生物料表形式之結構化設計規格書。
Description
本發明係關於一種自動化軟體系統的產生系統,尤其是關於一種提供給自動化軟體產出系統使用的結構化資料結構之產生方法。
程式產品(software program product)是現在社會生活不可缺少的一部分,企業之運作或系統所以能夠運作多數都必須靠整合完成的程式驅使其運行,達成全自動化運行與控制的目的。現在的程式設計流程通常必須透過系統分析人員(SA,System Analyst)先了解使用者的需求之後,以一系統說明書表達客戶之需求,並交給系統設計師(SD,System Designer)進行系統的詳細設計(detail design),提供書面的詳細設計規格書,讓程式開發團隊所有成員可以了解詳細設計的細節,並以指定的程式語言來撰寫該設計規格書所要求的程式(software program)。
現有的軟體系統設計說明書之編撰主要使用傳統文書編輯器或配合流程圖編輯器以文字描述與流程圖的方式呈現,這些圖表與說明性文字通常只能提供給下游的程式設計師閱讀之用。然而,軟體系統說明書供軟體設計師團隊成員閱讀,即使該說明書如何詳盡,仍然會發生設計師團隊成員對資訊解讀之完整性不足或甚至錯誤解讀的問題。而且,因為閱讀式資料傳遞錯誤或認知錯誤,引發後續需求端、系統分析端、設計端三方來回反覆溝通與確認,造成拖延軟體開發的時程,降低系統發展的生產力。
為了解決現有程式設計由需求建立至設計完成之形式容易產生誤解進而造成延長開發時間,導致可能提高成本等技術問題,本發明提出一種可以作為自動程式產生模組之輸入資訊的一結構化設計規格書檔案,讓整個開發程序由一開始完成規格書確定規劃之後,可產生可執行的軟體,解決現有技術反覆溝通修正、以及延遲開發的技術問題。
本發明之物料表形式之結構化設計規格書產生方法,其步驟包含:宣告系統架構與執行流程;宣告複數個元件,該元件為一可編程單元;以一料號產生器,產生每個元件對應不重複之一料號,複數個該元件之組合形成一表單,其中,該系統架構與執行流程係為表單與表單之間的關聯性;定義每個元件之元件特性關係,該元件特性關係為邏輯運算定義、文字、數值、數值範圍、屬性、輸出入連結互動關係或從屬關係;以及產生物料表形式之結構化設計規格書。
進一步地,該宣告統架構與執行流程步驟係以一規格書編輯介面,提供一專案結構、一資源清單、一規格編輯區,其中該專案結構係定義一專案之流程,該資源清單定義與提供複數個該元件,該規格編輯區係定義每個元件之元件特性關係。
藉由前述說明可知,本發明所揭露的技術特徵與方案,達成下列技術功效:
1.所有的人為溝通於設定、產生該結構化設計規格書過程均已經完成,因此,當確認完成該結構化設計規格書之後,即可確定所產生的結果系統執行的結果如該結構化設計規格書所指定,如果程式執行結果非所需或執行動作產生問題,則代表結構化設計規格書之錯誤而非程式編撰錯誤。如此,本
發明揭露之該自動化軟體的產生系統可以解決傳統程式設計過程需要客戶、系統分析師產生程式設計師(programmer)可以理解閱讀的流程說明、多組程式設計師閱讀流程說明分組編撰程式模組等多級溝通過程,導致訊息遺漏、理解錯誤進而造成開發流程延遲與成本上升的問題。
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可基於步驟流程如下:
S 1)宣告系統架構與執行流程:依據使用者需求A建立所需要的執行流程與系統架構,所謂的執行流程是指使用者未來執行該結果系統B時,希望執行的程序流程。以實際範例說明,以一庫存管理系統之一新零件進料功能為範例,使用者期待的流程是:(流程1)產生一新增零件表單;
(流程2)於該新增零件表單選擇或輸入「零件」、「種類」、「規格」與「數量」;及(流程3)按下「建立」按鍵,依據所選的「零件」、「種類」、「規格」與「數量」更新一物料資料庫。
基於前述的(流程1)~(流程3),本步驟S1必須完成資料庫架構、建立上列流程次序及所需對應的元件12(可以設定數量的零件12、可以設定規格的元件12、「建立」按鍵的元件12...)。
S2)表單選擇與設定:依據前述之該庫存管理系統之範例為例,選擇預設的表單格式或者設定表單格式,並選擇適當的元件12於該表單內。表單係由所選的該元件12之集合。
S3)宣告資料庫內容:基於需求,設定資料庫的所需欄位、格式,其可包含但不限於一資料表、一檢視表以及一索引資訊。
S4)定義元件12之功能、數值、屬性與輸出入連結關係:決定/宣告或定義表單中的每個元件12之間關係;以前述庫存管理系統為例,假設該「M4螺絲」之零件庫存上有20個,已經低於「安全庫存量」,因此進貨5000個M4螺絲因此透過「新增零件表單」輸入零件,該新增零件表單內其中代表一現有庫存之該元件12(代號A)之數值為20;另代表一進料數量之元件12(代號B)填入5000。如此,該新增零件表單中代表一現有庫存顯示之元件12(代號C)與該現有庫存之該元件12(代號A)、該進料數量之元件12(代號B)之輸出入連結關係為C=A+B之加法邏輯關係,因此,透過定義表單每個元件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所述的物料表形式之結構化設計規格書產生方法,該結構化設計規格書之格式可為XML或資料庫。
- 如請求項1所述的物料表形式之結構化設計規格書產生方法,每個元件依據從屬關係以階層式編列該料號。
- 如請求項1所述的物料表形式之結構化設計規格書產生方法,該宣告統架構與執行流程步驟係以一規格書編輯介面,提供一專案結構、一資源清單、一規格編輯區,其中該專案結構係定義一專案之流程,該資源清單定義與提供複數個該元件,該規格編輯區係定義每個元件之元件特性關係。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106114385A TWI638276B (zh) | 2017-04-28 | 2017-04-28 | 物料表形式之結構化設計規格書產生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106114385A TWI638276B (zh) | 2017-04-28 | 2017-04-28 | 物料表形式之結構化設計規格書產生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI638276B true TWI638276B (zh) | 2018-10-11 |
TW201839638A TW201839638A (zh) | 2018-11-01 |
Family
ID=64802851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106114385A TWI638276B (zh) | 2017-04-28 | 2017-04-28 | 物料表形式之結構化設計規格書產生方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI638276B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW446914B (en) * | 1998-10-09 | 2001-07-21 | Grow With Me Inc | Table format programming |
US20070168911A1 (en) * | 2003-08-20 | 2007-07-19 | Norikazu Takashima | Program creating system, program creating program, and program creating module |
US7562294B1 (en) * | 1999-12-30 | 2009-07-14 | Infoprint Solutions Company Llc | Formatting computer generated documents for output |
TW201502983A (zh) * | 2013-03-19 | 2015-01-16 | Dynamic Micro Systems | 工具編譯器 |
-
2017
- 2017-04-28 TW TW106114385A patent/TWI638276B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW446914B (en) * | 1998-10-09 | 2001-07-21 | Grow With Me Inc | Table format programming |
US7562294B1 (en) * | 1999-12-30 | 2009-07-14 | Infoprint Solutions Company Llc | Formatting computer generated documents for output |
US20070168911A1 (en) * | 2003-08-20 | 2007-07-19 | Norikazu Takashima | Program creating system, program creating program, and program creating module |
TW201502983A (zh) * | 2013-03-19 | 2015-01-16 | Dynamic Micro Systems | 工具編譯器 |
Also Published As
Publication number | Publication date |
---|---|
TW201839638A (zh) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196719B (zh) | 一种基于自然语言处理的业务规则生成方法与系统 | |
CN104732306B (zh) | 一种业务应用系统的快速开发系统及方法 | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成系统 | |
CN106599039B (zh) | 一种支持关系数据库数据自由组合嵌套的统计表述方法 | |
US10614126B2 (en) | Textual query editor for graph databases that performs semantic analysis using extracted information | |
US20160350079A1 (en) | Method and system of editing workflow logic and screens with a gui tool | |
CN111796815A (zh) | 一种全自动可视化软件搭建平台的应用 | |
CN113886362A (zh) | 基于工作流引擎及低代码平台的数据存储系统及存储方法 | |
KR101326985B1 (ko) | 오브젝트 단위의 동적 컴파일리스 프로그램의 저작, 배포 및 구동 방법 및 장치 | |
CN104391731A (zh) | 一种基于c#的与数据类型无关的编辑方法 | |
CN113655996B (zh) | 一种基于需求模型的企业级系统生成方法 | |
CN111273900A (zh) | 基于gitlab实时代码共享的在线拖拽编码生成方法 | |
TWI638276B (zh) | 物料表形式之結構化設計規格書產生方法 | |
TWI648682B (zh) | 軟體的自動化產生系統 | |
CN115469860B (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
TWI633452B (zh) | 結構化設計規格書產生模組 | |
CN101710275A (zh) | 利用gui工具来编辑工作流逻辑和屏幕的方法和系统 | |
Rahman et al. | A DSL for importing models in a requirements management system | |
US20200042291A1 (en) | Software System Generating System | |
JP2020027663A (ja) | 仕様書作成部 | |
JP3229512U (ja) | ソフトウェアシステム作成システム | |
JP3229811U (ja) | 設計仕様書に基づいたbomの作成システム | |
CN109002278A (zh) | 结构化设计规格书产生模块 | |
CN109002279A (zh) | 自动化软件的产生系统 | |
CN108984154A (zh) | 物料表形式的结构化设计规格书产生方法 |