小型超市管理系统
题目: 小型超市管理系统
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )
目录
第一章 概述 ............................................ 3 第二章 问题定义 ........................................ 4 第三章 需求分析 ........................................ 5 第四章 数据库
...................................... 9 第五章 界面设计 ....................................... 12 第六章 代码与注释 ..................................... 14 设计
.............................................. 18 参考文献 .............................................. 19
-
共 20 页 第 - 2 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第一章 概述
本系统从小型超市的实际业务和管理
出发,针对超市现在运营的系统的缺点和不足,利用目前成熟的客户服务器体系结构,开发出了一个具有实用价值的小型超市管理系统。论文详细论述了系统开发的过程、结构及软件开发的基本思想和方法。对超市的信息需求,信息系统的目标,系统的功能结构,系统的范围与边界,系统的逻辑、物理结构及其具体实现,系统数据库结构及表单内容,系统的操作界面,系统的安全性,系统实施的要点、系统的支撑环境,系统的操作流程等方面进行了详细的分析和论述。
作为一个小型超市想要提高市场竞争力,既要有好的商品质量,同时也要有好的客户服务.超市要做到能及时响应顾客的商品需求,根据需求迅速进货,及时上架,快速周转,就必须有一个好的管理计划,使得商品的进货、销售和库存3个环节能够很好地协调配合。
-
共 20 页 第 - 3 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第二章 问题定义
销售人员:销售商品的工作人员,需要通过密码才能进入。他们拥有对系统数据的录入、修改、查询、删除等操作权限。但不可以更改系统密码。 用户人员:权限最低的登入人员,他们拥有对商品信息的查询权限,但不能对数据进行修改、删除和添加。
系统管理人员:系统的录入人员,指超市信息管理系统的管理人员,他们拥有所有权限,包括对系统数据的录入、修改、查询、删除等操作权限。可以对系统密码进行更改,可以管理用户信息、权限。
-
共 20 页 第 - 4 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第三章 需求分析
一、数据库需求分析
需求分析是指开发一个新的数据库应用系统总是要以用户需求作为起点,开发者需要收集的需求包括功能需求、数据需求和性能需求。超市管理是针对社会中一些小型超市使用,从消费者的角度来说,结账时应该准确和快速,小型超市管理系统是一个针对超市管理的一个简单系统。超市管理系统主要完成的功能有:商品基本信息维护、销售人员管理信息维护、销售管理等,以及这一系列过程中涉及商品的数据修改、查询统计、删除等多种操作。
(1)超市的商品管理包括商品号,商品名称,单价,商品类型,库存量,厂商。
(2)超市的登陆管理中包括用户名和密码。
(3)超市的出库管理包括出库编号,商品号,单价,出库数量,审核人号和审核日期。
(4)超市的入库管理包括入库编号,商品号,单价,入库数量,审核人号和审核日期。
(5)超市的销售管理包括销售号,职工号,商品号,销售数量和销售日期。
(6)超市的销售人员管理包括职工号,姓名,性别,用户类型。 二、数据流程图
数据流程图是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。数据流程图的基本成分 包括系统的外部实体、处理过程、数据存储和系统中的数据流四个组成部分
外部实体:外部实体指系统以外又和系统有联系的人或事物,它说明了数据的外部来源和去处,属于系统的外部和系统的界面。外部实体支持系统数据输入的实体称为源点,支持系统数据输出的实体称为终点。
处理过程:处理指对数据逻辑处理,也就是数据变换,它用来改变数据值。而每一种处理又包括数据输入、数据处理和数据输出等部分。
数据流:数据流是指处理功能的输入或输出。它用来表示一中间数据流值,但不能用来改变数据值。数据流是模拟系统数据在系统中传递过程的工具。
数据存储:数据存储表示数据保存的地方,它用来存储数据。系统处理从数据存储中提取数据,也将处理的数据返回数据存储。
以下是超市管理系统的数据流程图:
-
共 20 页 第 - 5 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
P1.5 S1.10 查询S1.4 销售S1.6 S1.10 记录 D 销售 审核 P1.3 D3出库记S1.2 1 记录 人员 录 S1.1 更新S
P1.6 销售1.7 S1.10 S1.12 打印记录 P1.9 S S1.4 销售 P1.11 1.10
记录 出库查询出销P1.1 P1.2 管理 库信息 售
人售出客户S P1.7 员 商品 结账 1.8 P1.0 P1.12 查询 查询入S1.5 缺货入库库信息 P1.4 记录 管理 更新S1.13 S S1.1 S1.3 S 库存D D 缺货缺货 1.11 1.11 D4 入库记记录 2 记录2记 P1.8 审核 录 录表 打印人员 S 缺货 1.11 S1.5 记录 S1.11
S1.9
图3.1系统的数据流程图
三、数据字典
小型超市管理系统的数据字典。
a.数据结构的定义:
(1)出库的数据结构:
数据结构名称:出库
含义说明:数据库中用来存储商品出库的信息
数据结构组成:出库编号+商品号+单价+出库数量+审核人号+审核日期 (2)商品的数据结构:
数据结构名称:商品
含义说明:数据库中用来存储商品的信息
数据结构组成:商品号+商品名称,单价+商品类型+库存量+厂商 b.数据流的定义:
(1)S1.5数据流
-
共 20 页 第 - 6 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书 数据流名称:缺货统计
简要说明:对各种商品缺货进行统计
数据流来源:P1.4
数据流去向:查询缺货记录管理模块
数据结构:商品号+库存量+审核人号+审核日期
(2)S1.10数据流
数据流名称:出库统计
简要说明:对商品的出库进行统计
数据流来源:查询销售记录管理模块
数据流去向:P1.11
数据结构:商品号+出库编号+出库数量+库存量+审核人号+审核日期
四、程序流程图
如下是小型超市管理系统的程序流程图:
登录界面
密码是否正确
是
系统主界面菜单选择
输入否
查询否
修改否
是
是删除
是
是否
信息输入信息查询信息修改信息删除
否
退出系统图3.2程序流程图
-
共 20 页 第 - 7 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
五、系统功能结构图
在小型超市前台管理系统中我创建的模块有:登陆管理模块:本模块主要实现用户的登陆、注册和退出的管理。商品管理模块:本模块主要实现商品的查询、添加、删除和退出的管理。销售模块:本模块主要实现销售信息的查询、添加、删除和退出的管理。销售员工模块:本模块主要实现销售员工信息的查询、添加、删除和退出的管理。
下面超市管理系统的模块结构图:
小型超市收银管理系统
登销商销 售陆售品员 模模模工
模块 块 块 块
销销销信信信商商商
售售售息息息品品品 信信信添查删信信信
加 询 除 息息息息息息
添查删添查删
加 询 除 加 询 除
图3.3超市管理系统模块图
-
共 20 页 第 - 8 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第四章 数据库设计
一、概念设计
数据的概念设计描述了从用户角度看到的数据库的内容及联系,一方面它明确反映了用户的需求,另一方面它又是建立数据逻辑模型的基础。一般用E-R图来对其进行描述。E-R图由实体、联系和属性三个基本成分组成。下面分别是商品实体的E-R图、销售人员实体的E-R图、系统的E-R图。
商品类型 厂商
商品
商品号 商品名称 单价 库存量
图4.1商品实体的E-R图
销售人员
职工号 姓名 性别 用户类型
图4.2销售人员实体的E-R图
销售员
m
销售
n
m m 商品 出售 管理
n n n
职工 存储 顾客
n m
审核 1 仓库
m
图4.3超市管理系统的E-R图 -
共 20 页 第 - 9 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书 二、逻辑设计
逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工。数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。如果数据库逻辑设计不好,则所有方法对于提高数据库性能的效果都是有限的。为了使数据库设计的方法走向完备,数据库的规范化理论必须遵守。规范化理论为数据库逻辑设计提供了理论指导和工具,在减少了数据冗余的同时节约了存储空间,同时加快了增、删、改的速度。
在超市管理系统数据库中建立的表有:商品表、入库单、出库单、销售表、销售人员表、登陆表。下面列出几个主要的数据库表设计:
表1商品表
列名 数据类型 长度 允许空 主键
商品号 varchar 50 NOT NULL 1
商品名称 varchar 50 NOT NULL 0
单价 float 8 NULL 0
商品类型 varchar 50 NULL 0
库存量 char 10 NULL 0
厂商 varchar 50 NULL 0
表2销售表
列名 数据类型 长度 允许空 主键
销售号 varchar 50 NOT NULL 1
职工号 varchar 50 NOT NULL 0
商品号 varchar 50 NULL 0
销售数量 float 8 NULL 0
销售时间 datetime 8 NULL 0
表3销售人员表
列名 数据类型 长度 允许空 主键
职工号 varchar 50 NOT NULL 1
姓名 rchar 10 NULL 0
性别 rchar 10 NULL 0
用户类型 varchar 50 NULL 0 三、物理设计
物理设计是指为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。进行物理存储安排,设计索引,形成数据库内模式。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提-
共 20 页 第 - 10 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书 供了数据存储结构与存取方法,这个过程就是数据库的物理设计。
在超市管理系统数据库中建立的表有:商品表、入库单、出库单、销售表、销售人员表、登陆表。下面列出几个主要的数据库表设计:
图4.4商品表
图4.5销售表
图4.6销售人员表
-
共 20 页 第 - 11 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第五章 界面设计
一、登陆窗口
系统登入后,首先出现用户登录窗体,用户首先等如用户名然后输入密码。
图5.1系统登录界面
二、主界面
单击主界面上的各个按钮,可以进入相应的界面中。
图5.2主界面
三、商品信息管理
选择“商品信息查询”按钮,出现如下所示的界面,管理员可以对商品信息进行查-
共 20 页 第 - 12 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书 询、添加、删除,操作完成后退出。
图5.3商品信息管理界面
四、商品销售信息管理
选择“销售记录查询”按钮,出现如下所示的界面,管理员可以对商品销售信息进行查询、添加、删除,操作完成后退出。
图5.4商品销售信息管理界面
-
共 20 页 第 - 13 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第六章 代码与注释 一、登录代码
Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub Command1_Click() strsql = "select * from 登录表 where 用户名='" & Text1.Text & "'" & "and 密码='" & Text2.Text & "'"
rs.Open strsql, cn, 1, 3 If rs.EOF Then
MsgBox "用户名或密码错了", 32, "警告"
Else
Form5.Show
Unload Me
End If
End Sub
Private Sub Command2_Click() End
End Sub
Private Sub 注册_Click()
If Text1.Text = "" Or Text2.Text = "" Then
MsgBox "用户名和密码不能为空", 16 + 4, "警告"
Else
Dim rs As New ADODB.Recordset str1 = "select * from 登录表 where 用户名='" & Text1.Text & "'"
rs.Open str1, cn, 1, 3
rs.AddNew
rs("用户名") = Text1.Text
rs("密码") = Text2.Text
rs.Update
MsgBox "注册成功", 64, "信息提示"
End If
End Sub
Private Sub Form_Load()
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=超市管理"
cn.Open
End Sub
二、主界面代码
Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub Command1_Click() Form2.Show
-
共 20 页 第 - 14 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书 Unload Me
End Sub
Private Sub Command2_Click() Form3.Show
Unload Me
End Sub
Private Sub Command3_Click() Form5.Show
Unload Me
End Sub
Private Sub Command4_Click() Form4.Show
Unload Me
End Sub
三、商品信息管理
Private Sub Command1_Click() str1 = "select * from 商品表 where 商品号='" & Text1.Text & "'"
If rs.State = 1 Then
rs.Close
End If
rs.Open str1, cn, 1, 3
If rs.EOF Then
MsgBox "该商品不存在"
Adodc1.CommandType = adCmdText Adodc1.RecordSource = str1 Adodc1.Refresh
Else
Text1.Text = rs("商品号")
Text2.Text = rs("商品名称")
Text3.Text = rs("库存量")
Text4.Text = rs("商品类型")
Text5.Text = rs("厂商")
Text6.Text = rs("单价")
End If End Sub
Private Sub Command2_Click() str1 = "select * from 商品表 where 商品号='" & Text1.Text & "'"
If rs.State = 1 Then
rs.Close
End If
rs.Open str1, cn, 1, 3
If rs.EOF Then
rs.AddNew
rs("商品号") = Text1.Text
rs("商品名称") = Text2.Text
-
共 20 页 第 - 15 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
rs("库存量") = Text3.Text
rs("商品类型") = Text4.Text
rs("厂商") = Text5.Text
rs("单价") = Text6.Text
rs.Update
MsgBox "数据添加成功", 64, "信息提示"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 商品表"
Adodc1.Refresh
Else
MsgBox "该商品已经存在了", 16, "警告"
End If End Sub
四、商品销售信息管理
Private Sub Command1_Click() str1 = "select * from 销售表 where 销售号='" & Text1.Text & "'"
If rs.State = 1 Then
rs.Close
End If
rs.Open str1, cn, 1, 3 If rs.EOF Then
MsgBox "该销售商品不存在"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = str1
Adodc1.Refresh
Else
Text1.Text = rs("销售号")
Text2.Text = rs("职工号")
Text3.Text = rs("商品号")
Text4.Text = rs("销售数量")
Text6.Text = rs("销售时间")
End If
End Sub
Private Sub Command2_Click() str1 = "select * from 销售表 where 销售号='" & Text1.Text & "'"
If rs.State = 1 Then
rs.Close
End If
rs.Open str1, cn, 1, 3 If rs.EOF Then
rs.AddNew
rs("销售号") = Text1.Text
rs("职工号") = Text2.Text
rs("商品号") = Text3.Text
rs("销售数量") = Text4.Text
-
共 20 页 第 - 16 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
rs("销售时间") = Text6.Text
rs.Update
MsgBox "数据添加成功", 64, "信息提示"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 销售表"
Adodc1.Refresh
Else
MsgBox "该种销售商品已经存在了", 16, "警告"
End If End Sub
Private Sub Command3_Click()
If Adodc1.Recordset.EOF = False Then
c = MsgBox("您确认要删除该记录吗?", 32 + 4, "特别提示")
X = Adodc1.Recordset.Fields(0)
If c = vbYes Then
str1 = "select * from 销售表 where 销售号='x" & "'"
If rs.State = 1 Then
rs.Close
End If
rs.Open str1, cn, 1, 3
'Adodc1.Recordset.Delete
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from 销售表"
Adodc1.Refresh
MsgBox "销售商品的所有信息成功删除", 64, "信息提示"
Else
MsgBox "当前数据库中已经没有可删除的记录", 64, "警告"
End If End Sub
Private Sub Command4_Click()
Form5.Show
Unload Me
End Sub
Private Sub DataGrid1_Click()
If Adodc1.Recordset.RecordCount <= 0 Then
MsgBox "当前表是空表", 16, "信息提示"
Else
Text1.Text = Adodc1.Recordset.Fields(0) Text2.Text = Adodc1.Recordset.Fields(1) End If End Sub
Private Sub Form_Load()
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security
Info=False;Initial Catalog=超市管理"
cn.Open
End Sub
-
共 20 页 第 - 17 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
设计总结
通过这两个星期课程设计的学习,让我进一步了解简单的小型超市管理系统的设计过程。这次数据库的设计我是遵循数据库应用系统的开发步骤来进行的设计,做好基础工作,认真分系用户需求,设计一个性能优异、结构合理的数据库。过程中我遇到了很多的问题,但是最后通过努力和老师不厌其烦的解答以及查找资料最后都得到了解决。
对于前台通过Visual Basic 6.0进行设计,首先要想好设计的界面,这里一共设计了四个功能模块,包括登陆管理界面、销售管理界面、销售员工管理界面和商品管理界面。以及把这些界面连接起来,然后把数据库和界面的应用程序连接起来,方便信息的查询、更改、删除和增加。对于后台通过SQL server 2000进行设计,首先创建一个超市管理的数据库,在超市管理数据库中建立表,其中包括商品表、登陆表、销售表、销售人员表、入库单和出库单。再为它们建立相应的索引和触发器等。接下来为表建立主键并编辑它们的关系。在画系统的数据流程图时,对这个系统的数据流程图要有个完整的过程,先整理超市的工作流程,把应该归入系统都规划,它体现了超市管理系统中的流程。在进行系统的E-R图中,把各个实体之间的关系体现出来,以及各个实体的属性。接下来在画出业务流程图、数据字典等。
在设计中我深知自己掌握的知识还远远不够,把掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到实际中去,多做多练,才可以把理论的精华发挥出来。
-
共 20 页 第 - 18 - 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
参考文献
1.王珊,陈红(《数据库系统原理教程》. 清华大学出版社,1999 2.丁宝康 ,董健全.《数据库实用教程》. 清华大学出版社,1987 3.张莉, 董莉.《数据库原理及应用教程》. 清华大学出版社,1989 4.耿冲.《数据库管理》. 机械工业出版社,1999
5.张鑫燕.《SQL Server 2000程序设计》. 科学出版社,1999
6.王俊伟.《SQL Server 2000数据库管理与应用(中文版)
教程》. 清华大学出版社,2010 7.邹建.《深入浅出SQL Server 2000开发、管理与应用实例》. 人民邮电出版社,2009 8.石伟平.《SQL Server 2000数据库管理系统》.华东师范大学出版社,2009 9.刘炳文.《 Visual Basic程序设计教程》. 清华大学出版社,2008 -
共 20 页 第 - 19 - 页