管理信息系统课程设计 小型超市管理系统.docx
《管理信息系统课程设计 小型超市管理系统.docx》由会员分享,可在线阅读,更多相关《管理信息系统课程设计 小型超市管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
管理信息系统课程设计小型超市管理系统
辽宁工业大学
管理信息系统设计课程设计报告(论文)
题目:
小型超市管理系统的分析与设计
院(系):
软件学院
专业班级:
软件工程112
学号:
111301039
学生姓名:
安凯辰
指导教师:
翟宝峰
教师职称:
副教授
起止时间:
2012.5.28--2012.6.8
课程设计(论文)任务及评语
院(系):
软件学院教研室:
软件教研室
学号
111301039
学生姓名
安凯辰
专业班级
软件工程112
课程设计(论文)题目
小型超市管理系统的分析与设计
课程设计(论文)任务
管理信息系统课程设计作为独立的教学环节,是电子商务专业集中实践性环节系列之一,是学习完《管理信息系统》课程并进行完专业实习后进行的一次全面的综合练习。
任务:
采用结构化的系统开发方法,应用具体的计算机语言(如VB、JAVA)和数据库(SQL、Oracle)等技术,按照软件工程的思想,开发一个实用的中小型管理信息系统,完成小型超市管理系统的分析设计实施工作,实现该系统中商品基本信息维护、销售人员管理信息维护、销售管理等功能,并完成结合分析设计过程,撰写系统设计说明书(课设报告)。
1.根据课程设计时间选择适当规模大小的设计课题。
采用专业实习的调研内容作为课程设计选题。
2.根据合理的进度安排,按照系统开发的流程及方法,踏实地开展课程设计活动。
3.课程设计过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后提交详细的课程设计报告。
4.开发出可以运行的管理信息系统,通过上机运行检查。
5.设计说明书要求文档齐备,步骤全整,流程正确,说明详细,具有有可操作性。
指导教师评语及成绩
成绩:
指导教师签字:
2012年6月12日
目录
第1章系统分析1
1.1可行性分析1
1.2需求分析1
第2章系统设计5
2.1结构设计5
2.1.1概念设计5
2.1.2逻辑设计6
2.1.3物理设计7
2.2行为设计7
2.2.1总体设计7
2.2.2模块设计8
第3章系统实施10
3.1数据库实现10
3.2程序实现11
第4章设计总结14
参考文献15
第1章系统分析
1.1可行性分析
随着我国经济的发展和人民收入的提高,人们的消费观念也有提高,经常会到超市去购物,各地的超市业也快速发展,人们对超市管理服务的要求也越来越高。
国内中小型超市已经开始逐步的改革,一些大的超市引进了的管理系统,对提高他们的效率和服务质量有很大的好处。
根据调查,发现我国的中小型超市管理水平普遍不是很高,有的还停留在纸介质的基础上,这样会浪费很多的人力和物力,业务效率也不高,因此,着手开发超市管理系统。
本系统运用VB和SQLServer2000技术,实现了超市商品信息的添加、查看、删除等功能,使超市商品管理更为科学化、系统化,为超市管理个人提供了一个更为完善的工作平台。
1.2需求分析
需求分析是指开发一个新的数据库应用系统总是要以用户需求作为起点,开发者需要收集的需求包括功能需求、数据需求和性能需求。
超市收银管理是针对社会中一些小型超市使用,从消费者的角度来说,结账时应该准确和快速,小型超市收银管理系统是一个针对超市收银管理的一个简单系统。
超市销售管理系统主要完成的功能有:
商品基本信息维护、销售人员管理信息维护、销售管理等,以及这一系列过程中涉及商品的数据修改、查询统计、删除等多种操作。
(1)超市的商品管理包括商品号,商品名称,单价,商品类型,库存量,厂商。
(2)超市的登陆管理中包括用户名和密码。
(3)超市的出库管理包括出库编号,商品号,单价,出库数量,审核人号和审核日期。
(4)超市的入库管理包括入库编号,商品号,单价,入库数量,审核人号和审核日期。
(5)超市的销售管理包括销售号,职工号,商品号,销售数量和销售日期。
(6)超市的销售人员管理包括职工号,姓名,性别,用户类型。
1.超市收银管理系统的业务流程图,它反映了系统各机构的业务处理过程和它们之间的业务分工与联系,以及连接各机构的物流,信息流的传递和流通关系,超市收银管理系统中产品销售与库存业务流程,销售人员与客户业务流程,审核人员对销售记录和缺货记录进行查询后打印缺货记录、入库管理和查看库存记录,每隔一段时间要更新库存记录,按出库单和入库单登记库存。
每当销售人员售出商品后,要更新销售记录和库存记录。
如下图是超市收银管理系统的业务流程图:
图1系统的业务流程图
2.超市收银管理系统的数据流程图
图2系统的数据流程图
3.超市收银管理系统的数据字典
a.商品表和出库单的数据项定义如下:
表1数据项定义
数据项名称
数据项含义说明
别名
数据类型
长度
取值范围
商品号
为每个商品设置一个代号
无
字符
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
中、外文
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章系统设计
2.1结构设计
超市收银管理系统的数据库设计包括对数据库的需求分析、概念设计、逻辑设计、物理设计
2.1.1概念设计
数据的概念设计描述了从用户角度看到的数据库的内容及联系,一方面它明确反映了用户的需求,另一方面它又是建立数据逻辑模型的基础。
一般用E-R图来对其进行描述。
E-R图由实体、联系和属性三个基本成分组成。
下面是超市收银管理系统中“商品”实体的属性和“出库”实体的属性:
图3商品实体的属性
图4出库实体的属性
图5人员实体的属性
下面是超市管理系统的E-R图:
图6超市管理系统E-R图
2.1.2逻辑设计
逻辑设计是指在建立数据库的概念模型后,就可根据选定的数据库管理系统所支持的数据模型,将概念模型转换成逻辑模型。
在E-R图中有实体、实体之间的联系两类数据。
因此,从E-R图转换导出关系数据模型,实际上就是将实体与联系转换成关系数据模型。
将超市收银管理系统的E-R图转为关系数据模型包括:
(1)超市收银管理系统的E-R图中的每一个实体转换成一个关系数据模型:
商品(商品号、商品名称、单价、商品类型、库存量、厂商)。
仓库(商品号、单价、出库数量、入库数量、出库编号、入库编号、审核人号、审核日期)。
销售员(职工号、姓名、性别、用户类型)。
(2)超市收银管理系统的E-R图中的每一个联系转换成一个关系数据模型:
销售(销售号、职工号、商品号、销售数量、销售时间)。
管理(职工号、商品号、库存量)。
审核(审核人号、商品号、入库数量、出库数量)。
出售(商品号、销售号、销售数量)。
(3)对关系进行优化处理:
a.把关系销售(销售号、职工号、商品号、销售数量、销售时间)分解成关系A(商品号、职工号、销售号)和关系B(销售号、销售数量、销售时间)。
b.把关系审核(审核人号、商品号、入库数量、出库数量)分解成关系C(商品号、审核人号)和关系D(审核人号、入库数量、出库数量)。
c.把关系出售(商品号、销售号、销售数量)分解成关系E(商品号、销售号)和关系F(销售号、销售数量)
2.1.3物理设计
物理设计是指为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
进行物理存储安排,设计索引,形成数据库内模式。
1.在超市收银管理系统数据库中分别在销售表、销售人员表、入库单、出库单和商品表中一共建立了5个索引,我建立的两个索引如下:
(1)在出库单上创建一个名为商品号_index的唯一性聚簇索引,索引关键字为商品号_index,升序,填充因子50%。
(2)在商品表上创建一个名为商品号_index的唯一性聚簇索引,索引关键字为商品号_index,升序,填充因子50%。
2.在超市收银管理数据库中的数据文件和事务日志
数据文件:
文件名是超市管理_Data.,文件属性为文件自动增长,按百分比10,文件增长不受限制,分配空间(MB)为2,文件组是PRIMARY,位置是E:
\SQL+VB+超市收银管理系统\数据库课程设计SQL+VB超市收银管理系统\后台。
事务日志:
文件名师超市管理_Log.,文件属性为文件自动增长,按百分比10,文件增长不受限制,分配空间(MB)为1,位置是E:
\SQL+VB+超市收银管理系统\数据库课程设计SQL+VB超市收银管理系统\后台。
3.数据库中各表的主键
入库单中设商品号为主键、销售表中设销售号为主键、出库单中设出库编号为主键、商品表中设商品号为主键、销售人员表中设职工号为主键。
2.2行为设计
2.2.1总体设计
总体设计(概要设计)是将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。
在小型超市前台管理系统中我创建的模块有:
登陆管理模块:
本模块主要实现用户的登陆、注册和退出的管理。
商品管理模块:
本模块主要实现商品的查询、添加、删除和退出的管理。
下面超市收银管理系统的模块结构图:
图7超市管理系统模块结构图
小型超市管理系统的模块和功能如下所示:
(1)登陆模块:
对用户信息的注册和登陆,包括用户名和密码管理,用户的退出管理。
(2)商品模块:
对各种商品信息的添加、查询、修改,包括商品号、商品的名称、单价、商品类型、库存量和厂商等信息的输入。
(3)销售模块:
对销售的商品进行添加、查询、修改,包括商品号、职工号、销售时间、销售数量等信息的录入。
(4)销售员工模块:
对员工信息的添加、查询、修改。
2.2.2功能模块设计
商品信息管理窗口设计如下:
1.输入设计
(1)实现目标
程序启动后,调用“主目录”下的“商品信息表”,可以进行商品信息的添加。
商品信息生成窗口主要实现如下功能:
1)可执行添加商品信息操作。
2)可执行修改商品信息操作。
3)可执行删除商品信息操作。
4)可执行查询商品信息操作。
(2)实现过程
1)添加新窗体,设置窗体caption属性为“商品表”,保存窗体为“商品表.frm”。
2)向窗体中添加Datasource、Command、Label、Bitbtn等控件。
2.输出设计
(1)实现目标
程序启动后,调用“主目录”下的“商品表”,将打开“商品信息管理”窗口。
小区信息生成窗口主要实现如下功能:
输入商品号、商品名称、库存量、单价、商品类型、厂商。
(2)实现过程
向窗体中添加Query、Edit、Label、Command、Bitbtn、Updown等控件。
第3章系统实施
3.1数据库实现
数据库的实现是指利用选定数据库管理系统所提供的有关操作命令,进行上机操作,建立起所有数据库。
1.在超市收银管理系统数据库中建立的表有:
商品表、入库单、出库单、销售表、销售人员表、登陆表。
下面是商品表的表结构:
表2商品表的表结构
列名
数据类型
长度
允许空
主键
商品号
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.超市收银管理数据库的关系图
图8关系图
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.在超市收银管理系统数据库中对触发器的实现
为出库单建立触发器以自动更新商品表的库存量:
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,insertediWHEREs.商品号=i.商品号)
FROM商品表c,insertediWHEREc.商品号=i.商品号
END
GO
3.2程序实现
程序实现是指完成程序的编制、测试、数据库的建立、系统的试运行和系统的转换等工作,即将系统的设计付诸于实现的过程。
下面是超市收银管理系统中商品表界面的截图:
图9商品表界面
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
第4章设计总结
通过这两个星期课程设计的学习,让我进一步了解简单的小型超市管理系统的设计过程。
这次数据库的设计我是遵循数据库应用系统的开发步骤来进行的设计,做好基础工作,认真分系用户需求,设计一个性能优异、结构合理的数据库。
过程中我遇到了很多的问题,但是最后通过努力和老师不厌其烦的解答以及查找资料最后都得到了解决。
对于前台通过VisualBasic6.0进行设计,首先要想好设计的界面,这里一共设计了四个功能模块,包括登陆管理界面、销售管理界面、销售员工管理界面和商品管理界面。
以及把这些界面连接起来,然后把数据库和界面的应用程序连接起来,方便信息的查询、更改、删除和增加。
对于后台通过SQLserver2000进行设计,首先创建一个超市管理的数据库,在超市管理数据库中建立表,其中包括商品表、登陆表、销售表、销售人员表、入库单和出库单。
再为它们建立相应的索引和触发器等。
接下来为表建立主键并编辑它们的关系。
在画系统的数据流程图时,对这个系统的数据流程图要有个完整的过程,先整理超市的工作流程,把应该归入系统都规划,它体现了超市管理系统中的流程。
在进行系统的E-R图中,把各个实体之间的关系体现出来,以及各个实体的属性。
接下来在画出业务流程图、数据字典等。
在设计中我深知自己掌握的知识还远远不够,把掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。
把学到的知识应用到实际中去,多做多练,才可以把理论的精华发挥出来。
知识不是知道了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。
而且知识又不是单一的,它是互相联系的。
在设计阶段,通过对课题的深入分析与研究,迫使我对知识有了一定的了解。
在遇到问题时,得到了老师与同学的细心帮助,使我感受到集体的力量是无穷的。
参考文献
[1]黄梯云.《管理信息系统》.北京:
高等教育出版社,2011.
[2]甘仞初.《信息资源管理》.北京:
经济科学出版社,2003.
[3]李一军,卢涛.《管理信息系统案例集》.北京:
高等教育出版社,2005.
[4]王秀红.《数据库系统设计教程》.甘肃:
甘肃文化出版社,2004.
[5]张鑫燕.《SQLServer2000程序设计》.北京:
科学出版社,1998.
[6]王俊伟.《SQLServer2000数据库管理与应用》.北京:
清华大学出版社,2001.
[7]刘炳文.《VisualBasic程序设计教程》.北京:
清华大学出版社,2005.*
[8]罗朝盛.《VisualBasic6.0程序设计实践指导》.浙江:
浙江科学技术出版社,2006.
[9]柴欣.《VisualBasic6.0程序设计基础》.北京:
人民邮电出版社,2007.
[10]乌家培.《信息经济与知识经济》.北京:
经济科学出版社,1999.