管理信息系统设计专题说明书.docx
《管理信息系统设计专题说明书.docx》由会员分享,可在线阅读,更多相关《管理信息系统设计专题说明书.docx(18页珍藏版)》请在冰豆网上搜索。
管理信息系统设计专题说明书
辽宁工业大学
《管理信息系统设计专题》报告
题目:
超市管理系统
院(系):
软件学院
专业班级:
计算机网络技术113班
学号:
111406075
学生姓名:
李强
指导教师:
翟宝峰
教师职称:
副教授
起止时间:
2010.06.28-2010.07.09
设计任务及评语
院(系):
软件学院教研室:
软件教研室
学号
111406075
学生姓名
李强
专业班级
计算机网络技术113班
设计题目
超市管理系统
设计任务
要求根据管理信息系统及数据库设计原理,按照系统设计的步骤和规范,完成各阶段的设计内容。
需求分析具体实际,数据流图、数据字典、关系模型要规范。
在sqlserver2000上实现数据库的模型建立(数据库、表的建立、完整性约束的实现、关系图、必要的存储过程及触发器的编程),并用VB实现简单的应用程序。
设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出设计报告。
指导教师评语及成绩
成绩:
指导教师签字:
年月日
第1章设计目的与要求
1.1设计目的
本设计专题是软件工程类专业的有关管理信息系统设计开发的一个重要环节,是本专业学生必须学习和掌握的综合实践课程。
本实践课的主要目的是:
(1)、掌握运用管理系统及数据库原理知识进行系统分析和设计的方法;
(2)掌握关系数据库的设计方法;(3)掌握SQLServer2000技术应用;(4)掌握简单的数据库应用程序编写方法;(5)理解C/S模式结构。
1.2设计环境
硬件:
一台Pentium4cpu以上的微机及兼容VGA彩显一台
软件:
SQLSever2000和WindowsXPVisualBasic6.0
1.3主要参考资料
1.《管理信息系统》黄梯云高等教育出版社
2.《数据库系统概论》萨师煊高等教育出版社
3.《SQLServer2000数据库应用系统开发技术》朱如龙编,机械工业出版社。
4.《SQLServer2000数据库应用系统开发技术实验指导》朱如龙编,机械工业出版社
1.4设计内容及要求
一、内容
1.要求根据管理信息系统及数据库设计原理,按照数据库系统设计的步骤和规范,完成各阶段的设计内容。
2.需求分析具体实际,数据流图、数据字典、关系模型要正确规范
3.在sqlserver2000上实现设计的数据库模型。
4.对应用程序进行概要设计。
5.用VB实现简单的应用程序编写。
二、要求
设计过程中,要严格遵守课程设计的时间安排,听从指导教师的指导。
正确地完成上述内容,规范完整地撰写出课程设计报告。
第2章设计内容
2.1数据库设计
超市收银管理系统的数据库设计包括对数据库的需求分析、概念设计、逻辑设计、物理设计以及数据库的实现。
2.1.1需求分析
需求分析是指开发一个新的数据库应用系统总是要以用户需求作为起点,开发者需要收集的需求包括功能需求、数据需求和性能需求。
超市管理是针对社会中一些小型超市使用,从消费者的角度来说,结账时应该准确和快速,小型超市管理系统是一个针对超市收银管理的一个简单系统。
超市管理系统主要完成的功能有:
商品基本信息维护、销售人员管理信息维护、销售管理等,以及这一系列过程中涉及商品的数据修改、查询统计、删除等多种操作。
(1)超市的商品管理包括商品号,商品名称,单价,商品类型,库存量,厂商。
(2)超市的登陆管理中包括用户名和密码。
(3)超市的出库管理包括出库编号,商品号,单价,出库数量,审核人号和审核日期。
(4)超市的入库管理包括入库编号,商品号,单价,入库数量,审核人号和审核日期。
(5)超市的销售管理包括销售号,职工号,商品号,销售数量和销售日期。
(6)超市的销售人员管理包括职工号,姓名,性别,用户类型。
1.超市管理系统的业务流程图,它反映了系统各机构的业务处理过程和它们之间的业务分工与联系,以及连接各机构的物流,信息流的传递和流通关系,超市管理系统中产品销售与库存业务流程,销售人员与客户业务流程,审核人员对销售记录和缺货记录进行查询后打印缺货记录、入库管理和查看库存记录,每隔一段时间要更新库存记录,按出库单和入库单登记库存。
每当销售人员售出商品后,要更新销售记录和库存记录。
如下图是超市管理系统的业务流程图:
图1系统的业务流程图
2.超市管理系统的数据流程图
图2系统的数据流程图
3.超市管理系统的数据字典
a.商品表和出库单的数据项定义如下:
数据项名称
数据项含义说明
别名
数据类型
长度
取值范围
商品号
为每个商品设置一个代号
无
字符
50
a0000-x9999
商品名称
商品的名字
无
字符
50
中、外文
单价
商品的价格
无
数字
8
a0.00-x9999.00
商品类型
商品的分类
无
字符
50
中、外文
库存量
商品的库存数量
无
字符
10
a0-a9999
出库编号
为每个出库的商品设置一个编号
无
字符
50
a0000-x9999
出库数量
商品出库的数量
无
字符
10
a0-a9999
审核人号
对商品出库审核的人
无
字符
50
a0000-a9999
审核日期
对商品的出库审核的日期
无
日期
4
19**/**/*-2***/**/**
厂商
商品的产地
无
字符
50
中、外文
表1数据项定义
b.数据结构的定义:
(1)出库的数据结构:
数据结构名称:
出库
含义说明:
数据库中用来存储商品出库的信息
数据结构组成:
出库编号+商品号+单价+出库数量+审核人号+审核日期
(2)商品的数据结构:
数据结构名称:
商品
含义说明:
数据库中用来存储商品的信息
数据结构组成:
商品号+商品名称+单价+商品类型+库存量+厂商
c.数据流的定义:
(1)S1.5数据流
数据流名称:
缺货统计
简要说明:
对各种商品缺货进行统计
数据流来源:
P1.4
数据流去向:
查询缺货记录管理模块
数据结构:
商品号+库存量+审核人号+审核日期
(2)S1.10数据流
数据流名称:
出库统计
简要说明:
对商品的出库进行统计
数据流来源:
查询销售记录管理模块
数据流去向:
P1.11
数据结构:
商品号+出库编号+出库数量+库存量+审核人号+审核日期
d.数据存储的定义:
(1)出库记录的数据存储:
数据存储名称:
出库记录
简要说明:
所有商品的出库记录
输入数据流:
S1.10(P1.5—D3)
S1.10(P1.6—D3)
输出数据流:
S1.12(D3—P1.11)
(2)缺货记录的数据存储:
数据存储名称:
缺货记录
简要说明:
所有商品的缺货记录
输入数据流:
S1.3(P1.4—D2)
输出数据流:
S1.5(D2—P1.7)
S1.5(D2—P1.8)
2.1.2概念设计
数据的概念设计描述了从用户角度看到的数据库的内容及联系,一方面它明确反映了用户的需求,另一方面它又是建立数据逻辑模型的基础。
一般用E-R图来对其进行描述。
E-R图由实体、联系和属性三个基本成分组成。
下面是超市管理系统中“商品”实体的属性和“出库”实体的属性:
图3商品实体的属性
图4出库实体的属性
下面是超市管理系统的E-R图:
图5超市管理系统E-R图
2.1.3逻辑设计
逻辑设计是指在建立数据库的概念模型后,就可根据选定的数据库管理系统所支持的数据模型,将概念模型转换成逻辑模型。
在E-R图中有实体、实体之间的联系两类数据。
因此,从E-R图转换导出关系数据模型,实际上就是将实体与联系转换成关系数据模型。
将超市管理系统的E-R图转为关系数据模型包括:
(1)超市管理系统的E-R图中的每一个实体转换成一个关系数据模型:
商品(商品号、商品名称、单价、商品类型、库存量、厂商)。
仓库(商品号、单价、出库数量、入库数量、出库编号、入库编号、审核人号、审核日期)。
销售员(职工号、姓名、性别、用户类型)。
(2)超市管理系统的E-R图中的每一个联系转换成一个关系数据模型:
销售(销售号、职工号、商品号、销售数量、销售时间)。
管理(职工号、商品号、库存量)。
审核(审核人号、商品号、入库数量、出库数量)。
出售(商品号、销售号、销售数量)。
(3)对关系进行优化处理:
a.把关系销售(销售号、职工号、商品号、销售数量、销售时间)分解成关系A(商品号、职工号、销售号)和关系B(销售号、销售数量、销售时间)。
b.把关系审核(审核人号、商品号、入库数量、出库数量)分解成关系C(商品号、审核人号)和关系D(审核人号、入库数量、出库数量)。
c.把关系出售(商品号、销售号、销售数量)分解成关系E(商品号、销售号)和关系F(销售号、销售数量)
2.1.4物理设计
物理设计是指为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
进行物理存储安排,设计索引,形成数据库内模式。
1.在超市管理系统数据库中分别在销售表、销售人员表、入库单、出库单和商品表中一共建立了5个索引,我建立的两个索引如下:
(1)在出库单上创建一个名为商品号_index的唯一性聚簇索引,索引关键字为商品号_index,升序,填充因子50%:
USE超市管理
GO
CREATEUNIQUECLUSTEREDINDEX商品号_index
ON出库单(商品号ASC)
WITH
FILLFACTOR=50
(2)在商品表上创建一个名为商品号_index的唯一性聚簇索引,索引关键字为商品号_index,升序,填充因子50%:
USE超市管理
GO
CREATEUNIQUECLUSTEREDINDEX商品号_index
ON商品表(商品号ASC)
WITH
FILLFACTOR=50
2.在超市管理数据库中的数据文件和事务日志
数据文件:
文件名是超市管理_Data.,文件属性为文件自动增长,按百分比10,文件增长不受限制,分配空间(MB)为2,文件组是PRIMARY,位置是E:
\SQL+VB+超市管理系统\数据库课程设计SQL+VB超市管理系统\后台。
事务日志:
文件名师超市管理_Log.,文件属性为文件自动增长,按百分比10,文件增长不受限制,分配空间(MB)为1,位置是E:
\SQL+VB+超市管理系统\数据库课程设计SQL+VB超市管理系统\后台。
3.数据库中各表的主键
入库单中设商品号为主键、销售表中设销售号为主键、出库单中设出库编号为主键、商品表中设商品号为主键、销售人员表中设职工号为主键。
2.1.5数据库实现
数据库的实现是指利用选定数据库管理系统所提供的有关操作命令,进行上机操作,建立起所有数据库。
1.在超市管理系统数据库中建立的表有:
商品表、入库单、出库单、销售表、销售人员表、登陆表。
下面是商品表的表结构:
列名
数据类型
长度
允许空
主键
商品号
varchar
50
NOTNULL
1
商品名称
varchar
50
NOTNULL
0
单价
float
8
NULL
0
商品类型
varchar
50
NULL
0
库存量
char
10
NULL
0
厂商
varchar
50
NULL
0
表2商品表的表结构
1.超市管理数据库的关系图
图6关系图
3.在超市管理系统数据库中创建下面的存储过程用于商品表的插入、修改
(1)商品表插入
CREATEPROCEDUREspb_insert
@sphvarchar(50),@spmcvarchar(50),@splxvarchar(50),@djfloat,@kclchar(10),@csvarchar(50)
as
insertinto商品表(商品号,商品名称,库存量,商品类型,厂商,单价)
values(@sph,@spmc,@kcl,@splx,@cs,@dj)
GO
(2)商品表修改
CREATEPROCEDUREspb_update
@sphvarchar(50),@spmcvarchar(50),@kclchar(50),@djfloat,@splxvarchar(50),@csvarchar(50)
as
deletexswhere商品号=@sph
insertinto商品表(商品号,商品名称,库存量,单价,商品类型,厂商)
values(@sph,@spmc,@kcl,@dj,@splx,@cs)
GO
4.在超市管理系统数据库中对触发器的实现
(1)为出库单建立触发器以自动更新商品表的库存量:
CREATETRIGGERchuku_insertON出库单FORINSERT
AS
DECLARE@NumOfStudentTINYINT
SELECT@NumOfStudent=c.库存量FROM商品表c,insertedi
WHEREc.商品号=i.商品号
IF(@NumOfStudent>0)
BEGIN
UPDATE商品表SET库存量=库存量+1
FROM商品表c,insertediWHEREc.商品号=i.商品号
END
ELSE
BEGIN
UPDATE商品表SET库存量=(
SELECTCOUNT(s.出库编号)FROM出库单s,insertedi
WHEREs.商品号=i.商品号)
FROM商品表c,insertediWHEREc.商品号=i.商品号
END
GO
(2)为出库单建立触发器,在删除商品记录时自动更新商品表中相应的库存量:
CREATETRIGGERchuku_deleteON出库单FORDELETE
AS
DECLARE@NumOfStudentTINYINT
SELECT@NumOfStudent=c.库存量FROM商品表c,deletedd
WHEREc.商品号=d.商品号
IF(@NumOfStudent>0)
BEGIN
UPDATE商品表SET库存量=库存量-1
FROM商品表c,deleteddWHEREc.商品号=d.商品号
END
ELSE
BEGIN
UPDATE商品表SET库存量=(
SELECTCOUNT(s.出库编号)FROM出库单s,deletedd
WHEREs.商品号=d.商品号)
FROM商品表c,deleteddWHEREc.商品号=d.商品号
END
GO
2.2程序设计
程序设计是根据系统设计文档中有关模块的处理过程描述,选择合适的计算机程序语言,编制出正确、清晰、健壮性好、易维护、易理解、工作效率高的程序过程。
2.2.1概要设计
概要设计是将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
在小型超市前台管理系统中我创建的模块有:
登陆管理模块:
本模块主要实现用户的登陆、注册和退出的管理。
商品管理模块:
本模块主要实现商品的查询、添加、删除和退出的管理。
下面超市管理系统的模块结构图:
图7超市管理系统模块结构图
其中商品模块和登陆模块完成的功能有:
(1)对各种商品信息的添加、查询、修改,包括商品号、商品的名称、单价、商品类型、库存量和厂商等信息的输入。
(2)对各种商品信息的删除。
(3)对用户信息的注册和登陆,包括用户名和密码管理。
(4)用户的退出管理。
2.2.2程序实现
程序实现是指完成程序的编制、测试、数据库的建立、系统的试运行和系统的转换等工作,即将系统的设计付诸于实现的过程。
下面是超市管理系统中商品表界面的截图:
图8功能实现窗口图
1.在商品表模块中实现查询功能的代码如下:
str1="select*from商品表where商品号='"&Text1.Text&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
Ifrs.EOFThen
MsgBox"该商品不存在"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource=str1
Adodc1.Refresh
2.在商品表模块中实现添加功能的代码如下:
str1="select*from商品表where商品号='"&Text1.Text&"'"
Ifrs.State=1Then
rs.Close
EndIf
rs.Openstr1,cn,1,3
Ifrs.EOFThen
rs.AddNew
rs("商品号")=Text1.Text
rs("商品名称")=Text2.Text
rs("库存量")=Text3.Text
rs("商品类型")=Text4.Text
rs("厂商")=Text5.Text
rs("单价")=Text6.Text
rs.Update
MsgBox"数据添加成功",64,"信息提示"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*from商品表"
Else
MsgBox"该商品已经存在了",16,"警告"
EndIf
3.在商品表模块中实现删除功能的代码如下:
DimrsAsNewADODB.Recordset
Dimrs1AsNewADODB.Recordset
Ifrs.State=1Then
rs.Close
EndIf
Ifrs1.State=1Then
rs1.Close
EndIf
rs1.Open"select*from商品表where商品号='"&Text1.Text&"'and商品名称='"&Text2.Text&"'",cn,1,3
Ifrs1.EOFThen
MsgBox"没有此种商品不能删除!
"
Else
rs.Open"delete商品表where商品号='"&Text1.Text&"'and商品名称='"&Text2.Text&"'",cn,1,3
MsgBox"确定删除吗",32+4,"警告"
Adodc1.CommandType=adCmdText
Adodc1.RecordSource="select*from商品表"
Adodc1.Refresh
第3章设计总结
本次课程设计题目是“超市管理系统”,通过本次设计让我对SQLsever有了更深刻的理解,原本以为自己已经基本掌握了SQL的全部知识,但当我开始着手实际操作时才发现原来过去自己所掌握的知识是那么的贫乏,加上不能熟练掌握知识遇到了很多的困难。
对于前台通过VisualBasic6.0进行设计,首先要想好设计的界面,这里一共设计了四个功能模块,包括登陆管理界面、销售管理界面、销售员工管理界面和商品管理界面。
以及把这些界面连接起来,然后把数据库和界面的应用程序连接起来,方便信息的查询、更改、删除和增加。
对于后台通过SQLserver2000进行设计,首先创建一个超市管理的数据库,在超市管理数据库中建立表,其中包括商品表、登陆表、销售表、销售人员表、入库单和出库单。
再为它们建立相应的索引和触发器等。
接下来为表建立主键并编辑它们的关系。
在画系统的数据流程图时,对这个系统的数据流程图要有个完整的过程,先整理超市的工作流程,把应该归入系统都规划,它体现了超市管理系统中的流程。
在进行系统的E-R图中,把各个实体之间的关系体现出来,以及各个实体的属性。
接下来在画出业务流程图、数据字典等。
在设计中我深知自己掌握的知识还远远不够,把掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。
把学到的知识应用到实际中去,多做多练,才可以把理论的精华发挥出来。
知识不是知道了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。
而且知识又不是单一的,它是互相联系的。
在设计阶段,通过对课题的深入分析与研究,迫使我对知识有了一定的了解。
在遇到问题时,得到了老师与同学的细心帮助,使我感受到集体的力量是无穷的。
通过这次课程设计的学习,让我进一步了解超市管理系统的设计过程。
这次数据库的设计我是遵循数据库应用系统的开发步骤来进行的设计,做好基础工作,认真分系用户需求,设计一个性能优异、结构合理的数据库。
过程中我遇到了很多的问题,但是最后通过努力和老师不厌其烦的解答以及查找资料最后都得到了解决。
参考文献
1.黄梯云.《管理信息系统》.高等教育出版社
2.萨师煊.《数据库系统概论》.高等教育出版社
3.朱如龙.《SQLServer2000数据库应用系统开发技术》.机械工业出版社
4.《SQLServer2000数据库应用系统开发技术实验指导》.机械工业出版社
5.邹建.《深入浅出SQLServer2000开发、管理与应用实例》.人民邮电出版社
6.石伟平.《SQLServer2000数据库管理系统》.华东师范大学出版社
7.彭东《SQLServer应用开发技术指南》清华大学出版社
8.李存斌.《数据库应用技术SQLServer2000简明教程》.中国水利水电出版社
9.许强.《SQL2000数据库设计管理与应用》.国防工业出版社
10.刘炳文.《VisualBasic程序设计教程》.清华大学出版社
11.王秀红.《数据库系统设计教程》.甘肃文化出版社
12.罗朝盛.《VisualBasic6.0程序设计实践指导》.浙江科学技术出版社
13.柴欣.《VisualBasic6.0程序设计基础》.人民邮电出版社
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)