软件系统分析与设计-领域建模与数据库建模

领域建模

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

  • 数据库建模(E-R模型)

  • 导出Mysql脚本:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    -- +---------------------------------------------------------
    -- | MODEL : ReserveHotel
    -- | AUTHOR : Jarvis
    -- | GENERATED BY: Open System Architect
    -- +---------------------------------------------------------
    -- | WARNING : Review before execution
    -- +---------------------------------------------------------

    -- +---------------------------------------------------------
    -- | CREATE
    -- +---------------------------------------------------------
    CREATE TABLE `Hotel`
    (
    hotel_id INTEGER NOT NULL,
    hotel_name VARCHAR(64) NOT NULL,
    rooms_available INTEGER NOT NULL,
    PRIMARY KEY (hotel_id)
    );

    CREATE TABLE `Reservation`
    (
    reserve_id INTEGER NOT NULL,
    city VARCHAR(64) NOT NULL,
    check_in_date DATE NOT NULL,
    number_of_nights INTEGER NOT NULL,
    hotel_id INTEGER NOT NULL,
    required_rooms INTEGER NOT NULL,
    number_of_adults INTEGER NOT NULL,
    number_of_children INTEGER NOT NULL,
    price INTEGER NOT NULL,
    PRIMARY KEY (reserve_id)
    );

    CREATE TABLE `Customer`
    (
    user_id VARCHAR(64) NOT NULL,
    user_full_name VARCHAR(64) NOT NULL,
    email VARCHAR(64) NOT NULL,
    PRIMARY KEY (user_id)
    );

    CREATE TABLE `Order`
    (
    order_id INTEGER NOT NULL,
    user_id VARCHAR(64) NOT NULL,
    user_full_name VARCHAR(64) NOT NULL,
    card_id INTEGER NOT NULL,
    PRIMARY KEY (order_id)
    );

    CREATE TABLE `CreditCard`
    (
    card_id INTEGER NOT NULL,
    user_id VARCHAR(64) NOT NULL,
    balance INTEGER NOT NULL,
    PRIMARY KEY (card_id)
    );

    CREATE TABLE `Room`
    (
    room_id INTEGER NOT NULL,
    state BIT NOT NULL,
    check_out_date DATE,
    PRIMARY KEY (room_id)
    );

  • 数据库逻辑模型领域模型的异同

    数据库逻辑模型,是具体的DBMS所支持的数据模型,此模型既要面向用户,又要面向系统 ,主要用于反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。该模型主要是面对开发人员的。例如,中介实体不会出现在数据库逻辑模型中。

    而领域模型,反映的是相关业务概念以及其关系,是用户业务描述的高度抽象。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。

    两者的相同点在于,都属于对于抽象对象的可视化表示。

本文为博主原创文章,转载请注明出处。