系统分析与设计 lesson7作业
程序员文章站
2022-07-12 20:54:39
...
- 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 物理数据库的脚本
- 简单叙说 数据库逻辑模型 与 领域模型 的异同
导出数据库脚本:
/*==============================================================*/
/* DBMS name: MySQL 5.0 */
/* Created on: 2018/4/26 21:04:27 */
/*==============================================================*/
drop table if exists creditCard;
drop table if exists hotel;
drop table if exists room;
drop table if exists traveller;
/*==============================================================*/
/* Table: creditCard */
/*==============================================================*/
create table creditCard
(
ID longblob,
cardDetail longtext not null,
paymentDetail char(1) not null
);
/*==============================================================*/
/* Table: hotel */
/*==============================================================*/
create table hotel
(
location longtext,
availableTime datetime,
HotelID int not null,
primary key (HotelID)
);
/*==============================================================*/
/* Table: room */
/*==============================================================*/
create table room
(
HotelID int,
avaliableTime datetime,
roomType longtext not null,
roomID int not null,
ID longblob,
primary key (roomID)
);
/*==============================================================*/
/* Table: traveller */
/*==============================================================*/
create table traveller
(
name longtext not null,
emailAddress longtext not null,
ID longblob not null,
HotelID int,
primary key (ID)
);
alter table creditCard add constraint FK_Reference_2 foreign key (ID)
references traveller (ID) on delete restrict on update restrict;
alter table room add constraint FK_Reference_4 foreign key (HotelID)
references hotel (HotelID) on delete restrict on update restrict;
alter table room add constraint FK_Reference_5 foreign key (ID)
references traveller (ID) on delete restrict on update restrict;
alter table traveller add constraint FK_Reference_3 foreign key (HotelID)
references hotel (HotelID) on delete restrict on update restrict;
数据库逻辑模型 与 领域模型 的异同:
数据库逻辑模型需要考虑一些更加细节的东西,比如每个实体的属性,主键是什么,某个实体跟其他实体是什么关系等等,同时中间态的实体也不再出现,比如Mshoppingbasket,为了确保还要考虑一些属性要放在哪,是否需要冗余的问题,总之数据库逻辑建模会更偏向于实践而不再是概念的建模。
数据模型是系统设计,以及实现的一部分,描述的是对用户需求在技术上的实现方法。用户不需要关心系统的数据模型,但是必须关注领域模型,因为领域模型反映的是问题域的相关业务概念以及其关系,领域模型是用户业务描述的高度抽象,来源于业务需求的描述,同时又可以帮助用户和需求分析人员更好的理解业务需求。
上一篇: JAVA人脸识别(人脸对比)