簡介
IPO是指結構化設計中變換型結構的輸入(Input)、加工(Processing)、輸出(Output)。IPO圖是對每個模塊進行概要設計的工具,它是輸入加工輸出(INPUT PROCESS OUTPUT)圖的簡稱,它是由美國IBM公司發起並完善起來的一種工具。在系統的模塊結構圖形成過程中,產生了大量的模塊,在進行詳細設計時開發者應為每一個模塊寫一份說明。IPO圖就是用來說明每個模塊的輸入、輸出數據和數據加工的重要工具。
組成
IPO圖的設計可因人因具體情況而異,例如,下圖所示的IPO圖。但無論怎樣設計它都必須包括輸入、處理、輸出,以及與之相應的數據庫文件在總體結構中的位置等信息。

其實上圖也叫IPO表。IPO圖其他部分的設計和處理都是很容易的,惟獨其中的處理過程描述部分較為困難。對於一些處理過程較為復雜的模塊,用自然語言描述其功能十分困難,並且對同一段文字描述,不同的人還可能產生不同的理解(即所謂的二義性問題)。目前用於描述模塊內部處理過程還有如下幾種方法:結構化英語方法、決策樹方法、判定表方法和算法描述語言方法。幾種方法各有其長處和不同的適用范圍,在實際工作中究竟用哪一種方法,需視具體的情況和設計者的習慣而定。 一個軟件可由一張總的層次化模塊結構圖和若干張具體模塊內部展開的IPO圖組成。前者描述了整個系統的設計結構及各類模塊之間的關系,后者描述了某個特定模塊內部的處理過程和輸入輸出關系。
作用
HIPO圖既反映了系統的總體結構,又反映了系統各個模塊之間的關系。所以,HIPO圖是模塊設計中一種重要的圖形工具。但是,在HIPO圖中每個模塊只有名稱,沒有細節。按照系統設計的目標,還必須有模塊的詳細描述。模塊IPO圖就是這樣一種圖形工具。
改進型IPO圖
一種改進的模塊IPO圖的形式如下表所示,這種圖除了描述輸入、處理、輸出過程外,還包括了某些附加的信息,這些附加的信息非常有利於理解系統及對該模塊的實現,它們包括系統的名稱、設計人員、設計日期、模塊名稱、模塊在結構圖中的編號,調用本模塊的模塊清單、本模塊調用的模塊清單以及全局的、局部的數據變量等。

