24
09 CHAPTER 軟軟 9-1 軟軟軟 9-2 軟 軟軟軟軟軟軟

09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

09CHAPTER

軟體工程 9-1 寫程式 9-2 軟體開發生命週期

Page 2: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 2

9-1 寫程式 K.I.S.S – Keep It Simple and Stupid

可讀性 (Readability) : 命名 (naming) :以清楚、有意義、統一為原則

ex :

排版 : 該換行就換行,讓版面整齊不擁擠

  int a,b; 語意不清  int dividend, divisor; 語意較清 

  int a,b; 語意不清  int dividend, divisor; 語意較清 

程式碼不是只用一遍程式碼不是只用一遍維持程式碼簡單又乾淨,有好的 Readability維持程式碼簡單又乾淨,有好的 Readability

Page 3: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 3

可讀性程式碼範例

改寫後

Page 4: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 4

可靠性程式碼範例 可靠性是指程式牢靠穩定,禁得起使用者的操作

加入判斷句,避免 n為負數的情況下遞迴呼叫,並在螢幕上顯示訊息

Page 5: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 5

程式碼與註解 程式碼與註解:

程式碼是給機器讀的,註解則是給程式人員看的 程式碼透過編譯器 (compiler) ,組譯器 (assembler)

等處理而轉化成機器可讀的機器碼 (machine code) C 語言中註解的種類:

註解的用意: 此段程式碼的功能,變數的意義,使用何種演算法,

撰寫或是改版的日期… etc

/* 這是註解 */ or /* 這是註解 */ or

// 這是註解// 這是註解

Page 6: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 6

圖 9-1 軟體的轉譯步驟

軟體設計

編 譯 器

機器語言

組 譯 器

訂 製 者使用需求

組合語言

Page 7: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 7

程式碼與註解範例

Page 8: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 8

週期 5 大階段: 軟體開發兩大分類:

9-2 軟體開發生命週期需求分析需求分析 設計設計 編碼編碼 測試測試 維護維護

瀑布式模型 (waterfall)瀑布式模型 (waterfall) 螺旋式模型 (spiral)螺旋式模型 (spiral)

Page 9: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 9

Page 10: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 10

圖 9-3 瀑布式模型的生命週期

需求分析

設計

編碼

測試

維護

Page 11: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 11

瀑布式模型:五大階段是採取線性進行的

優點 • 適合開發商業用軟體• 一個版本一個週期

缺點 發覺錯誤的時間點太晚,風險太大

Page 12: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 12

螺旋式模型開發

Page 13: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 13

螺旋式模型: 每一個螺旋都代表了一點點的

沒問題才繼續做下一圈的螺旋。優點 在發展初期找到可能問題,避免日後重大

錯誤的發生。缺點 • 發展時間過長

• 不適合商用軟體的開發

需求 設計 實做 測試

Page 14: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 14

圖 9-4 螺旋式模型

圖 9-5 採用螺旋式模型發展,規模從小型擴展到大型

Page 15: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 15

軟體開發流程

Page 16: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 16

圖 9-6軟體開發的過程及角色分工

Page 17: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 17

需求分析:理解市場的需求或是客戶的需求

Page 18: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 18

Page 19: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 19

設計: 使用者介面設計使用者介面設計 系統架構文件設定系統架構文件設定測試文件設定測試文件設定

Page 20: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 20

編碼 由上而下  (Top- Down Approach)由上而下  (Top- Down Approach)

由下而上  (Bottom-Up Approach)由下而上  (Bottom-Up Approach)

Page 21: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 21

測試:不知程式之邏輯設計直接測試不知程式之邏輯設計直接測試針對程式之邏輯設計測試是否運作正常針對程式之邏輯設計測試是否運作正常

黑箱測試黑箱測試白箱測試白箱測試

Page 22: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 22

Page 23: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 23

Page 24: 09 CHAPTER 軟體工程 9-1 寫程式9-1 寫程式 9-2 軟體開發生命週期9-2 軟體開發生命週期

計算機概論 24

維護