超市销售系统的设计与实现.docx

上传人:b****4 文档编号:4701923 上传时间:2022-12-07 格式:DOCX 页数:33 大小:199.76KB
下载 相关 举报
超市销售系统的设计与实现.docx_第1页
第1页 / 共33页
超市销售系统的设计与实现.docx_第2页
第2页 / 共33页
超市销售系统的设计与实现.docx_第3页
第3页 / 共33页
超市销售系统的设计与实现.docx_第4页
第4页 / 共33页
超市销售系统的设计与实现.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

超市销售系统的设计与实现.docx

《超市销售系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《超市销售系统的设计与实现.docx(33页珍藏版)》请在冰豆网上搜索。

超市销售系统的设计与实现.docx

超市销售系统的设计与实现

 

超市销售系统的设计与实现

 

题目:

超市管理系统

 

1、相关技术介绍

1.1、SQLServer2000的特性

Microsoft®SQLServer™2000的特性包括:

1、Internet集成

SQLServer2000数据库引擎提供完整的XML支持。

它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。

SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。

2、可伸缩性和可用性

同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows®98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。

SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。

3、企业级数据库功能

SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。

数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。

SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。

复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。

可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。

4、易于安装、部署和使用

SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。

SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。

这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。

5、数据仓库

SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。

SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据

1.2、介绍

Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNT、WindowsXP、WindowsVista等环境下使用。

当前,DELPHI也可以在LINUX平台上开发应用,其在LINUX上的对应产品Kylix。

  

(1)直接编译生成可执行代码,编译速度快。

由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。

在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。

(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。

这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。

(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。

利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。

(4)具有可重用性和可扩展性。

开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。

Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。

(5)具有强大的数据存取功能。

它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。

Delphi既可用于开发系统软件,也适合于应用软件的开发。

(6)拥有强大的网络开发能力,能够快速的开发B/S应用,它内置的IntraWeb和ExpressWeb使得对于网络的开发效率超过了其他任何的开发工具。

2、需求分析

2.1系统目标设计

要求对商品等信息分类管理,对表中商品信息、入库信息和销售信息、员工信息、会员信息、供应商信息进行系统性的分析、设计,并形成系统设计说明书;

2.2系统功能分析

该教务信息统计系统需要提供便捷、美观及丰富的界面以便能录入各类数据;动态查询各类信息;能用图形、报表和表格三种形式对教务信息网中的人员的各种情况进行分析和统计;能打印各类统计信息;应用程序采用多文挡界面的风格,尽量用菜单。

界面的风格要多样化,但必须满足用户的要求。

1、登录权限:

●只限员工登录:

需用数据库中的登录名和密码。

2、员工权限:

●员工信息录入与浏览:

添加员工用户名和密码;

●商品信息查询:

根据索引进行信息查询,方便修改编辑;

●销售信息查询:

员工可以进行信息查询,方便修改编辑;

●入库信息浏览与录入:

经操作后可对信息进行浏览与录入;

●会员信息浏览与录入:

经操作后可对信息进行浏览与录入;

●会员充值信息录入:

员工可以给会员充值;

●供应商信息浏览:

经浏览操作后可对信息进行浏览;

2.3数据字典

1、员工信息表

字段名

类型

员工编号

char(10)

员工姓名

char(10)

密码

char(10)

性别

Char

(2)

职务

char(20)

2、会员信息表

字段名

类型

会员卡号

Char(10)

会员姓名

char(10)

会员积分

char(10)

联系电话

Char(20)

账户余额

Float(8)

 

3、会员充值记录表

字段名

类型

会员卡号

char(10)

充值金额

char(10)

账户余额

Int(4)

4、供应商信息表

字段名

类型

供应商编号

Char(10)

供应商名称

char(10)

联系人

char(10)

联系电话

Char(10)

联系地址

Char(10)

5、入库信息表

字段名

类型

入库单

Char(10)

入库日期

char(10)

商品名称

char(10)

进货量

Char(10)

进货单价

float(8)

库存量

Int(4)

6、商品信息表

字段名

类型

商品类别

Char(10)

商品名称

char(10)

供应商

char(10)

商品规格

Char(10)

商品进价

float(8)

商品售价

Float(8)

库存量

Char(10)

6、销售信息表

字段名

类型

销售账号

Char(10)

商品类别

char(10)

商品名称

char(10)

商品数量

Char(10)

销售总额

float(8)

销售日期

Char(10)

3、数据库概念设计

3.1数据库的物理设计

1、数据库的存放位置:

按要求运用的是SQLServer2000中新建的数据库,即教务信息数据库下建立了相关的表,向表中输入一些数据。

2、系统配置:

微机一台,windowXP系统,Delphi7英文版程序开发开发,数据库DBMS是sqlserver2000。

3、系统索引:

数据索引在各个表中都建立了索引,目的是为了搜索的方便。

比如:

在学生信息表中除学生编号这个主键外,还设有姓名、性别、家庭地址等索引,其他的表也根据查询要求建立了一些索引,详细情况参照上面的数据字典。

3.2数据库的实现

数据备份和恢复方式

数据库的备份和恢复是管理人员的权限,在应用程序中管理人员有备份数据库的功能,当管理员登陆时,就可以在应用程序中执行,数据库备份就会备份到应用程序目录下的一个Backup目录的db_schools.bak。

数据库的恢复要在DBMS中去完成,在sqlserver2000中可以把备份文件db_schools.bak还原到应用程序目录下的Database的目录下。

其实在DBMS的sqlserver2000中,数据库管理员可以对数据库备份和恢复。

数据库的备份可以是静态备份和动态备份,因为这个教学统计系统是一个小的数据库管理系统,对数据库的备份用静态备份就行了。

4、数据库逻辑结构设计

4.1系统模块图和系统模块功能

4.2模块功能说明:

1、信息管理模块:

实现对员工、商品、供货商、会员等基本信息管理的功能,让

管理层对整个超市的人事及商品有详细的了解,这个模块包括“员工管理”、“商品管

理”、“供应商管理”、“会员管理”四个功能模块。

(1)员工信息管理,这个模块对超市的所有员工的信息进行登记管理,包括添加、

修改、删除、查询操作。

(2)商品信息管理和供货商信息管理,这两个模块功能同员工信息管理模块。

(3)会员管理,对会员进行添加、修改、删除、充值等操作。

(4)销售查询,这个模块实现对销售商品、销售金额等的查询功能。

5、Delphi界面设计

5.1Delphi的一些简单控件:

在Delphi中有很多设计界面的控件,用控件和程序的结合可以实现界面和数据库的连接。

一些简单的空间可以实现界面的优化,如添加image控件可以在界面当中插入一些非常精彩的图片,exit控件是用来设置键入信息框架的控件,他与memo控件相似,但是exit中一般是添加比较短的信息输入,如信息,名片编号等,而mome中可以加入比较长的文本字符,如个人简历,个人介绍等等。

还有就是button控件,使用设置按钮键的,在界面中运用程序按下按钮就可以实现查询,添加,修改,删除等功能。

5.2基本界面的展示,其中会附加上功能与解释:

1、员工登陆界面

注释:

如上面显示的一样,输入用户名和密码点击“确认”就可以进入下一个相应的界面了,如果用户名和密码不正确那么就会显示密码错误或者用户名不存在的提示语。

如果想要退出,点击“退出”就可以回到原来的登录选择界面了。

2、员工进入系统:

主菜单界面

含有5个子菜单,单击可以进入。

3.商品信息查询

4.销售信息查询

5.入库信息查询

6.会员信息录入与浏览

7.会员充值

8.供应商信息录入与浏览

9.员工信息录入

 

6、结束语与体会

经过几周在电脑面前的操作,我实现了Delphi与SQLServer2000的连接于界面的运行,实现了界面上控件的基本功能。

由于经验的匮乏,难免有许多考虑不周全的地方,由于时间有限,系统功能实现不够完善,离实际使用也还有一定的距离,需要以后进行不断地补充和完善。

如果没有导师的督促指导,同组同学的支持,以及室友的无私帮助,想要完成这个设计是难以想象的。

从开始对Delphi一窍不通到后来能够用Delphi的语言来写程序确实很艰苦,这次程序设计让我深刻体会到编程是一项非常艰巨的工作,除了扎实的理论基础,还需要反复的动手实践,运用自己的聪明才智,克服一个个问题难关,但是令我很欣慰的是我的程序最后实现了,还算令自己满意。

此次程序设计最大的意义是让我体会到了编程的乐趣,提高了我解决实际问题的能力,在今后的工作生活中,这将是一笔宝贵的财富。

7、附录:

含代码

FORM1

unitUnit1;

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls,ADODB,DB;

type

TForm1=class(TForm)

Label1:

TLabel;

Label2:

TLabel;

Edit1:

TEdit;

Edit2:

TEdit;

Button1:

TButton;

ADOConnection1:

TADOConnection;

ADOTable1:

TADOTable;

ADOQuery1:

TADOQuery;

DataSource1:

TDataSource;

Button2:

TButton;

Label3:

TLabel;

procedurebutton1click(sender:

tobject);

procedureButton2Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form1:

TForm1;

implementation

usesUnit2;

{$R*.dfm}

proceduretform1.button1click(sender:

tobject);

begin

adoquery1.Close;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select*from员工信息表where员工姓名='''+edit1.Text+'''and密码='''+edit2.Text+'''');

adoquery1.Open;

adoquery1.Open;

ifadoquery1.RecordCount=1then

begin

form1.hide;

form2.Show;

end

else

begin

showmessage('用户名或密码错误');

end;

end;

procedureTForm1.Button2Click(Sender:

TObject);

begin

form1.close;

end;

End.

FORM2

unitUnit2;

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,Menus,jpeg,ExtCtrls;

type

TForm2=class(TForm)

MainMenu1:

TMainMenu;

N1:

TMenuItem;

N2:

TMenuItem;

N3:

TMenuItem;

N4:

TMenuItem;

N5:

TMenuItem;

N6:

TMenuItem;

N7:

TMenuItem;

N8:

TMenuItem;

N9:

TMenuItem;

N10:

TMenuItem;

Image1:

TImage;

procedureN2Click(Sender:

TObject);

procedureN3Click(Sender:

TObject);

procedureN7Click(Sender:

TObject);

procedureN5Click(Sender:

TObject);

procedureN6Click(Sender:

TObject);

procedureN8Click(Sender:

TObject);

procedureN9Click(Sender:

TObject);

procedureN10Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form2:

TForm2;

implementation

usesUnit3,Unit5,Unit4,Unit6,Unit7,Unit8,Unit9,Unit1;

{$R*.dfm}

procedureTForm2.N2Click(Sender:

TObject);

begin

form3.show;

end;

 

procedureTForm2.N3Click(Sender:

TObject);

begin

form4.Show;

end;

procedureTForm2.N7Click(Sender:

TObject);

begin

form5.show;

end;

procedureTForm2.N5Click(Sender:

TObject);

begin

form6.show;

end;

procedureTForm2.N6Click(Sender:

TObject);

begin

form7.show;

end;

procedureTForm2.N8Click(Sender:

TObject);

begin

form8.show;

end;

procedureTForm2.N9Click(Sender:

TObject);

begin

form9.show;

end;

procedureTForm2.N10Click(Sender:

TObject);

begin

form1.show;

form2.close;

end;

 

End.

FORM3

unitUnit3;

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,DB,ADODB,Grids,DBGrids,StdCtrls;

type

TForm3=class(TForm)

ADOConnection1:

TADOConnection;

ADOTable1:

TADOTable;

ADOQuery1:

TADOQuery;

DataSource1:

TDataSource;

Edit1:

TEdit;

Label1:

TLabel;

Button1:

TButton;

Edit2:

TEdit;

Edit3:

TEdit;

Edit4:

TEdit;

Edit5:

TEdit;

Edit6:

TEdit;

Edit7:

TEdit;

Label2:

TLabel;

Label3:

TLabel;

Label4:

TLabel;

Label5:

TLabel;

Label6:

TLabel;

Label7:

TLabel;

Button2:

TButton;

procedureButton1Click(Sender:

TObject);

procedureButton2Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form3:

TForm3;

implementation

usesUnit2,Unit1;

{$R*.dfm}

procedureTForm3.Button1Click(Sender:

TObject);

begin

edit2.Text:

=adotable1.FieldByName('商品类别').asstring;

edit3.Text:

=adotable1.FieldByName('供应商').asstring;

edit4.Text:

=adotable1.FieldByName('商品规格').asstring;

edit5.Text:

=adotable1.FieldByName('商品进价').asstring;

edit6.Text:

=adotable1.FieldByName('商品售价').asstring;

edit7.Text:

=adotable1.FieldByName('库存量').asstring;

ADOTable1.Edit;

ADOTable1.FieldValues['商品类别']:

=Edit2.Text;

ADOTable1.FieldValues['供应商']:

=Edit3.Text;

ADOTable1.FieldValues['商品规格']:

=Edit4.Text;

ADOTable1.FieldValues['商品进价']:

=Edit5.Text;

ADOTable1.FieldValues['商品售价']:

=Edit6.Text;

ADOTable1.FieldValues['库存量']:

=Edit7.Text;

end;

procedureTForm3.Button2Click(Sender:

TObject);

begin

form3.close;

end;

End.

FORM4

unitUnit4;

interface

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,Grids,DBGrids,DB,ADODB,StdCtrls,Buttons;

type

TForm4=class(TForm)

ADOQuery1:

TADOQuery;

DBGrid1:

TDBGrid;

Edit1:

TEdit;

BitBtn1:

TBitBtn;

Label1:

TLabel;

DataSource1:

TDataSource;

ADOConnection1:

TADOConnection;

Button1:

TButton;

procedureBitBtn1Click(Sender:

TObject);

procedureButton1Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form4:

TForm4;

implementation

usesUnit1;

{$R*.dfm}

procedureTForm4.BitBtn1Click(Sender:

TObject);

varTno:

string;

begin

Tno:

=trim(Edit1.Text);

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('SELECT*FROM销售信息表WHERE(商品名称='''+Tno+''')');

ADOQuer

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1