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
- 不负责的链接 http://www.cnblogs.com/mcgrady/archive/2013/05/25/3098588.html
- 导出 Mysql 物理数据库的脚本
- 简单叙说 数据库逻辑模型 与 领域模型 的异同
逻辑模型如下:
MySQL脚本
-- +---------------------------------------------------------
-- | MODEL : Hotel Model
-- | AUTHOR :
-- | GENERATED BY: Open System Architect
-- +---------------------------------------------------------
-- | WARNING : Review before execution
-- +---------------------------------------------------------
-- +---------------------------------------------------------
-- | CREATE
-- +---------------------------------------------------------
CREATE TABLE `E_Hotels`
(
Hotel_ID INTEGER NOT NULL,
Hotel_Name VARCHAR(30) NOT NULL,
Location VARCHAR(30) NOT NULL,
PRIMARY KEY (Hotel_ID)
);
CREATE TABLE `E_Customer`
(
userID INTEGER NOT NULL,
Name VARCHAR(30) NOT NULL,
PRIMARY KEY (userID)
);
CREATE TABLE `E_HotelRoom`
(
RoomNum INTEGER NOT NULL,
Price INTEGER NOT NULL,
RoomType VARCHAR(30) NOT NULL,
VacantOrNot VARCHAR(20) NOT NULL,
PRIMARY KEY (RoomNum)
);
CREATE TABLE `E_Orders`
(
Order_ID INTEGER NOT NULL,
Date VARCHAR(30) NOT NULL,
check_in_date DATE NOT NULL,
check_out_date DATE NOT NULL,
Rooms_information VARCHAR(30),
PRIMARY KEY (Order_ID)
);
CREATE TABLE `E_CreditCard`
(
Card_ID INTEGER NOT NULL,
PRIMARY KEY (Card_ID)
);
数据库模型和领域模型的异和同:
异:关注用例
同:数据库更关注数据,领域模型相对关注功能