系统分析与设计lesson7

| 分类 作业  | 标签 博客 

1、领域建模

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

Alt text

  • b. 数据库建模(E-R 模型)
    • 按 Task 3 要求,给出系统的 E-R 模型(数据逻辑模型)
    • 建模工具 PowerDesigner(简称PD) 或开源工具 OpenSystemArchitect
    • 不负责的链接 http://www.cnblogs.com/mcgrady/archive/2013/05/25/3098588.html
    • 导出 Mysql 物理数据库的脚本
    • 简单叙说 数据库逻辑模型 与 领域模型 的异同

Alt text

-- +---------------------------------------------------------
-- | MODEL       : lesson7
-- | AUTHOR      : chenwen
-- | GENERATED BY: Open System Architect
-- +---------------------------------------------------------
-- | WARNING     : Review before execution
-- +---------------------------------------------------------

-- +---------------------------------------------------------
-- | CREATE
-- +---------------------------------------------------------
CREATE TABLE `Destination`
(
cityname VARCHAR(30) NOT NULL,
PRIMARY KEY (cityname)
);

CREATE TABLE `Traveller`
(
User_Id INTEGER NOT NULL,
email VARCHAR(30) NOT NULL,
name VARCHAR(30),
phoneNumber VARCHAR(30) NOT NULL,
cityname VARCHAR(30) NOT NULL,
PRIMARY KEY (User_Id)
);

CREATE INDEX idxTraveller1 ON Traveller
(
cityname
);

CREATE TABLE `CreaditCard`
(
Card_id INTEGER NOT NULL,
count INTEGER NOT NULL,
Holder VARCHAR(30) NOT NULL,
User_Id INTEGER NOT NULL,
PRIMARY KEY (Card_id,User_Id)
);

CREATE TABLE `Hotel`
(
hotel_id INTEGER NOT NULL,
HotalName VARCHAR(30) NOT NULL,
cityname VARCHAR(30) NOT NULL,
PRIMARY KEY (hotel_id)
);

CREATE INDEX idxHotel1 ON Hotel
(
cityname
);

CREATE TABLE `Room`
(
Room_Id INTEGER NOT NULL,
roomType VARCHAR(30),
PRIMARY KEY (Room_Id)
);

CREATE TABLE `SelectedHotel`
(
Hotel_id INTEGER NOT NULL,
HotelName VARCHAR(30) NOT NULL,
PRIMARY KEY (Hotel_id)
);

CREATE TABLE `Time`
(
Time_Id INTEGER NOT NULL,
start_time VARCHAR(30) NOT NULL,
end_time VARCHAR(30) NOT NULL,
Hotel_id INTEGER NOT NULL,
PRIMARY KEY (Time_Id)
);

CREATE TABLE `OrderForm`
(
Order_Id INTEGER NOT NULL,
User_Id INTEGER NOT NULL,
PRIMARY KEY (Order_Id,User_Id)
);

CREATE TABLE `SelectedHotel_OrderForm`
(
Hotel_id INTEGER NOT NULL,
Order_Id INTEGER NOT NULL,
PRIMARY KEY (Hotel_id,Order_Id)
);

数据库逻辑模型 与 领域模型 区别:
1、领域模型:就是从现实世界到信息世界的第一层抽象,确定领域实体属性关系等,使用E-R图表示,E-R图主要是由实体、属性和联系三个要素构成的。

2、逻辑模型:是将概念模型转化为具体的数据模型的过程,即按照概念结构设计阶段建立的基本E-R图,按选定的管理系统软件支持的数据模型(层次、网状、关系、面向对象),转换成相应的逻辑模型。这种转换要符合关系数据模型的原则。目前最流行就是关系模型(也就是对应的关系数据库)

逻辑模型是系统设计,以及实现的一部分,描述的是对用户需求在技术上的实现方法。用户不需要关心系统的逻辑模型,但是会关注领域模型,因为领域模型反映的是问题域的相关业务概念以及其关系,领域模型是用户业务描述的高度抽象,来源于业务需求的描述,可以帮助需求分析人员更好的理解业务需求。


上一篇     下一篇