當小喵在開發一個較為大型的系統時,會做以下的分析過程
- 系統需求分析:
- 與使用者詳談,訪問使用者須要的是什麼
- 條列需求:將訪談後的需求加以整理,並加以條列
- 需求確認:將整理條列出的需求,給使用者逐條加以確認,如有不足,追加並確認之
- 功能分析:
- 條列功能:將使用者以確認之條列需求,轉換為系統功能並條列之
- 功能、需求確認:將條列之功能與條列之需求逐一比對,確認使用者需求都有滿足
- 功能整併:將條列之功能,有類似、相關之功能,加以整併→合併撰寫
- 功能歸類:將條列之功能,加以分類整理
- 需求、功能再確認:將整併、歸類之功能,與需求再次確認,務必滿足每一個需求。
- 資料分析:
- 依據各需求所需的資料欄位、型態、加以條列
- 正規化資料:依據正規劃原則,將條列的欄位、型態、加以分類並正規劃
- 資料庫設計:依據結論,設計資料庫、資料表、欄位、型態、關聯等
- 畫面功能分析:
- 畫面規劃:依據需求分析與功能分析結果,規劃使用介面,畫面欄位、按鈕
- 功能樹狀圖、網頁地圖:依據各功能分類與畫面,歸類相關功能,做出畫面分類樹狀圖、網頁地圖
- 使用者再確認:依照功能樹狀圖、網頁地圖,在此與使用者討論,並依照需求條列逐一比對各需求與畫面關係→依使用者需求修改→再確認。直到確認無誤。
- 程式與撰寫規劃:
- 依照【畫面分析】、【資料分析】、【功能分析】規劃出各相關程式於N-Tiers中
- 畫面分析:介面層,處理各功能的介面、資料存取的介面
- 資料分析:資料層,處理資料庫的存取
- 功能分析:商業邏輯層,處理各功能所需運算、資料交換,並與介面曾、資料曾溝通
- 程式命名、Function命名、參數命名:
- 依據介面層、資料層、商業邏輯層條列出各程式名稱、Function名稱、以及所需傳遞的參數、型態名稱
- 各程式間的相互關係,並做出各程式間的相互關係圖
- 程式分配:依現有人力狀況,分組並分派相關人員各程式,並條列出各程式的時程規劃於各組Leader,由各組Leader安排程式完成時程
- 依據程式分配與時程,安排交叉測試時程
在這樣的分析過程中,分析完後的各程式可交由多人共同完成,只需將定義好的資料庫狀況、欄位、以及所需撰寫的程式名稱、參數說明給各分配到的程式設計師,就可開始分工的撰寫程式
其中介面層,小喵多數以Web作為介面,應用ASP/ASP.NET來開發;商業邏輯層、資料庫層則是透過COM+的元件來處理。
而介面層與商業邏輯層如何將之串聯起來呢,主要是透過以下的這樣方式來做
-----------------------------------------------------------------------------------------------------------------
1 ASP.NET--------------------------------COM+-----------------------------MS-SQL
2 Controls--ObjectDataSource------COM+元件------COM+元件-----------COM+元件--資料庫
3 ( 介面層 ) ( 商業邏輯層 ) ( 資料層 )