簡介
源程式模組是指將一個大源程式劃分成幾個功能相對獨立的
模組,然後再對各模組進行程式設計。源程式模組通常由兩部分組成。
接口:列出可由其它模組或例程訪問的常數、 數據類型、 變數、函式等;實現:私有量及實際實現本模組的源程式代碼。只要模組間的接口關係不變,每個模組內部的具體實現細節可隨意修改。要求如下:各模組的獨立性要強。即在同一模組內的結構要素(語句或數據)之間具有較強的相關性,模組之間的相關性儘量少(耦合度弱)一旦整個源程式實現的任務需作一點變更時,或者要修改某個錯誤時,只需修改個別源程式模組,不必修改全部源程式。選出通用模組,最大限度地利用可利用的模組。各模組的大小要適當,需要細分的模組要細分,小模組能被上層模組吸收的要吸收進去。這樣設計出的模組便具有可修改性、可讀性、可檢驗性。
設計方法
結構化方法基於功能分解設計系統結構,通過不斷把複雜的處理逐層分解來簡化問題,它從內部功能上模擬客觀世界。用結構化開發的軟體運行效率較高,且能夠增加軟體系統的可靠性。包括
結構化分析和結構化設計方法。結構化分析是面向數據流進行需求分析的方法,在該階段力求尋找功能及功能之間的說明。它主要採用的工具是數據流圖DFD(Data Flow Diagram),利用DFD描述邊界和數據處理過程的關係。結構化設計是將數據流圖表示的信息轉換成程式結構的設計描述,在該階段力求尋找功能的實現方法,採用系統結構圖表示系統所具有的功能和功能之間的關係。設計過程分兩步完成,第一步以需求分析的結果作為出發點,構造出一個具體的系統設計方案,決定系統的模組結構(包括決定模組的劃分、模組間的數據傳遞及調用關係)。第二步詳細設計即過程設計,在總體設計的基礎上,確定每個模組的內部結構和算法,最終產生每個模組的
程式流程圖。因此,結構化方法比較適合於像作業系統、實時處理系統等這樣的以功能為主的系統。
面向對象方法是從內部結構上模擬客觀世界,其基本思想為:對象是對現實世界客觀實體的描述,均由其屬性和相關操作組成,是系統描述的基本單位。面向對象方法更強調運用人類在日常的邏輯思維中經常採用的思想方法和原則,例如抽象、分類、繼承、聚合、封裝等,這使得軟體開發者能更有效地思考問題,並以其他人也能看得懂的方式把自己的認識表達出來。
面向對象分析:從問題陳述入手,分析和構造所關心的現實世界問題域的模型,並用相應的符號系統表示。模型必須簡潔、明確地抽象目標系統必須做的事,而不是如何做。分析步驟為:
確定問題域。包括:定義論域,選擇論域,根據需要細化和增加論域。
區分類和對象。包括定義對象,定義類,命名。
區分整體對象及其組成部分,確定類的關係及結構。包括:一般具體結構,整體部分結構,多重結構。
定義屬性。包括確定屬性,安排屬性,確定實例聯結。
定義服務。包括確定對象狀態,確定所需服務,確定訊息聯結。
確定附加的系統約束。
功能分解
步驟是:陳述出功能意圖(即要解決的問題),進行功能求精(即劃分層次),連線求精了的功能,進行檢查,再求精,再檢查,直至得到滿意的解決為止。這種方法,也稱為結構化設計、層次化分解、模組分解、功能分解。
源程式
用程式設計語言編寫的程式。程式設計語言包括符號語言以及各種高級語言等。主要功用有如下2種作用:生成目標代碼,即計算機可以識別的代碼。對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程式設計師,都忽視軟體說明的編寫;因為這部分雖然不會在生成的程式中直接顯示,也不參與編譯。但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程式的良好習慣,一些公司也硬性規定必須書寫。