標題: 一整合型視覺化程式設計環境之研究
The Study of an Integrated Visual Programming Environment
作者: 胡仲華
Hu, Chung-Hua
王豐堅
Feng-Jian Wang
資訊科學與工程研究所
關鍵字: 視覺化程式設計;整合型程式設計環境;物件導向技術;軟體再利用;多人程式設計;群組軟體;visual programming;integrated programming environment;object-oriented technique;software reuse;multi-user programming;groupware
公開日期: 1997
摘要: 在本論文中,我們提出一個以物件導向為基礎的model-view-shape(MVS )架構,並將之用於建構一個需要同時處理程式語意(program semantics)與低階繪圖工作的整合型視覺化程式設計環境上(integrated visual programming environment)。這個架構將環境所要提供的功能以 系統化的方法分解成三類具有層級化(layered)、低耦合(loosely- coupled)特性的元件(component),以至於圖形處理這部份的元件可以更 容易地維護與再利用。根據此等架構,我們使用C++語言設計了一支MVS的 應用程式框架(application framework)。應用程式設計師得以擴充此框 架來快速地建構一支援多語言的視覺化程式設計環境以及環境內所應具備 的工具。目前我們已經成功地製作一個以視窗為基礎(window-based)的視 覺化程式設計環境。此環境包含了一組實用的程式編輯與分析工具,以提 供給單人或多人從事視覺化程式設計。環境內的編輯器能夠藉由提供有用 的輔助,方便使用者以畫圖或是輸入文字的方式來描述程式的流程資訊( flow information),進而提高程式生產力。另一方面,遞增式的流程分 析器(incremental analyzer)能夠立即地分析正在被編輯的程式,以便能 及早發現並回應程式中所產生的錯誤。總而言之,本篇論文主要的貢獻在 於針對此等程式設計環境,詳細地提出一有效的建構技術與流程,以供學 術與企業界參考其經驗,縮短開發環境所需的時間並進而提昇環境的品質 。 This thesis presents an object-oriented architecture, called the model-view-shape (MVS) architecture, for constructing an integrated visual programming environment (IVPE), whose constituent tools deal with fine-grained language semantics as well as a mass of graphics-drawing activities. This architecture enforces a layered and loosely-coupled structure, so that the graphics-handling components may be more maintainable and reusable. An MVS application framework, systematically constructed using C++, can be reused and extended with new semantics to rapidly develop new tools for an existing IVPE or even an IVPE supporting multiple languages. So far a window- based IVPE prototype constructed contains a variety of programming and analysis tools, which enable single or multiple users to develop programs effectively. The current editors can be used to construct programs by specifying the associated flow information in explicit (visual) or implicit (textual) ways. They also ease program development by providing useful programming assistance. Moreover, the incremental flow analyzers can help analyze incomplete program fragments to locate and inform the user of possible errors or anomalies during programming. In summary, this thesis contributes effective techniques for developing an IVPE systematically. The academia and enterprise may apply (and evolve) these techniques to reduce the cost in developing such an environment and improve the product quality.
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT860392004
http://hdl.handle.net/11536/62731
Appears in Collections:Thesis