1. 程式人生 > >系統分析與設計【lesson 7】

系統分析與設計【lesson 7】

1、 領域建模

a. 閱讀 Asg_RH 文件,按用例構建領域模型。
  • 按 Task2 要求,請使用工具 UMLet,截圖格式務必是 png 並控制尺寸
  • 說明:請不要受 PCMEF 層次結構影響。你需要識別實體(E)和 中介實體(M,也稱狀態實體)
    • 在單頁面應用(如 vue)中,E 一般與資料庫構建有關, M 一般與 store 模式 有關
    • 在 java web 應用中,E 一般與資料庫構建有關, M 一般與 session 有關
 繪製領域模型截圖如下:

這裡寫圖片描述

b. 資料庫建模(E-R 模型)
  • 按 Task 3 要求,給出系統的 E-R 模型(資料邏輯模型)
  • 建模工具 PowerDesigner(簡稱PD) 或開源工具 OpenSystemArchitect
  • 匯出 Mysql 物理資料庫的指令碼
  • 簡單敘說 資料庫邏輯模型與領域模型 的異同
E-R模型如下:

這裡寫圖片描述

匯出指令碼:
-- +---------------------------------------------------------
-- | MODEL       : test
-- | AUTHOR      : 
-- | GENERATED BY: Open System Architect
-- +---------------------------------------------------------
-- | WARNING     : Review before execution
-- +--------------------------------------------------------- -- +--------------------------------------------------------- -- | CREATE -- +--------------------------------------------------------- CREATE TABLE `` ( ); CREATE TABLE `customer` ( id INTEGER(16) NOT NULL, name VARCHAR(30), email VARCHAR
(18), PRIMARY KEY (id) );
CREATE TABLE `reservation` ( id INTEGER(16) NOT NULL, check_in DATE, check_out DATE, total_cost FLOAT, roomID INTEGER(16), customerID INTEGER(16), PRIMARY KEY (id) ); CREATE TABLE `city` ( id INTEGER(18) NOT NULL, name VARCHAR(30), PRIMARY KEY (id) ); CREATE TABLE `hotel` ( id INTEGER(16) NOT NULL, name VARCHAR(30), cityID INTEGER, PRIMARY KEY (id) ); CREATE TABLE `room` ( id INTEGER(16) NOT NULL, hotelID INTEGER(16) NOT NULL, type VARCHAR(20), cost FLOAT, PRIMARY KEY (id,hotelID) );
資料庫邏輯模型與領域模型的異同
 資料庫邏輯模型和領域模型都是一種抽象的描述方式。領域模型來源於業務需求的描述,是使用者業務描述的高度抽象,而邏輯模型更偏向於使用者需求在技術上的實現方法,可以看作是領域模型的具體化。