1. 程式人生 > >軟體工程---程式編碼

軟體工程---程式編碼

目錄

一、程式設計語言

語言的選擇

二、結構化程式設計

主要原則

三、程式設計風格

源程式文件化

資料說明

語句結構

輸入/輸出方法

程式設計質量評價

四、程式的複雜性度量:


一、程式設計語言

分類:組合語言、高階語言

機器語言 、組合語言第一第二代計算機用

高階語言:同一個問題,高階語言編碼可鄙彙編少3——7倍

按照軟體工程的分類,語言的發展分為:

三個階段---面向機器的語言、高階語言、甚高階語言

四代---機器語言(1)、組合語言(2)、高階語言(3)、甚高階語言(4)

高階語言分為:系統實現語言、靜態高階語言、塊結構高階語言、動態高階語言

語言的選擇

1、不同的應用領域選擇不同的語言

2、系統使用者的要求覺決定:使用者使用它們熟悉的語言或操作

3、可以使用的編譯程式:執行目標系統的環境中可以提供的編譯程式限制了對語言的選擇

4、程式設計師的經驗和知識

5、軟體可移植性要求

6、當工程規模很大時,而有沒有完全合適的語言,可編一個專用的語言

7、演算法與計算複雜性,軟體的可靠性

8、資料結構的複雜性,付按揭的可維護性

9、小路的考慮

10、瞭解語言的發招前景

選擇語言的原則:最少工作量原則、最少技巧性原則、最少錯誤原則、最少維護原則、最少記憶原則

總原則:1-先求正確後求快   2-先求清晰後求快   3-求快不忘保持程式正確   4-保持程式整潔以求快  5-不要因效率而犧牲清晰

好程式的標準:1-易於測試和除錯   2-易於維護   3-易於修改   4-設計簡單   5-高效率

二、結構化程式設計

1-在編寫程式時,強調使用集中基本控制結構

2-在程式設計過程中儘量採用自頂向下和逐步細化的原則,又粗到細,一步步展開

主要原則

使用語言中的順序、選擇、迴圈等有限的基本控制結構表示程式邏輯

選用的控制結構只准許單入口、單出口

複雜結構應該用基本結構控制結構進行組合巢狀來實現

三、程式設計風格

源程式文件化

識別符號的命名

安排註釋

程式的視覺組織

資料說明

資料說明的次序應當規範化

說明語句中變數安排有序化

使用註釋說明覆雜資料結構

語句結構

語句構造-力求簡單、直接,不能為了片面準求效率而使語句複雜化

一行內只寫一條語句

程式編寫首先應當考慮清晰性

程式要能直接了當地說明程式設計師的用意

除非對效率有特殊的要求,程式編寫要做到清晰第一,效率第二

首先保證程式正確然後才要求提高速度

避免使用臨時變數而使可讀性下降

讓編譯程式做簡單的優化

儘可能使用庫函式

避免不必要的轉移,同時如果能保持程式可讀性,則不必用GO TO 語句

儘量只採用三種基本的控制結構來編寫程式

避免使用空的ELSE語句和IF…THEN IF…語句,這種結構容易使讀者產生誤解

避免採用過過於複雜的條件測試

儘量減少使用“否定”條件的條件語句

儘可能用通俗易懂的偽碼來描述程式的流程,然後再翻譯成必須使用的語言

資料結構要有利於程式的簡化

要模組化

利用資訊隱蔽,確保每一個模組的獨立性

從資料出發去構造程式

不要修補不好的程式要重新編寫

對太大的程式,要分塊編寫、測試,然後再整合

 

輸入/輸出方法

輸入和輸出資訊是與使用者的使用直接相關的,輸入和輸出的方式和格式應當儘可能方便使用者的使用

滿足 執行工程學的輸入輸出風格

輸入:輸入格式力求簡單、一直,並儘可能採用自由格式輸入;使用資料結束或檔案結束標準來終止輸入,不要讓使用者來計算輸入的項數或記錄數

輸出:標誌左右的輸出資料,加必要的說明   -當用戶使用程式時,可對使用者做到”線上“幫助  -對可能產生重大後果的請求,先給出提示   -對所有輸出的資料加標註   -發生錯誤時,能迅速恢復正常

                                                                                                                  

程式設計質量評價

(一)正確性

程式中沒有語法錯誤

程式執行時沒有發現明確的執行錯誤

程式中沒有不適當的語句

用有效的測試資料,得到程式的正確結果

用無效的測試資料, 得到程式的正確結果

用任何可能的資料使程式在執行時得到正確的結果

(二)結構清晰性

1、是否使用三種結構化格式表示程式的控制邏輯

2、是否有一個入口,一個出口

3、是否嚴格控制GOTO語句

(三)易修改性

(四)易讀性

(五)簡單性

四、程式的複雜性度量:

程式複雜性主要是指模組內程式的複雜性

程式碼行度量方法:方法的基本考慮時統計一個程式模組的原始碼行數目,並以原始碼行數座位程式複雜性的度量

McCabe度量法:又稱環路複雜性度量,是一種計語程式控制流的複雜性度量方法