详细设计说明书1引言 (1)1.1编写目的 (1)1.2项目背景 (1)1.3参考资料 (2)2软件结构 (2)2.1需求概述 (2)2.2软件结构 (3)3程序设计说明 (4)3.1模块描述 (4)3.2功能 (4)3.3输入项 (9)3.4输出项 (14)3.5程序逻辑 (16)4数据库设计 (30)4.1医药管理系统E-R图 (30)4.2数据表及视图概要说明 (32)4.3业务逻辑编码规则 (33)4.4业务编码规则 (34)4.5主要数据表结构 (35)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、库存盘点子模块输入4、销售退货子模块处理图 3-6 库存盘点子模块图输出输入5、客户回款子模块输入处理图 3-7 销售退货子模块图处理图 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、供应商信息流程图-16-退出图 3-5-3 供应商信息流程图二、用户管理模块1退出图 3-5-4 增加用户流程图-17-图3-5-5用户维护流程图三、业务管理模块1、药品采购的程序流程图N输出:您无此权限开始有相应权限?Y选择供应商选择药品填入药品生产日期N 填入药品数量N填入药品进价输入无错?Y进货完成?Y将进货单存入数据库修改库存表修改日志表结束图3-5-6药品采购的程序流程图2、药品销售流程图N输入没有相应权限开始有相应权限?Y选择药品选择供应商?Y选择供应商NN 读取药品基本信息N输入药品数量输出没有库存药品数量合法?YN库存够吗?Y结束?Y销售单入库修改库存添加日志结束图3-5-7药品销售流程图3、库存盘点程序流程图输出没有相应权限开始满足权限?读取库存信息输入实际值盘点与实际值相等?Y库存值与实际值相等输出不相等的药品打印?Y打印盘点信息结束图3-5-8库存盘点程序流程图N4、销售退货程序流程图N输出你无此权限开始有权限?Y选择销售单选择退货药品读取基本信息药品已过期不能退货药品过期?NN输入退货数量大于销售?N药品选择结束?Y结束图3-5-9销售退货程序流程图输出数量大于销售数量不能退货Y5、客户回款程序流程图图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图医药管理系统主要实现了从进货、库存到销售一体化管理,涉及药品信息、药品供应商信息、购买药品的客户信息及使用该系统的用户信息这四个实体。