医药进销存管理系统详细设计文档.docx
《医药进销存管理系统详细设计文档.docx》由会员分享,可在线阅读,更多相关《医药进销存管理系统详细设计文档.docx(42页珍藏版)》请在冰豆网上搜索。
医药进销存管理系统详细设计文档
详细设计说明书
1。
引言
1.1编写目的
本软件是为满足一些大中型医药公司、要店、以及药品批发零售商的实际需求而编写的医药管理系统。
本详细设计说明书的目的是尽可能详细描述系统的各个层次,系统每个模块的功能及程序的流程,为程序员编写程序提供依据。
1.2项目背景
●待开发软件的名称:
医药管理系统
●本项目的任务提出者:
**医药公司
●本项目开发者:
邵连伟,王健,李波
●本项目指导老师:
刘迪
●本项目用户:
**医药公司职员
1.3参考资料
编写软件详细设计说明时所参考的资料,主要包括:
●引用的软件开发标准或规范。
●需求规格说明书.
●测试报告。
2.软件结构
2.1需求概述
一、登录管理模块的需求:
1、系统登录:
对用户身份进行验证,只有合法用户才能登录到该系统中!
二、基本信息模块的需求:
1、药品信息:
对药品的基本信息进行录入,并存入数据库
2、客户信息:
对客户的基本信息进行录入,并存入数据库
3、供应商信息:
对供应商的基本信息进行录入,并存入数据库
三、用户管理模块的需求:
1、添加用户:
为该系统添加用户角色,并赋予相应的权限!
2、用户维护:
对系统的用户进行常规维护,如修改密码,删除用户,给用户提权等。
四、业务管理模块的需求:
1.药品采购:
对药品的采购过程中的经手人,采购日期,药品数量,药品生产日期,采购总金额,药瓶供应商等进行记录,并存入数据库。
2.药品销售:
对药品销售过程中的销售员,销售数量,销售药品名,销售金额,销售对象(客户),销售日期,支付情况等进行记录,并存入数据库。
3。
库存盘点:
对系统的库存与实际仓库的库存数量种类进行对比,以发现不同与进行相应的处理.
4.销售退货:
对客户的退货请求进行处理,核实的确有此次销售,并且药品种类,药品数量符合销售数量才予以退货。
5。
客户回款:
对客户的欠款还款进行处理,并将相应的回款表存入数据库。
五、业务查询模块的需求:
1、入库明细查询:
对药品采购时的入库详细信息的查询。
2、基本信息查询:
对药品,客户,供应商等的基本信息进行查询.
3、销售明细查询:
对药品销售过程中的销售情况进行查询。
4、销售退货查询:
对药品销售退货过程中的退货情况进行查询.
5、回款信息查询:
对客户回款过程中的回款情况进行查询。
六、系统管理模块的需求:
1、系统日志浏览:
查询系统日志表,浏览系统运行情况,以及用户操作情况.
2、数据库备份:
对数据库内容进行备份,以便将来可以实现数据库恢复.
3、系统退出:
退出系统。
2.2软件结构
软件结构由以下六个模块组成:
1、登录管理
2、基本信息
3、用户管理
4、业务管理
5、业务查询
6、业务查询
7、系统管理
图2—1软件结构图
3.程序设计说明
3.1模块描述
见图2-1软件结构图。
3.2功能
一、基本信息模块
1、药品信息子模块
图3-1药品信息子模块图
2、客户信息子模块
图3—2客户信息子模块图
3、供应商信息子模块
图3-3供应商信息子模块图
二、用户维护
1、添加用户子模块
图3-4添加用户子模块图
三、业务管理模块
1、药品采购子模块
图3-4药品采购子模块图
2、药品销售子模块
图3-5药品销售子模块图
3、库存盘点子模块
图3-6库存盘点子模块图
4、销售退货子模块
图3—7销售退货子模块图
5、客户回款子模块
图3—8客户回款子模块图
四、业务查询模块
1、基本信息查询子模块
图3—9基本信息查询子模块图
2、入库查询子模块
图3-10入库查询子模块图
3、销售查询子模块
图3—11销售查询子模块图
4、销售退货查询子模块
图3—12销售退货查询子模块图
5、销售回款查询子模块
图3-13销售回款查询子模块图
3.3输入项
一、基本信息模块
1、药品基本信息:
药品名称:
字符串类型
药品简称:
字符串类型
药品产地:
字符串类型
药品单位:
字符串类型
药品简介:
字符串类型
药品批准文号:
字符串类型
药品批号:
字符串类型
药品规格:
字符串类型
药品包装:
字符串类型
供应商名称:
字符串类型
2、供应商基本信息:
供应商名称:
字符串类型
供应商简称:
字符串类型
供应商地址:
字符串类型
供应商电话:
字符串类型
供应商邮编:
字符串类型
联系人:
字符串类型
联系人电话:
字符串类型
E-mail:
字符串类型
开户号:
字符串类型
3、客户基本信息:
客户名称:
字符串类型
客户简称:
字符串类型
客户地址:
字符串类型
客户电话:
字符串类型
客户邮编:
字符串类型
联系人:
字符串类型
联系人电话:
字符串类型
E-mail:
字符串类型
开户号:
字符串类型
二、业务管理模块
1、药品采购子模块:
①药品基本信息:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的产地:
字符创类型
数据来源:
数据库中药品基本信息表
②药品采购:
药品生产日期:
date类型
药品的进价:
float类型
药品数量:
int类型
数据来源:
供应商
2、药品销售子模块:
①药品基本信息:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的产地:
字符创类型
数据来源:
数据库中药品基本信息表
②药品销售信息:
销售单价:
float类型
销售数量:
int类型
销售金额:
double类型
数据来源:
销售员
3、库存盘点子模块:
①药品库存信息:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的产地:
字符创类型
药品库存数量:
int类型
药品生产日期:
date类型
数据来源:
库存信息表
②药品真实信息:
药品实际数量:
int类型
数据来源:
仓库管理员
4、销售退货子模块:
①销售单信息:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的产地:
字符创类型
药品销售数量:
int类型
药品销售日期:
date类型
客户名:
字符串类型
数据来源:
销售单表
②退货信息
退货数量:
int类型
数据来源:
客户
5、客户回款子模块:
①客户欠款信息:
销售单号:
字符串类型
销售日期:
date类型
欠款数量:
float类型
数据来源:
欠款表
②回款信息:
客户名:
字符创类型
回款金额:
float类型
数据来源:
客户
三、查询管理模块
1、基本信息查询子模块:
①药品基本信息查询条件:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的编号:
字符创类型
数据来源:
数据库中药品基本信息表
②供应商基本信息查询条件:
供应商的名称:
字符串类型
供应商的编号:
字符创类型
数据来源:
数据库中供应商基本信息表
③客户基本信息查询条件:
客户的名称:
字符串类型
客户的编号:
字符创类型
数据来源:
数据库中客户基本信息表
2、入库查询子模块:
①入库历史查询条件:
药品的名称:
字符串类型
药品的供应商:
字符串类型
入库的时间:
datetime类型
经手人:
字符串类型
数据来源:
数据库中入库主表及明细表
②入库单据查询条件:
入库编号:
字符串类型
入库商品名称:
字符串类型
供应商名称:
字符串类型
数据来源:
数据库中入库主表及明细表
3、销售查询子模块:
①销售历史查询条件:
药品的名称:
字符串类型
客户名称:
字符串类型
销售的时间:
datetime类型
经手人:
字符串类型
数据来源:
数据库中销售主表及明细表
②销售单据查询条件:
销售编号:
字符串类型
销售商品名称:
字符串类型
客户名称:
字符串类型
数据来源:
数据库中销售主表及明细表
4、销售退货查询子模块:
①销售退货历史查询条件:
药品的名称:
字符串类型
客户名称:
字符串类型
销售退货时间:
datetime类型
经手人:
字符串类型
数据来源:
数据库中销售退货主表及明细表
②销售退货单据查询条件:
销售退货编号:
字符串类型
销售退货商品名称:
字符串类型
客户名称:
字符串类型
数据来源:
数据库中销售退货主表及明细表
5、销售回款子模块:
①销售回款历史查询条件:
客户名称:
字符串类型
销售回款的时间:
datetime类型
经手人:
字符串类型
数据来源:
数据库中销售回款主表及明细表
②销售回款单据查询条件:
销售回款编号:
字符串类型
销售回款商品名称:
字符串类型
客户名称:
字符串类型
数据来源:
数据库中销售回款主表及明细表
3.4输出项
一、业务管理模块
1、药品采购子模块:
采购单:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的产地:
字符创类型
药品生产日期:
date类型
药品的进价:
float类型
2、药品销售子模块:
销售单:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的产地:
字符创类型
销售单价:
float类型
销售数量:
int类型
销售金额:
int类型
数据来源:
销售员
3、库存盘点子模块:
库存盘点信息:
不匹配信息:
字符串型
4、销售退货子模块:
销售退货单:
药品的名称:
字符串类型
药品的供应商:
字符串类型
药品的产地:
字符创类型
药品销售数量:
int类型
药品销售日期:
date类型
客户名:
字符串类型
退货数量:
int类型
数据来源:
客户
5、客户回款子模块:
回款单:
销售单号:
字符串类型
销售日期:
date类型
欠款数量:
float类型
客户名:
字符创类型
回款金额:
float类型
二、查询管理模块
1、基本信息查询子模块:
①药品基本信息查询结果:
输出符合条件的药品基本信息表
数据来源:
数据库中药品基本信息表
②供应商基本信息查询结果:
输出符合条件的供应商基本信息表
数据来源:
数据库中供应商基本信息表
③客户基本信息查询结果:
输出符合条件的客户基本信息表
数据来源:
数据库中客户基本信息表
2、入库查询子模块:
①入库历史查询结果:
输出符合条件的入库表
数据来源:
数据库中入库主表及明细表
②入库单据查询结果:
输出符合条件的入库表
数据来源:
数据库中入库主表及明细表
3、销售查询子模块:
①销售历史查询结果:
输出符合条件的销售表
数据来源:
数据库中销售主表及明细表
②销售单据查询结果:
输出符合条件的销售表
数据来源:
数据库中销售主表及明细表
4、销售退货查询子模块:
①销售退货历史查询结果:
输出符合条件的销售退货表
数据来源:
数据库中销售退货主表及明细表
②销售退货单据查询结果:
输出符合条件的销售退货表
数据来源:
数据库中销售退货主表及明细表
5、销售回款子模块:
①销售回款历史查询结果:
输出符合条件的销售回款表
数据来源:
数据库中销售回款主表及明细表
②销售回款单据查询结果:
输出符合条件的销售回款表
数据来源:
数据库中销售回款主表及明细表
6、系统日志子模块:
输出系统日志表
3.5程序逻辑
一、基本信息模块
1、药品信息流程图
图3-5-1药品信息流程图
2、客户信息流程图
图3-5—2客户信息流程图
3、供应商信息流程图
图3—5-3供应商信息流程图
二、用户管理模块
1、增加用户
图3—5—4增加用户流程图
2、用户维护
图3-5-5用户维护流程图
三、业务管理模块
1、药品采购的程序流程图
图3—5-6药品采购的程序流程图
2、药品销售流程图
图3-5—7药品销售流程图
3、库存盘点程序流程图
图3-5-8库存盘点程序流程图
4、销售退货程序流程图
图3—5—9销售退货程序流程图
5、客户回款程序流程图
图3-5—10客户回款程序流程图
四、查询管理模块
1、基本信息查询流程图
图3—5—11基本信息查询流程图
2、入库明细查询流程图
图3—5—12入库明细查询流程图
3、销售明细查询流程图
图3-5-13销售明细查询流程图
4、销售退货明细流程图
图3-5-14销售退货明细流程图
5、销售回款明细查询流程图
图3-5-15销售回款明细查询流程图
五、系统管理模块
1、日志浏览流程图
图3—5-16日志浏览流程图
2、数据库备份流程图
图3—5-17数据库备份流程图
3、系统退出流程图
图3-5—18系统退出流程图
4.数据库设计
4.1医药管理系统E-R图
医药管理系统主要实现了从进货、库存到销售一体化管理,涉及药品信息、药品供应商信息、购买药品的客户信息及使用该系统的用户信息这四个实体。
下面介绍这些实体的E—R图。
1.药品实体E—R图
药品信息是医药管理系统中的基本信息,系统将维护药品的进货、退货、
入库等操作。
商品实体包括商品编号、商品名称、商品简称、商品产地、单位、规格、包装、批号、批准文号、药品简介和供应商属性,药品实体E-R图如图4-1所示
药品
编号
名称
简称
产地
单位
简介
批准文号
批号
规格
包装
供应商
图4-1药品E—R图
2.供应商实体E—R图
供应商信息是医药管理系统中的基本信息,不同的供应商提供不同的药品,
在药品信息中引用药品供应商的实体属性.供应商实体包括编号、供应商名称、简称、供应商地址、电话、邮政编码、联系人、联系电话、E—mail和开户行属性,供应商实体E-R图如图4-2所示
供应商
编号
名称
简称
地址
电话
邮编
联系人
联系电话
E-mail
开户号
图4—2供应商E-R图
3.客户实体E—R图
客户信息是医药管理系统中的基本信息,在销售、退货、还款等操作中调用客户信息。
客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系电话、E-mail和开户行属性,客户实体E—R图如图4-3所示
客户
编号
名称
简称
地址
电话
邮编
联系人
联系电话
E-mail
开户号
图4-3客户E-R图
4.用户实体E-R图
用户信息是医药管理系统中的基本信息,用户是该系统的使用者,不同的用
用户
用户工号
用户姓名
密码
使用权限
户可以使用不同的操作.用户实体包括用户工号、用户姓名、密码和使用权限属性,用户实体E-R图如图4-4所示
图4-4用户E—R图
4.2数据表及视图概要说明
本系统后台数据库中的数据表有:
●tb_ypinfo(药品基本信息表)
●tb_gysinfo(供应商基本信息表)
●tb_khinfo(客户基本信息表)
●tb_yh(用户基本信息表)
●tb_kucun(库存信息表)
●tb_rk_main(入库主表)
●tb_rk_detail(入库明细表)
●tb_xs_main(销售主表)
●tb_xs_detail(销售明细表)
●tb_xt_main(销售退货主表)
●tb_xt_detail(销售退货明细表)
●tb_xh_main(销售还款主表)
●tb_xh_detail(销售还款明细表)
●tb_log(日志信息表)
4.3业务逻辑编码规则
1。
数据库对象命名规则
数据库命名以字母“db”开头(小写),后面加数据库相关汉语拼音的首字母.下面举例说明,如表所示。
数据库名称
描述
db_yygl
医药管理系统数据库
2。
数据表命名规则
数据表以字母“tb"开头(小写),后面加数据库相关汉语拼音的首字母和数据表名,两个单词间用“-"分隔。
下面将举例说明,如表所示.
数据表名称
描述
tb_xs_main
销售主表
tb_xs_detail
销售明细表
3。
字段命名规则
字段一律采用以相关汉语拼音的首字母开头,后面加专业的英文单词或者可以用相同意义的英文单词或者词组代替,两个单词间用“—”分隔。
下面据以说明,如表所示。
字段名称
描述
yp_id
药品编号
yp_name
药品名称
yp_jc
药品简称
4.4业务编码规则
1.药品编号
药品编号是药品的唯一标识,它是药品信息表的主键,用于区分不同的药品.即使药品名称、规格等信息相同,其yp_id编号也似不可能相同的,因为主键约束不可能存在相同的yp_id值.本系统对该编号的编码规则:
以字符串“yp”为编号前缀,加上4个数字作编号后缀,这4个数字从1000开始例如(yp2045)。
2.供应商编号
和药品编号相似,供应商编号是供应商的唯一标识,它是供应商信息表的主键,用于区分不同的供应商。
有数据的唯一性约束条件,所以供应商信息表不可能有两个相同编号。
本系统对该编号的编码规则:
以字符串“gys”为编号前缀,加上4个数字作编号后缀,这4个数字从1000开始例如(gys2045)。
3.客户编号
和药品编号和供应商编号相似,客户编号是客户的唯一标识,它是客户信息表的主键,用于区分不同的客户。
有数据的唯一性约束条件,所以客户信息表不可能有两个相同编号。
本系统对该编号的编码规则与药品、供应商的编号规则相同,但前缀使用“kh”字符串,例如(kh2045)。
4.用户编号(用户工号)
用户编号(用户工号)是用户的唯一标识,它是用户信息表的主键,用以区分不同的用户。
有数据唯一性约束条件,所以用户信息表不能有两个编号.其编码规则与药品、供应商、客户的编码规则相同,但前缀使用“yh”字符串,例如(yh2045).
5.入库编号
入库编号用于区分不同的药品入库信息。
入库编号的命名规则:
以“RKBH”字符串位前缀,加上多位数字作后缀。
例如(RKBH20071109003).
6.销售编号
销售编号用以区分不同的销售凭据。
销售编号的命名规则:
以“XSBH"字符串位前缀,加上多位数字作后缀。
例如(XSBH20071109003).
7.销售退货编号
销售退货编号用以区分不同的销售退货凭据。
销售退货编号的命名规则:
以“XSTHBH"字符串位前缀,加上多位数字作后缀。
例如(XSTHBH20071109003)。
8.销售回款编
销售回款编号用以区分不同的销售回款凭据。
销售回款编号的命名规则:
以“XSHKBH"字符串位前缀,加上多位数字作后缀。
例如(XSHKBH20071109003)
4.5主要数据表结构
根据预先设计好的编码规则设计了以下数据表:
供应商基本信息表,客户基本信息表,库存信息表,入库明细表,入库主表,销售明细表,销售主表,销售退货明细表,销售退货主表,销售回款明细表,销售回款主表,药品基本信息表,用户信息表等。
表1tb_yh(用户基本信息表)
列名
数据类型
可否为空
描述
yh_id
Varchar(50)
NOTNULL
用户编号(主键)
yh_name
varchar(50)
NOTNULL
用户姓名
yh_mm
varchar(50)
NOTNULL
登录密码
yh_qx
varchar
(2)
NOTNULL
使用权限
表2tb_ypinfo(药品基本信息表)
列名
数据类型
可否为空
描述
yp_id
Varchar(50)
NOTNULL
药品编号(主键)
yp_name
varchar(50)
NOTNULL
药品名称
yp_jc
varchar(50)
NULL
药品简称
yp_cd
varchar(50)
NOTNULL
药品产地
yp_dw
varchar(50)
NOTNULL
药品单位
yp_jj
varchar(50)
NULL
药品简介
yp_pzwh
varchar(50)
NOTNULL
药品批准文号
yp_ph
varchar(50)
NOTNULL
药品批号
yp_gg
varchar(50)
NOTNULL
药品规格
yp_bz
varchar(50)
NOTNULL
药品包装
gys_name
varchar(100)
NOTNULL
供应商名称
表3tb_gysinfo(供应商基本信息表)
列名
数据类型
可否为空
描述
gys_id
Varchar(50)
NOTNULL
供应商编号(主键)
gys_name
varchar(50)
NOTNULL
供应商名称
gys_jc
varchar(100)
NULL
供应商简称
gys_dz
varchar(50)
NOTNULL
供应商地址
gys_dh
varchar(50)
NOTNULL
供应商电话
gys_yb
varchar(50)
NOTNULL
供应商邮编
gys_lxr
varchar(50)
NOTNULL
联系人
gys_lxdh
varchar(50)
NOTNULL
联系人电话
gys_dzyj
varchar(50)
NOTNULL
E—mail
gys_khh
varchar(50)
NOTNULL
开户号
表4tb_khinfo(客户基本信息表)
列名
数据类型
可否为空
描述
kh_id
Varchar(50)
NOTNULL
客户编号(主键)
kh_name
varchar(100)
NOTNULL
客户名称
kh_jc
varchar(50)
NULL
客户简称
kh_dz
varchar(50)
NOTNULL
客户地址
kh_dh
varchar(50)
NOTNULL
客户电话
kh_yb
varchar(50)
NOTNULL
客户邮编
kh_lxr
varchar(50)
NOTNULL
联系人
kh_lxdh
varchar(50)
NOTNULL
联系人电话
kh_dzyj
varchar(50)
NOTNULL
E-mail
kh_khh
varchar(50)
NOTNULL
开户号
表5tb_kucun(库存信息表)
列名
数据类型
可否为空
描述
yp_id
Varchar(50)
NOTNULL
药品编号(主键)
yp_name
varchar(100)
NOTNULL
药品名称
gys_name
varchar(50)
NOTNULL
供应商名称
yp_cd
varchar(50)
NOTNULL
产地
yp_gg
varchar(50)
NOTNULL
规格
yp_bz
varchar(50)
NOTNULL
包装
yp_dw
varchar(50)
NOTNULL
单位
yp_dj
Double(8,2)
NOTNULL
进价
kc_sl
Int(10)
NOTNULL
库存数量
yp_