进销存主要是帮助商业企业全面有效管理采购、销售和库存,软件适用于需要进行采购管理,销售管理以及库存管理的所有商业企业。
进销存软件是一款通用性极强的商业企业进销存管理系统,软件囊括了商业企业日常经营管理的全过程。软件适用于食品、服装、保健品、电子、电器、物资等商业领域的企业。软件覆盖商业企业商品的采购、销售、库存、管理决策支持等各个环节,软件的各个模块操作界面简单、实用,并使系统图文并茂,让用户可以在最短的时间内掌握软件的使用方法,帮助用户生意早日更上一层楼。软件的采购管理、销售管理、库存管理功能强大,灵活,同时为用户提供方便实用的模糊查询功能,用户可以在最短时间内找到自己所需要的信息。软件系统采用流行的B/S结构。软件采用模块级安全管理,系统安全性高。软件对在使用过程中可能出现的外部意外情况,如断电、网络中断等均进行了妥善处理,可以确保用户数据的完整性,同时在外部故障消除后,系统仍能继续操作。系统软件采用Java平台进行开发并实现,用户选用SQL Server数据库进行统一管理。
需求分析过程是整个系统开发的重要阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求,并且将现实事务抽象成对象并建模。
结构化的系统分析与设计方法贯穿于系统的分析与设计的始终。该方法要求信息系统的开发工作按照规定步骤,使用一定的工具,在结构化和模块化的基础上进行。
1. 系统顶层数据流图,用户登录系统后,根据不同权限可以对采购管理、基本数据管理、库存管理、销售管理、财务管理分别进行操作。
系统顶层数据流图如图3-1所示。
图3-1 系统顶层数据流图
2. 系统销售管理数据流图,用户登录系统后,可以对销售业务进行操作,比如填写销售申请单、填写销售单、处理客户退货单、进行销售统计等。
系统销售管理数据流图如图3-2所示。
图3-2 系统销售管理数据流图
3. 系统采购管理数据流图,用户登录系统后,可以对采购业务进行操作,比如填写采购申请单、验收货物等。
系统采购管理数据流图如图3-3所示。
图3-3 系统采购管理数据流图
4. 系统库存数据流图,用户登录系统后,可以对库存业务进行操作,比如查询库存信息,调拨产品等。
系统库存管理数据流图如图3-4所示。
图3-4 系统库存管理数据流图
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息。一般说来,数据字典应该由下列四类元素构成:数据项,数据流,数据存储和数据处理。
数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。它主要是对数据流图中的数据流、处理逻辑、外部实体、数据存储和数据项等方面进行具体的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
表3-1 系统采购层数据项定义
编号 | 名称 | 别名 | 类型 | 长度 |
I01-01 | csId | 采购申请编号 | varchar | 50字节 |
I01-02 | csName | 采购申请产品 | varchar | 50字节 |
I01-03 | csValue | 采购申请产品单价 | float | 8字节 |
I01-04 | csNo | 采购申请产品数量 | int | 4字节 |
I01-05 | csLeixing | 采购类型 | varchar | 50字节 |
I01-06 | csPeople | 采购申请人 | varchar | 50字节 |
I01-07 | csPhone | 采购申请人电话 | varchar | 50字节 |
I01-08 | csDate | 采购申请日期 | datetime | 8字节 |
I01-09 | csZonge | 采购申请预算金额 | float | 8字节 |
I01-10 | csBeizhu | 采购申请备注 | varchar | 200字节 |
I01-11 | csZhuangtai | 采购申请状态 | varchar | 50字节 |
I01-12 | shBumen | 申请部门 | varchar | 50字节 |
I01-13 | shZhong | 申请单据种类 | varchar | 50字节 |
I01-14 | shSpDate | 审批日期 | datetime | 8字节 |
I01-15 | cgGpeople | 供方联系人 | varchar | 50字节 |
I01-16 | cgGphone | 供方联系方式 | varchar | 50字节 |
I01-17 | cgZhekou | 采购折扣 | float | 8字节 |
I01-18 | cgYuncheng | 运费承担方 | varchar | 50字节 |
I01-19 | cgYunfei | 运费金额 | float | 8字节 |
I01-20 | cgFufang | 付款方式 | varchar | 50字节 |
I01-21 | cgYunfang | 运输方式 | varchar | 50字节 |
I01-22 | cgYufu | 预付款金额 | float | 8字节 |
I01-23 | cgQuankuan | 全款金额 | float | 8字节 |
I01-24 | cgFkdate | 付款日期 | datetime | 8字节 |
I01-25 | cgJhdate | 进货日期 | datetime | 8字节 |
续表3-1 | ||||
I01-26 | jhShno | 损坏数量 | int | 4字节 |
I01-27 | jhShijia | 产品市场价格 | float | 8字节 |
I01-28 | ruCangku | 进化仓库 | varchar | 50字节 |
I01-29 | ruPeople | 入库人员 | varchar | 50字节 |
系统采购管理数据流定义:
数据流编号:D1-01
数据流名称:申请采购产品
数据流来源:采购员
数据流去向:P1-01
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11
数据流编号:D1-02
数据流名称:填写采购申请单信息
数据流来源:P1-01
数据流去向:F1-01
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11
数据流编号:D1-03
数据流名称:获取采购申请信息
数据流来源:F1-01
数据流去向:P1-01
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11
数据流编号:D1-04
数据流名称:提交采购申请单
数据流来源:P1-01
数据流去向:P1-05
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11
数据流编号:D1-05
数据流名称:提交待审批信息
数据流来源:P1-01
数据流去向:F1-02
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11
数据流编号:D1-06
数据流名称:给出采购评估意见
数据流来源:P1-05
数据流去向:F1-02
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14
数据流编号:D1-07
数据流名称:获取评估意见
数据流来源:F1-02
数据流去向:P1-02
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14
数据流编号:D1-08
数据流名称:制定采购订单
数据流来源:采购员
数据流去向:P1-02
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+
I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+
I01-24+I01-25
数据流编号:D1-09
数据流名称:填写采购订单信息
数据流来源:P1-02
数据流去向:F1-03
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+
I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+
I01-24+I01-25
数据流编号:D1-10
数据流名称:提交采购订单
数据流来源:P1-02
数据流去向:P1-05
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+
I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+
I01-24+I01-25
数据流编号:D1-11
数据流名称:获取采购订单信息
数据流来源:F1-03
数据流去向:P1-05
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-14+ I01-15+I01-16+
I01-17+I01-18+I01-19+I01-20+ I01-21+I01-22+I01-23+
I01-24+I01-25
数据流编号:D1-12
数据流名称:给出采购审批状态
数据流来源:P1-05
数据流去向:F1-03
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14+
I01-15+I01-16+I01-17+I01-18+ I01-19+I01-20+I01-21+
I01-22+I01-23+I01-24+ I01-25
数据流编号:D1-13
数据流名称:进货
数据流来源:采购员
数据流去向:P1-03
数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27
数据流编号:D1-14
数据流名称:生成进货信息
数据流来源:P1-03
数据流去向:F1-04
数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27
数据流编号:D1-15
数据流名称:获取到货信息
数据流来源:F1-04
数据流去向:P1-04
数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27
数据流编号:D1-16
数据流名称:产品已经到货验收
数据流来源:P1-03
数据流去向:P1-04
数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27
数据流编号:D1-17
数据流名称:验收产品
数据流来源:采购员
数据流去向:P1-04
数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27
数据流编号:D1-18
数据流名称:以验收产品入库
数据流来源:P1-04
数据流去向:F1-05
数据流组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+ I01-27+
I01-28+I01-29
数据流编号:D1-19
数据流名称:通知财务付款
数据流来源:P1-04
数据流去向:F1-06
数据流组成:I01-01+I01-02+I01-04+I01-06+I01-17+I01-19+ I01-22+
I01-23+I01-25+I01-26+I01-27
3. 数据存储定义
系统采购管理数据存储定义:
数据存储编号:F1-01
数据存储名称:采购申请信息表
数据存储简述:用来存储要采购的产品的申请表
数据存储组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11
数据存储编号:F1-02
数据存储名称:采购评估表
数据存储简述:用来存储对提交过来的申请给出评估
数据存储组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14
数据存储编号:F1-03
数据存储名称:采购订单信息表
数据存储简述:用来存储对已经批准的产品制定详细的合同
数据存储组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+ I01-07+
I01-08+I01-09+I01-10+I01-11+I01-12+ I01-13+I01-14+
I01-15+I01-16+I01-17+I01-18+ I01-19+I01-20+I01-21+
I01-22+I01-23+I01-24+ I01-25
数据存储编号:F1-04
数据存储名称:进货表
数据存储简述:用来存储已经到货的产品的信息
数据存储组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+I01-27
数据存储编号:F1-05
数据存储名称:入库表
数据存储简述:用来存储产品入库的信息
数据存储组成:I01-01+I01-02+I01-04+I01-06+I01-25+I01-26+ I01-27+
I01-28+I01-29
数据存储编号:F1-06
数据存储名称:付款信息表
数据存储简述:用来存储已到货产品的付款信息
数据存储组成:I01-01+I01-02+I01-04+I01-06+I01-17+I01-19+ I01-22+
I01-23+I01-25+I01-26+I01-27
4. 数据处理定义
系统采购管理数据处理定义:
数据处理编号:P1-01
数据处理名称:填写采购申请单
数据处理简述:填写一个采购申请
数据处理输入:D1-01
数据处理输出:D1-02+ D1-04+ D1-05
数据处理编号:P1-02
数据处理名称:填写采购订单
数据处理简述:制定采购合同
数据处理输入:D1-07+D1-08
数据处理输出:D1-09+D1-10
数据处理编号:P1-03
数据处理名称:生成进货单
数据处理简述:对以到货的产品进行统计
数据处理输入:D1-12+D1-13
数据处理输出:D1-14+D1-16
数据处理编号:P1-04
数据处理名称:验收货物
数据处理简述:已到货的产品进行验收入库
数据处理输入:D1-15+D1-16+ D1-17
数据处理输出:D1-18+D1-19
数据处理编号:P1-05
数据处理名称:发送采购申请单到财务评估模块
数据处理简述:对提交过来的申请单给出审批意见
数据处理输入:D1-03+D1-04+ D1-10+D1-11
数据处理输出:D1-06+D1-12
本章对该系统进行了详细的分析,并且采用数据流图对软件运行过程中的数据的产生、流转、存储进行了详细的描述,数据字典中定义了软件中产生的数据的存储格式和意义。
本阶段设计的基本目的是解决系统如何实现问题,也叫做概要设计。利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个矩形框代表组成这个数据的实际数据元素。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性和可修改性,并且容易掌握和使用。
本系统一共分为六个模块,每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。
依据上述功能的分析,系统中模块分别为:采购管理、销售管理、库存管理、基本资料管理、系统维护和财务管理。
各功能模块的具体功能如下:
1. 采购管理:主要是负责采购的一个模块,负责申请采购产品、制定采购合同、进货和退货给厂家等操作。
2. 销售管理:主要是负责销售的一个模块,负责与客户打交道,把产品销售出去。也需要制定销售单,处理客户的退货要求。同时也会对销售业绩做一个统计。
3. 库存管理:对库存进行管理工作,进货、出货的管理,损坏产品的管理,还有对库存的一个基本查询。
4. 基本资料:对基础数据进行管理,包括客户、产品、仓库和公司的资本资料的维护。
5. 系统维护:对用户的一个管理,可以用来分配权限、添加用户和修改密码。
6. 财务管理:对采购和销售的资金进行管理,平且来审批采购和销售提交过来的申请单。
系统功能结构图如图4-1所示
图4-1 系统功能结构图
数据库技术是计算机科学领域中发展最快的技术之一,也是应用最广的技术之一,目前,它已成为计算机信息系统与应用系统的核心技术和重要基础。具体的说,数据库设计是一个给定的应用环境,构造最优的用户应用需求。这个问题是我们在进行软件开发时期主要研究的方向。
数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构设计和行为设计密切结合起来。数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。
数据库设计的任务是根据一个单位的信息需求、处理需求和数据库的支撑环境。其中信息需求表示一个单位所需要的数据及其结构。处理需求表示一个单位需要经常进行的数据处理。前者表达了对数据库的内容及结构的要求,也就是静态要求;后者表达了基于数据库的数据处理要求,也就是动态要求。
数据也称观测值,是实验、测量、观察、调查等的结果,常以数量的形式给出。数据分析的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。在实用中,数据分析可帮助人们作出判断,以便采取适当行动。
数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。它以一种能够分析和分类的方式来捕获用户的所有信息,这使得某一模型可以直接转化成数据库结构。
要确定实体和关系的性质,用户必须确定单个实体和他们相关的属性。为每个对象定义一个完整的与商业相关的描述以及他单独使用的要求,这也包括确定此实体是否使用应用程序的永久需求,每种关系的基本定义使用了商业定义和与关系相连接的需求。
在设计数据库时,应考虑以下事项:
1. 数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划。
2. 数据库规范化规则,防止数据库设计中出现错误。
3. 对数据完整性的保护。
4. 数据库和用户权限的安全要求。
5. 应用程序的性能需求,设计数据库时必须利用SQL Server 2000中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的。
6. 数据库维护。
实体-联系图(Entity-Relation Diagram)用来建立数据模型,通常将它简称为E-R图。E-R图提供了表示实体、属性和联系的方法,用来描述现实世界的概念模型。
在E-R图中要明确表明1对多关系,1对1关系和多对多关系。1对1关系在两个实体连线方向写1;1对多关系在1的一方写1,多的一方写N;多对多关系则是在两个实体连线方向各写N,M。下面根据数据库画出详细的E-R图。
数据库E-R如图4-2所示。
图4-2 数据库E-R图
根据韩泰轮胎销售公司的实际情况,本系统的数据库命名为:jxc。该数据库共有22个表,其主要表结构如表4-1至4-10所示。
1. 采购订单信息表,用来存储采购员申请采购的订单信息,包括采购主题、产品名称、采购员姓名等字段,如表4-1所示。
表4-1 t_caigou(采购订单信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 采购标识 | int | 4 |
2 | cgZhuti | 采购主题 | varchar | 50 |
3 | cgId | 采购单编号 | varchar | 50 |
4 | cgName | 产品名称 | varchar | 50 |
5 | cgValue | 产品单价 | float | 8 |
6 | cgNo | 采购数量 | int | 4 |
7 | cgLeixing | 采购类型 | varchar | 50 |
8 | cgPeople | 采购员姓名 | varchar | 50 |
9 | cgPhone | 采购员联系方式 | varchar | 50 |
10 | cgGpeople | 供方联系人 | varchar | 50 |
11 | cgGphone | 供方联系方式 | varchar | 50 |
12 | cgZhekou | 采购折扣 | float | 8 |
13 | cgYuncheng | 运输承担方 | varchar | 50 |
14 | cgYunfei | 运费金额 | float | 8 |
15 | cgFufang | 付款方式 | varchar | 50 |
16 | cgYunfang | 运输方式 | varchar | 50 |
17 | cgYufu | 预付款金额 | float | 8 |
18 | cgQuankuan | 全款金额 | float | 8 |
19 | cgFkdate | 付款日期 | detetime | 8 |
20 | cgJhdate | 进货日期 | detetime | 8 |
21 | cgSqdate | 申请日期 | detetime | 8 |
22 | cgZhuangtai | 采购单状态 | varchar | 50 |
23 | cgCsId | 采购申请标识 | int | 4 |
24 | cgBeizhu | 备注 | varchar | 200 |
2. 仓库信息表,用来存储仓库的基本信息,包括仓库编号、仓库名称、仓库类型、仓库规格、仓库电话等字段,如表4-2所示。
表4-2 t_cangku(仓库信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 标识 | int | 4 |
2 | ckName | 仓库名称 | varchar | 50 |
续表4-2 | ||||
3 | ckLeixng | 仓库类型 | varchar | 50 |
4 | ckGuige | 仓库规格 | varchar | 50 |
5 | ckZhuangtai | 仓库状态 | varchar | 50 |
6 | ckGuanliyuan | 仓库管理员 | varchar | 50 |
7 | ckPhone | 仓库电话 | varchar | 50 |
3. 客户信息表,用来存储客户的基本资料,包括客户编号、客户类型、联系人、所在地区、具体地址、联系方式、所在城市等字段,如表4-3所示。
表4-3 t_customer(客户信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 客户标识 | int | 4 |
2 | cusName | 客户名称 | varchar | 50 |
3 | cusLeixing | 客户类型 | varchar | 50 |
4 | cusJsfs | 金额结算方式 | varchar | 50 |
5 | cusJglx | 价格类型 | varchar | 50 |
6 | cusLianxiren | 客户联系人 | varchar | 50 |
7 | cusMobilephone | 手机号码 | varchar | 50 |
8 | cusCity | 所在城市 | varchar | 50 |
9 | cusField | 所在地区 | varchar | 50 |
10 | cusAddress | 具体地址 | varchar | 50 |
11 | cusPhone | 固定电话 | varchar | 50 |
12 | cusFox | 传真 | varchar | 50 |
13 | cusLrdate | 录入日期 | detetime | 8 |
14 | cusBeizhu | 备注 | varchar | 200 |
15 | cusId | 客户编号 | varchar | 50 |
4. 库存调拨信息表,用来存储产品调拨的信息,包括产品名称、调入仓库、调出仓库、调拨日期等字段,如表4-4所示。
表4-4 t_diaobo(库存调拨信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 标识 | int | 4 |
2 | dbId | 调拨单编号 | varchar | 50 |
3 | dbName | 调拨产品名称 | varchar | 50 |
4 | dbRu | 调入仓库 | varchar | 50 |
5 | dbChu | 调出仓库 | varchar | 50 |
6 | dbZhuangtai | 调拨状态 | varchar | 50 |
7 | dbDate | 调拨日期 | detetime | 8 |
8 | dbNo | 调拨数量 | int | 4 |
9 | dbKcId | 库存标识 | int | 4 |
续表4-4 | ||||
10 | dbSqdate | 申请日期 | detetime | 8 |
5. 进销存汇总信息表,用来存储付款信息、收款信息和退款信息的一个总表,包括单据编号、提交单据的部门、提交单据等种类、经手人等字段,如表4-5所示。
表4-5 t_huizong(进销存汇总信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 汇总标识 | int | 4 |
2 | hzId | 单据编号 | varchar | 50 |
3 | hzBumen | 部门 | varchar | 50 |
4 | hzZhong | 种类 | varchar | 50 |
5 | hzPeople | 申请人 | varchar | 50 |
6 | hzYu | 预款金额 | float | 8 |
7 | hzQuan | 全款金额 | float | 8 |
8 | hzSqdate | 申请日期 | detetime | 8 |
9 | hzJpeople | 经手人 | varchar | 50 |
10 | hzSpdate | 审批日期 | detetime | 8 |
11 | hzSkId | 收款编号 | int | 4 |
12 | hzFkId | 付款编号 | int | 4 |
13 | hzTkId | 退款编号 | int | 4 |
14 | hzZhuangtai | 状态 | varchar | 200 |
6. 进货信息表,用来存储已经到货的产品的信息,包括产品名称、到货数量、产品单价、到货日期、到货数量等字段,如表4-6所示。
表4-6 t_jinhuo(进货信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 进货标识 | int | 4 |
2 | jhId | 进货单编号 | varchar | 50 |
3 | jhName | 产品名称 | varchar | 50 |
4 | jhNo | 到货数量 | int | 4 |
5 | jhDhdate | 到货日期 | detetime | 8 |
6 | jhShno | 损坏数量 | int | 4 |
7 | jhPeople | 经手人 | varchar | 50 |
8 | jhValue | 产品单价 | float | 8 |
9 | jhShijia | 产品市价 | float | 8 |
10 | jhCgId | 采购标识 | int | 4 |
11 | jhZt | 进货单状态 | varchar | 50 |
7. 库存信息表,用来存储当前仓库中的产品的信息,包括产品名称、库存数量、所在仓库、市场价格、挤压成本等字段,如表4-7所示。
表4-7 t_kucun(库存信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 库存标识 | int | 4 |
2 | kcId | 库存编号 | varchar | 50 |
3 | kcName | 产品名称 | varchar | 50 |
4 | kcNo | 库存数量 | int | 4 |
5 | kcCangku | 所存仓库 | varchar | 50 |
6 | kcValue | 产品单价 | float | 8 |
7 | kcShijia | 产品市价 | float | 8 |
8 | kcBeizhu | 备注 | varchar | 200 |
9 | kcNowcang | 产品现存仓库 | varchar | 50 |
10 | kcZhuangtai | 库存状态 | varchar | 50 |
11 | kcPeople | 经手人 | varchar | 50 |
12 | kcSqdate | 申请日期 | detetime | 8 |
13 | kcSpdate | 审批日期 | detetime | 8 |
14 | kcYijian | 库存意见 | varchar | 50 |
15 | kcRudate | 入库日期 | detetime | 8 |
16 | kcChudate | 出库日期 | detetime | 8 |
17 | kcDbdate | 调拨日期 | detetime | 8 |
18 | kcChucang | 出货仓库 | varchar | 50 |
19 | kcJiya | 挤压产品成本 | float | 8 |
20 | kcZt | 库存状态 | varchar | 50 |
21 | kcNcid | 仓库标识 | int | 4 |
8. 审批信息表,用来存储采购部和销售部提交过来的申请信息,包括审批编号、申请部门、申请单种类、产品总额、申请日期等字段,如表4-8所示。
表4-8 t_shenpi(审批信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 标识 | int | 4 |
2 | shId | 审批编号 | varchar | 50 |
3 | shBumen | 申请部门 | varchar | 50 |
4 | shZhong | 申请单种类 | varchar | 50 |
5 | shPeople | 申请人 | varchar | 50 |
6 | shZhuangtai | 申请单状态 | varchar | 50 |
7 | shSqDate | 申请日期 | detetime | 8 |
8 | shSpDate | 审批日期 | detetime | 8 |
9 | shBeizhu | 备注 | varchar | 200 |
10 | shName | 申请单编号 | varchar | 50 |
11 | shShangping | 申请产品名称 | varchar | 50 |
12 | shValue | 产品单价 | float | 8 |
续表4-8 | ||||
13 | shNo | 数量 | int | 4 |
14 | shZonge | 产品总额 | float | 8 |
15 | shPhone | 申请人联系方式 | varchar | 50 |
16 | shCsId | 采购申请单标识 | int | 4 |
17 | shCgId | 采购标识 | int | 4 |
18 | shXdId | 销售订单标识 | int | 4 |
19 | shFenlei | 申请分类 | varchar | 50 |
9. 用户信息表,用来存储使用该系统的用户的基本信息,包括用户名、密码等字段,如表4-9所示。
表4-9 t_user(用户信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 编号 | int | 4 |
2 | username | 用户名 | varchar | 50 |
3 | password | 密码 | varchar | 50 |
4 | sex | 性别 | varchar | 50 |
5 | age | 年龄 | int | 4 |
6 | zhiwu | 职务 | varchar | 50 |
7 | phone | 联系电话 | varchar | 50 |
8 | | 电子邮件 | varchar | 50 |
9 | address | 地址 | varchar | 50 |
10 | beizhu | 备注 | varchar | 50 |
10. 销售订单信息表,用来存储销售员与客户定制的销售订单,包括销售主题、产品名称、单价、折扣等字段,如表4-10所示。
表4-10 t_xiaoding(销售订单信息表)
序号 | 英文名 | 中文名 | 类型 | 长度(字节) |
1 | id | 销售订单标识 | int | 4 |
2 | xdZhuti | 销售主题 | varchar | 50 |
3 | xdDdid | 订单编号 | varchar | 50 |
4 | xdChid | 产品编号 | varchar | 50 |
5 | xdName | 产品名称 | varchar | 50 |
6 | xdValue | 产品单价 | float | 8 |
7 | xdNo | 销售数量 | int | 4 |
8 | xdLeixing | 销售类型 | varchar | 50 |
9 | xdZhekou | 折扣 | float | 8 |
10 | xdPeople | 销售员 | varchar | 50 |
11 | xdPhone | 销售员联系方式 | varchar | 50 |
12 | xdKhpeople | 客户联系人 | varchar | 50 |
续表4-10 | ||||
13 | xdKhphone | 客户联系方式 | varchar | 50 |
14 | xdCity | 客户所在城市 | varchar | 50 |
15 | xdDian | 店面名称 | varchar | 50 |
16 | xdYuncheng | 运费承担方 | varchar | 50 |
17 | xdYunfei | 运费金额 | float | 8 |
18 | xdFufang | 付款方式 | varchar | 50 |
19 | xdYunfang | 运输方式 | varchar | 50 |
20 | xdXddate | 下单日期 | detetime | 8 |
21 | xdFkdate | 付款日期 | detetime | 8 |
22 | xdJhdate | 交货日期 | detetime | 8 |
23 | xdYufu | 预付款金额 | float | 8 |
24 | xdQuankuan | 全款金额 | float | 8 |
25 | xdZhuangtai | 销售订单状态 | varchar | 50 |
26 | xdCusId | 客户标识 | int | 4 |
27 | xdYgId | 员工标识 | int | 4 |
28 | xdProId | 产品标识 | int | 4 |
29 | xdBeizhu | 备注 | varchar | 200 |
总体设计阶段,在需求分析的基础之上规划出了系统的功能模块,以及在此分析基础上设计出的具体的、可以满足本系统全部需求的数据库。将该系统分成了六个功能模块,并对每个模块的基本功能进行了叙述。提供了系统功能模块图、以及系统E-R图,然后对本系统使用的数据库的结构进行了详尽的叙述,同时列出了部分表的表结构。
在总体设计阶段,由于数据库在设计中有非常重要的作用,所以在开发过程中,在考虑数据库上的时间较多。
硬件环境:台式计算机(PC)一台,如表5-1所示。
表5-1 运行环境硬件配置
硬件 | 配置 |
处理器 | Pentium III800以上 |
内存 | 256M以上 |
硬盘空间 | 30G以上 |
软件环境:Windows 2000 Professional or Windows 2000 Server操作系统。
1. MyEclipse 6.0
MyEclipse企业级工作平台是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率,它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试、和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。
在结构上,MyEclipse的特征可以被分为7类:
(1) JavaEE模型
(2) WEB开发工具
(3) EJB开发工具
(4) 应用程序服务器的连接器
(5) JavaEE项目部署服务
(6) 数据库服务
(7) MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
2. SQL Server 2000
SQL是英文(Structured Query Language)的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立关系,进行沟通。按照ANSI(美国国家标准协会)规定,SQL被作为关系型数据库管理系统的标准语言,SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准。
SQL Server 2000,是Microsoft公司推出的SQL Server数据库管理系统的版本,该版本继承了SQL Server 7.0版本的优点,同时又比它增加了许多更先进的功能,只有使用方便、可伸缩性好、与相关软件及承诺过程度高等优点。可以运行Microsoft Windows 2000以上的大型多处理器等多种平台使用。
同时,SQL Server 2000还提供了存储过程。这样的好处是,应用程序访问数据库的数据并不是直接的与数据库表打交道,而是通过存储过程的运行来获取所需要的数据。这样的设计有一个好处就是,避免了频繁的表操作,而通过运行在服务器端的存储过程可以极大的提高运作效率和提升访问数据的速度,同时也很好的屏蔽了数据表的逻辑,使得数据库访问变成了数据库提供的服务访问。
Microsoft SQL Server 2000能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到SQL Server 2000实例。SQL Server 2000为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。这使 SQL Server 2000得以应用于应用程序必须在本地存储数据的小型系统中。
本系统的主界面整体结构为上左右结构,上面部分显示系统名称以及当前用户名称以及角色,左面部分采用了树型层次结构罗列了系统的全部功能,包括采购管理、销售管理、库存管理、基本资料管理、系统维护、财务管理,并且展开之后包括全部功能的子模块。右面部分为客户区,显示当前操作的使用窗口,并且在右下角现实用户当前登录的时间。简洁、清晰的界面使用户赏心悦目。
系统主界面如图5-1所示。
采购管理是进销存系统中最为重要的模块之一。在本系统中,采购并不涉及很多供应商。因此,在本系统中,采购管理包括了采购申请单管理、采购订单管理、进货单管理和退货单管理功能。现在我就采购申请单加以详细说明。
添加采购申请单如图5-2所示。
图5-2 采购申请单
1. 实现目标
用户登陆后,系统判断其使用权限,如果没有使用权限,则拒绝其访问。如果有使用权限,则可以新建采购申请。提交给财务进行审批,审批结束后将申请单退回给用户。用户可以查看通过和未通过的申请及审批意见,对未通过的申请进行修改或删除,修改后的申请可以再次提交。对已通过的申请可以进行归档。
采购申请功能程序流程图描述:首先用户登录,判断其权限,有权限,填写采购申请,否则进行重新登录。填写完采购申请,确定提交则送到财务审批,否则重新填写采购申请。财务审批通过之后通知申请人结束,不通过,返回申请处重新填写。
采购申请功能程序流程图如图5-3所示。
图5-3 采购申请功能程序流程图
2. 实现过程
(1) JSP页说明
采购申请主要JSP文件功能如表5-2所示。
表5-2 采购申请主要JSP文件功能列表
JSP页面名称 | 功能 |
addCaishen.jsp | 添加采购申请页面 |
listCaishen.jsp | 全部采购申请列表页面 |
listCaishentx.jsp | 已通过采购申请列表页面 |
selectCaishen.jsp | 查看采购申请页面 |
updateCaishen.jsp | 更新采购申请页面 |
(2) 数据库相关表
数据库中采购申请相关表如表5-3所示。
表5-3 数据库中采购申请相关表
表名 | 模块名 |
t_user | 系统管理 |
t_caishen | 采购管理 |
t_shenpi | 财务管理 |
(3) 主要Java类
采购申请主要用到的Java类如表5-4所示。
表5-4 采购申请主要用到的Java类
类名 | 功能 |
com.slv.bean.Caishen.java | 采购申请单实体类 |
com.slv.service.CaishenService.java | 采购申请业务逻辑层 |
com.slv.service.impl.CaishenServiceImpl.java | 采购申请业务逻辑实现层 |
com.slv.action.CaishenAction.java | 采购申请表示层 |
(4) 主要方法
采购申请主要用到的方法如表5-5所示。
表5-5 采购申请主要用到的方法名
方法名 | 功能 |
addCaishenAction() | 添加采购申请单 |
deleteCaishenAction() | 删除采购申请单 |
listCaishenAction() | 遍历采购申请单 |
listCaishentixingAction() | 遍历通过采购申请单 |
jdcxCaishenAction() | 按条件查询 |
一个好的销售公司要有良好的销售管理。本系统在销售管理模块设定了销售申请单管理、销售订单管理、客户退货单管理和销售统计管理。下面,就销售单和销售统计加以详细说明。
销售单管理操作界面如图5-4所示。
1. 实现目标
用户登陆后,系统判断其使用权限,如果没有使用权限,则拒绝其访问。如果有使用权限,则可以对进货单进行操作。对已经销售的产品进行出货、查询库存管理。同时提交给财务部,进行收款管理。对销售单的内容只可以进行查看和删除操作。对已通过的信息可以进行归档。
销售单管理流程图描述:首先用户登录,判断其权限,有权限,填写详细销售单,否则进行重新登录。填写完销售单,确定提交则送到库存进行产品出库操作,并且送到财务进行收款业务,否则重新填写销售单。财务和库存全部通过之后通知申请人结束,不通过,返回申请处重新填写。
销售单管理流程图如图5-5所示。
图5-4 销售单管理操作界面
2. 实现过程
(1) JSP页说明
销售单管理主要JSP文件功能如表5-6所示。
表5-6 销售单管理主要JSP文件功能列表
JSP页面名称 | 功能 |
listXiaoshou.jsp | 全部销售单列表页面 |
listXiaoshoujdcx.jsp | 按条件查询销售单列表页面 |
selectXiaoshou.jsp | 查看销售单页面 |
updateXiaoshou.jsp | 验证销售单页面 |
(2) 数据库相关表
数据库中销售单管理相关表如表5-7所示。
表5-7 数据库中销售单管理相关表
表名 | 模块名 |
t_xiaoshou | 销售管理 |
t_chuku | 库存管理 |
续表5-7 | |
t_user | 系统管理 |
t_shoukuan | 财务管理 |
图5-5 销售单管理流程图
(3) 主要Java类
销售单管理主要用到的Java类如表5-8所示。
表5-8 销售单管理主要用到的Java类
类名 | 功能 |
com.slv.bean.Xiaoshou.java | 销售单实体类 |
com.slv.service.XiaoshouService.java | 销售业务逻辑层 |
com.slv.service.impl.XiaoshouServiceImpl.java | 销售业务逻辑实现层 |
com.slv.action.XiaoshouAction.java | 销售表示层 |
(4) 主要方法
销售单管理主要用到的方法如表5-9所示。
表5-9 销售单管理主要用到的方法名
方法名 | 功能 |
deleteXiaoshouAction() | 删除销售单 |
list XiaoshouAction() | 遍历销售单 |
enterUpdateAction() | 对以销售产品进行查询 |
jdcxXiaoshouAction() | 按条件查询 |
其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者