最新新闻:

数据流分析1.3.1顶层数据流图(三)业务流分析(一)

时间:2022-08-01 14:00:32来源:网络整理

一、系统需求分析(一)需求概述1.1.1 处理对象和需求

此系统是面向xxxx大学全体学生,旨在为同学们节省等餐时间,为了让大家把更多的时间能够投入学习之中,因此设计了这个网上订餐的用户登录系统,该系统分为*学生、商家和管理员*三个对象。

根据这三个对象,为了让网上订餐系统更好地为您服务,系统将满足以下要求:

学生需求主要包括:学生用户注册、学生登录、浏览店铺、浏览餐食、加入购物车、订单确认生成订单。

业务需求主要包括:业务注册、业务登录、修改用餐信息、查看订单、确认订单、完成订单。

管理员需求主要包括:管理员注册、管理员登录、客户及业务信息验证、会员管理。

1.1.2信息处理和系统功能

在线订购系统包括学生用户模块、商务用户模块和管理员用户模块。如下所示:

1.1.3 数据库系统性能要求

该系统的主要目的是让xxxx大学的所有学生更好地解决吃饭问题网上订餐系统需求分析,为学生节省更多的时间。因此,系统需要收集相应的大学食堂餐食,还需要收集选择使用本系统的学生用户的信息,对数据库的要求很高。一张表,可以反映各种信息,然后查询表中的内容。

1.1.4 数据库系统开发环境要求

在线订购系统将使用强大的 Microsoft SQL Server 2016 作为开发工具。

(二)业务流分析

(三)数据流分析1.3.1 顶层数据流图

因为网上订餐系统的主要功能是依靠商家提供餐食,满足学生的订餐需求。所以整个系统分为以下几类:登录管理、业务管理和学生点餐三部分。由此得到在线订餐系统的顶层数据流图如下:

1.3.2层数据流图

*(1)用户登录管理。*用户登录时,系统会做出判断。用户分为学生、商家、管理员三类。根据不同的身份,系统会调用不同的数据库来满足相应的需求 需求 判断的时候需要查询用户信息库,用户信息库包括学生注册信息、工商注册信息、管理员注册信息等。网络点餐系统一级分解图——登录管理,如下图所示:

*(2)用户操作管理。*登录管理判断后,会发送学生管理、业务管理、管理员管理信息中的一种。根据不同的用户身份信息,进入不同的界面,界面内容不一样,如下图:

1.3.3 二层数据流图

(1)学生用户管理

(2)业务用户管理

(3)管理员用户管理

(四)数据字典1.4.1个数据项

1.4.2 数据结构

1.4.3 数据流

1.4.4数据存储

二、数据库概念结构设计(一)实体分析

经过需求分析,本课程设计包含三个实体网上订餐系统需求分析,分别是:学生用户实体、业务用户实体和管理员用户实体。

(二)属性分析

(这部分老师说有错误指导!!!不应该这样画,用正则符号)

学生用户实体属性:学生姓名、学生公寓号、学生电话号码、学生订餐信息、学生登录密码、学生会员信息。

如下:

*商家用户实体属性:*商家名称、商家位置信息、商家电话号码、商家订单信息查看、商家登录密码。如下:

*管理员用户实体属性:*管理员名称、管理员登录密码。如下:

(三)接触分析

一个学生可以从多个企业订购多餐,一个企业也可以为多个学生提供餐食。因此,学生用户和企业用户之间存在多对多的关系;一个管理员用户可以管理多个学生用户,一个学生用户只能由一个管理员管理(这样设计是为了防止信息混淆),所以管理员用户和学生用户是多对一的关系; 同样,业务用户和管理员用户之间也存在多对一的关系。

部分ER图如下:

(四)概念模型分析(.CDM 图)

经过需求分析和实体属性分析,以及实体之间的关系,最终得到概念模型如下:

三、数据库逻辑结构设计

(这个模块也有很大的问题!!!因为当时我对这个的了解不多。)

(一)概念模型转化为逻辑模型

根据需求分析中的ER图,通过分析实体之间的属性和联系,将其从概念模型转化为关系模型,并根据规范化理论对其进行优化。

3.1.1 1:N 关系模型转换

餐食信息查询(餐品名称、价格)

学生登录(姓名、公寓号、电话号码、点餐信息、登录密码、会员信息、送餐时间)

管理员登录(管理员名称、管理员密码)

商户登录(商户名称、商户位置信息、商户电话、查看订单信息、登录密码、发货时间)

订餐信息(学生姓名、学生公寓号、学生电话号码、学生订餐、送餐时间、学生会员信息)

3.1.2 确定范式级别

根据以上分析得出的数据依赖的类型,在系统的实际开发过程中,需要查询多张表和修改删除表,而在多值依赖的实际情况下,关系模式应该达到 BCNF。.

3.1.2 实现规范化

每个关系模式的功能依赖集如下:

学生联系方式:F={学生姓名→登录密码、学生姓名→学生信息}

商户联系方式:F={商户名→登录密码、商户名→店铺信息、订单查看→用餐信息→学生信息}

管理员联系方式:F={管理员姓名→登录密码、管理员编号→登录密码→用餐信息、管理员编号→登录密码→学生信息}

订单管理联系方式:F={订单信息→学生信息、订单信息→企业信息}

学生登录联系人概念模型对关系模型的优化:

学生搜索(学生订购信息、学生信息)

学生信息(姓名、公寓号、电话号码、点餐信息、登录密码、会员信息、送餐时间)

业务登录联系人概念模型对关系模型的优化:

商家搜索(订单信息搜索、商家信息、餐饮信息)

商户信息(用餐信息、用餐名称、用餐价格、营业地点信息、营业电话、查看订单信息、登录密码、配送时间)

管理员登录联系概念模型到关系模型的优化:

管理员信息(管理员姓名、管理员、登录密码、用餐信息、学生信息)

规范化后的所有关系模式如下:

学生信息(学生个人信息、订餐信息)

商户信息(商户个人信息、用餐信息、点餐信息)

管理员信息(管理员个人信息、膳食信息、学生信息)

用餐信息(商家个人信息、用餐名称、用餐价格)

订单信息(用餐信息、企业个人信息、学生信息)

四、数据库物理实现(一)表设计4.1.1 数据库表设计

4.1.2 数据库汇总表

(二)创建表和完整性约束代码设计4.2.1创建数据库

create database WebOrdering

4.2.2创建表

/ 该模块一开始创建时数据类型错误,导致无法正确插入表格内容。已在后期修正。这里不做任何修改,以记录自己的错误。/

(a) 学生信息表 Sinfor

create table Sinfor
(
	Sno       char(6)    not null,
	Sflat     char(10)    not null,
	Stel      int         not null,
	Sorder    char(10)    not null,
	Scode     int         not null,
	Svip      char(6)     
 	
);

(b) 商户信息表 Minfor

create table Minfor
(
	Mname    char(6)    not null,
	Mplace   char(10)   not null,
	Mtel     int        not null,
	Mcode    int        not null
);

(c) 管理员信息表 Ainfor

create table Ainfor
(
	Aname    char(6)   not null,
	Acode    int       not null,
)

(d) 商品信息表 Pinfor

create table Pinfor
(
	Pname    char(6)   not null,
	Pprice   float     not null,
);

4.2.3插入数据

(a) 插入学生信息

(b) 插入业务信息

(c) 插入管理员信息

(d) 插入膳食信息

(三)创建视图、索引、存储过程和触发器4.3.1 视图的实现

(1)为学生信息查询创建一个视图

create view SSinfor
as
select Sno,Sflat,Stel,Sorder,Scode,Svip
from Sinfor

(2)创建管理员信息视图

create view SAinfor
as
select Aname,Acode
from Ainfor

(3)创建业务信息查询视图

create view SMinfor
as
select Mname,Mplace,Mtel,Mcode
from Minfor

(4)创建膳食信息视图

create view SPinfor
as
select Pname,Pprice
from Pinfor

4.3.2 索引的实现

(1)为表 Sinfor 创建索引

create index pk_index1 on Sinfor(Sname)

(2)为表 Minfor 创建索引

create index pk_index2 on Minfor(Mname)

(3)为表 Ainfor 创建索引

create index pk_index3 on Ainfor(Aname)

(4)为表 Pinfor 创建索引

create index pk_index4 on Pinfor(Pname)

4.3.3 存储过程的实现

(1)table Sinfor 实现存储过程

create procedure select_all
as
begin
select * from Sinfor
end
go

(2)table Minfor 实现存储过程

create procedure select_Mname
as
begin
select * from Minfor
end
go

(3)table Ainfor 实现存储过程

create procedure select_Aname
as
begin
select * from Ainfor
end
go

4.3.4创建触发器

(1)为表 Sinfor 创建触发器

create trigger U_Sinfor
on Sinfor
after delete
as 
begin
select * from deleted
end 
go

(2)为表 Minfor 创建触发器

create trigger U_Minfor
on Minfor
after delete
as 
begin
select * from deleted
end 
go

(3)为表 Ainfor 创建触发器

create trigger U_Ainfor
on Ainfor
after delete
as 
begin
select * from deleted
end 
go

(4)为表 Pinfor 创建触发器

create trigger U_Pinfor
on Pinfor
after delete
as 
begin
select * from deleted
end 
go

五、数据库功能实现(一)学生信息管理模块5.1.1查询学生信息

5.1.2查询学生订餐信息

5.1.3查询学生会员信息

5.1.4添加学生信息

5.1.5删除学生信息

(二)业务信息管理模块5.2.1 查询业务信息

5.2.2查询营业地点信息

5.2.3添加商家信息

5.2.4删除商家信息

(三)管理员信息管理模块5.3.1 查询管理员信息

5.3.2添加管理员信息

5.3.3删除管理员信息

(四)膳食信息管理模块5.4.1 查询膳食信息

5.4.2查询点餐信息

5.4.3添加用餐信息

5.4.4删除用餐信息

六、设计总结

声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。

图文推荐

热点排行

精彩文章

热门推荐