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 物理数据库的脚本
- 简单叙说 数据库逻辑模型 与 领域模型 的异同
系统的E-R模型:
MySQL物理数据库脚本:
-- +---------------------------------------------------------
-- | MODEL : Asg_RH
-- | AUTHOR :
-- | GENERATED BY: Open System Architect
-- +---------------------------------------------------------
-- | WARNING : Review before execution
-- +---------------------------------------------------------
-- +---------------------------------------------------------
-- | CREATE
-- +---------------------------------------------------------
CREATE TABLE `Hotel`
(
hid INTEGER NOT NULL,
hotel_name VARCHAR(32) NOT NULL,
location VARCHAR(32) NOT NULL,
PRIMARY KEY (hid)
);
CREATE TABLE `RoomInfo`
(
rid INTEGER NOT NULL,
type VARCHAR(32) NOT NULL,
price_choices VARCHAR(64) NOT NULL,
PRIMARY KEY (rid)
);
CREATE TABLE `Room`
(
rid INTEGER NOT NULL,
room_num INTEGER NOT NULL,
status VARCHAR(8) NOT NULL,
rid INTEGER NOT NULL,
hid INTEGER NOT NULL,
PRIMARY KEY (rid)
);
CREATE INDEX idxRoom1 ON Room
(
rid
);
CREATE INDEX idxRoom2 ON Room
(
hid
);
CREATE TABLE `Reservation`
(
rid INTEGER NOT NULL,
check_in_date DATE NOT NULL,
check_out_date DATE NOT NULL,
adult_num INTEGER NOT NULL,
child_num INTEGER NOT NULL,
child_age VARCHAR(512) NOT NULL,
special_req VARCHAR(512),
smoking BIT NOT NULL,
total DOUBLE NOT NULL,
PRIMARY KEY (rid)
);
CREATE TABLE `User`
(
uid INTEGER NOT NULL,
username VARCHAR(32) NOT NULL,
email VARCHAR(512) NOT NULL,
credit_card VARCHAR(64),
PRIMARY KEY (uid)
);
数据库逻辑模型与领域模型的异同:
不同点:数据库逻辑模型借助相对抽象、逻辑统一且结构稳健的结构,实现数据库系统所要求的数据存储目标;而领域模型是对领域内的概念类或现实世界中对象的可视化表示。
相同点:都是数据管理分析的工具和交流的有效手段。