首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> C# >> 關於C#

面向物件分析 (OOA) 核心流程:論域/應用分析、Coad-Yourdon 五層次與概念模型建構

     編輯:關於C#

OOA 定位與產出

階段焦點核心任務產出
面向物件分析 (OOA)問題論域形式化說明應用問題、識別物件協作概念模型:類別、關係、屬性、操作、主題
傳統系統分析功能分解定義目標系統功能面向過程文件:資料流圖、處理規範

分析雙軌:論域分析 vs 應用分析

階段目標範圍產出特性
論域分析建立論域知識庫、理解業務本質超出當前應用、廣泛概念識別論域模型:概念、關係、規則、約束
應用分析將論域知識映射至具體應用需求受用戶需求限制、縮減資訊量應用模型:具體類別、操作、介面、互動

論域分析視野越廣,應用分析保留彈性越大,需求變更時適應力越強。

Coad-Yourdon OOA 五層次 (概念模型構造順序)

層次焦點關鍵活動產出組成
1. 類別與物件識別核心概念實體責任分析、環境調查、類別/物件清單類別圖雛形
2. 結構建立類別間靜態關係一般-特殊 (繼承)、整體-部分 (聚合/組合)結構圖
3. 屬性定義物件狀態資訊識別屬性、安排位置、實例連接、限制條件 (唯讀/範圍)屬性清單、約束規則
4. 服務定義物件行為與通訊狀態識別、必要服務、訊息連接、服務描述操作契約、序列圖雛形
5. 主題劃分大型模型邊界識別主題、改進細化、加入分析模型主題架構、模組劃分

OOA 執行步驟詳細指南

  1. 識別類別與物件:從應用領域出發,分析責任、調查環境,確定核心類別/物件。
  2. 識別結構:
    • 一般-特殊:基類別/衍生類別 (is-a)。
    • 整體-部分:聚合 (has-a, 生命週期獨立) / 組合 (contains, 生命週期綁定)。
  3. 識別屬性:狀態資訊、實例連接、限制條件 (唯讀、範圍、格式)、描述 (名稱+說明)。
  4. 識別服務:物件狀態機、必要操作、訊息流、服務描述 (前置/後置條件)。
  5. 識別主題:大型模型劃分邊界、提供整體框架、協助溝通與管理。

概念模型特性

  • 以概念為中心:非功能分解,非資料結構導向。
  • 平台獨立:無特定程式語言/資料庫/UI 技術細節。
  • 可驗證:領域專家可閱讀確認 (用 UML 類別圖/術語表)。
  • 可追溯:每個元素對應需求/規則/術語來源。

常見分析陷阱

陷阱徵兆對策
過早進入設計討論資料庫表、API 介面、演算法細節嚴格限制討論範圍於「問題論域」
類別爆炸數百個細碎類別、大量資料傳輸物件 (DTO)合併同質概念、識別聚合根 (DDD)
忽略非功能需求效能、安全、可用性、法規未在模型體現建立非功能需求清單、對應品質屬性場景
主題劃分武斷模組邊界模糊、跨主題耦合高依業務能力 (Business Capability) 劃分
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved