进销存系统
系统设计说明书
|
文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 |
文件标识: |
进销存系统 |
|
当前版本: |
1.0 |
|
|
作 者: |
|
|
|
完成日期: |
2010-2-5 |
版 本 历 史
|
版本/状态 |
作者 |
参与者 |
起止日期 |
备注 |
|
草稿:1.0 |
|
|
2010-1-25 |
新建 |
|
|
|
|
|
|
|
|
|
|
|
|
目 录
0.文档介绍
0.1 文档目的
本文档主要针对进销存进行概要设计和详细设计,它是该产品设计与开发的重要参考依据。
0.2 文档范围
本文档包含以下几部分:
1. 任务概述
2. 总体设计
3. 模块的详细设计
0.3读者对象
本文档的读者范围包括:
1. 开发方的项目经理
2. 系统开发人员
3. 测试人员
0.4 参考文档
提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:
[标识符] 作者,文献名称,出版单位(或归属单位),日期
例如:
[SPP-PROC-PP] SEPG,系统设计规范,机构名称,日期
0.5 术语与缩写解释
|
缩写、术语及符号 |
解 释 |
|
PSS |
Purchase Sale Stock的缩写-进销存软件系统 |
|
|
|
|
|
|
|
|
|
1. 任务概述
1.1 任务描述
进销存(PSS)软件是一款通用性极强的商业企业进销存管理系统,该系统是集采购、销售及库存管理于一体的商业企业管理软件系统,它囊括了商业企业日常经营管理的全过程。
1.2 运行环境
进销存(PSS)软件系统采用流行的C/S三层结构,可以供多台电脑协同工作,数据共享。
系统软件采用.NET平台进行开发并实现,用户数据选用Microsoft SQL Server2000进行统一管理。
2. 总体设计
2.1 系统总体规划
进销存(PSS)软件是一款通用性极强的商业企业进销存管理系统,它使用的是目前较成熟的C/S(客户机/服务器)三层体系结构,其基本结构如图1-1所示。该系统实现了用户登录、资料管理、采购管理、销售管理、库存管理、系统管理、报表导出管理等功能,系统规划示意图如图1-2所示。
图1-1 基于C/S三层结构的进销存系统体系结构示意图
图1-2 系统规划示意图
2.2 系统功能设计
根据系统规划,对进销存(PSS)软件的功能进行了详细的设计,它们的功能由表1-1列出:
表1-1 功能模块划分
|
功能模块 |
功能子模块 |
功能列表 |
|||
|
资料管理 |
员工资料维护 |
员工的添加 |
员工的修改 |
员工的删除 |
员工的查询 |
|
商品资料维护 |
商品的添加 |
商品的修改 |
商品的删除 |
商品的查询 |
|
|
客户资料维护 |
客户的添加 |
客户的修改 |
客户的删除 |
客户的查询 |
|
|
供应商资料维护 |
供应商的添加 |
供应商的修改 |
供应商的删除 |
供应商的查询 |
|
|
采购管理 |
采购入库管理 |
入库单的增加 |
入库单的修改 |
入库单的删除 |
入库单的查询 |
|
采购退货管理 |
采购退货单的增加 |
采购退货单的修改 |
采购退货单的删除 |
采购退货单的查询 |
|
|
库存管理 |
库存查询 |
|
|
|
|
|
销售管理 |
销售出库管理 |
出库单的增加 |
出库单的修改 |
出库单的删除 |
出库单的查询 |
|
销售退货管理 |
销售退货单的增加 |
销售退货单的修改 |
销售退货单的删除 |
销售退货单的查询 |
|
|
系统管理 |
更改密码 |
密码的修改 |
|
|
|
|
权限设置 |
用户访问权限的设置 |
|
|
|
|
|
报表导出管理 |
库存预警 |
库存预警 |
生成库存预警信息报表 |
|
|
|
导出商品报表 |
生成商品报表 |
|
|
|
|
|
导出采购报表 |
生成采购报表 |
|
|
|
|
|
导出年采购报表 |
生成年采购报表 |
|
|
|
|
2.3 数据库设计
进销存(PSS)软件用户的需求具体体现在资料的管理、采购的管理、销售的管理、库存的管理等方面,这样就要求数据库结构能充分满足各个信息的输出和输入。
管理员可以查看和更新自己的信息,自行修改密码;可以对员工资料、商品资料、客户资料、供应资料等各种资料进行管理,可以进行采购管理、库存管理等商品流动管理,可以对权限进行设置,可以生成库存预警信息、商品、采购、年采购等报表。
销售人员可以查看和更新自己的信息,自行修改密码;可以进行销售管理。
根据以上需求分析,将用户需求抽象化为概念模型。本系统使用E/R模型作为概念设计的工具。整个系统的E/R图,如图1-3所示。
图1-3 E/R图
以上实体转换的关系如下面的表1-2至表1-10所示。每个表格表示对应数据库中的一个表。
表1-2 登录用户数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
编号 |
Char(8) |
Not null |
|
|
登录名 |
Varchar(20) |
Not null |
主键 |
|
销售人员编码 |
Char(8) |
Null |
外键(参照:员工(编号)) |
|
姓名 |
Nvarchar(5) |
Not null |
|
|
密码 |
Varchar(30) |
Not null |
|
|
标志 |
Bit |
Not null |
登录用户类型(0:管理员、1:销售员) |
表1-3员工数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
编号 |
Char(8) |
Not null |
主键 |
|
中文姓名 |
Nvarchar(5) |
Not null |
|
|
英文姓名 |
Varchar(60) |
Null |
|
|
电话 |
Varchar(20) |
Null |
|
|
移动电话 |
Varchar(20) |
Null |
|
|
电子邮件 |
Varchar(50) |
Null |
|
|
联络地址 |
Nvarchar(30) |
Null |
|
表1-4商品数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
编号 |
Char(8) |
Not null |
主键 |
|
名称 |
Nvarchar(30) |
Not null |
|
|
安全存量 |
Int |
Not null |
|
|
当前数量 |
Int |
Not null |
|
|
建议采购价 |
Numeric(10,2) |
Not null |
|
|
建议销售价 |
Numeric(10,2) |
Not null |
|
|
最后一次采购日期 |
Datetime |
Null |
|
|
最后一次销售日期 |
Datetime |
Null |
|
表1-5供应商数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
编号 |
Char(8) |
Not null |
主键 |
|
中文简称 |
Nvarchar(10) |
Not null |
|
|
供应商全称 |
Varchar(60) |
Null |
|
|
负责人姓名 |
Varchar(30) |
Null |
|
|
负责人称谓 |
Varchar(30) |
Null |
|
|
电话 |
Varchar(20) |
Null |
|
|
传真 |
Varchar(20) |
Null |
|
|
移动电话 |
Varchar(20) |
Null |
|
|
供应商地址 |
Varchar(100) |
Null |
|
|
工厂地址 |
Varchar(100) |
Null |
|
|
最近一次进货日期 |
Datetime |
Null |
|
表1-6客户数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
编号 |
Char(8) |
Not null |
主键 |
|
公司简称 |
Nvarchar(10) |
Not null |
|
|
公司全称 |
Varchar(60) |
Null |
|
|
负责人姓名 |
Varchar(30) |
Null |
|
|
负责人称谓 |
Varchar(30) |
Null |
|
|
电话 |
Varchar(20) |
Null |
|
|
传真 |
Varchar(20) |
Null |
|
|
移动电话 |
Varchar(20) |
Null |
|
|
公司地址 |
Varchar(100) |
Null |
|
表1-7联络人数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
编号 |
Char(8) |
Not null |
主键 |
|
中文姓名 |
Nvarchar(5) |
Not null |
|
|
英文姓名 |
Varchar(60) |
Null |
|
|
联络人称谓 |
Varchar(10) |
Null |
|
|
电话 |
Varchar(20) |
Null |
|
|
移动电话 |
Varchar(20) |
Null |
|
|
供应商编号 |
Char(8) |
Null |
外键(参照:员工(编号)) |
|
客户编号 |
Char(8) |
Null |
外键(参照:客户(编号)) |
表1-8送货地址数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
编号 |
Char(8) |
Not null |
主键 |
|
所属编号 |
Char(8) |
Not null |
外键(参照:客户(编号)) |
|
送货地址 |
Varchar(100) |
Null |
|
表1-9销售数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
单号 |
Char(8) |
Not null |
主键 |
|
日期 |
Datetime |
Not null |
|
|
供应商编号 |
Char(8) |
Not null |
主键,外键(参照:供应商(编号)) |
|
商品编号 |
Char(8) |
Not null |
主键,外键(参照:商品(编号)) |
|
单价 |
Numeric(10,2) |
Not null |
|
|
数量 |
Int |
Not null |
数量为正值表示销售;数量为负值表示销售退货 |
表1-10采购数据表
|
属性名称 |
域 |
空值约束 |
说明 |
|
单号 |
Char(8) |
Not null |
主键 |
|
日期 |
Datetime |
Not null |
|
|
客户编号 |
Char(8) |
Not null |
主键,外键(参照:客户(编号)) |
|
商品编号 |
Char(8) |
Not null |
主键,外键(参照:商品(编号)) |
|
单价 |
Numeric(10,2) |
Not null |
|
|
数量 |
Int |
Not null |
数量为正值表示采购;数量为负值表示采购退货 |
|
销售员编号 |
Char(8) |
Null |
外键(参照:员工(编号)) |
各表对应的关系图,如图1-4所示。
图1-4关系图
各功能模块与数据库中各表的对应关系如表1-11所示。
表1-11 各功能模块与数据库的对应关系表
|
功能名称 |
数据库表 |
|
用户登录 |
登录用户数据表 |
|
员工资料维护 |
员工数据表 |
|
商品资料维护 |
商品数据表 |
|
客户资料维护 |
客户数据表、联络人数据表、送货地址数据表 |
|
供应商资料维护 |
供应商数据表、联络人数据表 |
|
采购入库管理 |
商品数据表、采购数据表、供应商数据表 |
|
采购退货管理 |
商品数据表、采购数据表、供应商数据表 |
|
库存查询 |
商品数据表 |
|
销售出库管理 |
商品数据表、销售数据表、客户数据表、员工数据表 |
|
销售退货管理 |
商品数据表、销售数据表、客户数据表、员工数据表 |
|
更改密码 |
登录用户数据表 |
|
权限设置 |
登录用户数据表 |
|
库存预警 |
商品数据表 |
|
导出商品报表 |
商品数据表 |
|
导出采购报表 |
商品数据表、采购数据表 |
|
导出年采购报表 |
商品数据表、采购数据表 |
3. 详细设计
3.1 系统流程图
进销存(PSS)软件的使用者设定为两类用户,它们分别是管理员和销售员,不同类型的用户能够进行不同类型的操作,其操作界面不同,分别为管理员界面和销售员界面。销售人员界面只可以进行销售管理,其余的功能均在管理员界面完成。这就需要为不同类型的用户授予不同的权限。进入哪个界面是利用利用登录来解决的,所以用户想要进入系统,要做的第一件事就是登录,登录流程如图1-5所示。
图1-5 登录流程
登录成功后,不同权限的用户将进行不同的操作,以商品销售功能为例,详细描述其开发过程。该模块的系统流程图如图1-6所示。
图1-6 系统流程图
3.2子模块功能详述
1. 用户登录
描述:用户在系统内以不同的身份登录到软件界面中。
条件:无。
操作:在系统中的合法用户均拥有自己的登录名,该登录名在系统中作为标记一个用户的唯一标识存在。管理员身份的用户在登录时输入登录名、密码并选择用户角色为“管理员”,经验证可进入管理员界面。销售员身份的用户在登录时输入登录名、密码并选择用户角色为“销售员”,经验证可进入销售员界面。用户除可对自身的登录密码进行修改外,其它相关信息均由管理员进行维护。
后果:系统内合法用户根据不同的身份标识和验证密码,可进入具有不同功能的界面。
2. 销售出库
描述:销售员可在其授权的界面中进行商品销售操作。
条件:产品有库存且库存数量大于要销售的数量。
操作:在销售员界面中,点击销售菜单,从子菜单中选择销售出库,在界面中点击〖增加销售出库单〗按钮,进入销售出库单录入界面,在界面中输入相应参数,点击〖保存〗按钮,系统验证各数据的合法性。
后果:销售出库单增加,该商品的库存数量减少,该商品的最近一次采购日期更改为最大日期,该商品的最近一次销售日期改为最大日期。
3. 销售退货
描述:销售员可在其授权的界面中进行商品销售退货操作。
条件:退货产品的销售出库单必须存在。
操作:在销售员界面中,点击销售菜单,从子菜单中选择销售退货,在界面中点击〖增加销售退货单〗按钮,进入销售退货单录入界面,在界面中输入相应参数,点击〖保存〗按钮,系统验证各数据的合法性。
后果:销售退货单增加,库存数量增加。