狠狠撸

狠狠撸Share a Scribd company logo
主題:软体开发程序
軟體生命週期: 開發、使用、維護
軟體開發第一階段-分析
? 定義問題 (本質、範圍與目標)?:選課
? 發掘機會(解決方案、特色與潛在利益…)
? 進行規劃(人力、時間、預算…)
? 評估可行性(範例1、範例2)
  –技術上可行(軟硬體技術取得、支援與維護)
  –作業上可行(系統開發完成後能有效被應用)
  –經濟上可行(開發成本、經濟效益、維護成本)
? 蒐集與分析現有的作業流程(軟體)
? 訂定新軟體的需求(系統功能架構圖)
?分析工具之ㄧ:资料流程图(顿贵顿)

        資料儲存


 外部個體             資料流向



           處理程序
軟體開發第二階段-設計
工作重點:以模組化(Modularity)為原
則,完成新軟體的邏輯設計,包括規格及
運作模式,但不涉及程式設計
設計考量:
 輸出需求、輸入需求
 檔案與資料庫
 軟體流程圖(以結構化分析與設計工具為例)
   資料流程圖(Data?Flow?Diagram)
   實體關係圖(Entity?Relationship?Diagram)
   資料字典(Data?Dictionary)
?實體關係圖:所有實體扮演角色及相互關係
?實體:學生、課程、老師
?關係:選修、教授
?關係種類:多對多、一對多、一對一

 學生   選修   課程   教授   老師
?資料字典:定義軟體中所有資料的類型
?加強使用者與系統分析師之間的溝通
?軟體一致性:Name(員工姓名or零件名稱?)
?型態:文字、數值…
?範圍:大小、長度…
?格式、 資料儲存於何處、 存取限制
?以「E-GET網路拍賣」為例
軟體開發第三階段-建置
? 工作重點:專案排程、撰寫程式、建立實際的檔
  案與資料庫




? 軟體文件有下列兩種:
 – 使用者文件:操作手冊、線上說明
 – 系統文件:技術手冊(報告)
軟體開發第四階段-測試 (範例)
? 個別測試、整合測試
? 白箱測試 (White?box?testing)?:程式設計師角度
  – 巴類圖原理 (Pareto?principle)
   針對特定模組進行徹底測試,會比針對所有模組進行同等但
   不深入的測試,容易發現錯誤
  – 基本路徑測試 (Basic?path?testing)
   設計一組測試資料,執行所有指令或敘述

? 黑箱測試 (Black?box?testing)?:使用者角度
  – 邊界值分析 (Boundary?value?analysis)?
   例如:庫存量的最大值及最小值測試
  – Beta測試 (Beta?testing)?:試用兼評估
系統轉換
系統轉換指的是如何停用現有的系統,改用
新系統,常見的方式有下列四種:
?直接轉換 (Direct?conversion)
?引導式轉換 (Pilot?conversion)
    一部分人先用
?階段式轉換 (Phased?conversion)
    先使用一部分功能
?平行轉換 (Parallel?conversion)
    同時使用一段時間。最安全但成本最高
軟體流程(Software Process)簡介

 瀑布模式(Waterfall?model,?1970)
  Classic?life?cycle,?Linear
漸進模式( Incremental model )
一連串的階段
先提供具有幾個功能的簡單版本給使用者試用評估
然後根據試用結果加以修改並強化功能
重複這個過程直到完成整個系統
例如:雏形法(笔谤辞迟辞迟测辫颈苍驳)的建置过程
課外延伸
? 由上而下設計 V.S. 由下而上設計
  – Top-down design:化繁為簡
  – Bottom-up design:從子問題的解答中「組合」出
    原始問題的解答(利用現成的軟體元件組合出所需
    要的軟體)
? 開放原始碼發展模式 (Open source
  development model)
  – Linux
  – 資工系(http://140.126.104.167/)
  – 自由軟體推廣社群(學生園地)

More Related Content

软体开发程序