系统分析与设计homework5

1. 领域建模

a. 阅读 Asg_RH 文档,按用例构建领域模型。

  • 按 Task2 要求,请使用工具 UMLet,截图格式务必是 png 并控制尺寸
  • 说明:请不要受 PCMEF 层次结构影响。你需要识别实体(E)和 中介实体(M,也称状态实体)
    • 在单页面应用(如 vue)中,E 一般与数据库构建有关, M 一般与 store 模式 有关
    • 在 java web 应用中,E 一般与数据库构建有关, M 一般与 session 有关

1-a

b. 数据库建模(E-R 模型)

  • 按 Task 3 要求,给出系统的 E-R 模型(数据逻辑模型)
  • 建模工具 PowerDesigner(简称PD) 或开源工具 OpenSystemArchitect
  • 不负责的链接 http://www.cnblogs.com/mcgrady/archive/2013/05/25/3098588.html

2-a

  • 导出 Mysql 物理数据库的脚本
-- +---------------------------------------------------------
-- | MODEL       : 2-a
-- | AUTHOR      : 
-- | GENERATED BY: Open System Architect
-- +---------------------------------------------------------
-- | WARNING     : Review before execution
-- +---------------------------------------------------------

-- +---------------------------------------------------------
-- | CREATE
-- +---------------------------------------------------------
CREATE TABLE `traveler`
(
  user_id INTEGER NOT NULL,
  full_name VARCHAR(20),
  email_address VARCHAR(50),
  PRIMARY KEY (user_id)
);

CREATE TABLE `room`
(
  room_id INTEGER NOT NULL,
  type VARCHAR(20) NOT NULL,
  availability BIT NOT NULL,
  price INTEGER,
  PRIMARY KEY (room_id)
);

CREATE TABLE `hotel`
(
  hotel_id INTEGER NOT NULL,
  hotel_name VARCHAR(20) NOT NULL,
  address VARCHAR(50) NOT NULL,
  star INTEGER,
  PRIMARY KEY (hotel_id)
);

CREATE TABLE `Location`
(
  location_id INTEGER NOT NULL,
  location_name VARCHAR(20) NOT NULL,
  city VARCHAR(20),
  region VARCHAR(20),
  town VARCHAR(20),
  isCapital BIT,
  PRIMARY KEY (location_id)
);

CREATE TABLE `Reservation`
(
  reservation_id INTEGER NOT NULL,
  check_ind_date DATE NOT NULL,
  check_out_date DATE NOT NULL,
  num_of_rooms INTEGER NOT NULL,
  num_of_adults INTEGER,
  num_of_children INTEGER,
  make_reservation_time DATE,
  isPayed BIT,
  user_id INTEGER NOT NULL,
  PRIMARY KEY (reservation_id)
);

CREATE INDEX idxReservation1 ON Reservation
(
  user_id
);
  • 简单叙说 数据库逻辑模型 与 领域模型 的异同

数据库逻辑模型和领域模型都反应了不同实体之间的关系。数据库逻辑模型是从开发者角度来观察问题,侧重于描述数据存储。相比于领域模型,数据库逻辑模型对属性的描述更加的细致,需要确定出数据的存储类型,定义实体的键。另外,数据库逻辑模型中不需要考虑中介实体,只需考虑需要存储与数据库中的实体。

领域模型是从用户的角度来对业务需求进行描述,不需要考虑技术层面上的数据存储,只需要描述各个实体之间的关系,不需要细致定义实体的属性以及键等。中介实体在数据库逻辑模型中不需要进行描述,但是需要出现在领域模型中。

PREVIOUS系统分析与设计homework6
NEXT系统分析与设计homework4