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) );
数据库模型和领域模型的异和同:
异:关注用例
同:数据库更关注数据,领域模型相对关注功能