第1章进销存管理系统(Swing+SQLServer2000实现)白食业业进销容管理系0X国全业语销存管殖系线E口区电情管理造营症基时县检线计营生2X889请达量热售营线taut营理产D区含nes)5人电品务物00号BM黑价RE2品量:品em:8118格:00销电电:第作人购:A和设彩技共创示果naa4e图1.4主窗体(光盘lcom\lzwUXCFrame.java)图1.5进货单界面(光盘-.-lintemalFrameUinHuoDan.java)FeunsWM有wMs0X0X禁电时理美地品营理进洗发热维放理童消放让库女护理承装放生流状康拍洗发度谢进营E营量CBABTEXRnaun中A的技习NN商品名牌电计28SM二W格3-310汉#全荐siaE:D界热甲器RPagH8名v图1.6操作员管理界面(光盘lintemalFramel图1.7商品管理界面(光盘linternalFramelCzyGL.java)ShangPinGuanLi.java)1.3.7文件夹组织结构在进行系统开发之前,需要规划文件夹组织结构,也就是说,建立多个文件夹,对各个功能模块进行划分,实现统一管理。这样做的好处为易于开发、管理和维护。本系统的文件夹组织结构如图1.8所示。JXCManager3sre源代码文件来中由com.1zyDao类的文件夹田串dao电login登录窗体源文件夹DJXCFrame.java主窗体源文件welcone.jps主窗体背景文件由internalFrane内部窗体文件夹keyListener按键监听器文件卖由册model数据模型文件夹eres图片资源文件夹按钮图片文件夹ActionIconlogin.jpg登录窗体背景文件图1.83文件夹组织结构图
第 1 章 进销存管理系统(Swing+SQL Server 2000 实现) 9 图 1.4 主窗体(光盘\.\com\lzw\JXCFrame.java) 图 1.5 进货单界面(光盘\.\internalFrame\JinHuoDan.java) 图 1.6 操作员管理界面(光盘\.\internalFrame\ 图 1.7 商品管理界面(光盘\.\internalFrame\ CzyGL.java) ShangPinGuanLi.java) 1.3.7 文件夹组织结构 在进行系统开发之前,需要规划文件夹组织结构,也就是说,建立多个文件夹,对各个功能模块进行 划分,实现统一管理。这样做的好处为易于开发、管理和维护。本系统的文件夹组织结构如图 1.8 所示。 夹 图 1.8 文件夹组织结构图
Java项目开发全程实录(第3版)1.4数据库设计1.4.1数据库分析本系统是一个桌面应用程序,它可以直接在本地计算机运行,而不需要像Web应用那样部署到指定的服务器中,所以这个进销存管理系统在本地计算机上安装了SQLServer2000数据服务器,将数据库和应用程序放在同一个计算机中,可以节省开销、提升系统安全性。另外,本系统也可以在网络内的其他计算机中运行,但是这需要将数据库对外开放,会降低数据安全性。其数据库运行环境如下。硬件平台>CPU:P43.2GHz。内存:512MB以上。硬盘空间:80GB。软件平台操作系统:Windows2003以上。数据库:SQLServer2000。1.4.2进销存管理系统的E-R图企业进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉及商品信息、商品的供应商、购买商品的客户等多个实体。下面简单介绍几个关键的实体E-R图。客户实体E-R图企业进销存管理系统将记录所有的客户信息,在执行销售、退货等操作时,将直接引用该客户的实体属性。客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、传真、开户行和账号等属性。客户实体E-R图如图1.9所示。名称简称(地址电话编号E-mail客户11(邮政编码)账号开户行传真(联系人)(联系电话)图1.9客户实体E-R图供应商实体E-R图不同的供应商可以为企业提供不同的商品,在商品信息中将引用商品供应商的实体属性。供应商实体包括编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和E-mail属性。供应商实体E-R图如图1.10所示。10
Java 项目开发全程实录(第 3 版) 10 1.4 数据库设计 1.4.1 数据库分析 本系统是一个桌面应用程序,它可以直接在本地计算机运行,而不需要像 Web 应用那样部署到指 定的服务器中,所以这个进销存管理系统在本地计算机上安装了 SQL Server 2000 数据服务器,将数据 库和应用程序放在同一个计算机中,可以节省开销、提升系统安全性。另外,本系统也可以在网络内 的其他计算机中运行,但是这需要将数据库对外开放,会降低数据安全性。其数据库运行环境如下。 硬件平台 CPU:P4 3.2GHz。 内存:512MB 以上。 硬盘空间:80GB。 软件平台 操作系统:Windows 2003 以上。 数据库:SQL Server 2000。 1.4.2 进销存管理系统的 E-R 图 企业进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉及商品信息、商品的供 应商、购买商品的客户等多个实体。下面简单介绍几个关键的实体 E-R 图。 客户实体 E-R 图 企业进销存管理系统将记录所有的客户信息,在执行销售、退货等操作时,将直接引用该客户的 实体属性。客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、 传真、开户行和账号等属性。客户实体 E-R 图如图 1.9 所示。 客户 编号 名称 简称 地址 电话 E-mail 邮政编码 账号 开户行 传真 联系人 联系电话 图 1.9 客户实体 E-R 图 供应商实体 E-R 图 不同的供应商可以为企业提供不同的商品,在商品信息中将引用商品供应商的实体属性。供应商 实体包括编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和 E-mail 属 性。供应商实体 E-R 图如图 1.10 所示。
第1章进销存管理系统(Swing+SQLServer2000实现)地址电话E-mail名称简称编号供应商(邮政编码)开户行传真联系人联系电话)图1.10供应商实体E-R图团商品实体E-R图商品信息是进销存管理系统中的基本信息,系统将维护商品的进货、退货、销售、入库等操作。商品实体包括编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性。商品实体E-R图如图1.11所示。(编号名称简称(产地单位(供应商)商品批准文号简介批号规格包装图1.11商品实体E-R图1.4.3使用PowerDesigner建模在数据库概念设计中已经分析了本系统中主要的数据实体对象,通过这些实体可以得出数据表结构的基本模型,最终实施到数据库中,形成完整的数据结构。本系统将使用PowerDesigner工具完成数据库建模,使用的版本为12.5。使用该工具建模的步骤如下:(1)运行PowerDesigner,并在PowerDesigner主窗口中选择主菜单中的File/New命令,在打开的New对话框左侧的Modeltype列表框中选择PhysicalDataModel(物理数据模型,简称PDM)选项,在右侧的Modelname文本框中输入模型名称JXCManager,在DBMS下拉列表框中选择数据库管理系统。PowerDesigner支持的数据库管理系统非常多,例如,常用的MySQL5.0、MicrosoftSQLServer2005、OracleVersion10gR2等。企业进销存管理系统选择MicrosoftSQLServer2000作为数据库服务器,单击“确定”按钮,如图1.12所示。(2)打开新建的PDM窗口。在该窗口的中心空白区域是模型编辑器,下方为输出窗口。另外还有一个浮动的工具面板,其中包括常用的建表工具、建视图工具和主外键引用工具,如图1.13所示。(3)在图1.13中单击“建表工具”按钮,这时鼠标指针将显示为日,在模型编辑器的合适位置单击,此时在图形窗口中将显示如图1.14所示的数据表模型。说明细心的读者可以发现,此时的鼠标指针仍然是F。如果再次单击还将出现类似图 1.14 所示的表符号。如果想取消该指针,可以单击工具面板中的按钮或单击鼠标右键
第 1 章 进销存管理系统(Swing+SQL Server 2000 实现) 11 编号 供应商 名称 简称 地址 电话 E-mail 邮政编码 开户行 传真 联系人 联系电话 图 1.10 供应商实体 E-R 图 商品实体 E-R 图 商品信息是进销存管理系统中的基本信息,系统将维护商品的进货、退货、销售、入库等操作。 商品实体包括编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和 供应商属性。商品实体 E-R 图如图 1.11 所示。 商品 编号 名称 简称 产地 单位 供应商 简介 批准文号 批号 规格 包装 图 1.11 商品实体 E-R 图 1.4.3 使用 PowerDesigner 建模 在数据库概念设计中已经分析了本系统中主要的数据实体对象,通过这些实体可以得出数据表结 构的基本模型,最终实施到数据库中,形成完整的数据结构。本系统将使用 PowerDesigner 工具完成数 据库建模,使用的版本为 12.5。使用该工具建模的步骤如下: (1)运行 PowerDesigner,并在 PowerDesigner 主窗口中选择主菜单中的 File/New 命令,在打开 的 New 对话框左侧的 Model type 列表框中选择 Physical Data Model(物理数据模型,简称 PDM)选项, 在右侧的 Model name 文本框中输入模型名称 JXCManager,在 DBMS 下拉列表框中选择数据库管理系 统。PowerDesigner 支持的数据库管理系统非常多,例如,常用的 MySQL 5.0、Microsoft SQL Server 2005、 Oracle Version 10gR2 等。企业进销存管理系统选择 Microsoft SQL Server 2000 作为数据库服务器,单 击“确定”按钮,如图 1.12 所示。 (2)打开新建的 PDM 窗口。在该窗口的中心空白区域是模型编辑器,下方为输出窗口。另外还有 一个浮动的工具面板,其中包括常用的建表工具、建视图工具和主外键引用工具,如图 1.13 所示。 (3)在图 1.13 中单击“建表工具”按钮 ,这时鼠标指针将显示为 ,在模型编辑器的合适位置 单击,此时在图形窗口中将显示如图 1.14 所示的数据表模型。 细心的读者可以发现,此时的鼠标指针仍然是 。如果再次单击还将出现类似图 1.14 所 示的表符号。如果想取消该指针,可以单击工具面板中的 按钮或单击鼠标右键。
Java项目开发全程实录(第3版)HewPalettexX建表工具Bodel tygOraobelOBersodelfraIogle电ButinetsProGeneral Extendad Model Definits建视图工具D定义模型名称Concephasl DataModeQ虹JXCMalModel name:FreeModeuMoalXDBMSMicrotoft SQL Server 2000DShavetheDBMSdetnai选择数据库类型冒冒DBMSdefeioninnod主外键引用工具身国Frat diagamPrysicdl Diagrasv选择建模类型口OONB牌宝图1.12New对话框图1.13工具面板(4)在图1.14所示的表符号上双击鼠标左键,将打开TableProperties(表属性)对话框。默认情况下选择的是General选项卡,在该选项卡的Name文本框中输入表的名称tb_manager,此时在Code文本框中也将自动显示tbmanager,其他选择默认即可。(5)选择Columns选项卡,首先单击输入列表的第一行,将自动转换第一行为编辑状态,然后在Name列输入字段名称为ID,同时Code列也将自动显示为ID,再在DataType列中选择int选项,最后选中P列的复选框将该数据表字段设置为主键,此时M列的复选框也将自动被选中,它约束字段值不能为空。(6)按照步骤(5)的方法再添加两个列:name和PWD,但是不需要选中P列复选框设置主键,如图1.15所示。TableProperties-Table_L(Table_1)口区ulesfrerierThrsical_OptiesMiersseftBetes然多中3XCodeDats Tpe Lengh Precinienl PNamerhai 1AunPuDTable_15应用)A图1.14表符号图1.15Columns(列)选项卡(7)在图1.15中单击“应用”按钮后,选择ID字段,单击左上角的按钮,将打开ColumnProperties(列属性)对话框。默认选择General选项卡,在其中选中Identity复选框,此项操作用于设置ID字段使用自动编号。(8)单击“应用”按钮后,再单击“确定”按钮,关闭ColumnProperties对话框。(9)单击“确定”按钮,关闭TableProperties对话框,完成tbmanager表的创建。(10)按照步骤(3)~步骤(9)的方法创建本系统中的其他数据表,并通过主外键引用工具建立各表间的依赖关系。创建完成的模型如图1.16所示。技巧在默认情况下,创建后的表模型中的全部文字均为常规样式的宋体8号字,如果想修改文字的格式,可以选中全部表符号,按Ctrl+T组合键,在打开的SymbolFormat对话框中选择Font选项卡,从中设置相关内容的字体及样式和字号等。12
Java 项目开发全程实录(第 3 版) 12 选择数据库类型 选择建模类型 定义模型名称 建表工具 建视图工具 主外键引用工具 图 1.12 New 对话框 图 1.13 工具面板 (4)在图 1.14 所示的表符号上双击鼠标左键,将打开 Table Properties(表属性)对话框。默认情 况下选择的是 General 选项卡,在该选项卡的 Name 文本框中输入表的名称 tb_manager,此时在 Code 文本框中也将自动显示 tb_manager,其他选择默认即可。 (5)选择 Columns 选项卡,首先单击输入列表的第一行,将自动转换第一行为编辑状态,然后在 Name 列输入字段名称为 ID,同时 Code 列也将自动显示为 ID,再在 Data Type 列中选择 int 选项,最 后选中 P 列的复选框将该数据表字段设置为主键,此时 M 列的复选框也将自动被选中,它约束字段值 不能为空。 (6)按照步骤(5)的方法再添加两个列:name 和 PWD,但是不需要选中 P 列复选框设置主键, 如图 1.15 所示。 图 1.14 表符号 图 1.15 Columns(列)选项卡 (7)在图 1.15 中单击“应用”按钮后,选择 ID 字段,单击左上角的 按钮,将打开 Column Properties (列属性)对话框。默认选择 General 选项卡,在其中选中 Identity 复选框,此项操作用于设置 ID 字 段使用自动编号。 (8)单击“应用”按钮后,再单击“确定”按钮,关闭 Column Properties 对话框。 (9)单击“确定”按钮,关闭 Table Properties 对话框,完成 tb_manager 表的创建。 (10)按照步骤(3)~步骤(9)的方法创建本系统中的其他数据表,并通过主外键引用工具建 立各表间的依赖关系。创建完成的模型如图 1.16 所示。 在默认情况下,创建后的表模型中的全部文字均为常规样式的宋体 8 号字,如果想修改 文字的格式,可以选中全部表符号,按 Ctrl+T 组合键,在打开的 Symbol Format 对话框中选择 Font 选项卡,从中设置相关内容的字体及样式和字号等
第 1 章进销存管理系统(Swing+SQLServer2000实现)食v_xsthViewv_ruluViewv_rkthViewv_sellViewusthIDrktAID$611DrkIDspidspidspidspnanesphanespane大8181851jelinenecysnanecysnanerkdatethdatertdatexsdate元RRjsfsjsfsjsfsjsfsBabrnbo.tb_xsth_detaildbo.tb_ruiu_naindbo.tb_rkth_detaildbo.tb_sell_maindbo.th_spinfobo.tb_spinfodbo.tb_spinfotb_hinfoth_kucunth_cysinfotb_spinforarchar (50)dxarchar (50)Skid品SkilaSok>rarchr (50)Sk2anonevarchar (50)vurchar (50)varehar出国的出生varchar (25)varehar (50)varchar (0)jianvarchar (100)verchar 60)address varchar (100)vurchar (60)warchar (50)Evarchar (50)varchar (50)varchar (50)86司vurcher (50)varchar (50)archar(50)varchar (50)varchar (50)varchar (10)varchar (50)varchar (50)vurchar (50)liansonayvarchar (50)varchar (50)varchar (50)Eitelvurchar (50)varchar (50)[kes]intvarchar (50)nailyurchar (90)varchar (50)dtpropertiesvarchar (50)xinhang varchar (60)cysnanevarchar (100)varchar (60)ida Sk2hsoth_userlistmronertyyarchsr (64)(ok)varchar (50)(nk2nanevaluevarchsr (255)usernnevarchar (50)nvar char (255)wduePassvarchar (50)lvalueinagevarchar (2)qusnversioninttb_rkth_maintb_ruku_maintb_sell_naintb_xsth_mainEKTDEkthTDwarchar (30)kvarchar (00)ksel11varchar (30)SpkxsthIDvarchar (30)SkElostintintintBoneyBoneynoneymoney31varch.ar 50)ysjlvarchar (50)vurchar (50)ysjlvarchar (50)ysjlichnanecysnane varchar (100)varchar 000)varchar (100)ichnane varchar (100)orsnenertdatedatethdate datetinedatetinedatetinexsdate datetinevarchar (30)0varchar (0)varchar (30)varchar (30)vurchar (30)varchar 60)varchar (30)varchsr (30)isfsvarchar (10)jsfsvarchar (0)jsfsvarchar (10)jsfsyarchar (10)A-IFK_tb_rkth_detsil_tb_rkth_nai2X_tb_ruku_detsi1_tb_ruou_nsiBX_tb_sell_detail_tb_sell_maPE_tb_zsth_detsil_tb_xsth_naintb_rkth_detailtb_rulru_detailth_sell detailtb_xsth detailSok2idintSk2dintSk>idintintSk>rkthIDDvarehar (30)selLInvarechar (C0)xsthIDvarehsr (30)《)Fkinvarehar (30))<)ekverchar (50)varchar 50)verchar (50)EnoneynoneyCYnoneyintslintint图1.16企业进销存管理系统的模型(11)选择PowerDesigner主菜单中的Database/GenerateDatabase命令,将打开DatabaseGeneration对话框。在该对话框中设置导出的脚本文件的名Database Generationdb_JaC (db JxC)口区Gerad onlEeast alem Sr脚本路径称(如jxc.sql)及保存路径(如D:UXC),选中DBMS:Mico1oh SQL Server20gScriptgeneration单选按钮,如图1.17所示。单击@AACDeectoy脚本文件名团回Eie narne(ac.sg)“确定”按钮,将会在指定的路径中生成数据库fieneration tpeOScipt gerealicdigen/ Dipe He orlation scip脚本文件。Direct gench_ivc(SOL Sevel]选择数据源(12)在图1.17所示的对话框中选中DirectDreck.modediaichiw生成脚本DuickJaunctgeneration单选按钮,可以使用ODBC数据源直V<DefauloSelection直接生成接在数据库管理系统中生成数据表和视图。但是Setinge set国<DeadD必须先创建数据库的数据源,然后单击国按钮选潮定取清回用)需助择指定的数据源,并单击“确定”按钮。图1.177DatabaseGeneration对话框3
第 1 章 进销存管理系统(Swing+SQL Server 2000 实现) 13 图 1.16 企业进销存管理系统的模型 (11)选择 PowerDesigner 主菜单中的 Database/Generate Database 命令,将打开 Database Generation 对话框。在该对话框中设置导出的脚本文件的名 称(如 jxc.sql)及保存路径(如 D:\JXC),选中 Script generation 单选按钮,如图 1.17 所示。单击 “确定”按钮,将会在指定的路径中生成数据库 脚本文件。 (12)在图 1.17 所示的对话框中选中 Direct generation 单选按钮,可以使用 ODBC 数据源直 接在数据库管理系统中生成数据表和视图。但是 必须先创建数据库的数据源,然后单击 按钮选 择指定的数据源,并单击“确定”按钮。 生成脚本 直接生成 选择数据源 脚本路径 脚本文件名 图 1.17 Database Generation 对话框