System Development Process

  • 需求分析:了解現行作業內容、蒐集資料
  • 可行方案:是否可行?
  • 分析與設計:決定電腦化系統的架構與功能
  • 開發:軟體設計, 程式寫作及測試
  • 建構:導入新系統, 最好與舊系統並行
  • 維護:維持運作, 提高效能、因應改變

People in SDLC

  • 需要不同的專業人員:
    • 系統分析師:負責開發週期前三個階段的專業人員, 需要熟悉資訊科技與企業管理的實際作業
    • 程式設計師:撰寫程式
    • 專案經理:管理整個資訊系統建立的過程
  • 特色:每階段工作完成後的產品是文件, 如需求分析書

資訊系統開發的挑戰

  • 快速上線的緊縮時程
  • 多媒體展現
  • 大量客製化
  • 支援多國語言
  • 大規模佈署
  • 日益增加的系統複雜度及高度整合要求

  • 因此, 需要團隊運作的系統化開發流程

資訊系統的開發的策略

  • 套裝軟體 (Application Software Packages)
  • 終端使用者自行開發 (End-user Development)
  • 外包 (Outsourcing)

Packages & End-user Development

  • 套裝軟體 (Application Software Packages)
    • 已撰寫好的應用軟體, 再進行客製化的修改
    • 成本較低, 開發時間也較短
    • 較不符合使用者的所有需求
    • 終端使用者自行開發
  • End-user Development
    • 利用功能強大的軟體自行開發符合自己需求的系統, 如利用試算表軟體
    • 凌亂不易整合, 企業較不鼓勵

資訊系統開發的概念與技術 (1/5)

  • 1970 年代:強調「結構化程式設計」、「專案管理」和「資料庫管理系統」
  • 結構化程式設計的四點特色:
  • 採用資料流程圖 (DFD) 描述「資料」與「處理」間的關係
  • 採用資料辭典, 正式定義資料
  • 採用工具以描述「處理邏輯」, 如結構化英文、決策表、決策樹及虛擬碼等
  • 用結構圖定義程式模組

資訊系統開發的概念與技術 (2/5)

  • 結構化程式設計的好處:
    • 增進規律性:建立標準的處理方式和文件, 消除個人風格, 以達到一定的品質
    • 可信度和錯誤校正:使用標準的方法和工具可即早發現疏失或錯誤, 予以修正
    • 有效運用資源:此方法可節省成本、提升生產力及較佳的人力資源分派
  • 1980年代:第四代語言 (4GL)
    • 僅告訴電腦「做什麼」, 如 SQL、試算表軟體等
    • 雛型系統設計和終端使用者自行開發
    • 電腦輔助軟體工具, 需嚴格遵守一套軟體發展程序
    • 軟體再使用性, 造成「物件導向」技術的躍進

資訊系統開發的概念與技術 (3/5)

  • 1990 年代:物件導向技術
  • 物件導向技術:系統是一些物件的組合, 再透過物件間訊息傳遞來決定系統的行為, 而每個物件擁有自己的資料儲存空間及方式, 並提供一組介面以供外界呼叫
  • 物件導向流行的原因:
    • 電腦應用領域的變化:系統大都屬資料為主的應用, 越來越複雜的資料型態及操作環境, 使得傳統的程序導向的設計, 會使得模組間變得更複雜不易掌握
    • 軟體工程上的問題:傳統開發的方法, 造成程序模組不具有可再用性, 造成工程師的負擔

資訊系統開發的概念與技術 (4/5)

  • 1990 年代:網際網路應用系統之開發工具
    • 建立動態網頁的技術 (如 HTML、DHTML)
    • Web伺服器上執行的應用程式 (VBScript、JavaScript)
    • 安全協定、電子付款等技術
  • 1990 年代:強調快速的資訊系統開發方法
    • 聯合應用系統開發方法 (JAD):以使用者為主導, 以管理者為核心, 再由資訊人員輔導的群體系統開發方法

資訊系統開發的概念與技術 (5/5)

  • 1990 年代:大型整合應用系統:
    • 整合型套裝軟體的興起, 如 ERP、SCM 與 CRM 等模組的整合
    • 企業選擇適合的模組整合, 再加上部份外掛模組即可
  • 1990年代:微型應用程式
    • APP (Application):泛指電腦內、或智慧型手機內的應用程式
    • 以手機四大作業系統為銷售平台: Apple 的 iOS、Google 的 Android、微軟的 Windows Mobile 以及 RIM 的黑莓機等

行業別系統開發的流程

  1. 蒐集行業電子化需求: Next Slide
  2. 系統分析:找出可開發的行業後, 由資深顧問師主導系統分析、擬定系統架構、確求行業需求重點
  3. 系統設計:根據前述為基礎, 撰寫規格, 而後交付審查, 複審無誤後納入系統版號管控
  4. 程式撰寫:撰寫程式後, 進行單元測試, 再交付審查測試
  5. 系統測試:經測試後, 須制定整合測試文件, 進行內部的整合測試, 也可請客戶試用測試
  6. 撰寫手冊:系統操作手冊的撰寫
  7. 產品包裝: 包括程式包裝、系統作業環境、資料庫安裝、更新整合測試等等

蒐集行業電子化需求

  • 行業客群定義與蒐集:定義出目標行業, 挑選可行性的行業, 再進行名單的蒐集, 可從公會會員名單, 或網站名單蒐集
  • 需求蒐集人員:具系統開發與產業輔導經驗豐富的資深顧問師
  • 需求訪談對象:名單電訪、公會訪談及業者訪談

Back