【軟體工程】——編碼程式
編碼程式
主要內容
一、程式設計語言
分類
(1)機器語言,彙編
第一,第二代計算機用
(2)高階語言
從語言的內在特徵看,高階語言可分為:
。系統實現語言
。靜態高階語言
。快結構高階語言
。動態高階語言
二、語言的選擇
1.應用領域的不同決定選擇的語言
2.系統使用者的要求決定
使用者使用他們熟悉的語言
3.可以使用的編譯程式
執行目標系統的環境可以提供的編譯程式往往限制了對語言的選擇
4.程式設計師的經驗和知識(程式設計者對語言的熟悉程度)
5.軟體可移植性
6.當工程規模很大時,而又沒有完全合適的語言,可編一個專用的語言
7.演算法與計算機複雜性,軟體的可靠性
8.資料結構的複雜性,軟體的可維護性
9.效率的考慮
10.瞭解語言的發展前景
三、選擇語言的原則
1.最少的工作量原則
2.最少的技巧性原則
3.最少錯誤原則
4.最少維護原則
5.減少記憶原則
總原則
1.先求正確後求快
2.先求清晰後求快
3.求快不忘保持正確性
4.保持程式整潔以後求快
5.不要因效率而犧牲清晰
好程式標準
1.易於測試和除錯
2.易於維護
3.易於修改
4.設計簡單
5.高效率
四、結構化程式設計
1.結構化程式設計主要包括兩方面
(1)在編寫程式時,強調使用幾種基本控制結構
(2)在程式設計過程中,儘量採用自頂向下和逐步細化的原則,又粗到細,一步步展開
2.結構化程式設計的主要原則
1.使用語言中的順序,選擇,重複等,有限的基本控制結構表示程式邏輯
2.選用的控制結構只准許有一個入口和一個出口
3.複雜結構應該用基本控制結構進行組合巢狀來實現
五,程式設計的風格
1.程式設計實際上也是一種供人閱讀的文章,有一個文章的風格問題。應該使程式具有良好的風格
2.源程式文件化
(1)識別符號的命名
(2)安排註釋
(3)程式的視覺組織
。資料說明
。語句結構
。輸入/輸出方法——方便使用者使用
(1)輸入
輸入格式一致,簡單,並儘可能採用自由格式輸入。
使用資料結束或檔案結束標誌來終止輸入,還不要讓使用者來計算輸入的項數或記錄數
(2)輸出
標誌所有的輸出資料,加必要說明
先使程式正確,再使程式有效率
先使程式清晰,再使程式有效率
寫程式前先簡化表示式
儘量避免使用指標和複雜表
不要混合使用不同的資料型別
儘量避免整數運算和布林型表示式
使用執行時間短的算術運算
程式執行時間來提高效率
用儲存器的提高效率
程式設計質量評價
正確性
1.程式中有沒有語法錯誤
2.程式中沒有不適當的語句
3.程式執行時沒有發現明確的執行錯誤
4.用有效的測試資料,得到程式的正確結果
5.用無效的測試資料,得到程式的正確結果。
6.用任何可能的資料,使程式在執行使得到正確的結果
結構的清晰性
1.是否用三種結構化格式表示程式的控制邏輯
2.是否有一個入口,一個出口
3.是否嚴格控制GOTO語句
易修改行
易讀性
簡單性
計算環路發雜性的方法
公式:V(G)= m-n+p
V(G)是有向圖G中環路個數
M是G中弧數
n是圖G中結點數
p是圖G中的強連通分量個數
程式量
V=Nlog2n
程式量比率
L=V/V或L=(2/n1)*(n2/N2)
它表明了一個程式的最緊湊的形式的程式量於實際程式量之比,反映了程式的比率。其倒數
D=1/L
表明了實現演算法的困難程度
程式設計師的工作量
E=V/L
程式的潛在錯誤
B=(N1+N2)*log2(n1+n2)/3000
B為該程式的錯誤數