簡介
可視程式設計是指用可視語言編寫可視程式的方法與過程。在現實生活中用戶所見到的絕大多數對象都是多維的,傳統的程式設計要求把這種多維的對象強行變為一維的符號串描述才能被計算機所接受。可視程式設計允許用戶以二維或多維方式來描述對象。可視程式設計主要沿著兩個方向發展。在一個方向,圖形技術和設備被用來提供程式構造和調試、信息檢索和表示、軟體設計和理解等方面的可視環境。在另一個方向,語言被設計來處理可視(圖象)信息、支持可視互動、用可視表達式編程。
可視環境
可視環境的第1類工作是程式及其運行的可視化。美國Brown大學的PECAN是一個程式開發系統,為用戶程式提供多個視圖。這些視圖可以是程式或者對應語義的表示。程式在內部被表示為一個抽象的語法樹,用戶看到的是它的視圖或具體部分。頭一個視圖是語法制導的編輯器,用多種字型漂亮地顯示語法樹。另一個視圖是Nassi-shneiderman流程圖。第三個視圖是一個反映程式組成的模組連線圖。呈現給用戶的語義視圖包括表達式樹、數據類型圖、流程圖的符號表。所有視圖隨著
抽象語法樹的改變而更新。在程式執行期間,用戶能夠跟蹤程式和進展,每執行一個語句就高亮顯示它的Pascal源程式和自動生成對應的流程圖。棧數據視圖顯示執行棧的當前狀態,包括每個當前棧幀、核中的變數和值。PECAN為用戶並發地顯示程式的不同方面信息,使程式設計師可以直觀監視程式的執行,實際上是一個強有力的可視調試器。
可視環境的第2類工作是數據或信息的可視化。空間數據管理系統SDMS是其中一個例子。SDMS的信息存貯在關係資料庫中,但用圖形方式表達,並且以空間框架式呈現給用戶。這種圖形數據空間GDS由一組
彩色光柵掃描顯示器作視口。用戶用操縱桿漫遊GDS的表面,或者放大圖象得到更多的細節。
前兩類工作導致了可視環境的第3類工作:系統設計的可視化。在支持
軟體生命周期的軟體環境中,圖形技術具有很高的價值。系統的設計、使用和維護人員都可以用圖形方式實現對需求、描述、設計決策、完成的產品等的操作要求。例如,把SDMS擴展為程式可視化(PV)系統,可以支持對並發系統的靜態和動態圖的操作、程式和文檔正文的操作、多維信息空間的建立和遍歷、以及工具的重用和傳遞。這些都可以由圖形和正文部件庫來實現。在PV原型構造的圖是按層次關係連結的圖集。用戶可以用變焦命令指出感興趣的內容,以更詳細的程度觀察模組。
以上3類工作對應了三類對象的可視化一個可視環境可以部分或全部實現這3類對象的可視化。可視化本質上是一種典化型概括。這種可視變換可分為5個典型化層次:
直接表示。將程式和數據的某部分直接映射到圖畫。
結構化表示。隱去控制結構和數據結構的細節,突出它們的結構關係。
合成表示。從程式數據派生可視內容,不是直接從程式和數據抽取。
解析表示。用典型化的視覺形式表現程式和數據的某些特性,比如正確性、複雜性。相關性等。
注釋性表示。通過理解性的可視變換,改善外觀效果,尤其是對抽象對象提供形象化的表現形式。
實現可視變換需要程式設計師某種程度的介入,提供可視規格說明一般來說,典型化概括的層次越高,需要程式設計師提供可視規格說明也越多和越詳盡。只有提高可視變換的智慧型化程度,可視環境才有普及的可能。
可視語言
可視語言分為可視信息處理語言和可視程式設計語言。可視信息處理語言主要用來處理那些具有可視表示法的對象一一與某種邏輯解釋相聯繫的形象化對象。這類語言本身可以不具有可視表示法,通常仍舊是傳統的線性語言,只是增加了庫子例程或軟體包來處理可視對象。這類語言主要用於下列套用:圖象處理、
計算機視覺、機器人學、圖象資料庫管理、辦自動化、多媒體系統等。可視程式設計語言主要處理那些原來不具有可視表示法的對象,包括傳統的數據類型,如數組、棧、佇列等,以及套用數據類型,如表格、文檔、資料庫等。可視地表示這些對象和語言本身,對用戶是非常有力的幫助。所謂語言本身可視就是可視地表示程式設計的構件和組合這些構件的規則。這類語言可用於計算機圖形學、用戶界面設計、資料庫界面設計、計算機輔助設計、各類複雜軟體設計等。
圖形技術
用計算機生成、顯示、繪製圖形的技術被稱為計算機圖形技術。計算機中的圖形也是以數據的形式表示的,要把圖形顯示出來或繪製列印,就必須把數據轉換成線條。計算機圖形技術不僅能快速、準確、規範地製作大量的機械圖、建築圖、電路圖和地理圖等,成為計算機輔助設計的重要內容,而且可以製作運動圖形和三維圖形,使原來繪圖做不到的事得以實現。