服務導向軟體工程〈Service Oriented Software Engineering〉

2009-01-01

前言

應用系統之目的是要提升作業績效,及為用戶提供服務而發展。然而當今企業面對嚴峻競爭環境挑戰,應用系統發展已經不僅需要如期如質地上線使用,更要能快速因應企業需求頻繁變更而改變。企業當前運營模式多以服務導向為依歸,誰能為其客戶創造價值,誰就能從藍海中勝出。 創造價值最積極作為就是企業為其客戶提供多項整合服務,透過運用資訊服務,不但使自身所提供之產品與服務與客戶運維更貼近,同時也為供應鏈夥伴提供更通透之資訊,開源與節流併進。

然而 “服務” 是什麼?或更精準地問 “怎樣的應用系統功能才能稱之為服務呢?” 。“服務” 並非是為要 “服務導向” 所以設想了一些與企業目標營運無關,或是無管理效益與低投資報酬之 “假性服務”。“服務導向” 也絕非是開發了幾個 Web Service 就是 “服務導向” 了,“服務導向” 必需是面對服務對象,通常是企業之客戶,具有投資報酬之活動。其所涵蓋之範圍是企業各部門組織交互運作,利用資訊之服務導向架構特性,快速發展與部署新的服務,為企業在競爭環境中取得先機。

軟體工程本質上是一工藝管理,運用當下較優勢工具在有限資源下,完成解決商業複雜問題之手段-應用系統發展與導入。因此軟體工程具有時間背景的,COBOL/FORTRAN 時期有其軟體工程所需面對之課題,絕不能與今日服務導向所面對者相同。同時軟體工程也具有文化背景差異,在印度開發應用系統所面臨之軟體工程議題與解法,也不可能削足適履地套用在中國

服務導向之軟體工程是運用當前軟體分工協力設計為經,並以應用系統隨企業外部變動需求而快速發展與部署為緯,重視系統運維之工法。 開發團隊也由過去依應用系統模組之垂直分工,演進至今日以系統發展生命週期為依據之水平分工,也都是服務導向軟體工程世代之特色。 但無論如何,運用軟體工程有效地幫助應用系統發展,使應用系統早日上線,提升企業整體績效,是當前資訊管理與工程重要議題。

多數應用系統發展失敗,或未能及時上線,其關鍵因素有下列大項:

  • 系統發展專案管理不良;
  • 應用系統需求分析不明;
  • 系統架構規畫不良;
  • 設計架構不良;
  • 應用系統發展生命週期紊亂;
  • 維運作業規畫不良;

從更宏觀角度來看,應用系統發展專案之成敗,不僅賴於軟體工程精準掌握,更是整體資訊部門管理程序是否精到而定。 IT Infrastructure Library (ITIL) 提供了各類資訊服務管理 (IT Service Management – ITSM) 最佳實務框架,透過 ITIL 實務框架,讓資訊部門各項管理更臻完備與成熟,會具體反應在軟體工程實施,應用系統發展專案之成功自然水到渠成。

一、系統發展專案管理〈Project Management〉

  • 需求分析 (Requirement Analysis)
  • 系統分析 (System Analysis)
    • 呈現層
      • 入口網 (Portal) 分析
      • 報表 (Reporting) 分析
    • 商業邏輯層
      • 商業流程 (Biz Process Management) 分析
      • 商業元件 (Biz Component) 分析
      • 系統介接 (Integration) 分析
      • 批次作業 (Batch) 分析
    • 儲存層
      • 內容管理 (Content Management) 分析
      • 資料庫 (Data) 分析
    • 系統與作業規畫
      • 系統架構規畫
      • 設計架構規畫
      • 維運作業規畫
    • 系統發展作業
      • 系統設計作業
      • 系統測試作業
      • 系統導入作業
      • 系統驗收作業
    • 資源管理
      • 人員管理
        • 系統規畫
        • 系統分析
        • 系統設計
          • 呈現層
            • 入口網 (Portal) 設計
            • 報表 (Reporting) 設計
          • 商業邏輯層
            • 商業流程 (Biz Process Management) 設計
            • 商業元件 (Biz Component) 設計
            • 系統介接 (Integration) 設計
            • 批次作業 (Batch) 設計
          • 儲存層
            • 內容管理 (Content Management) 設計
            • 資料庫  (Data) 設計
        • 系統測試
        • 系統維運
        • 系統導入
      • 設備管理
        • 服務器部署
        • 網路設備部署
        • 儲存設備部署

二、應用系統需求分析〈Requirements Analysis〉

  • 需求不明確
    • 管理層認知差異
    • 用戶層認知差異
  • 需求變動大
    • 外部需求改變
    • 系統分析失誤
  • 需求分析
    • 服務導向分析
    • 操作介面分析
    • 資料結構分析
    • 商業流程分析


三、系統架構規畫〈System Architecture〉

  • 服務器規畫

  • 網路規畫
  • 儲存設備規畫
  • 備援機制規畫
  • 測試環境規畫

四、設計架構〈Design〉

  • 入口網 (Portal) 設計
  • 商業流程 (Biz Process Management) 設計
  • 內容管理 (Content Management) 設計
  • 商業元件 (Biz Component) 設計
  • 資料庫  (Data) 設計
  • 系統介接 (Integration) 設計
  • 系統容錯 (Fail-Over) 設計
  • 報表 (Reporting) 設計
  • 批次作業 (Batch) 設計

五、應用系統發展生命週期〈System Development Life Cycle〉

  • 系統建模 (Modeling) 機制

  • 群體開發 (Collaboration) 機制
  • 系統測試機制
    • 單元功能測試 (Functional Test)
    • 整合測試 (Integration Test)
    • 系統容錯測試 (Recovery Test)
    • 壓力測試 (Stress Test)
  • 版本控制機制
  • 系統發展文件規範 (Documentation)


六、維運作業規畫〈Sustaining〉

  • 硬體設備維運作業規畫
    • 服務器維運作業規畫
    • 網路設備維運作業規畫
    • 儲存設備維運作業規畫
  • 軟體維運作業規畫
    • 軟體工具維運作業規畫
    • 應用系統維運作業規畫
      • 教育訓練規畫
        • 使用者操作
        • 系統設計
      • 服務品質追蹤規畫
      • 應用系統更新部署規畫
  • 客戶服務中心 (Call Center) 規畫

近來雲端運算風起雲湧,試圖將應用系統與平台無關〈Platform as a Service〉,
與基礎架構脫鉤〈Infrastructure as a Service〉,甚至一筆資料錄可達數千個欄位之雲端資料庫所帶來設計考量之巨大改變,
可以預見雲端運算之軟體工程論述為必然,也再次地說明軟體工程是具有時間背景之工藝管理活動與框架。

服務導向軟體工程

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: