JAVA商品销售管理系统ER图+源代码课程设计.docx

上传人:b****8 文档编号:23556533 上传时间:2023-05-18 格式:DOCX 页数:28 大小:22.59KB
下载 相关 举报
JAVA商品销售管理系统ER图+源代码课程设计.docx_第1页
第1页 / 共28页
JAVA商品销售管理系统ER图+源代码课程设计.docx_第2页
第2页 / 共28页
JAVA商品销售管理系统ER图+源代码课程设计.docx_第3页
第3页 / 共28页
JAVA商品销售管理系统ER图+源代码课程设计.docx_第4页
第4页 / 共28页
JAVA商品销售管理系统ER图+源代码课程设计.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

JAVA商品销售管理系统ER图+源代码课程设计.docx

《JAVA商品销售管理系统ER图+源代码课程设计.docx》由会员分享,可在线阅读,更多相关《JAVA商品销售管理系统ER图+源代码课程设计.docx(28页珍藏版)》请在冰豆网上搜索。

JAVA商品销售管理系统ER图+源代码课程设计.docx

JAVA商品销售管理系统ER图+源代码课程设计

JAVA商品销售管理系统(ER图+源代码)-课程设计

JAVA商品销售管理系统(ER图+源代码)

1 相关技术简介 3

1.1 SQLServer2005简介 3

1.2 Eclipse简介 3

2 销售信息管理系统需求分析 3

2.1 数据流图 4

2.2 数据字典 4

2.2.1产品信息 5

2.2.2客户信息 5

2.2.3销售信息 6

2.2.4售后服务信息 7

2.2.5策略公告信息 8

2.3 安全性与完整性 9

2.3.1安全性 9

3 概念结构设计 9

4 逻辑结构设计 10

4.1 关系数据模型:

 10

4.2 系统结构图:

 12

4.3 安全性和完整性设计 12

4.3.1 安全性 12

4.3.2 完整性 12

5 数据库物理结构设计 13

5.1 数据库存放位置 13

5.2 数据库系统配置 13

6 数据库实施 13

6.1 创建数据库 13

6.2 创建基本表 14

6.3 修改各表外键:

 15

6.4 创建存储过程 16

6.5 数据库备份和恢复方案 16

6.6.1登录界面 17

6.6.2销售人员工作界面 17

6.6.3售后服务人员工作界面 18

6.6.4市场部经理工作界面 18

6.6.5管理员界面 18

6.6.6程序加密方法 19

7 系统测试方案和报告 22

8 系统的使用功能和使用说明 26

8.1 登录模块 26

8.2 客户信息管理模块 26

8.3 销售信息管理模块 27

8.4 售后服务信息管理模块 27

8.5 策略公告模块 27

8.6 统计报表管理模块 27

9 系统安装说明 27

9.1 附加数据库 27

9.2 Java,Eclipse的安装 27

10 心得与体会 28

 1 相关技术简介

1.1 SQLServer2005简介

SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。

SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。

通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。

1.2 Eclipse简介

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。

 本次设计采用了SQLServer2005与Eclipse(Java—SWT)技术。

2 销售信息管理系统需求分析

 销售人员

向系统提交自己一段时间的销售数据、查询历史的销售数据、录入客户信息、销售队伍的信息公告。

 客户服务人员

答复客户的咨询、对产品使用情况进行回访、对产品进行保修等,将这些售后服务信息录入系统、查询历史的售后服务记录、查询某一位客户的产品使用情况。

 市场部经理

取得销售报表和售后服务报表,根据市场情况对销售策略进行宏观调控,发布策略公告。

根据以上信息进行分析,可得出销售信息管理系统应包括以下基本功能:

 图2.1销售信息管理系统基本功能图

2.1 数据流图

 图2.2销售信息管理系统顶层图

 图2.3销售信息管理系统0层图

2.2 数据字典

2.2.1产品信息

a.数据项描述:

数据项:

 产品编号

含义说明:

唯一标识每个产品

别名:

  ID,ProductID

类型:

  整型

长度:

  >=5至MAX

取值范围:

10000至MAX,步长为1

取值含义:

b.数据结构:

数据结构名:

产品

说明:

销售管理系统中销售的产品

组成:

产品编号+产品名称+规格+产商+产品进价+备注

c.数据流描述:

数据流名称:

产品信息

说明:

   产品的相关信息

数据流来源:

生产商

数据流去向:

销售信息管理

组成:

   产品编号+产品名称+规格+产商+产品进价+备注

平均流量:

 10份/月

高峰期流量:

20份/月

d.数据存储描述:

数据存储名称:

产品列表

别名:

Product

简述:

存放产品的相关信息

组成:

产品编号+产品名称+规格+产商+产品进价+备注

数据量:

200张/年

存取方式:

索引文件,以产品编号为关键字

e.处理过程:

处理过程名:

产品销售

说明:

客户购买该产品

输入:

产品信息,客户信息

输出:

销售信息

处理:

客户购买该产品后,产生销售信息,记录客户信息及购买相关的产品。

2.2.2客户信息

a.数据项描述:

数据项:

 客户编号

含义说明:

唯一标识每个客户

别名:

  ID,CustomerID

类型:

  整型

长度:

  >=5至MAX

取值范围:

10000至MAX,步长为1

取值含义:

b.数据结构:

数据结构名:

客户

说明:

产品的销售对象

组成:

客户编号客户姓名+客户性别+联系电话+地址+邮编+E-mail

c.数据流描述:

数据流名称:

客户信息

说明:

   客户的相关信息

数据流来源:

客户

数据流去向:

销售信息管理

组成:

客户编号客户姓名+客户性别+联系电话+地址+邮编+E-mail989

JAVA商品销售管理系统(ER图+源代码)

平均流量:

 200个/月

高峰期流量:

500个/月

d.数据存储描述:

数据存储名称:

客户列表

别名:

Customer

简述:

存放客户的相关信息

组成:

客户编号客户姓名+客户性别+联系电话+地址+邮编+E-mail

数据量:

2000个/年

存取方式:

索引文件,以客户编号为关键字

e.处理过程:

处理过程名:

产品销售,售后服务

说明:

客户购买产品,提供售后服务

输入:

产品信息,客户信息,售后服务信息

输出:

销售信息,售后服务情况

处理:

客户购买该产品后,产生销售信息,记录客户信息及购买相关的产品。

售后服务人员为客户提供售后服务,记录售后服务情况。

2.2.3销售信息

a.数据项描述:

数据项:

 销售编号

含义说明:

唯一标识每次销售

别名:

  ID,SellID

类型:

  整型

长度:

  >=5至MAX

取值范围:

10000至MAX,步长为1

取值含义:

b.数据结构:

数据结构名:

销售单

说明:

销售管理系统中销售的情况

组成:

销售编号+产品编号+客户编号+销售人员编号+销售时间+单价+销售量

c.数据流描述:

数据流名称:

销售信息

说明:

   销售的情况

数据流来源:

销售人员

数据流去向:

售后服务信息管理

组成:

销售编号+产品编号+客户编号+销售人员编号+销售时间+单价+销售量

平均流量:

 200份/月

高峰期流量:

500份/月

d.数据存储描述:

数据存储名称:

销售列表

别名:

Sell

简述:

存放销售结果的描述

组成:

销售编号+产品编号+客户编号+销售人员编号+销售时间+单价+销售量

数据量:

2000份/年

存取方式:

索引文件,以销售编号为关键字

e.处理过程:

处理过程名:

售后服务管理

说明:

售后服务人员为购买产品的用户提供服务的情况

输入:

销售信息

输出:

售后服务信息

处理:

记录本次售后服务人员为客户提供服务的情况

2.2.4售后服务信息

a.数据项描述:

数据项:

 售后编号

含义说明:

唯一标识每个售后服务

别名:

  ID,ServiceID

类型:

  整型

长度:

  >=5至MAX

取值范围:

10000至MAX,步长为1

取值含义:

b.数据结构:

数据结构名:

售后服务

说明:

售后服务人员为客户提供的服务情况

组成:

售后编号+销售编号+服务人员编号+服务类型+详细情况+是否完成+客户满意度

c.数据流描述:

数据流名称:

售后服务信息

说明:

   售后服务情况的记录

数据流来源:

客户信息,销售信息,服务人员

数据流去向:

统计分析

组成:

售后编号+销售编号+服务人员编号+服务类型+详细情况+是否完成+客户满意度

平均流量:

 200份/月

高峰期流量:

500份/月

d.数据存储描述:

数据存储名称:

售后服务列表

别名:

Sell

简述:

存放售后服务信息

组成:

售后编号+销售编号+服务人员编号+服务类型+详细情况+是否完成+客户满意度

数据量:

2000张/年

存取方式:

索引文件,以售后编号为关键字

e.处理过程:

处理过程名:

统计分析

说明:

一段时间内售后服务的情况统计分析

输入:

售后服务信息

输出:

统计结构

处理:

统计规定时间内售后服务情况

2.2.5策略公告信息

a.数据项描述:

数据项:

 公告编号

含义说明:

唯一标识每个公告

别名:

  ID,PolicyID

类型:

  整型

长度:

  >=5至MAX

取值范围:

10000至MAX,步长为1

取值含义:

b.数据结构:

数据结构名:

公告

说明:

市场部发布的公告内容

组成:

公共编号+工作人员编号+公告类型+E-mail+联系电话+发布日期+所回复的公告+内容

c.数据流描述:

数据流名称:

公共信息

说明:

   公告的相关信息

数据流来源:

工作人员

数据流去向:

工作人员

组成:

公共编号+工作人员编号+公告类型+E-mail+联系电话+发布日期+所回复的公告+内容

平均流量:

 30条/日

高峰期流量:

80条/日

d.数据存储描述:

数据存储名称:

公共列表

别名:

Policy

简述:

存放公告的相关信息

组成:

公共编号+工作人员编号+公告类型+E-mail+联系电话+发布日期+所回复的公告+内容

数据量:

200张/月

存取方式:

索引文件,以公告编号为关键字

e.处理过程:

处理过程名:

公告管理

JAVA商品销售管理系统(ER图+源代码)

说明:

工作人员发布公告

输入:

公共内容

输出:

发布公共

处理:

市场部根据统计结果的分析,对销售策略进行宏观调控,发布相关的公告策略。

2.3 安全性与完整性

2.3.1安全性

  安全性是本系统设计的一个重点内容。

  数据库采用自主存取控制,工作人员和管理员对销售信息管理系统的数据库拥有不同的存取权限,不同类型的工作人员(销售人员、售后服务人员、市场部经理)也只能进行相应的不同操作。

2.3.2完整性

  a.实体完整性

  每个表都以编号为主码,编号为使用IDENTITY自动生成,步长为1。

因此不用考虑主码是否唯一或者为空。

  b.参照完整性

  每个表的外码都来自其他表的主码。

对参照完整性的违约处理采用级联删除。

3 概念结构设计

 

 

 

 

 

图3.1销售信息管理系统E-R图

4 逻辑结构设计

4.1 关系数据模型:

 客户信息表(Customer):

字段包括客户编号、客户姓名、性别、联系电话、地址、邮编、E-mail。

关键字是客户编号。

 产品列表(Product):

字段包括产品编号、产品名称、规格、生产厂商、产品进价、备注。

关键字是产品编号。

 工作人员表(Staff):

字段包括工作人员编号、姓名、密码、类型。

关键字是工作人员编号。

 销售信息表(Sell):

字段包括销售编号、产品编号、客户编号、销售人员编号、销售日期、销售单价、销售量。

关键字是销售编号。

 售后服务信息表(Service):

字段包括售后编号、销售编号、市场人员编号、服务类型、详细情况、是否完成、客户满意度。

关键字是售后编号。

 市场策略信息公告表(Policy):

字段包括公告编号、员工编号、E-mail、联系电话、公告时间、公告类型、回复对应公告的编号和公告内容。

关键字是公共编号。

Customer表

字段名 代码 类型 约束

客户编号 ID int 主键

客户姓名 Name varchar(20) 非空

性别 Gender bit 

联系电话 Phone varchar(20) 

地址 Address varchar(20) 

邮编 Code int 

电子邮箱 E-mail varchar(20) 

Product表

字段名 代码 类型 约束

产品编号 ID int 主键

产品名称 Name varchar(20) 非空

规格 Spec varchar(20) 

生产商 Producer varchar(20) 

单价 money money 

描述 Remark varchar(50) 

Staff表

字段名 代码 类型 约束

职员编号 ID int 主键

姓名 Name varchar(20) 非空

登录密码 Password varchar(20) 

类型 Type int 

Sell表

字段名 代码 类型 约束

销售编号 ID int 主键

产品编号 ProductID int 外键,与Product表中ID外键关联

客户编号 CustomerID int 外键,与Customer表中ID外键关联

职员编号 StaffID int 外键,与Staff表中ID外键关联

销售时间 SellDateTime datetime 

单价 Price money 

销售量 SellCount int 

Service表

字段名 代码 类型 约束

服务编号 ID int 主键

销售编号 SellID int 外键,与Sell表中ID外键关联

职员编号 StaffID int 外键,与Staff表中ID外键关联

服务类型 Type int 非空

详细情况 Description varchar(50) 

完成情况 Completed bit 

客户满意度 Satisfy int 

Policy表

字段名 代码 类型 约束

公告编号 ID int 主键

职员编号 StaffID int 外键,与Staff表中ID外键关联

公告类型 Type bit 

电子邮箱 E-mail varchar(20) 

联系电话 Phone varchar(20) 

发布日期 InputDate datetime 

回复公告编号 ParentID int 

公告内容 Message varchar(20) 

4.2 系统结构图:

JAVA商品销售管理系统(ER图+源代码)

图4.1销售信息管理系统结构图

4.3 安全性和完整性设计

4.3.1 安全性

  工作人员每人都有自己的帐号和密码,这些都保存在员工表Staff中。

本次设计运用一种恺撒加密算法的变种对密码字段进行了加密,即使是数据库管理员打开员工表,也不能看出密码,如图2.4所示。

该功能是在程序中实现,具体的加密方法将在后面6.6.6程序加密方法介绍。

 

图4.4对员工表的密码字段进行加密

4.3.2 完整性

 

图4.5各表之间的关系

5 数据库物理结构设计

5.1 数据库存放位置

F:

\Java\workspace\销售信息管理系统\DataBase

数据库文件与日志文件在同一目录中

注:

运行程序时数据库可存放于任意位置,只需将数据库附加到SQLServer2005中。

5.2 数据库系统配置

SELL.mdf数据库文件初始大小为5MB,增量为3MB,不限制增长。

SELL.log日志文件初始大小为3MB,增量为1MB,不限制增长。

6 数据库实施

6.1 创建数据库

查询分析器执行情况:

SQL语句及执行结果显示:

CREATEDATABASESELL

ONPRIMARY

 NAME=SELL,

 FILENAME='F:

\Java\workspace\销售信息管理系统\DataBase\SELL.mdf',

 SIZE=5,

 FILEGROWTH=3

LOGON

 NAME=SELL_log,

 FILENAME='F:

\Java\workspace\销售信息管理系统\DataBase\SELL_log.ldf',

 SIZE=3,

 FILEGROWTH=1

GO命令已成功完成。

 生成的表格截图显示:

 

6.2 创建基本表

建立客户信息表(Customer)、产品列表(Product)、工作人员表(Staff)、销售信息表(Sell)、售后服务信息表(Service)、策略信息公告表(Policy):

查询分析器执行情况:

USESELL

GO

CREATETABLECustomer

 [ID]intIDENTITY(10000,1)PRIMARYKEY,

 [Name]varchar(20)NOTNULL,

 [Gender]bit,

 [Phone]varchar(20),

 [Address]varchar(20),

 [Code]varchar(10),

 [E-mail]varchar(20)

CREATETABLEProduct

 [ID]intIDENTITY(10000,1)PRIMARYKEY,

 [Name]varchar(20)NOTNULL,

 [Spec]varchar(20),

 [Producer]varchar(20),

 [Price]money,

 [Remark]varchar(50)

CREATETABLEStaff

 [ID]intIDENTITY(10000,1)PRIMARYKEY,

 [Name]varchar(20)NOTNULL,

 [Password]varchar(20),

 [Type]int,

CREATETABLESell

 [ID]intIDENTITY(10000,1)PRIMARYKEY,

 [ProductID]intNOTNULL,

 [CustomerID]intNOTNULL,

 [StaffID]intNOTNULL,

 [SellDateTime]datetime,

 [Price]money,

 [SellCount]int

CREATETABLEService

 [ID]intIDENTITY(10000,1)PRIMARYKEY,

 [SellID]intNOTNULL,

 [StaffID]intNOTNULL,

 [Type]intNOTNULL,

 [Description]varchar(500),

 [Completed]bit,

 [Satisfy]int

CREATETABLEPolicy

 [ID]intIDENTITY(10000,1)PRIMARYKEY,

 [StaffID]intNOTNULL,

 [Type]bitNOTNULL,

 [E-mail]varchar(20),

 [Phone]varchar(20),

 [InputDate]datetime,

 [ParentID]int,

 [Message]varchar(1000)

GO

命令已成功完成。

 生成的表格截图显示:

客户信息表(Customer):

产品列表(Product):

工作人员表(Staff):

销售信息表(Sell):

售后服务信息表(Service):

市场策略信息公告表(Policy):

JAVA商品销售管理系统(ER图+源代码)

查询分析器执行情况:

USESELL

GO

ALTERTABLEPolicy

 ADDCONSTRAINTSta_PolFOREIGNKEY(StaffID)REFERENCESStaff(ID);

ALTERTABLE[Service]

 ADDCONSTRAINTSta_SerFOREIGNKEY(StaffID)REFERENCESStaff(ID);

ALTERTABLE[Service]

 ADDCONSTRAINTSel_SerFOREIGNKEY(SellID)REFERENCESSell(ID);

ALTERTABLESell

 ADDCONSTRAINTSta_SelFOREIGNKEY(StaffID)REFERENCESStaff(ID);

ALTERTABLESell

 ADDCONSTRAINTCus_SelFOREIGNKEY(CustomerID)REFERENCESCustomer(ID);

ALTERTABLESell

 ADDCONSTRAINTPro_SelFOREIGNKEY(ProductID)REFERENCESProduct(ID);

GO

命令已成功完成。

查看各数据表之间的关系,生成数据库关系图:

 6.4 创建存储过程

由于代码过多,具体实现请参见一下SQL脚本文件:

4CREATEPROCEDURE1.sql、4CREATEPROCEDURE2.sql、4CREATEPROCEDURE3.sql

4CREATEPROCEDURE4.sql

6.5 数据库备份和恢复方案

备份方案:

每次插入数据时都导出SQL脚本文件,每晚12:

00进行一次海量备份

恢复方案:

由于数据库中所有数据都有相应的SQL脚本文件来生成,数据库出现错误时可使用脚本文件重新建立数据库,并插入数据。

6.6 用户界面设计和应用程序编码

6.6.1登录界面

登录界面编码实现在Login.java文件中。

 图6.1销售信息管理系统登录界面

6.6.2销售人员工作界面

此界面的编码实现在Seller.java文件中

 图6.2销售人员工作界面

6.6.3售后服务人员工作界面(代码实现在Servicer.java文件中)

 图6.3售后服务人员工作界面

6.6.4市场部经理工作界面(代码实现在Manage.java文件中)

 图6.4市场部经理工作界面

6.6.5管理员界面(代码实现在Admin.java文件中)

 图6.5管理员界面

6.6.6程序加密方法

工作人员每人都有自己的帐号和密码,这些都保存在员工表Staff中。

本次设计运用一种恺撒加密算法的变种对密码字段进行了加密,即使是数据库管理员打开员工表,也不能看出密码,如图2.4所示。

该功能是在程序中通过调用MyEncryption类对密码加密实现。

 图6.5对员工表的密码字段进行加密结果

以下是MyEncryption类的编码,通过调用该类中passwordMaker()方法来实现加密。

JAVA商品销售管理系统(ER图+源代码)

packagemyEncryption;

publicclassMyEncryption

{

 publicchar[]passwordMaker(Stringmacmaked)

   {

 //初始密钥

    intinc[]={6,1,4,76,111,86,101,9,2,7,10,155,185,89,200,14,32,68

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

当前位置:首页 > PPT模板 > 图表模板

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

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