两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

自動(dòng)程序生成裝置、方法以及計(jì)算機(jī)程序的制作方法

文檔序號:6364715閱讀:237來源:國知局
專利名稱:自動(dòng)程序生成裝置、方法以及計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及自動(dòng)生成程序的技木,尤其是涉及對軟件以及系統(tǒng)的畫面原型開發(fā)(prototyping)中的模型(mockup)開發(fā)以及模型的向正式開發(fā)的轉(zhuǎn)移進(jìn)行支援的技術(shù)。
背景技術(shù)
在企業(yè)信息系統(tǒng)的開發(fā)中,重要的是開發(fā)負(fù)責(zé)人員如何有效并且真正地獲得來自顧客的要求。而且,在對開發(fā)出的企業(yè)信息系統(tǒng)進(jìn)行評價(jià)時(shí),顧客所要求的業(yè)務(wù)規(guī)格書中不存在未落實(shí)或者遺漏也是重要的。進(jìn)而,除此之外,對于開發(fā)出的企業(yè)信息系統(tǒng)所提供的GUI畫面以及其它的用戶界面功能,由于其操作感導(dǎo)致業(yè)務(wù)完成效率大有不同,因此對于顧 客是其關(guān)心的大事。另外,近年來,計(jì)算機(jī)的能力也充分提升,稱作RIA (Rich InternetApplications)的、表現(xiàn)自由度高的框架(frame work)也已滲透,因此顧客對于畫面的期待越來越大。利用像這樣的RIA等開發(fā)的畫面表現(xiàn)カ高,因此,依靠文檔或者紙面等的話,顧客與開發(fā)者之間對于畫面行為的要求共享變得困難。于是,在開發(fā)的過程中,作為用戶界面畫面的原型(prototype),對顧客提示在計(jì)算機(jī)上實(shí)際運(yùn)行的模型(畫面的原型程序),對于將顧客與開發(fā)者意識上產(chǎn)生分岐防患于未然是有效的。但是,在原型開發(fā)中,模型僅僅是試制品。而且,在一般的系統(tǒng)開發(fā)中,由于花在獲得顧客要求上的時(shí)間也有限,因此必須在短期間內(nèi)反復(fù)進(jìn)行面對顧客的示范(demonstration)以及針對通過該示范得到的指正事項(xiàng)的修正。為了有效開發(fā)模型,提出有如下技木不進(jìn)行內(nèi)部的數(shù)據(jù)處理,使用僅再現(xiàn)系統(tǒng)的動(dòng)畫(animation)的測試程序(toy program)部件等,簡單地開發(fā)宛如實(shí)際發(fā)揮功能的原型。而且,例如在專利文獻(xiàn)I中,通過從畫面的設(shè)計(jì)信息提取數(shù)據(jù)等畫面以外的動(dòng)態(tài)信息,進(jìn)行程序的自動(dòng)生成,從而謀求畫面開發(fā)的效率提升。專利文獻(xiàn)I :日本特開2004-302571但是,該現(xiàn)有方法中存在如下問題。也就是,在專利文獻(xiàn)I中,在模型的開發(fā)結(jié)束后向正式開發(fā)轉(zhuǎn)移吋,必須將模型(與顧客取得意見統(tǒng)ー的畫面程序)廢棄,再次花費(fèi)工作量重新開發(fā)正式用的畫面,從而產(chǎn)生工作量的浪費(fèi)。而且,由于此時(shí)開發(fā)者必須從模型提取規(guī)格,因此在該時(shí)間點(diǎn)又存在產(chǎn)生要求規(guī)格的未落實(shí)、遺漏的風(fēng)險(xiǎn)。另ー方面,由于模型開發(fā)與正式開發(fā)的目的不同,所以各自所執(zhí)行的架構(gòu)(architecture)也不同。因此,通常來講不能實(shí)現(xiàn)使模型的程序直接在正式的架構(gòu)中運(yùn)行。

發(fā)明內(nèi)容
于是,本發(fā)明的目的在于使為原型開發(fā)出的畫面模型直接在架構(gòu)不同的正式開發(fā)中沿用。根據(jù)本發(fā)明的一種實(shí)施方式的程序自動(dòng)生成裝置具備存儲(chǔ)模型數(shù)據(jù)的單元,該模型數(shù)據(jù)包括用于顯示畫面的模型程序、從所述畫面調(diào)用的組件的組件類別、用于對所述組件類別的組件設(shè)定的屬性數(shù)據(jù);存儲(chǔ)組件數(shù)據(jù)的單元,該組件數(shù)據(jù)包括多個(gè)組件類別的組件的規(guī)格;基于所述模型數(shù)據(jù)以及所述組件數(shù)據(jù)生成從所述畫面調(diào)用的組件的設(shè)計(jì)信息的単元;存儲(chǔ)指定執(zhí)行架構(gòu)的信息的単元;基于所述指定執(zhí)行架構(gòu)的信息設(shè)定與被指定的執(zhí)行架構(gòu)對應(yīng)的程序執(zhí)行平臺(tái)的単元;存儲(chǔ)不同程序執(zhí)行平臺(tái)的程序代碼塊的単元;以及,基于所述組件的設(shè)計(jì)信息選擇在所述設(shè)定的程序執(zhí)行平臺(tái)上運(yùn)行的程序代碼塊,并對選擇出的程序代碼塊設(shè)定所述屬性數(shù)據(jù)來生成程序代碼的單元。在優(yōu)選的實(shí)施方式中可以是,在不存在所述指定執(zhí)行架構(gòu)的信息時(shí),基于預(yù)先設(shè)定的模型用執(zhí)行架構(gòu)來決定所述程序執(zhí)行平臺(tái)。 在優(yōu)選的實(shí)施方式中可以是,所述組件數(shù)據(jù)中包含對各組件類別的組件設(shè)定的屬性值的默認(rèn)值,在所述模型數(shù)據(jù)中不包括所述屬性數(shù)據(jù)時(shí),所述生成程序代碼的單元可對所述選擇出的程序代碼塊設(shè)定所述默認(rèn)值。在優(yōu)選的實(shí)施方式中可以是,所述程序自動(dòng)生成裝置還具備從所述模型數(shù)據(jù)提取與所述組件數(shù)據(jù)中所含的多個(gè)組件類別均不能實(shí)現(xiàn)的功能相關(guān)的記述的單元。而且還可以是,所述生成程序代碼的單元可使所述提取出的記述包含在程序代碼內(nèi),從而在執(zhí)行從所述畫面調(diào)用組件時(shí)輸出所述提取出的記述。在優(yōu)選的實(shí)施方式中可以是,所述的程序自動(dòng)生成裝置還具備用于生成所述模型數(shù)據(jù)的模型開發(fā)環(huán)境;以及,使通過所述生成程序代碼的單元生成的程序代碼以及所述模型程序運(yùn)行的模型審閱環(huán)境。基于本發(fā)明,能夠使為原型開發(fā)、與顧客取得意見統(tǒng)ー的畫面模型直接在架構(gòu)不同的正式開發(fā)中沿用。其結(jié)果,防止顧客要求規(guī)格的未落實(shí)、遺漏,并且能夠削減開發(fā)工作量。


圖I是本發(fā)明一種實(shí)施方式所涉及的模型開發(fā)支援系統(tǒng)100的整體構(gòu)成圖。圖2是模型開發(fā)支援系統(tǒng)100的功能構(gòu)成圖。圖3是畫面模型程序1720的說明圖。圖4是組件設(shè)定文件1730的說明圖。圖5是執(zhí)行架構(gòu)定義信息1760的說明圖。圖6是用于執(zhí)行模型的架構(gòu)的模型執(zhí)行架構(gòu)Al。圖7是用于執(zhí)行正式系統(tǒng)的架構(gòu)的正式執(zhí)行架構(gòu)A2。圖8是表示能夠在本系統(tǒng)中使用的組件的一覽的組件ー覽1610的ー個(gè)例子。圖9是包含各組件的定義信息的組件設(shè)定屬性定義1620的ー個(gè)例子。圖10是各架構(gòu)組件代碼塊組1630的ー個(gè)例子。圖11是界面生成用代碼塊1640的ー個(gè)例子。圖12是模型設(shè)計(jì)信息解析部110的詳細(xì)功能構(gòu)成圖。圖13是由數(shù)據(jù)結(jié)構(gòu)體提取部112提取出的數(shù)據(jù)結(jié)構(gòu)體1510的ー個(gè)例子。圖14是由觸發(fā)事件提取部113提取出的觸發(fā)事件1517的ー個(gè)例子。圖15是由組件設(shè)定信息提取部114生成的構(gòu)成組件設(shè)定信息1520的ー個(gè)例子。
圖16是補(bǔ)足默認(rèn)值后的構(gòu)成組件設(shè)定信息1520的ー個(gè)例子。圖17是追加執(zhí)行架構(gòu)以及代碼塊保存場所后的構(gòu)成組件設(shè)定信息1520的ー個(gè)例
子。 圖18是由執(zhí)行對象架構(gòu)設(shè)定解析部117生成的執(zhí)行架構(gòu)設(shè)定信息1540的ー個(gè)例子。圖19是通過CPUlOl執(zhí)行組件設(shè)定生成程序120P時(shí)實(shí)現(xiàn)的組件設(shè)定生成部120的功能構(gòu)成圖。圖20是通過CPUlOl執(zhí)行程序代碼生成程序140P時(shí)實(shí)現(xiàn)的程序代碼生成部140的功能構(gòu)成圖。圖21是表示使用本系統(tǒng)100的模型開發(fā)整體的順序的流程圖。圖22表示生成用于原型開發(fā)執(zhí)行環(huán)境的程序代碼情況下的輸入輸出文件的ー個(gè)例子。圖23表示生成用于正式開發(fā)的程序代碼情況下的輸出文件的ー個(gè)例子。圖24是表示程序代碼生成處理的詳細(xì)順序的流程圖。圖25A是表示模型中所含組件的設(shè)定信息提取處理的詳細(xì)順序的流程圖。圖25B是表示模型中所含組件的設(shè)定信息提取處理的詳細(xì)順序的流程圖。圖26是表示生成對應(yīng)于執(zhí)行架構(gòu)的組件的設(shè)定的處理順序的流程圖。圖27是本發(fā)明第一實(shí)施方式的圖。圖中100-模型開發(fā)支援系統(tǒng),102-存儲(chǔ)器,103-外部存儲(chǔ)裝置,104-總線,105-外部接ロ,106-輸入裝置,107-輸出裝置,108-通信裝置,110P-模型設(shè)計(jì)信息解析程序,120P-組件設(shè)定生成程序,130P-組件執(zhí)行架構(gòu)決定程序,140P-程序代碼生成程序,150-輸入模型設(shè)計(jì)信息存儲(chǔ)部,160-各架構(gòu)組件一覽存儲(chǔ)部,170-輸入畫面模型存儲(chǔ)部,190-網(wǎng)絡(luò),191-模型開發(fā)環(huán)境,192-模型審閱環(huán)境。
具體實(shí)施例方式以下,針對本發(fā)明的一種實(shí)施方式所涉及的模型開發(fā)支援系統(tǒng),參照附圖進(jìn)行說明。本實(shí)施方式所涉及的模型開發(fā)支援系統(tǒng)是根據(jù)原型開發(fā)時(shí)開發(fā)出的畫面模型程序自動(dòng)生成正式系統(tǒng)用的程序代碼的程序自動(dòng)生成裝置,能夠?qū)崿F(xiàn)從畫面模型向正式系統(tǒng)完全轉(zhuǎn)移。由此,防止使用模型與客戶取得意見一致的規(guī)格與實(shí)際開發(fā)出的畫面程序產(chǎn)生不一致,并且,通過具有例如下文說明的構(gòu)成或者功能實(shí)現(xiàn)了削減畫面程序再開發(fā)工作量這ー目的。(I)預(yù)先準(zhǔn)備不同執(zhí)行架構(gòu)中功能等價(jià)的組件。(2)對于開發(fā)者所輸入的畫面模型信息對應(yīng)的組件,通過執(zhí)行架構(gòu)進(jìn)行自動(dòng)選擇以及自動(dòng)補(bǔ)足設(shè)定。(3)記錄針對預(yù)先準(zhǔn)備的組件外的功能補(bǔ)寫的信息。(4)自動(dòng)生成與執(zhí)行架構(gòu)對應(yīng)的程序代碼。圖I是本實(shí)施方式所涉及的模型開發(fā)支援系統(tǒng)100的整體構(gòu)成圖。如該圖所示,本系統(tǒng)100經(jīng)由網(wǎng)絡(luò)190與模型開發(fā)環(huán)境191以及模型審閱環(huán)境192連接。模型開發(fā)環(huán)境191是開發(fā)者進(jìn)行畫面模型的制作或者修正的開發(fā)環(huán)境。模型審閱環(huán)境192是用于使模型運(yùn)行的環(huán)境,是用于顧客審閱等的運(yùn)行環(huán)境。模型開發(fā)環(huán)境191以及模型審閱環(huán)境192也可以包含在模型開發(fā)支援系統(tǒng)100中。如該圖所示,模型開發(fā)支援系統(tǒng)100具有CPU (Central Processing Unit) 101、存儲(chǔ)器102以及外部接ロ 105,它們經(jīng)由總線104相互連接。外部接ロ 105連接有外部存儲(chǔ)裝置103、輸入裝置106、輸出裝置107以及通信裝置 108。外部存儲(chǔ)裝置103保存作為CPUlOl中執(zhí)行的處理程序的模型設(shè)計(jì)信息解析程序110P、組件設(shè)定生成程序120P、組件執(zhí)行架構(gòu)決定程序130P以及程序代碼生成程序140P。而且,外部存儲(chǔ)裝置103具有輸入模型設(shè)定信息存儲(chǔ)部150、各架構(gòu)組件一覽存儲(chǔ)部160和輸入畫面模型存儲(chǔ)部170。 圖2表示模型開發(fā)支援系統(tǒng)100的功能構(gòu)成圖。模型開發(fā)支援系統(tǒng)100具有由CPUlOl分別執(zhí)行模型設(shè)計(jì)信息解析程序110P、組件設(shè)定生成程序120P、組件執(zhí)行架構(gòu)決定程序130P以及程序代碼生成程序140P生成的模型設(shè)計(jì)信息解析部110、組件設(shè)定生成部120、組件執(zhí)行架構(gòu)決定部130以及程序代碼生成部140。輸入畫面模型存儲(chǔ)部170中存儲(chǔ)輸入畫面模型數(shù)據(jù)。在本實(shí)施方式中,輸入畫面模型數(shù)據(jù)中包含畫面模型程序1720(參照圖3)、組件設(shè)定文件1730(參照圖4)和執(zhí)行架構(gòu)定義信息1760 (參照圖5)。這些輸入畫面模型數(shù)據(jù)經(jīng)由輸入裝置106或者通信裝置108輸入,通過模型設(shè)計(jì)信息解析部110向輸入畫面模型存儲(chǔ)部170寫入。圖3是畫面模型程序1720的說明圖。畫面模型程序1720是以軟件的⑶I (Graphical User Interface)為中心記述的源程序,通過能夠由本發(fā)明的模型設(shè)計(jì)信息解析部110進(jìn)行解析地對命名規(guī)則或者特定的屬性進(jìn)行定義等依照一定的規(guī)則進(jìn)行記述。圖3的例子是基于Flex (R)的畫面模型程序。該圖A是畫面模型程序1720的腳本。該圖B表示將執(zhí)行畫面模型程序1720的結(jié)果進(jìn)行顯示的模型畫面1710的ー個(gè)例子。字符串輸入欄1711、1712以及1713分別由元素1721、1722以及1723定義,為了表示對動(dòng)態(tài)數(shù)據(jù)進(jìn)行處理,在id屬性中分別輸入了數(shù)據(jù)名稱(Shimei、Bukamei、ShainBangou)。按鈕1714由元素1724定義,為了表示在點(diǎn)擊時(shí)產(chǎn)生某種運(yùn)行,輸入了事件名稱(SearchEvent)作為點(diǎn)擊屬性。圖4是組件設(shè)定文件1730的說明圖。組件設(shè)定文件1730是記述與從畫面模型程序1720所示的模型畫面調(diào)用的組件相關(guān)的設(shè)定的文件。例如,組件設(shè)定文件1730具有組件的類別1731、作為用于對組件進(jìn)行設(shè)定的屬性數(shù)據(jù)的組件名稱1732、檢索關(guān)鍵字輸入畫面1733、檢索條件1734、觸發(fā)事件1735以及檢索結(jié)果輸出畫面1736、以及該組件不能實(shí)現(xiàn)的、與顧客所希望的事情相關(guān)的顧客要求1737。該圖的例子記述了通過圖3所示畫面模型程序1720的觸發(fā)事件SearchEvent進(jìn)行運(yùn)行的組件的設(shè)定。圖5是執(zhí)行架構(gòu)定義信息1760的說明圖。執(zhí)行架構(gòu)定義信息1760是指定正式系統(tǒng)中的執(zhí)行架構(gòu)的信息。此處,架構(gòu)包含物理上以及邏輯上的架構(gòu),例如包含如何配置物理上的計(jì)算機(jī)的構(gòu)成(例如獨(dú)立型或者客戶機(jī)-服務(wù)器結(jié)構(gòu)等)、各機(jī)器上的執(zhí)行平臺(tái)以及在該執(zhí)行平臺(tái)上運(yùn)行的組件的構(gòu)成等。如該圖所示,執(zhí)行架構(gòu)定義信息1760包含架構(gòu)執(zhí)行平臺(tái)設(shè)定1761、組件配置概要設(shè)定1763以及組件配置詳細(xì)設(shè)定1764。
架構(gòu)執(zhí)行平臺(tái)設(shè)定1761針對軟件架構(gòu)中程序的執(zhí)行平臺(tái)進(jìn)行定義。在該圖的例子中,設(shè)定有作為客戶機(jī)開發(fā)語言1762的Flex(R)、作為服務(wù)器開發(fā)語言的Java(注冊商標(biāo))(R)、作為數(shù)據(jù)庫的RDB (Relational DataBase)產(chǎn)品HiRDB(R)。而且,出于使模型直接向正式開發(fā)轉(zhuǎn)移這一本發(fā)明的目的,客戶機(jī)開發(fā)語言1762由于屬于與畫面模型的開發(fā)語言相同的語言,因此可以不需開發(fā)者進(jìn)行定義。組件配置概要設(shè)定1763以組件的群組單位定義在架構(gòu)上的哪個(gè)位置配置程序。在該圖的例子中,設(shè)定為畫面群組配置在客戶機(jī)上,邏輯群組以及數(shù)據(jù)群組配置在服務(wù)器上。組件配置詳細(xì)設(shè)定1764詳細(xì)敘述關(guān)于架構(gòu)執(zhí)行平臺(tái)設(shè)定1761以及組件配置概要設(shè)定1763的定義的例外。組件配置詳細(xì)設(shè)定1764中,設(shè)定組件類別1765、組件的配置1766 以及組件的執(zhí)行平臺(tái)1767。在該圖的例子中,設(shè)定為數(shù)據(jù)群組的暫時(shí)數(shù)據(jù)保管組件配置在客戶機(jī)上,執(zhí)行平臺(tái)為Flex(R)。此處,圖6中表示用于執(zhí)行模型的架構(gòu)的模型執(zhí)行架構(gòu)Al,圖7表示用于執(zhí)行正式系統(tǒng)的架構(gòu)的正式執(zhí)行架構(gòu)A2。圖6的模型執(zhí)行架構(gòu)Al是獨(dú)立型構(gòu)成,是在基本OS (Operating System :操作系統(tǒng))、Web瀏覽器以及Adobe Flash Player (R)構(gòu)成的執(zhí)行平臺(tái)AlO中畫面群組、邏輯群組以及數(shù)據(jù)群組的組件程序A12進(jìn)行運(yùn)行的架構(gòu)。圖7的正式執(zhí)行架構(gòu)A2對應(yīng)于圖5的執(zhí)行架構(gòu)定義信息1760。也就是,該圖的正式執(zhí)行架構(gòu)A2是客戶機(jī)-服務(wù)器構(gòu)成,在客戶機(jī)端,在基本OS、Web瀏覽器以及Adobe Flash Player (R)構(gòu)成的執(zhí)行平臺(tái)A20中,畫面群組、以及數(shù)據(jù)暫時(shí)保管的組件程序A21進(jìn)行運(yùn)行,在服務(wù)器端,在Java(R)虛擬機(jī)以及HiRDB(R)構(gòu)成的執(zhí)行平臺(tái)A22中,邏輯群組以及數(shù)據(jù)群組的組件程序A23進(jìn)行運(yùn)行。返回圖2,輸入模型設(shè)計(jì)信息存儲(chǔ)部150中保存模型設(shè)計(jì)信息解析部110對存儲(chǔ)在輸入畫面模型存儲(chǔ)部170中的輸入畫面模型數(shù)據(jù)進(jìn)行解析得到的結(jié)果。輸入模型設(shè)計(jì)信息存儲(chǔ)部150具有畫面模型提取信息存儲(chǔ)部151、模型構(gòu)成組件信息存儲(chǔ)部152、用戶補(bǔ)寫信息存儲(chǔ)部153和架構(gòu)信息存儲(chǔ)部154。輸入模型設(shè)計(jì)信息存儲(chǔ)部150中保存的數(shù)據(jù)的詳細(xì)連同模型設(shè)計(jì)信息解析部110的處理后述。各架構(gòu)組件一覽存儲(chǔ)部160中存儲(chǔ)對各種架構(gòu)預(yù)先定義的、包含多個(gè)組件類別的組件的規(guī)格的組件數(shù)據(jù)。例如,各架構(gòu)組件一覽存儲(chǔ)部160中存儲(chǔ)組件ー覽1610、組件設(shè)定屬性定義1620、各架構(gòu)組件代碼塊組1630和界面生成用代碼塊1640。圖8是表示能夠在本系統(tǒng)中使用的組件的一覽的組件ー覽1610的ー個(gè)例子。例如該圖所示,組件ー覽1610包含作為數(shù)據(jù)項(xiàng)目的架構(gòu)群組1611、項(xiàng)目編號1612和組件類別1613。架構(gòu)群組1611是各組件所屬的架構(gòu)的群組,在本實(shí)施方式中,具有“畫面”、“邏輯”以及“數(shù)據(jù)”。這與上述的組件程序的群組對應(yīng)。項(xiàng)目編號1612是組件類別1613所涉及的組件的識別信息。圖9表示包含各組件的定義信息的組件設(shè)定屬性定義1620的ー個(gè)例子。組件設(shè)定屬性定義1620表示組件的規(guī)格。例如,組件設(shè)定屬性定義1620具有作為數(shù)據(jù)項(xiàng)目的組件項(xiàng)目編號1621、設(shè)定屬性名稱1622、反復(fù)數(shù)1623、數(shù)據(jù)類型1624、默認(rèn)值1625和表示是否必須的必須標(biāo)記1626。
設(shè)定屬性名稱1622表示各組件所具有的屬性項(xiàng)目。也有的如該圖中的“遷移源畫面”那樣與其它項(xiàng)目具有層次關(guān)系。反復(fù)數(shù)1623表示設(shè)定屬性名稱1622所示屬性項(xiàng)目中、對上位層次項(xiàng)目的反復(fù)個(gè)數(shù)。例如,可定義該圖中的“觸發(fā)事件名稱”對于“遷移源畫面名稱”為n個(gè)。默認(rèn)值1625是在用戶沒有設(shè)定值時(shí)設(shè)定的默認(rèn)值。如果默認(rèn)值1625設(shè)定為“唯一 ID”,則意味著該項(xiàng)目由本系統(tǒng)分配任意的唯一 ID。另外,默認(rèn)值1625在等號后連結(jié)有設(shè)定屬性名稱的情況下(例如“=遷移源畫面名稱”),意味著代入與該設(shè)定屬性名稱(遷移源畫面名稱)相同值。并且,如果默認(rèn)值1625為通過 雙引號引用的字符串(例如“AND”),則意味著代入被引用的值本身。必須標(biāo)記1626表示設(shè)定屬性名稱1622是否是必須項(xiàng)目。圖10表示各架構(gòu)組件代碼塊組1630的ー個(gè)例子。各架構(gòu)組件代碼塊組1630包括模型執(zhí)行架構(gòu)用組件以及正式執(zhí)行架構(gòu)用組件雙方。各架構(gòu)組件代碼塊組1630包括不同程序執(zhí)行平臺(tái)的程序代碼塊。各架構(gòu)組件代碼塊組1630存儲(chǔ)表示各組件執(zhí)行時(shí)的環(huán)境的信息。例如,各架構(gòu)組件代碼塊組1630具有作為數(shù)據(jù)項(xiàng)目的組件項(xiàng)目編號1631、執(zhí)行時(shí)配置場所1632、執(zhí)行平臺(tái)1633和程序代碼塊保存場所1634。也就是,通過各架構(gòu)組件代碼塊組1630,表示組件項(xiàng)目編號163 I的組件在通過執(zhí)行時(shí)配置場所1632所示的服務(wù)器或者客戶機(jī)的由執(zhí)行平臺(tái)1633所示的執(zhí)行平臺(tái)上進(jìn)行運(yùn)行的組件代碼塊保存在程序代碼塊保存場所1634中。圖11表示界面生成用代碼塊1640的ー個(gè)例子。界面生成用代碼塊1640中針對組件間的界面所需的代碼塊進(jìn)行定義。例如,在圖11的例子中表示的是,在客戶機(jī)和服務(wù)器的執(zhí)行平臺(tái)分別為客戶機(jī)側(cè)界面平臺(tái)1641和服務(wù)器側(cè)界面平臺(tái)1642時(shí),界面代碼塊保存場所1643和設(shè)定文件樣板保存場所1644所示的場所中分別保存有界面代碼塊和設(shè)定文件的樣板。接著,圖12是模型設(shè)計(jì)信息解析部110的詳細(xì)功能構(gòu)成圖。也就是,如該圖所示,模型設(shè)計(jì)信息解析部110具有畫面模型解析部111、數(shù)據(jù)結(jié)構(gòu)體提取部112、觸發(fā)事件提取部113、組件設(shè)定信息提取部114、用戶補(bǔ)寫信息提取部116以及執(zhí)行對象架構(gòu)設(shè)定解析部117。畫面模型解析部111從輸入畫面模型存儲(chǔ)部170讀出畫面模型程序1720,根據(jù)程序文件的擴(kuò)展名或者文件的標(biāo)題等特征信息確定畫面模型的開發(fā)語言。畫面模型解析部111參照著各架構(gòu)組件代碼塊組1630 (參照圖10)判定本系統(tǒng)能否應(yīng)對輸入的畫面模型的開發(fā)語言。例如,畫面模型解析部111根據(jù)此處確定的畫面模型程序1720的編程語言是否存在于畫面用的組件(組件項(xiàng)目編號1631從“V”開始,執(zhí)行時(shí)配置場所1632為“客戶機(jī)”)的執(zhí)行平臺(tái)1633來判定是否是本系統(tǒng)能夠應(yīng)對的開發(fā)語言。例如,圖3的畫面模型程序1720的開發(fā)語言為“Flex (R) ”。因此,由于各架構(gòu)組件代碼塊組1630中存在組件項(xiàng)目編號1631從“V”開始、執(zhí)行時(shí)配置場所1632為“客戶機(jī)”、執(zhí)行平臺(tái)1633為“Flex (R) ”的組件,畫面模型解析部111判定能夠執(zhí)行畫面模型程序1720。而且,在本實(shí)施方式中,是使用各架構(gòu)組件代碼塊組1630進(jìn)行的執(zhí)行可能性的判定,也可以預(yù)先準(zhǔn)備好與執(zhí)行平臺(tái)有關(guān)的其它信息并與其進(jìn)行對比。畫面模型解析部111在解析程序時(shí),利用接下來說明的數(shù)據(jù)結(jié)構(gòu)體提取部112以及觸發(fā)事件提取部113。表示畫面模型解析部111的解析結(jié)果的信息保存在畫面模型提取信息存儲(chǔ)部151中。數(shù)據(jù)結(jié)構(gòu)體提取部112從畫面模型程序1720提取與數(shù)據(jù)結(jié)構(gòu)體相關(guān)的記述。此處,數(shù)據(jù)結(jié)構(gòu)體中包括例如設(shè)在模型畫面內(nèi)的數(shù)據(jù)的輸入項(xiàng)目以及輸出項(xiàng)目。數(shù)據(jù)結(jié)構(gòu)體提取部112檢測例如表示結(jié)構(gòu)體的、編程語言的特定屬性,提取定義結(jié)構(gòu)體的元素。例如,在圖3的畫面模型程序1720中,首先將程序文件名稱的“ShainSearch”作為最上位的數(shù)據(jù)結(jié)構(gòu)體提取。進(jìn)而,將文件中定義的元素中作為“id”屬性記述有名稱的元素1721、1722、1723作為ShainSearch結(jié)構(gòu)體中所含的動(dòng)態(tài)數(shù)據(jù)提取。數(shù)據(jù)結(jié)構(gòu)體提取部112提取在畫面模型程序1720中賦予了依照特定規(guī)則定義的數(shù)據(jù)名稱的動(dòng)態(tài)數(shù)據(jù)。圖13表示由數(shù)據(jù)結(jié)構(gòu)體提取部112提取出的數(shù)據(jù)結(jié)構(gòu)體1510的ー個(gè)例子。數(shù)據(jù)結(jié)構(gòu)體1510具有作為數(shù)據(jù)項(xiàng)目的畫面模型程序名稱1511、數(shù)據(jù)結(jié)構(gòu)體構(gòu)成1512、表示層次的深度的級別1513、數(shù)據(jù)類型1514和反復(fù)數(shù)1515。返回圖12,觸發(fā)事件提取部113從畫面模型程序1720提取與觸發(fā)事件相關(guān)的記 述。所謂觸發(fā)事件是指例如在模型畫面內(nèi)接受來自用戶的事件輸入的按鈕。觸發(fā)事件提取部113檢索例如畫面模型程序1720的框架所提供的事件發(fā)生定義。例如,如果為Flex (R),則為“click”或者“keyDown”等事件。如果為圖3的畫面模型程序1720,觸發(fā)事件提取部113將元素1724作為觸發(fā)事件提取。圖14表示由觸發(fā)事件提取部113提取出的觸發(fā)事件1517的ー個(gè)例子。觸發(fā)事件1517具有作為數(shù)據(jù)項(xiàng)目的畫面模型程序名稱1518和觸發(fā)事件名稱1519。返回圖12,組件設(shè)定信息提取部114參照各架構(gòu)組件一覽存儲(chǔ)部160以及輸入畫面模型存儲(chǔ)部170生成從畫面模型程序1720調(diào)用的組件的設(shè)計(jì)信息(構(gòu)成組件設(shè)定信息)。圖15表示由組件設(shè)定信息提取部114生成的組件的設(shè)計(jì)信息、即構(gòu)成組件設(shè)定信息1520的ー個(gè)例子。構(gòu)成組件設(shè)定信息1520具有作為數(shù)據(jù)項(xiàng)目的組件名稱1521、組件類別1522、設(shè)定屬性名稱1523和屬性值1524。例如,組件設(shè)定信息提取部114參照組件ー覽1610 (參照圖8)確定分配給組件設(shè)定文件1730的組件類別1731的項(xiàng)目編號1612。接著,組件設(shè)定信息提取部114根據(jù)組件設(shè)定屬性定義1620(參照圖9)取得此處確定的項(xiàng)目編號1612(1621)的組件所具有的設(shè)定屬性名稱1622。將此處取得的信息存儲(chǔ)到構(gòu)成組件設(shè)定信息1520的各自對應(yīng)的項(xiàng)目。進(jìn)而,組件設(shè)定信息提取部114取得由組件設(shè)定文件1730定義的組件的屬性數(shù)據(jù)1732 1736,保存到構(gòu)成組件設(shè)定信息1520的各自對應(yīng)的設(shè)定屬性名稱1523的屬性值1524。此處,在沒有設(shè)定組件設(shè)定文件1730所對應(yīng)的屬性數(shù)據(jù)時(shí),使屬性值1524為空白。組件設(shè)定信息提取部114提取顧客要求1737中記述的信息,保存到用戶補(bǔ)寫信息存儲(chǔ)部153。另外,組件設(shè)定信息提取部114以及用戶補(bǔ)寫信息提取部116從輸入畫面模型數(shù)據(jù)提取與各架構(gòu)組件一覽存儲(chǔ)部160中存儲(chǔ)的多個(gè)組件類別均不能實(shí)現(xiàn)的功能相關(guān)的記述。例如,在組件設(shè)定文件1730的組件類別1731未登錄在組件ー覽1610(參照圖8)的情況、以及與“畫面及其它”等的“其它”對應(yīng)的情況下,組件設(shè)定信息提取部114將組件類別1522設(shè)定為與各自對應(yīng)的架構(gòu)群組1611的“其它”對應(yīng)的項(xiàng)目編號(V-0,L-0,D-0)。組件類別1522被分類為“其它”的組件的設(shè)定屬性名稱1523以及屬性值1524為空白。因此,該組件非本系統(tǒng)自動(dòng)生成程序代碼的對象。組件類別1522被分類為“其它”的組件的屬性1732 1736以及顧客要求1737中設(shè)定的所有信息被保存到用戶補(bǔ)寫信息存儲(chǔ)部153。用戶補(bǔ)寫信息提取部116根據(jù)輸入畫面模型存儲(chǔ)部170的畫面模型程序1720以及執(zhí)行架構(gòu)定義信息1760提取用戶超出組件中預(yù)先準(zhǔn)備的范圍獨(dú)自定義的程序代碼以及評論,向用戶補(bǔ)寫信息存儲(chǔ)部153進(jìn)行寫入。此處所謂的獨(dú)自定義的程序代碼是指為了實(shí)現(xiàn)本系統(tǒng)生成的部件不能完全應(yīng)對的細(xì)膩的表現(xiàn)等而對組件補(bǔ)寫的程序代碼。用戶補(bǔ)寫信息提取部116可通過組件所規(guī)定的擴(kuò)展部位、與生成代碼的差分檢測來進(jìn)行提取。用戶補(bǔ)寫信息可以是例如不直接定義組件的行為,而是面向正式開發(fā)以文本記述了用戶期望的信息等。用戶補(bǔ)寫信息存儲(chǔ)部153中保存的信息可通過各種方法輸出。例如,可由后述的 程序代碼生成部140通過實(shí)際不進(jìn)行任何運(yùn)行的骨架代碼或者調(diào)用組件時(shí)彈出等作為評論包含在執(zhí)行后續(xù)進(jìn)行某種安裝的顯示的程序代碼內(nèi)。例如,圖27表示輸出保存在用戶補(bǔ)寫信息存儲(chǔ)部153中的信息作為調(diào)用組件時(shí)顯示的彈出的例子。另外,用戶補(bǔ)寫信息存儲(chǔ)部153中保存的信息也可面向正式開發(fā)作為懸案管理表或者規(guī)格明細(xì)單輸出。由此,能夠降低對顧客要求的應(yīng)對的遺漏。返回圖12,執(zhí)行對象架構(gòu)設(shè)定解析部117基于執(zhí)行架構(gòu)定義信息1760生成表示通過執(zhí)行架構(gòu)定義信息1760指定的執(zhí)行架構(gòu)所對應(yīng)的程序執(zhí)行平臺(tái)的執(zhí)行架構(gòu)設(shè)定信息1540。執(zhí)行架構(gòu)設(shè)定信息1540保存在架構(gòu)信息存儲(chǔ)部154中。亦即,執(zhí)行對象架構(gòu)設(shè)定解析部117針對正式執(zhí)行架構(gòu)生成執(zhí)行架構(gòu)設(shè)定信息1540。圖18表示執(zhí)行架構(gòu)設(shè)定信息1540的ー個(gè)例子。如該圖所示,執(zhí)行架構(gòu)設(shè)定信息1540具有架構(gòu)定義項(xiàng)目1541和屬性值1542。該圖A是根據(jù)執(zhí)行架構(gòu)定義信息1760生成的信息。圖19是通過CPUlOl執(zhí)行組件設(shè)定生成程序120P時(shí)實(shí)現(xiàn)的組件設(shè)定生成部120的功能構(gòu)成圖。也就是,組件設(shè)定生成部120具有對象架構(gòu)補(bǔ)足部121以及組件設(shè)定補(bǔ)足部 123。在不存在執(zhí)行架構(gòu)定義信息1760時(shí),對象架構(gòu)補(bǔ)足部121參照畫面模型程序1720生成設(shè)想在客戶機(jī)上執(zhí)行所有組件的模型的執(zhí)行架構(gòu)的執(zhí)行架構(gòu)設(shè)定信息1540。也就是,在開發(fā)者不指定執(zhí)行架構(gòu)定義信息1760的情況下,本系統(tǒng)中通過模型用的面向原型開發(fā)的架構(gòu)生成程序代碼。圖18B表示不存在執(zhí)行架構(gòu)定義信息1760時(shí)生成的執(zhí)行架構(gòu)設(shè)定信息1540的例子。此時(shí)的編程語言可以與畫面模型程序1720相同。組件設(shè)定補(bǔ)足部123進(jìn)行針對輸入畫面模型數(shù)據(jù)的解析結(jié)果的補(bǔ)足處理。例如,組件設(shè)定補(bǔ)足部123首先驗(yàn)證畫面模型解析部111 組件設(shè)定信息提取部114的提取結(jié)果。例如,組件設(shè)定補(bǔ)足部123可參照數(shù)據(jù)結(jié)構(gòu)體1510、觸發(fā)事件1517以及構(gòu)成組件設(shè)定信息1520和組件設(shè)定屬性定義1620驗(yàn)證以下各點(diǎn)。(I)數(shù)據(jù)結(jié)構(gòu)體1510的數(shù)據(jù)類型1514以及反復(fù)數(shù)1515是否合適(2)構(gòu)成組件設(shè)定信息1520中例如有無雖然是必須項(xiàng)目但是沒有對值進(jìn)行定義的項(xiàng)目等,作為定義的正確性(3)組件設(shè)定屬性定義1620與已提取數(shù)據(jù)結(jié)構(gòu)體1510以及觸發(fā)事件1517是否存在矛盾例如,組件設(shè)定補(bǔ)足部123基于該驗(yàn)證的結(jié)果對必要部位進(jìn)行預(yù)定的補(bǔ)足處理。例如,組件設(shè)定補(bǔ)足部123根據(jù)組件設(shè)定屬性定義1620的必須標(biāo)記1626判定屬性值1524未設(shè)定的設(shè)定屬性名稱1523是否為必須項(xiàng)目。然后,在通過必須標(biāo)記1626設(shè)定為必須項(xiàng)目吋,將對應(yīng)的默認(rèn)值1625設(shè)定為屬性值1524。組件設(shè)定補(bǔ)足部123在進(jìn)行了將上述的默認(rèn)值1625設(shè)定為屬性值1524的處理之后,再次判定構(gòu)成組件設(shè)定信息1520內(nèi)通 過組件設(shè)定屬性定義1620配置了必須標(biāo)記1626的全部必須項(xiàng)目是否設(shè)定了值。在某一個(gè)必須項(xiàng)目沒有被設(shè)定值吋,將該組件的組件類別1522變更為“其它”。這是因?yàn)樵谖丛O(shè)定必須項(xiàng)目的情況下不能生成該組件的能夠執(zhí)行的程序代碼。例如,圖15的構(gòu)成組件設(shè)定信息1520的“觸發(fā)事件”的“輸入畫面名稱⑵”的屬性值1524是未設(shè)定的。于是,在組件設(shè)定補(bǔ)足部123根據(jù)組件設(shè)定屬性定義1620中定義的“=輸入畫面名稱(I)”這ー規(guī)則補(bǔ)足默認(rèn)值后,成為如圖16所示。另外,組件設(shè)定補(bǔ)足部123可以根據(jù)組件設(shè)定文件1730的檢索關(guān)鍵字輸入畫面1733 或者檢索條件 1734 的關(guān)鍵字項(xiàng)目名稱(ShainSearch、Shimei、Bukamei、ShainBangou)是否存在于數(shù)據(jù)結(jié)構(gòu)體1510的數(shù)據(jù)結(jié)構(gòu)體構(gòu)成1512中來確認(rèn)匹配狀態(tài)?;蛘?,組件設(shè)定補(bǔ)足部123針對組件設(shè)定文件1730的觸發(fā)事件名稱1735 (SearchEvent)也可根據(jù)是否與觸發(fā)事件1517的觸發(fā)事件名稱1519 —致來確認(rèn)匹配狀態(tài)。再次參照圖2,組件執(zhí)行架構(gòu)決定部130基于組件的設(shè)計(jì)信息選擇在設(shè)定的程序執(zhí)行平臺(tái)上運(yùn)行的程序代碼塊。程序代碼生成部140對選擇出的程序代碼塊設(shè)定屬性數(shù)據(jù),生成程序代碼。組件執(zhí)行架構(gòu)決定部130參照構(gòu)成組件設(shè)定信息1520以及各架構(gòu)組件代碼塊組1630確定為了實(shí)現(xiàn)執(zhí)行架構(gòu)設(shè)定信息1540中定義的架構(gòu)所需的程序代碼塊。組件執(zhí)行架構(gòu)決定部130在構(gòu)成組件設(shè)定信息1520中追加此處確定的信息。以下說明組件執(zhí)行架構(gòu)決定部130所進(jìn)行的處理的具體例子。首先,組件執(zhí)行架構(gòu)決定部130根據(jù)構(gòu)成組件設(shè)定信息1520 (參照圖15、圖16)確定對象組件。例如,此處將“ShainSearchAction”作為對象。組件執(zhí)行架構(gòu)決定部130以對象組件“ ShainSearchAction”的組件類別1522 “L-1”作為關(guān)鍵字,根據(jù)組件ー覽1610(參照圖8)確定對應(yīng)的架構(gòu)群組1611 “邏輯群組”。接著,組件執(zhí)行架構(gòu)決定部130由執(zhí)行架構(gòu)設(shè)定信息1540(參照圖18A)的“組件配置概要設(shè)定”確定配置有“邏輯群組”的機(jī)器為“服務(wù)器”。進(jìn)而,組件執(zhí)行架構(gòu)決定部130確定服務(wù)器開發(fā)語言為“Java (R) ”。接著,組件執(zhí)行架構(gòu)決定部130以通過上述的處理取得的組件項(xiàng)目編號“L-1”、架構(gòu)定義信息“服務(wù)器”、服務(wù)器開發(fā)語言“Java (R) ”這三個(gè)信息作為關(guān)鍵字,檢索各架構(gòu)組件代碼塊組1630(參照圖10)的組件項(xiàng)目編號1631、執(zhí)行時(shí)配置場所1632以及執(zhí)行平臺(tái)1633,由符合的記錄1635取得對應(yīng)的程序代碼塊保存場所1634 “/logicparts/sv/java/ト1”。組件執(zhí)行架構(gòu)決定部130將通過以上處理確定的、由執(zhí)行時(shí)配置場所以及執(zhí)行平臺(tái)構(gòu)成的執(zhí)行架構(gòu)1525以及代碼塊保存場所1526在構(gòu)成組件設(shè)定信息1520中作為項(xiàng)目追加。圖17表示補(bǔ)足了執(zhí)行架構(gòu)1525以及代碼塊保存場所1526后的組件設(shè)定信息的例子。圖20是通過CPUlOl執(zhí)行程序代碼生成程序140P時(shí)實(shí)現(xiàn)的程序代碼生成部140的功能構(gòu)成圖。也就是,程序代碼生成部140具有組件執(zhí)行代碼生成部141以及組件間界面代碼生成轉(zhuǎn)換部142。組件執(zhí)行代碼生成部141參照構(gòu)成組件設(shè)定信息1520從代碼塊保存場所1526取得程序代碼塊,生成與各組件對應(yīng)的執(zhí)行程序代碼。例如,組件執(zhí)行代碼生成部141根據(jù)構(gòu)成組件設(shè)定信息1520的代碼塊保存場所1526所規(guī)定的場所取得各設(shè)定屬性名稱1523的程序代碼塊,將屬性值1524的值嵌入該代碼塊,在進(jìn)行轉(zhuǎn)換的同時(shí)生成該組件用的執(zhí)行程序代碼。屬性值1524中還包含默認(rèn)值1625。亦即,組件執(zhí)行代碼生成部141將默認(rèn)值1625嵌入程序代碼塊,生成執(zhí)行程序代碼。 組件間界面代碼生成轉(zhuǎn)換部142參照構(gòu)成組件設(shè)定信息1520以及界面生成用代碼塊1640生成組件間的界面程序代碼以及界面用設(shè)定文件。例如,組件間界面代碼生成轉(zhuǎn)換部142參照執(zhí)行架構(gòu)1525確定服務(wù)器的執(zhí)行平臺(tái)以及客戶機(jī)的執(zhí)行平臺(tái)的組合,確定界面生成用代碼塊1640中與其對應(yīng)的界面代碼塊保存場所1643以及設(shè)定文件樣板保存場所1644,從此取得界面代碼塊以及設(shè)定文件樣板。組件間界面代碼生成轉(zhuǎn)換部142進(jìn)而在此處取得的樣板文件中設(shè)定通過在服務(wù)器的執(zhí)行平臺(tái)中運(yùn)行的組件以及在客戶機(jī)的執(zhí)行平臺(tái)中運(yùn)行的組件規(guī)定的調(diào)用方式名稱以及數(shù)據(jù)類型等,生成界面用設(shè)定文件。另外,組件間界面代碼生成轉(zhuǎn)換部142讀入畫面模型程序1720,針對為了提取信息而規(guī)定的特殊記載方法的部分,為了能夠在執(zhí)行平臺(tái)中編譯,進(jìn)行文本轉(zhuǎn)換。針對具有以上所說明的構(gòu)成的模型開發(fā)支援系統(tǒng)100進(jìn)行處理時(shí)的處理順序進(jìn)行說明。首先,圖21是表示使用本系統(tǒng)100的模型開發(fā)整體的順序的流程圖。另外,圖22表示生成用于模型執(zhí)行架構(gòu)的程序代碼情況下的輸入輸出文件的ー個(gè)例子。圖23表示生成用于正式執(zhí)行架構(gòu)的程序代碼情況下的輸出文件的ー個(gè)例子。使用圖21、圖22以及圖23主要針對面向本系統(tǒng)100的輸入和輸出進(jìn)行說明。步驟10中,以原型開發(fā)為目的,開發(fā)者通過模型開發(fā)環(huán)境191進(jìn)行畫面模型的制作或者修正。此處,生成圖22中作為輸入信息1701表示的、畫面模型程序 1720 ( “ShainSearch. mxml” 以及“ShainList. mxml” )和組件設(shè)定文件1730 (ShainSearchAction 以及 “MoveSearchToList,,)。而且,“ShainList. mxml”是表示員エー覽圖像的畫面模型程序,“MoveSearchToList”是用于實(shí)現(xiàn)從ShainSearch畫面向ShainList畫面的畫面遷移的、組件類別為“畫面遷移”的組件設(shè)定文件。步驟20中,基于上述的輸入信息1701生成面向模型執(zhí)行架構(gòu)的程序代碼。此處,生成面向模型執(zhí)行架構(gòu)的程度代碼而非面向正式執(zhí)行架構(gòu),是因?yàn)檩斎胄畔?701中不包括執(zhí)行架構(gòu)定義信息1760。通過步驟20生成的面向原型開發(fā)執(zhí)行架構(gòu)的程序代碼是圖22中作為輸出結(jié)果1801顯示的各程序文件1811 1833。關(guān)于步驟20的詳細(xì)處理,將在下文中敘述。而且,“ShainSearch.mxml ”1811 以及 “ShainList. mxml ”1812 分別是將畫面模型程序1720的“ ShainSearch. mxml”以及“ShainList. mxml ”轉(zhuǎn)換后的執(zhí)行格式的程序?!癕oveSearchToList. as” 1813 是基于組件設(shè)定文件 1750 的 “MoveSearchToList.as”生成的畫面遷移程序文件?!癕oveSearchToList. as” 1821是基于組件設(shè)定文件1730 的“ MoveSearchToList. as” 生成的檢索程序文件?!?ShainSearchTmp. as” 1831、“ShainListTmp. as”1832以及“ShainData. as”1833是保管根據(jù)畫面模型程序1720中記述的動(dòng)態(tài)數(shù)據(jù)的信息生成的數(shù)據(jù)結(jié)構(gòu)體的程序文件。步驟30中,開發(fā)者在模型開發(fā)環(huán)境191中創(chuàng)建步驟20中生成的程序,確認(rèn)運(yùn)行。步驟40中,基于步驟30的運(yùn)行確認(rèn)結(jié)果,判斷是否實(shí)施顧客審閱。如果開發(fā)者判斷為實(shí)施顧客審閱則進(jìn)入步驟50,如果判斷為不實(shí)施審閱,則返回步驟10。步驟50中,使用模型審閱環(huán)境192使通過步驟20生成的程序運(yùn)行,實(shí)施顧客審閱。此時(shí),可以將從顧客得到的評論記錄在畫面模型程序或者組件設(shè)定文件、或者懸案管理表等中,使得日后能夠閱覽。 步驟60中,基于步驟50的顧客審閱結(jié)果,判斷是否向正式開發(fā)轉(zhuǎn)移。如果判斷為向正式開發(fā)轉(zhuǎn)移則進(jìn)入步驟70,如果判斷為不向正式開發(fā)轉(zhuǎn)移則返回步驟10。步驟70中,開發(fā)者定義正式開發(fā)用的正式執(zhí)行架構(gòu)定義信息1760(參照圖5)。步驟80中,生成面向正式執(zhí)行架構(gòu)的程序代碼。步驟80的詳細(xì)處理順序與步驟20相同。此處生成的面向正式執(zhí)行架構(gòu)的程序代碼是圖23中作為輸出結(jié)果1802顯示的程序文件1811 1833。而且,輸出結(jié)果1802中除了通過步驟20生成的各程序1812、1813、1831、1832,還包含以下的程序等。也就是,輸出結(jié)果1802中包括將畫面版式1710以及組件設(shè)定文件1730分別轉(zhuǎn)換后的執(zhí)行格式的程序“ShainSearch. mxml” 1841以及“ShainSearchAction.java” 1843、用于在服務(wù)器中存在的數(shù)據(jù)庫中定義從畫面模型程序1720提取出的數(shù)據(jù)結(jié)構(gòu)體定義的程序文件“ShainData. dml” 1844、用于在不同架構(gòu)間執(zhí)行方式的調(diào)用等的界面文件“ActionMapping. as” 1842、“RemotingConfig. xml” 1845。通過使用本系統(tǒng)100,能夠容易地從模型程序轉(zhuǎn)移到正式開發(fā)。接著,基于圖24至圖26的流程圖詳細(xì)說明步驟20的處理。圖24是表示程序代碼生成處理的詳細(xì)順序的流程圖。首先,模型設(shè)計(jì)信息解析部110受理開發(fā)者輸入的畫面模型程序1720、組件設(shè)定文件1730以及執(zhí)行架構(gòu)定義信息畫面1760,保存在輸入畫面模型存儲(chǔ)部170中(步驟200)。模型設(shè)計(jì)信息解析部110從通過步驟200受理的信息提取用于設(shè)定構(gòu)成模型的組件的輸入模型信息(步驟210)。步驟210的詳細(xì)處理(圖25A以及圖25B所示)后述。接著,組件設(shè)定生成部120根據(jù)面向原型開發(fā)或者面向正式開發(fā)這樣的執(zhí)行架構(gòu)生成組件的設(shè)定(步驟220)。步驟220的詳細(xì)處理(圖26所示)后述。組件執(zhí)行代碼生成部141生成執(zhí)行程序代碼(步驟230)。例如,組件執(zhí)行代碼生成部141讀入模型構(gòu)成組件信息存儲(chǔ)部152的構(gòu)成組件設(shè)定信息1520。然后,從記錄在構(gòu)成組件設(shè)定信息1520中的代碼塊保存場所1526取得用于生成的、各程序執(zhí)行架構(gòu)組件代碼塊。進(jìn)而,嵌入到取得了屬性值1524的代碼塊,在進(jìn)行轉(zhuǎn)換的同時(shí)生成該組件用的執(zhí)行程序代碼。組件間界面代碼生成轉(zhuǎn)換部142生成組件間的界面用代碼(步驟240)。例如,組件間界面代碼生成轉(zhuǎn)換部142針對通過步驟230生成的各組件的執(zhí)行程序代碼,能夠相互協(xié)同地參照著界面生成用代碼塊1640生成界面用代碼。另外,從輸入畫面模型存儲(chǔ)部170讀入畫面模型程序1720,針對用于提取信息而規(guī)定的特殊記載方法的部分,為了能夠在執(zhí)行平臺(tái)中編譯,進(jìn)行文本轉(zhuǎn)換。接著,圖25A以及圖25B是表示模型中所含組件的設(shè)定信息提取處理的詳細(xì)順序的流程圖。模型設(shè)計(jì)信息解析部110判定輸入畫面模型存儲(chǔ)部170中是否存在執(zhí)行架構(gòu)定義信息1760(步驟2101)。在不存在執(zhí)行架構(gòu)定義信息1760時(shí)(步驟2101 :否),跳過步驟2102以及步驟2103。在存在執(zhí)行架構(gòu)定義信息1760時(shí)(步驟2101 :是),執(zhí)行對象架構(gòu)設(shè)定解析部117參照執(zhí)行架構(gòu)定義信息1760,從執(zhí)行架構(gòu)定義信息1760提取執(zhí)行架構(gòu)設(shè)定信息1540(參 照圖18(a))(步驟2102)。此處提取出的執(zhí)行架構(gòu)設(shè)定信息1540保存到架構(gòu)信息存儲(chǔ)部154。執(zhí)行對象架構(gòu)設(shè)定解析部117參照界面生成用代碼塊1640 (參照圖11),判定本系統(tǒng)能否應(yīng)對執(zhí)行架構(gòu)定義信息1760 (步驟2103)。例如,執(zhí)行對象架構(gòu)設(shè)定解析部117根據(jù)輸入的執(zhí)行架構(gòu)定義的架構(gòu)執(zhí)行平臺(tái)設(shè)定1761或者組件配置詳細(xì)設(shè)定1864所記述的客戶機(jī)和服務(wù)器的定義的組合是否存在于客戶機(jī)側(cè)界面平臺(tái)1641和服務(wù)器側(cè)界面平臺(tái)1642中進(jìn)行判定。根據(jù)步驟2102的判定,在本系統(tǒng)不能應(yīng)對的情況下(步驟2103 :否),本系統(tǒng)100輸出預(yù)定的錯(cuò)誤消息名稱等,結(jié)束處理(步驟2111)。在本系統(tǒng)能夠應(yīng)對的情況下(步驟2103 :是),畫面模型解析部111確定畫面模型程序1720中所使用的語言(步驟2104)。例如,畫面模型解析部111根據(jù)畫面模型程序1720的程序文件的擴(kuò)展名或者文件的標(biāo)題等特征信息確定畫面模型的開發(fā)語言。表示此處確定的開發(fā)語言的信息保存到畫面模型提取信息存儲(chǔ)部151中。畫面模型解析部111參照各架構(gòu)組件代碼塊組1630 (參照圖10)判定此處確定的開發(fā)語言是否是本系統(tǒng)中正在進(jìn)行應(yīng)對的語言(步驟2105)。例如,可以通過執(zhí)行平臺(tái)1633中是否存在通過步驟2104確定的畫面模型的開發(fā)語言來判定本系統(tǒng)能否應(yīng)對。此處,在畫面模型的開發(fā)語言不與本系統(tǒng)對應(yīng)時(shí)(步驟2105 :否),輸出預(yù)定的錯(cuò)誤消息名稱等,結(jié)束處理(步驟2111)。接著,針對保存在輸入畫面模型存儲(chǔ)部170中的所有畫面模型程序1720,反復(fù)執(zhí)行以下說明的步驟2107至2110(步驟2106)。畫面模型解析部111從輸入畫面模型存儲(chǔ)部1710讀入處理對象的畫面模型程序1720(步驟 2107)。數(shù)據(jù)結(jié)構(gòu)體提取部112從處理對象的畫面模型程序1720提取數(shù)據(jù)結(jié)構(gòu)體1510,保存到畫面模型提取信息存儲(chǔ)部151 (步驟2108)。觸發(fā)事件提取部113從處理對象的畫面版式1710提取觸發(fā)事件1517,保存到畫面模型提取信息存儲(chǔ)部151 (步驟2109)。用戶補(bǔ)寫信息提取部116從處理對象的畫面版式1710提取開發(fā)者獨(dú)自定義的程序代碼,保存到用戶補(bǔ)寫信息存儲(chǔ)部153 (步驟2110)。
在針對所有畫面模型程序1720結(jié)束上述處理后,組件設(shè)定生成部120針對輸入畫面模型存儲(chǔ)部170內(nèi)的所有組件設(shè)定文件1730反復(fù)執(zhí)行以下說明的步驟2113至2120(步驟2111)。由此,從組件設(shè)定文件1730提取構(gòu)成畫面模型的構(gòu)成組件設(shè)定信息1520。組件設(shè)定信息提取部114從輸入畫面模型存儲(chǔ)部170讀入成為處理對象的組件設(shè)定文件1730(步驟2112)。然后,組件設(shè)定信息提取部114判定處理對象的組件設(shè)定文件1730是否滿足組件設(shè)定所需的屬性(步驟2113)。在組件的設(shè)定所需的屬性不足的情況下(步驟2113 :否),本系統(tǒng)100輸出用于通知不足的設(shè)定信息的預(yù)定信息,通知給開發(fā)者(步驟2114)。在組件的設(shè)定所需的屬性滿足的情況下(步驟2113 :是),組件設(shè)定信息提取部114參照組件設(shè)定屬性定義1620從處理對象的組件設(shè)定文件1730提取構(gòu)成組件設(shè)定信息1520(參照圖15)(步驟2115)。 組件設(shè)定信息提取部114驗(yàn)證此處提取出的構(gòu)成組件設(shè)定信息1520是否是不具有不匹配,是否是有效的信息(步驟2116)。如果構(gòu)成組件設(shè)定信息1520中存在不匹配(步驟2117 :否),則組件設(shè)定信息提取部114輸出用于通知檢測出的不匹配的預(yù)定信息,通知給開發(fā)者(步驟2118)。組件設(shè)定信息提取部114將通過步驟2115提取出的構(gòu)成組件設(shè)定信息1520保存在模型構(gòu)成組件信息存儲(chǔ)部152中(步驟2119)。而且,如果通過步驟2116檢測出了不匹配,將不匹配信息也一井寫入。用戶補(bǔ)寫信息提取部116由組件設(shè)定文件提取顧客要求(用戶追加信息)1737,寫入到用戶補(bǔ)寫信息存儲(chǔ)部153 (步驟2120)。而且,處理對象的組件設(shè)定文件1730中記述的組件類別1731是組件設(shè)定屬性定義1620中未設(shè)定的未定義的組件吋,處理對象的組件設(shè)定文件1730中記述的信息全部保存到用戶補(bǔ)寫信息存儲(chǔ)部153。由此,從開發(fā)者輸入的輸入畫面模型數(shù)據(jù)提取出了所期望的信息。接著,圖26是表示生成對應(yīng)于執(zhí)行架構(gòu)的組件的設(shè)定的處理順序的流程圖。對象架構(gòu)補(bǔ)足部121參照架構(gòu)信息存儲(chǔ)部154判定是否存在與開發(fā)者指定的執(zhí)行架構(gòu)定義信息1760對應(yīng)的執(zhí)行架構(gòu)設(shè)定信息1540(步驟2201)。在不存在執(zhí)行架構(gòu)設(shè)定信息1540時(shí)(步驟2201 :否),判斷為以模型執(zhí)行架構(gòu)執(zhí)行程序,對象架構(gòu)補(bǔ)足部121設(shè)定在客戶機(jī)上執(zhí)行所有組件的架構(gòu)(步驟2202)。架構(gòu)的語言是從畫面模型提取信息存儲(chǔ)部151讀出通過步驟2104提取出的畫面模型的開發(fā)語言來使用。組件設(shè)定補(bǔ)足部123針對模型構(gòu)成組件信息存儲(chǔ)部152中存儲(chǔ)的構(gòu)成組件設(shè)定信息1520的各組件適用從步驟2204至步驟2210的處理(步驟2203)。組件設(shè)定補(bǔ)足部123從模型構(gòu)成組件信息存儲(chǔ)部152讀出與一個(gè)組件相關(guān)的信息(步驟 2204)。組件設(shè)定補(bǔ)足部123以通過步驟2204讀出的對象組件的組件類別1522為關(guān)鍵字,參照組件ー覽1610取得組件類別1613。此處取得的組件類別1613無效時(shí),進(jìn)入步驟2208(步驟 2205 :否)。在取得了有效的組件類別1613時(shí)(步驟2205 :是),組件設(shè)定補(bǔ)足部123針對作為對象的組件,在屬性值1524為空白的項(xiàng)目中補(bǔ)足預(yù)定的默認(rèn)值(步驟2206)。這如已經(jīng)說明的那樣,對象架構(gòu)補(bǔ)足部121參照組件設(shè)定屬性定義1620確定對應(yīng)的項(xiàng)目的默認(rèn)值1625,將其補(bǔ)足。組件設(shè)定補(bǔ)足部123進(jìn)而針對作為對象的組件,判定通過組件設(shè)定屬性定義1620配置有必須標(biāo)記1626的必須項(xiàng)目是否全部設(shè)定有值(步驟2207)。在通過步驟2205未能取得有效的組件類別1613時(shí),以及通過步驟2207判斷為某ー個(gè)必須項(xiàng)目為未設(shè)定時(shí),由于本系統(tǒng)不能自動(dòng)生成該組件的程序代碼,因此將組件類別I522設(shè)定為“其它”(步驟2208)。組件執(zhí)行架構(gòu)決定部130參照著架構(gòu)信息存儲(chǔ)部154以及各架構(gòu)組件代碼塊組1630,選擇作為對象的組件的程序代碼的自動(dòng)生成所使用的程序代碼塊(步驟2209)。通過程序代碼塊的選擇確定例如執(zhí)行時(shí)配置場所1632、執(zhí)行平臺(tái)1633以及程序代碼塊保存場 所 1634。組件執(zhí)行架構(gòu)決定部130將通過步驟2209確定出的執(zhí)行時(shí)配置場所1632、執(zhí)行平臺(tái)1633以及程序代碼塊保存場所1634作為執(zhí)行架構(gòu)1525以及代碼塊保存場所1525在構(gòu)成組件設(shè)定信息1520中進(jìn)行追加,寫回模型構(gòu)成組件信息存儲(chǔ)部152 (步驟2210)。上述的本發(fā)明的實(shí)施方式是用于對本發(fā)明的說明的舉例說明,意圖不在于將本發(fā)明的范圍僅限定為這些實(shí)施方式。本領(lǐng)域的技術(shù)人員能夠不脫離本發(fā)明要點(diǎn)地以其它各種方式實(shí)施本發(fā)明。
權(quán)利要求
1.ー種程序自動(dòng)生成裝置,其特征在于,具備 存儲(chǔ)模型數(shù)據(jù)的單元,該模型數(shù)據(jù)包括用于顯示畫面的模型程序、從所述畫面調(diào)用的組件的組件類別、用于對所述組件類別的組件設(shè)定的屬性數(shù)據(jù); 存儲(chǔ)組件數(shù)據(jù)的單元,該組件數(shù)據(jù)包括多個(gè)組件類別的組件的規(guī)格; 基于所述模型數(shù)據(jù)以及所述組件數(shù)據(jù)生成從所述畫面調(diào)用的組件的設(shè)計(jì)信息的單元; 存儲(chǔ)指定執(zhí)行架構(gòu)的信息的単元; 基于所述指定執(zhí)行架構(gòu)的信息設(shè)定與被指定的執(zhí)行架構(gòu)對應(yīng)的程序執(zhí)行平臺(tái)的單元; 存儲(chǔ)不同程序執(zhí)行平臺(tái)的程序代碼塊的単元;以及 基于所述組件的設(shè)計(jì)信息選擇在所述設(shè)定的程序執(zhí)行平臺(tái)上運(yùn)行的程序代碼塊,并對選擇出的程序代碼塊設(shè)定所述屬性數(shù)據(jù)來生成程序代碼的單元。
2.根據(jù)權(quán)利要求I所述的程序自動(dòng)生成裝置,其特征在干, 在不存在所述指定執(zhí)行架構(gòu)的信息時(shí),基于預(yù)先設(shè)定的模型用執(zhí)行架構(gòu)來決定所述程序執(zhí)行平臺(tái)。
3.根據(jù)權(quán)利要求2所述的程序自動(dòng)生成裝置,其特征在干, 所述組件數(shù)據(jù)中包含對各組件類別的組件設(shè)定的屬性值的默認(rèn)值, 在所述模型數(shù)據(jù)中不包括所述屬性數(shù)據(jù)時(shí),所述生成程序代碼的單元對所述選擇出的程序代碼塊設(shè)定所述默認(rèn)值。
4.根據(jù)權(quán)利要求3所述的程序自動(dòng)生成裝置,其特征在干, 所述程序自動(dòng)生成裝置還具備從所述模型數(shù)據(jù)提取與所述組件數(shù)據(jù)中所含的多個(gè)組件類別均不能實(shí)現(xiàn)的功能相關(guān)的記述的單元, 所述生成程序代碼的單元使所述提取出的記述包含在程序代碼內(nèi),從而在執(zhí)行從所述畫面調(diào)用組件時(shí)輸出所述提取出的記述。
5.根據(jù)權(quán)利要求2所述的程序自動(dòng)生成裝置,其特征在干, 所述的程序自動(dòng)生成裝置還具備 用于生成所述模型數(shù)據(jù)的模型開發(fā)環(huán)境;以及 使通過所述生成程序代碼的單元生成的程序代碼以及所述模型程序運(yùn)行的模型審閱環(huán)境。
6.一種計(jì)算機(jī)進(jìn)行的程序自動(dòng)生成方法,該計(jì)算機(jī)具有存儲(chǔ)組件數(shù)據(jù)的單元和存儲(chǔ)不同程序執(zhí)行平臺(tái)的程序代碼塊的単元,該組件數(shù)據(jù)包括多個(gè)組件類別的組件的規(guī)格,該程序自動(dòng)生成方法的特征在于,具備以下步驟 存儲(chǔ)模型數(shù)據(jù)的步驟,該模型數(shù)據(jù)包括用于顯示畫面的模型程序、從所述畫面調(diào)用的組件的組件類別、用于對所述組件類別的組件設(shè)定的屬性數(shù)據(jù); 存儲(chǔ)指定執(zhí)行架構(gòu)的信息的步驟; 基于所述模型數(shù)據(jù)以及所述組件數(shù)據(jù)生成從所述畫面調(diào)用的組件的設(shè)計(jì)信息的步驟; 基于所述指定執(zhí)行架構(gòu)的信息設(shè)定與被指定的執(zhí)行架構(gòu)對應(yīng)的程序執(zhí)行平臺(tái)的步驟;以及基于所述組件的設(shè)計(jì)信息選擇在所述設(shè)定的程序執(zhí)行平臺(tái)上運(yùn)行的程序代碼塊,并對選擇出的程序代碼塊設(shè)定所述屬性數(shù)據(jù)來生成程序代碼的步驟。
7.根據(jù)權(quán)利要求6所述的程序自動(dòng)生成方法,其特征在干, 在不存在所述指定執(zhí)行架構(gòu)的信息時(shí),基于預(yù)先設(shè)定的模型用執(zhí)行架構(gòu)來決定所述程序執(zhí)行平臺(tái)。
8.根據(jù)權(quán)利要求7所述的程序自動(dòng)生成方法,其特征在干, 所述組件數(shù)據(jù)中包含對各組件類別的組件設(shè)定的屬性值的默認(rèn)值, 在所述模型數(shù)據(jù)中不包括所述屬性數(shù)據(jù)時(shí),所述生成程序代碼的步驟對所述選擇出的程序代碼塊設(shè)定所述默認(rèn)值。
9.根據(jù)權(quán)利要求8所述的程序自動(dòng)生成方法,其特征在干, 所述程序自動(dòng)生成方法還具備從所述模型數(shù)據(jù)提取與所述組件數(shù)據(jù)中所含的多個(gè)組件類別均不能實(shí)現(xiàn)的功能相關(guān)的記述的步驟, 所述生成程序代碼的步驟使所述提取出的記述包含在程序代碼內(nèi),從而在執(zhí)行從所述畫面調(diào)用組件時(shí)輸出所述提取出的記述。
10.根據(jù)權(quán)利要求7所述的程序自動(dòng)生成方法,其特征在干, 所述程序自動(dòng)生成方法還具備 用于生成所述模型數(shù)據(jù)的模型開發(fā)環(huán)境;以及 使通過所述生成程序代碼的步驟生成的程序代碼以及所述模型程序運(yùn)行的模型審閱環(huán)境。
全文摘要
本發(fā)明提供自動(dòng)程序生成裝置、方法以及計(jì)算機(jī)程序,使用為原型開發(fā)出的畫面模型直接在架構(gòu)不同的正式開發(fā)中沿用。自動(dòng)程序生成裝置具備存儲(chǔ)畫面模型程序(1720)、組件設(shè)定文件(1730)以及執(zhí)行架構(gòu)定義信息(1760)的存儲(chǔ)部(170);存儲(chǔ)組件數(shù)據(jù)的存儲(chǔ)部(160);根據(jù)畫面模型程序(1720)和組件設(shè)定文件(1730)生成組件的設(shè)計(jì)信息,根據(jù)執(zhí)行架構(gòu)定義信息(1760)設(shè)定程序執(zhí)行平臺(tái)的模型設(shè)計(jì)信息解析部(110);基于組件的設(shè)計(jì)信息選擇在設(shè)定的程序執(zhí)行平臺(tái)中運(yùn)行的程序代碼塊的組件架構(gòu)決定部(130);以及,根據(jù)選擇出的程序代碼塊生成程序代碼的程序代碼生成部(140)。
文檔編號G06F9/44GK102736915SQ20121003182
公開日2012年10月17日 申請日期2012年2月13日 優(yōu)先權(quán)日2011年4月12日
發(fā)明者三部良太, 山口潔, 橋本康范, 石川貞裕, 野尻周平 申請人:株式會(huì)社日立制作所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
神池县| 中西区| 全南县| 横山县| 太仓市| 三明市| 西藏| 灵璧县| 藁城市| 繁昌县| 缙云县| 桂平市| 江门市| 汾阳市| 龙泉市| 汝州市| 色达县| 普安县| 昌宁县| 昭平县| 玉环县| 安阳县| 武定县| 庄浪县| 大余县| 辛集市| 永善县| 芜湖市| 十堰市| 正镶白旗| 馆陶县| 绥化市| 桃江县| 辽源市| 昭苏县| 秀山| 屯留县| 衡东县| 曲水县| 开原市| 钟山县|