Nassi-Shneiderman圖

Nassi Shneiderman圖,簡稱NS圖或盒圖,是結構化編程中的一種可視化建模

基本介紹

  • 中文名:Nassi Shneiderman圖
  • 外文名:Nassi–Shneiderman diagram
  • 簡稱:NS圖或盒圖
  • 學科:計算機科學1
簡介,特點,圖示,程式方塊,分支方塊,測試循環方塊,

簡介

Nassi Shneiderman圖簡稱NS圖或盒圖,是結構化編程中的一種可視化建模
NS圖是在1972年由Isaac Nassi及其學生Ben Shneiderman提出。
NS圖類似流程圖,但所不同之處是NS圖可以表示程式的結構。DIN66261是NS圖的相關標準。
依從上到下的設計,待處理的問題會分解成一些較小的副程式,最後只有簡單的敘述及控制流程結構,NS圖對應了上述的思維,利用嵌套的方塊來表示副程式。NS圖中沒有對應Goto指令的表示,和結構化編程中不使用GOTO的理念一致。NS圖的抽象層次接近結構化的代碼,若程式重寫,NS圖就需重新繪製,不過NS圖在簡述程式及高階設計時相當方便。
NS圖幾乎是流程圖的同構,任何的NS圖都可以轉換為流程圖,而大部分的流程圖也可以轉換為NS圖。其中只有像Goto指令或是C語言中針對循環的break及continue指令無法用NS圖表示。

特點

1)NS圖形象直觀,功能域明確,具有良好的可見度;
2)很容易確定局部和全局數據的作用域;
3)不可能任意轉移控制;
4)很容易表示嵌套關係及模組的層次關係;
5)複雜度接近代碼本身,修改需要重畫整個圖;
6)它強制設計人員按SP方法進行思考並描述他的設計方案,因為除了表示幾種標準結構的符號之處,它不再提供其他描述手段,這就有效地保證了設計的質量,從而也保證了程式的質量。

圖示

程式方塊

程式方塊表示不需再分解的基本步驟,當流程進行到一程式方塊時,會進行程式方塊中的動作,然後移至下一個方塊。
Nassi-Shneiderman圖

分支方塊

分支方塊可分為二種,第一種是簡單的真/假分支方塊,對應if指令,會有二個對應的路徑,根據條件是否成立,決定後續運行的程式。
Nassi-Shneiderman圖
真/假的分支方塊
第二種是多重分支方塊,當使用類似C語言的switch指令,依表達式結果要從三個或三個以上的路徑中選擇一個時使用,此方塊一般會有許多對應的選項和其對應的子程式。

測試循環方塊

測試循環方塊允許程式運行一個或一組特定程式,一直到一特定條件滿足為止。測試循環方塊可分為二部分:左側長條狀部分和方塊上方(或下方的)的測試條件部分相連辺,測試循環方塊內部的方塊則是循環中可能要運行多次的程式。
測試循環方塊可分為二種:先測試的循環方塊及後測試的循環方塊。二者的差異是條件判斷次序的先後。
Nassi-Shneiderman圖
先測試的循環方塊
在先測試的循環方塊中,在運行循環前會先判斷特定條件是否成立,若不成立,才運行循環內的程式,之後再重新判斷條件是否成立,若不成立,再運行循環內的程式……,只要特定條件成立,就結束循環內的程式,繼續運行後續的程式。由於在循環開始時就判斷條件是否成立,有可能在循環內程式完全未運行過的情形下就結束循環,繼續運行後續程式。
後測試的循環方塊會先運行一次循環內的程式,之後判斷特定條件是否成立,若不成立,才運行循環內的程式……。後測試的循環方塊中,循環內的程式至少會被運行一次。
Nassi-Shneiderman圖
後測試的循環方塊

相關詞條

熱門詞條

聯絡我們