【SSAD】Lesson 7 Homework
@(SSAD)
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 : hw
-- | AUTHOR :
-- | GENERATED BY: Open System Architect
-- +---------------------------------------------------------
-- | WARNING : Review before execution
-- +---------------------------------------------------------
-- +---------------------------------------------------------
-- | CREATE
-- +---------------------------------------------------------
CREATE TABLE `Hotel`
(
Hotel name TEXT,
Location TEXT,
,
);
CREATE TABLE `Payment`
(
Total cost INT,
Creditcard type TEXT,
Costomer id INT,
Creditcard id INT
);
CREATE TABLE `Basket`
(
,
Payment id INT
);
CREATE TABLE `Reservation`
(
Room inform TEXT,
Check in time TIME,
Check out time TIME,
Basket id INT
);
CREATE TABLE `Room`
(
Roomtype TEXT,
Room number INT,
Special requiments TEXT,
Hotel id INT,
Reservation id INT
);
CREATE TABLE `CardHolder`
(
Name TEXT,
Adress TEXT,
Country TEXT,
Postcode INT,
Telephone TEXT
);
CREATE TABLE `Creditcard`
(
Card number INT,
Card Security Code INT,
Expiny date TIME,
CardHolder id INT
);
CREATE TABLE `Costomer`
(
E-mail address TEXT,
Name TEXT
);
关于三种模型:
领域模型(Domain Model)是一个商业建模范畴的概念,他和软件开发并无一丝一毫的关系,即使一个企业他不开发软件,他也具备他的业务模型,所有的同行业的企业他们的业务模型必定有非常大的共性和内在的规律性,由这个行业内的各个企业的业务模型再向上抽象出来整个行业的业务模型,这个东西即“领域模型”。
逻辑模型就是要将概念模型具体化。要实现概念模型所描述的东西,需要那些具体的功能和处理那些具体的信息。这就到了需求分析的细化阶段。
物理模型就是针对上述逻辑模型所说的内容,在具体的物理介质上实现出来。
数据库逻辑模型就是物理模型的特定形式,在数据库中用主外键来表示class之间的关系,而领域模型用箭头来表示class之间的关系。数据库模型需要将领域模型表示的概念细化,使之能用数据库相关概念描述。总之,领域模型更加关心模型在现实世界中的意义和表示,而数据库模型则更关心其用数据库相关概念的阐述。