超市管理系统的设计实现分析范文Word格式.docx
- 文档编号:20306935
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:19
- 大小:267.29KB
超市管理系统的设计实现分析范文Word格式.docx
《超市管理系统的设计实现分析范文Word格式.docx》由会员分享,可在线阅读,更多相关《超市管理系统的设计实现分析范文Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
Delphi7是著名的Borland(现Inprise)公司开发的快速、可视化程序开发工具。
“真正的程序员用C++,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。
Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。
和VC相比,Delphi更简单、更易于掌握,但是在功能上却丝毫不逊色;
和VB相比,
Delphi则功能更强大、更实用。
可以说Delphi同时兼备了VC功能强大和VB简单易学的特点,它一直是程序员至爱的编程工具。
Delphi具有以下几个特性:
基于窗体和面向对象的方法、高速的编译器、强大的数据库支持、与Windows编程紧密结合、强大而成熟的组件技术。
但最重要的还是ObjectPascal语言,它才是一切的根本。
ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学[2]。
1.4.2SQLServer2000技术简介
超市销售系统的开发选择了MicrosoftSQLServer2000数据库。
SQL适用于中小型事物处理及客户端/服务端结构的应用系统,它功能强大操作简便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与SQLServer的接口。
SQLServer最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发、推广SQLServer的WindowsNT版本[3]。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本,是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的sql语言在客户机与服务器间传递客户机的请求与服务器的处理结果。
SQLServer2000能够满足今天的商业环境要求不同类型的数据库解决方案,它是一种应用广泛的数据库管理系统,具有许多显著的优点:
易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等[4]。
性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键,除这些核心企业品质外,SQLServer2000还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。
该版本继承了SQLServer7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好与相关软件集成程度高等优点。
可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
MSSQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。
事实上,SQLServer数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQLServer的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQLServer的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。
SQLServer企业管理器是SQLServer的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以:
1、定义SQLServer实例组。
2、将个别服务器注册到组中。
3、为每个已注册的服务器配置所有SQLServer选项。
4、在每个已注册的服务器中创建并管理所有SQLServer数据库、对象、登录、用户和权限。
5、在每个已注册的服务器上定义并执行所有SQLServer管理任务。
6、通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处理和脚本。
它支持中小型数据库、多用户的高性能和事物处理,支持分布式数据库和分布处理,能够实现安全性和完整性控制,具有可移植性、可兼容性和可联结性,它具有良好的数据管理能力和良好的开发性[5]。
2、总体方案设计
2.1设计原理
1、模块化
模块是构成程序的基本构件,模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户需求。
采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。
该系统正是采用模块化的原理,将整个系统分成四个主要模块,每个模块都有它独立的功能,整个超市销售系统结构清晰,用户容易理解和操作。
2、抽象
当考虑对任何问题的模块化解法时,可以提出许多抽象的层次,系统设计过程的每一步都是对软件解法的抽象层次的一次精化,在可行性研究阶段,是对整个超市销售系统的抽象,在需求分析阶段,是对超市销售系统功能的抽象。
3、逐步求精
逐步求精是对整个设计过程的细化,由可行性研究到需求分析,再到总体设计和详细设计,每一步都对超市销售系统进行了细化,这样使超市销售系统的结构越来越清晰,功能越来越完善。
4、信息隐藏和局部化
在超市销售系统的设计过程中,涉及到许多数据信息,有的信息对于不需要它的模块来说是不能访问的,需要隐藏起来,而局部化有助于实现信息隐藏,该系统正是运用了这一原理来进行设计的。
5、模块独立
该系统的各个模块之间没有过多的相互作用,每个模块的功能都比较独立,这样的软件容易开发出来。
系统的各模块都相对独立,修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够插入模块,这样系统比较容易测试和维护。
2.2功能模块设计
模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。
每个模块完成一个特定的功能,所有的模块都按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。
根据前面在可行性分析时对系统提出的要求以及在需求分析阶段提出的系统功能需求,将系统结构分成四个模块:
基本信息管理模块、日常工作管理模块、销售管理模块、统计报表模块,每个模块的具体功能如下:
1、信息管理模块:
实现对员工、商品、供货商、会员等基本信息管理的功能,让管理层对整个超市的人事及商品有详细的了解,这个模块包括“员工管理”、“商品管理”、“供货商管理”三个功能模块。
(1)员工信息管理,这个模块对超市的所有员工的信息进行登记管理,包括添加、修改、删除、查询操作。
(2)商品信息管理和供货商信息管理,这两个模块功能同员工信息管理模块。
实现对整个超市的日常工作管理的功能,使整个超市的工作井然有序,这个模块包括“进货管理”一个功能模块。
(1)进货管理,这个模块对超市所购进的商品进行登记。
3、销售管理模块:
是系统最主要的模块,对商品的销售进行一条龙管理,能够对每日商品销售信息进行输入、查询、统计等操作。
这个模块包括“营业利润分析”、“客户结账”、“销售查询”三个模块。
(1)营业利润分析,这个模块通过对商品销售的分析,得出各种商品的所得利润及整个超市公司的收益。
同时帮助超市经营者掌握和分析营销情况,及时做出正确决策。
(2)客户结账,超市在销售商品时,对客户所购买商品的信息进行登记,并结算客户销售金额。
(3)销售查询,这个模块实现对销售商品、销售金额等的查询功能。
功能模块如图4.1所示。
图4.1 超市销售系统功能模块图
2.3数据库设计
数据库是信息管理的基础,其结构直接关系到各种功能的实现和程序运行的效率,进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)[11]。
根据上一章的需求分析,建立了一个数据库名为:
超市管理系统的数据库,其中有六个数据表。
员工信息表:
此表中记录了员工的所有信息,管理员通过此表对员工进行添加、删除、修改管理,也可通过此表查询某个员工的信息,此表的主键为“员工编号”。
其结构如表4.1所示。
表4.1 员工信息表的结构
字段名
数值类型(长度)
是否允许为空
员工编号
Char(10)
否
员工姓名
char(10)
性别
char
(2)
身份证号
Char(18)
家庭住址
Varchar(30)
联系电话
char(20)
职务
Varchar(10)
商品信息表:
此表记录了超市的所有商品信息,管理人员可以通过此表对商品进行添加、删除、修改等操作,在进货管理、客户结账过程中,都涉及到对此表的操作,此表的主键是商品编号。
其结构如表4.2所示。
表4.2 商品信息表的结构
商品编号
Char(20)
商品名称
商品类型
供货商编号
进价
售价
备注
Char(16)
是
入库信息表:
此表主要记录进货商品的相关信息,以方便以后管理员查看进货信息,此表的主键是RK_ID。
其结构如表4.4所示。
表4.4 入库信息表的结构
进货单号
供货商名称
Char(30)
进货数量
进货时间
经手人
销售信息表:
此表记录了超市所有商品销售记录,营业利润分析通过此表进行分析统计,销售详细单也是通过此表打印的。
其结构如表4.5所示。
表4.5 销售信息表的结构
流水账号
单价
数量
总价
Char(19)
销售日期
收银员
供货商信息表:
此表记录了所有供货商的基本信息,其结构如表4.6所示。
表4.6 供货商信息表的结构
联系人
联系地址
Char(250)
用户登录表:
此表主要记录了员工的密码信息,可进行相关查询,修改。
此表的主键是用户编号。
其结构如表4.8所示。
表4.8会员充值记录表的结构
密码
2.4小结
这一部分主要是对超市销售系统进行总体设计,得出设计此系统的原理以及功能模块,设计出此系统的数据库,为下面进行系统详细设计奠定基础。
3、系统详细设计与实现
通过前部分的分析与设计,接下来进行系统的详细设计,详细设计的根本目标是确定应该怎样具体地实现所要求的系统,主要任务是设计出程序的“蓝图”,再根据这个蓝图写出实际的程序代码。
3.1系统窗口的设计与实现
进入系统,首先会出现系统窗口,分别有“系统介绍”,“用户登录”,“关于我们”,“退出系统”的功能键指导用户使用本系统。
窗体上的组件位置如图3.1所示。
图3.1 系统窗体设计界面
3.2登录窗体的设计与实现
为了提高系统的安全性,在超市销售系统的登录界面设置用户以及密码。
用户登录窗体很简单,首先在用户输入框输入用户身份,再输入用户名,然后对应输入口令,程序将与用户数据库连接,确认用户是其中一员,并输入了正确的口令,然后进入主界面,否则警告出错,让用户重新输入。
窗体上的组件位置如图3.2所示
图3.2 登录窗体设计界面
登录的关键代码如下:
ADOQuery1.SQL.Text:
='
select*from用户登录表where员工编号='
+QuotedStr(Edit1.Text);
(Trim(ADOQuery1.FieldByName('
职务'
).AsVariant)='
老板'
)
Trim(ADOQuery1.FieldByName('
用户名'
).AsVariant)=Trim(edit2.Text)
Trim(ADOQuery1.FieldByName(‘职务’).AsVariant)=Trim(edit3.Text)
3.3主窗体模块的设计与实现
主窗体模块主要是完成系统功能模块的划分。
超市销售系统主窗体包括四个下拉菜单:
基本信息管理菜单、日常工作管理菜单、销售管理菜单、统计表菜单,考虑到有些功能是经常使用的,另外在窗体上设置了快捷按钮,以便操作更快捷。
在设置该窗体时主要是设置MainMeun组件的属性。
双击MainMeun组件,建立如下的下拉选单:
基本信息管理 日常工作管理 销售管理 密码管理
3.4基本信息管理模块的设计与实现
基本信息管理模块实现了对员工、供货商、商品信息的添加、修改、删除、查询等功能。
该模块窗体上的组件位置如图3.4所示
图3.4 基本信息窗体设计界面
设置PageControl组件的属性:
右击此组件,在弹出的菜单中选择NewPage,将其Caption属性设置成“员工信息”,相同的方法添加“商品信息”、“供货商信息”、“商品信息”三个页面;
设置DataSource组件的属性:
DataSource1设置DataSet=ADOQuery1,DataSource2设置DataSet=ADOQuery1,DataSource3设置DataSet=ADOQuery1;
设置DBGrid组件的属性:
DBGrid1设置DataSource=DataSource1,DBGrid2设置DataSource=DataSource2,DBGrid3设置DataSource=DataSource3
其中员工管理的主要代码如下:
1、查询按钮的主要代码如下:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:
='
select*from员工信息表where'
+SQL;
ADOQuery1.Open;
2、添加的主要代码如下:
ADOQuery1.SQL.Add('
insertinto员工信息表'
);
(员工编号,姓名,性别,身份证号,家庭住址,联系电话,职务)'
values('
+QuotedStr(Edit1.Text)+'
'
+QuotedStr(Edit2.Text)+'
+QuotedStr(ComboBox1.Text)+'
+QuotedStr(Edit3.Text)+'
+QuotedStr(Edit4.Text)+'
+QuotedStr(Edit5.Text)+'
+QuotedStr(Edit6.Text)+'
)'
ADOQuery1.ExecSQL;
3.添加的主要代码如下:
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
deletefrom员工信息表where'
ADOQuery1.ExecSQL;
ADOQuery1.Close;
3.5日常工作管理模块的设计与实现
进货管理的功能主要是将购进的商品进行入库。
在入库时由工作人员将商品信息输入到入库信息表中,然后系统将入库的商品的名称与库存里的商品信息比较,如果能找到相同的名称,则说明库存里有这种商品,只要相应增加这种商品的库存量,如果找不到,则说明原来库存里没有这种商品,则要增加这种商品的一系列信息。
进货的信息会显示在窗体上的数据表中。
进货窗体如图3.5所示。
图5.3 进货管理窗体
主要代码如下:
(1)、进货主要代码
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('
insertinto进货信息表'
(进货单号,商品编号,商品名称,供货商名称,进货数量,进价,进货时间,经手人)'
ADOQuery2.SQL.Add('
values(:
JH_ID,'
+QuotedStr(Edit1.Text)+'
+QuotedStr(Edit2.Text)+'
+QuotedStr(Edit3.Text)+'
+QuotedStr(Edit4.Text)+'
+QuotedStr(Edit5.Text)+'
:
Time,'
+QuotedStr(ComboBox1.Text)+'
ADOQuery2.Parameters.ParamByName('
JH_ID'
).Value:
=formatdatetime('
yyyyMMdd'
Date)+formatdatetime('
hhmmss'
now());
Time'
=FormatdateTime('
ddddd'
now);
ADOQuery2.ExecSQL;
ADOQuery2.Close;
select*from进货信息表'
ADOQuery2.Open;
showmessage('
入库成功!
'
ADOQuery2.SQL.Text:
select*from进货信息表where'
(2)、向combobox组件中自动添加表中内容的代码如下(以向combobox4中添加自动添加商品的名称为例):
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('
select*from员工信息表where职务='
进货员'
ADOQuery1.Open;
ComboBox1.Clear;
fori:
=0toADOQuery1.RecordCount-1do
begin
combobox1.Items.Add(ADOQuery1.FieldByName('
姓名'
).AsString);
ADOQuery1.Next;
end;
3.6销售管理模块的设计与实现
销售管理模块是超市销售系统的最主要也是最重要的模块,所有与销售有关的功能都在此模块当中,此模块所产生的数据也是数据库中数量最大的最重要的数据。
此模块主要包括四个子模块:
客户结账模块、利润分析模块、销售查询模块。
3.6.1客户结账模块的设计与实现
客户结账模块是顾客在购买商品时,由收银员将顾客购买的商品名称输入到销售窗口中,系统自动根据商品名称把这种商品的相应商品价格和应付金额反馈到数据窗口中,客户交钱后自动计算找零金额。
其窗体如图3.6所示
图3.6 客户结账窗体
其中关键代码如下:
1、计算销售金额的关键代码:
Pay_M:
=0;
=0tojdo
Pay_M:
=Pay_M+All[i];
Edit3.Text:
=Floattostr(Pay_M);
change:
=strtofloat(Edit4.Text)-Pay_M;
Edit5.Text:
=Floattostr(change);
2、往销售表中添加客户此次销售的信息的关键代码:
ADOQuery2.SQL.Clear;
insertinto销售信息表'
(流水账号,商品编号,商品名称,单价,数量,总计,时间,收银员)'
sale_ID,'
C_Name,:
S_P,'
Total,:
+QuotedStr(ComboBox
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 设计 实现 分析 范文
![提示](https://static.bdocx.com/images/bang_tan.gif)