当前位置:首页>文档>XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)

XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)

  • 2026-03-05 18:38:13 2026-01-19 14:41:20

文档预览

XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)
XXX详细设计说明书_436套软件开发需求文档_VD516-软件开发需求文档_04详细设计说明书(22份)

文档信息

文档格式
doc
文档大小
0.731 MB
文档页数
50 页
上传时间
2026-01-19 14:41:20

文档内容

医药管理系统项目详细设计说明书 医药管理系统项目详细设计说明书 编写:XXX 日期:YYYY-MM-DD 审核: 日期: 批准: 日期: 受控状态: 是 发布版次:1.0 日期:YYYY-MM-DD 编号: 中软培训实训基地 第 1 页 共 50 页医药管理系统项目详细设计说明书 内部文档 变更记录 日期 版本 变更说明 作者 YYYY-MM-DD 1.0 初始版本 XXX 签字确认 系统模块 对应章节 对应部门 负责人签字 第 2 页 共 50 页医药管理系统项目详细设计说明书 内部文档 目 录 1 引言.............................................................................................................................................5 1.1 编写目的.............................................................................................................................5 1.2 背景.....................................................................................................................................5 2 概述.............................................................................................................................................5 2.1 基线.....................................................................................................................................6 2.2 范围.....................................................................................................................................6 2.3 定义.....................................................................................................................................6 2.4 参考资料.............................................................................................................................6 2.5 术语与缩写解释.................................................................................................................6 3 模块命名规则.............................................................................................................................6 4 模块汇总.....................................................................................................................................7 4.1 模块汇总表.........................................................................................................................7 4.2 块关系图.............................................................................................................................8 5 子系统模块设计.........................................................................................................................9 5.1 医药管理模块.....................................................................................................................9 5.1.1 功能描述.....................................................................................................................9 5.1.2 相关模块.....................................................................................................................9 5.1.3 类图...........................................................................................................................10 5.1.4 MedicineAction类....................................................................................................10 5.1.5 MedcineDao类.........................................................................................................13 5.2 类别管理模块...................................................................................................................18 5.2.1 功能描述...................................................................................................................19 5.2.2 相关模块...................................................................................................................19 5.2.3 类图...........................................................................................................................19 5.2.4 类别管理类...............................................................................................................20 5.3 购买药品...........................................................................................................................23 5.3.1 功能描述...................................................................................................................23 5.3.2 相关模块...................................................................................................................23 5.3.3 类图...........................................................................................................................24 5.3.4 类SellAction........................................................................................................25 5.4 销售管理模块...................................................................................................................28 5.4.1 功能描述...................................................................................................................28 5.4.2 相关模块...................................................................................................................28 5.4.3 类图...........................................................................................................................28 5.4.4 SellDetail类..............................................................................................................29 5.4.5 SellDao类.................................................................................................................35 5.5 需求管理...........................................................................................................................40 5.5.1 功能描述...................................................................................................................40 5.5.2 相关模块...................................................................................................................40 5.5.3 类图...........................................................................................................................40 第 3 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.5.4 RequireAction类.......................................................................................................41 5.6 系统管理...........................................................................................................................43 5.6.1 功能描述...................................................................................................................43 5.6.2 相关模块...................................................................................................................43 5.6.3 类图...........................................................................................................................44 5.6.4 类A...........................................................................................................................44 第 4 页 共 50 页医药管理系统项目详细设计说明书 内部文档 1 引言 1.1 编写目的 本说明书是医药管理系统的详细设计。其编写目的是在概要设计的基础上, 针对该项目的每个模块,每个功能的实现方法进行详细的设计和划分,按照详细 设计说明书的要求,进一步明确系统结构,为项目开发人员后期的编码工作做准 备。 本文档的预期的读者是: 项目开发人员 项目经理 项目测试人员 1.2 背景 在前一阶段的概要设计文档中,已经通过顺序图解决了该系统功 能的实现流程,包括系统的各模块间的关系设计等。本文档就是在前 一阶段成果的基础上,继续对系统的各模块进行详细的划分和说明。 2概述 本项目的任务提出者:见概要设计文档 单位: 见概要设计文档 开发者:见概要设计文档 用户: 见概要设计文档 第 5 页 共 50 页医药管理系统项目详细设计说明书 内部文档 实现该软件的计算中心或计算机网络:见概要设计文档 2.1 基线 以需求分析和概要设计为基准。 2.2 范围 本概要设计文档提供给系统设计开发人员,包括详细设计人员和 项目组成员。 2.3 定义 2.4 参考资料 2.5 术语与缩写解释 缩写、术语 解 释 第 6 页 共 50 页医药管理系统项目详细设计说明书 内部文档 3 模块命名规则 驼峰标识,由单词的全拼组成,除首单词外每个单词的首字母大 写,例如:medcineManager 4 模块汇总 4.1 模块汇总表 提示:这里模块是指相对独立的软件设计单元,例如对象类、函数包等等。 子系统A 模块名称 功能简述 添加药品 管理员添加进货药品 查看药品 管理员查看进货的信息 高级查询 管理员按照一定条件查找进货的信息 查看库存 管理员查看库存情况 子系统B 模块名称 功能简述 添加类别 管理员添加药品类别 查看类别 管理员查看药品类别 子系统C 模块名称 功能简述 选购药品 操作员把顾客买的药品添加进购物车 查看选购 操作员查看购物车里的药品 子系统D 模块名称 功能简述 查看明细 操作员查看销售表单明细 今日明细 操作员查看今日销售表单明细 日期查询 操作员按照日期查看销售表单明细 销售排行 操作员查看销售排行 子系统E 模块名称 功能简述 添加需求 操作员对药品需求进行添加,包括库存量不足和没有该药品的库存 查看需求 操作员查看需求来进行买药品入库 子系统F 模块名称 功能简述 第 7 页 共 50 页医药管理系统项目详细设计说明书 内部文档 添加用户 管理员添加系统用户 查看所有用户 管理员查看所有用户,并拥有删除用户权限 系统初始化 初始化系统 退出系统 退出系统 4.2 块关系图 第 8 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5 子系统模块设计 5.1 医药管理模块 5.1.1 功能描述 用户进入系统以后,首先需要添加药品信息,没有药品信息就无法进行库存 管理了,更做不到药品入库和出库。药品信息作为库存管理的一部分,是药品入 库和出库的编号查询。该功能模块可以实现药品的添加,修改,查看,查询等。 第 9 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.2 相关模块 5.1.3 类图 MedicineAction +medicine: Medicine = new Medicine() +categoryid: Stiring +pageNo: int +kw: String +MN: String +NM: String +FA +DP: String +add() +blurQuery() +getallmedicine() +findMedicineByMedId() +Deletemedicine() +update() 第 10 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.4 MedicineAction 类 5.1.4.1方法 5.1.4.1.1方法—药品信息的添加:public String add() 5.1.4.1.1.1功能 对药品信息进行添加,药品编码是药品对象的一个标示,当添加一个药品信息时,需要 判断此药品是否已经在数据库中,如果存在只需要更新药品数量即可。 5.1.4.1.1.2参数 无 5.1.4.1.1.3算法 无 5.1.4.1.2方法—药品信息的模糊查询:public String blurQuery() 5.1.4.1.2.1功能 为了方便用户查询药品,药品信息管理模块提供了药品模糊查询。此操作将根据用户所 输入的关键字信息,对药品名称、药品描述等多个药品属性进行模糊查询,并以分页显示的 方式返回模糊查询或后的结果集。 5.1.4.1.2.2参数 无 5.1.4.1.2.3算法 无 5.1.4.1.3方法—获取所有药品信息:public String getallmedicine() 5.1.4.1.3.1功能 通常情况下,需要查看所以的药品的信息,可以通过获取所以药品信息并显示出来。 第 11 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.4.1.3.2参数 无 5.1.4.1.3.3算法 无 5.1.4.1.4方法—通过编号修改药品信息:public String find Medicine -ByMedId() 5.1.4.1.4.1功能 药品的信息在录入的时候难免会出错,通过获取药品编号,对药品信息进行修改。 5.1.4.1.4.2参数 无 5.1.4.1.4.3算法 无 5.1.4.1.5方法—通过编号删除药品:public String Deletemedicine() 5.1.4.1.5.1功能 在药品不再需要或者效果不佳的时候需要对药品进行删除,通过获取药品编号然后对 药品信息删除,在删除的时候需要确定该药品是否存在。 5.1.4.1.5.2参数 无 5.1.4.1.5.3算法 无 5.1.4.1.6方法—更新药品信息:public String update() 5.1.4.1.6.1功能 更新药品信息。 第 12 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.4.1.6.2参数 无 5.1.4.1.6.3算法 无 5.1.4.2属性 private Medicine medicine=new Medicine(); private String categoryid=null; private int pageNo; private static String kw; private static String MN ; private static String NM; private static String FA; private static String DP; private static String CT; private static String TP; 5.1.4.2.1属性medicine 药品的实体对象。 5.1.4.2.2属性categoryid 类别对象编号。 5.1.4.2.3属性pageNo 信息页的页号。 5.1.4.2.4属性kw 模糊查询时的关键字。 第 13 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.4.2.5属性MN 药品编号。 5.1.4.2.6属性NM 药品名。 5.1.4.2.7属性FA 药品生产公司。 5.1.4.2.8属性DP 药品描述。 5.1.4.2.9属性CT 药品数量。 5.1.4.2.10 属性TP 药品类型。 5.1.5 MedcineDao 类 5.1.5.1方法 第 14 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.5.1.1loadMedicine方法 5.1.5.1.1.1功能 与数据库交互,通过id号从药品数据库中取得数据,采用hql查询语句,并且整个查询 过程封装在一个Transaction事务中以保证操作的并发性。查询结果放在一个 Medcine对象 中。该方法用于给其它方法调用。 5.1.5.1.1.2参数 int id,为需要查询的药品的id号,为整型。 5.1.5.1.1.3算法 load事务操作过程: 1.open Transaction; 2.load medcine; 3.close medcine. 5.1.5.1.2insert方法 5.1.5.1.2.1功能 与数据库交互,将一个实例化的Medcine对象插入到数据库中。采用hql语句,并且整个 插入过程封装在一个Transaction事务中以保证操作的并发性。该方法返回值为void。该方法 用于给其它方法调用。 5.1.5.1.2.2参数 Medicine medicine,即一个要插入数据库的Medcine对象。 5.1.5.1.2.3算法 insert事务操作过程: 1.open Transaction; 2.insert data; 3.close medcine. 第 15 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.5.1.3update方法 5.1.5.1.3.1功能 与数据库交互,用于对数据库中的Medcine数据进行更新操作。采用hql语句,并且整个 更新过程封装在一个Transaction事务中以保证操作的并发性。该方法返回值为void。该方法 用于给其它方法调用。 5.1.5.1.3.2参数 Medcine medcine,即最新的Medcine数据状态。 5.1.5.1.3.3算法 update事务操作过程: 1.open Transaction; 2.insert data; 3.close medcine. 5.1.5.1.4DeleteMedicine方法 5.1.5.1.4.1功能 与数据库交互,用于删除数据库中的制定id号的Medcine数据。采用hql语句,并且整个 更新过程封装在一个Transaction事务中以保证操作的并发性。该方法返回值为void。该方法 用于给其它方法调用。 5.1.5.1.4.2参数 int id,即要删除的Medcine的id号。 5.1.5.1.4.3算法 Delete算法的流程图如下: 第 16 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.5.1.5loadMedicineAndCategory方法 5.1.5.1.5.1功能 与数据库交互,用于从数据库中获得制定id号的Medcine和Category数据。采用hql语 句,并且整个更新过程封装在一个Transaction事务中以保证操作的并发性。该方法返回值为 一个Medcine对象。该方法用于给其它方法调用。 5.1.5.1.5.2参数 int id,即要获得的medcine的id号。 第 17 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.5.1.5.3算法 5.1.5.1.6getMedicineByPage 方法 5.1.5.1.6.1功能 与数据库交互,用于从数据库中获得某一页的Medcine数据。采用hql语句,并且整个更 新过程封装在一个Transaction事务中以保证操作的并发性。该方法返回值为一个Medcine 的ArrayList。该方法用于给其它方法调用。 5.1.5.1.6.2参数 int pageNo,即需要获得数据的页数。 第 18 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.5.1.6.3算法 5.1.5.2属性 private Medicine medicine=new Medicine(); private String categoryid=null; private int pageNo; private static String kw; private static String MN ; private static String NM; private static String FA; private static String DP; private static String CT; private static String TP; 5.1.5.2.1属性medicine 药品的实体对象。 5.1.5.2.2属性categoryid 类别对象编号。 第 19 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.5.2.3属性pageNo 信息页的页号。 5.1.5.2.4属性kw 模糊查询时的关键字。 5.1.5.2.5属性MN 药品编号。 5.1.5.2.6属性NM 药品名。 5.1.5.2.7属性FA 药品生产公司。 5.1.5.2.8属性DP 药品描述。 5.1.5.2.9属性CT 药品数量。 5.1.5.2.10 属性TP 药品类型。 第 20 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.2 类别管理模块 5.2.1 功能描述 用户登录进入类别管理页面,能进行药品类别的管理,主要包括类别的添加, 修改,查看和统计。。 5.2.2 相关模块 5.2.3 类图 第 21 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.2.4 类别管理类 5.2.4.1方法 5.2.4.1.1方法—药品信息的添加:public String add() 5.2.4.1.1.1功能 对药品的类别信息进行添加,类别编码是类别对象的一个标示,当添加一个类别信息时, 需要判断此类别是否已经在数据库中,如果存在,则提示已存在该类别。 5.2.4.1.1.2参数 无 5.2.4.1.1.3算法 无 第 22 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.2.4.1.2方 法 — 类 别 信 息 的 模 糊 查 询 :public String queryallcategory() 5.2.4.1.2.1功能 为了方便用户查询已有类别,类别信息管理模块提供了类别模糊查询。此操作将根据用 户所输入的关键字信息,对类别名称、类别描述等多个类别属性进行模糊查询,并以分页显 示的方式返回模糊查询或后的结果集。 5.2.4.1.2.2参数 无 5.2.4.1.2.3算法 无 5.2.4.1.3方法—类别信息的更新:public String updatecategory() 5.2.4.1.3.1功能 当用户需要对类别的信息添加说明或修改属性时,需要用到类别信息的更新。 5.2.4.1.3.2参数 无 5.2.4.1.3.3算法 无 5.2.4.1.4方 法 — 通 过 编 号 修 改 类 别 信 息 :public String Modifycategory() 5.2.4.1.4.1功能 类别的信息在录入的时候难免会出错,通过获取类别编号,对类别信息进行修改。 5.2.4.1.4.2参数 无 第 23 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.2.4.1.4.3算法 无 5.2.4.1.5方法—通过编号删除类别:public String Deletecategory() 5.2.4.1.5.1功能 在类别不再需要或者效果不佳的时候需要对类别进行删除,通过获取类别编号然后对 该类别进行删除,在删除的时候需要确定该类别是否存在。 5.2.4.1.5.2参数 无 5.2.4.1.5.3算法 无 5.2.4.2属性 private Category category=new Category(); private int id; private int pageNo; private String name; private String description; private String subDesc; private Date createTime; private Set meds; 5.2.4.2.1属性Category 类别的实体对象。 5.2.4.2.2属性id 类别对象编号。 5.2.4.2.3属性pageNo 信息页的页号。 第 24 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.2.4.2.4属性name 类别的名称。 5.2.4.2.5属性description 类别的描述。 5.2.4.2.6属性createTime 类别创建时间。 5.3 购买药品 5.3.1 功能描述 对于用户所选购的药品,首先将其加载到一个List集合中,然后再将其保存 到session会话中,当用户所购买的药品发生改变时,将对session会话中的对 象进行操作,这一操作通过SellAction类的order方法进行处理。购买药品后后, 会跳到相应的该药品的信息页面,可以选择购买数量,最后跳转到已购买药品的页面 点击查看选购,会将购物车中药品信息进行显示,最后通过结账,更新数据到数 据库中。 第 25 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.2 相关模块 第 26 页 共 50 页医药管理系统项目详细设计说明书 内部文档 购买药品 销售管理 选购药品 查看选购 成功 生成销售表单 失败 5.3.3 类图 SellAction +medicine: Medicine = new Medicine(); ModelDriven +sellDao: SellDao = new SellDao(); +medId: String +begin: String +end: String +pageNo: int ActionSupport +getsellmedicine() +getallmedicine() +buymedicine() +deletemedicine() +blurquerysellmedicine() +clear() +get*() +set*() 第 27 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.4 类 SellAction 5.3.4.1方法 5.3.4.1.1方法getsellmedicine 5.3.4.1.1.1功能 获取销售单药品的所有信息 5.3.4.1.1.2参数 ”。 输入参数为空,查询完成,函数返回“selledmed Struts配置文件根据该返回值 跳转到销售表单列表的jsp页面。 5.3.4.1.1.3算法 根据前台传进来的页数在数据库进行查询,返回查询值放到session中再传到前台显示 销售信息。 5.3.4.1.2方法getallmedicine 5.3.4.1.2.1功能 获取所有的药品信息。 5.3.4.1.2.2参数 ”。 输入参数为空,查询完成,函数返回“findAllSuccess 5.3.4.1.2.3算法 根据前台传进来的页数在数据库进行查询,返回查询值放到session中再传到前台显示 销售信息。 5.3.4.1.3 方法buymedincine 5.3.4.1.3.1功能 购买药品,把购买的药品加入购物车。 第 28 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.4.1.3.2参数 输入参数为空,如果添加成功,返回“add“,否则返回“error”。 5.3.4.1.3.3算法 根据前台传进来的药品id在数据库进行查询,把session里的order表单取出来,检查该 购买药品购物车里面是不是已经有,如果有则出错。 5.3.4.1.4方法deletemedincine 5.3.4.1.4.1功能 删除购物车里的某药品。 5.3.4.1.4.2参数 输入参数为空,返回值是字符串“order”。 5.3.4.1.4.3算法 根据药品id删除在购物车里面的药品,并把购物车的药品数量和金额重新计算放到 order里面。 5.3.4.1.5方法blurQuerySellmed 5.3.4.1.5.1功能 模糊查询购物车里面的药品 5.3.4.1.5.2参数 “ ” 输入参数为空,返回值是字符串 selledmed ,表示查找成功。 5.3.4.1.5.3算法 根据前台传进来的关键字在数据库进行查询,返回查询值放到session中的sellDetails 再传到前台显示信息。 5.3.4.1.6 方法clear 5.3.4.1.6.1功能 清空购物车。 第 29 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.4.1.6.2参数 ”, ”。 输入参数为空,清空成功,函数返回“success 否则返回“error 5.3.4.1.6.3算法 从session中把取出购物车order,把它清空。 5.3.4.2属性 5.3.4.2.1属性 sellDetails , sellDetails是一个被实例化成SellDetail的ArrayList,属性名字是sellDetails 用来存放 每次根据页数在数据库查询的销售信息。 5.3.4.2.2 属性medicine 一个临时变量,用来暂存一些方法中从数据库查询的结果。 5.3.4.2.3 属性medId 药品id。 5.3.4.2.4 属性begin 开始页号。 5.3.4.2.5 属性end 结束页号。 第 30 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.4.2.6 属性pageNo 当前页号。 5.4 销售管理模块 5.3.5 功能描述 用于对药品的销售情况进行统计和查询,通过对销售相关数据的 分析,为药店的进货提供依据和指导。销售管理模块主要有查看销售 明细、今日销售明细、查询销售明细、销售统计等四个子模块。 5.3.6 相关模块 销售管理模块和购买药品模块之间的关联如上图所示,当有客户 购买药品时,如果购买失败,则不作任何操作放弃本次购买;如果购 买成功,则相应的在销售管理模块中增加一条购买记录。 第 31 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.7 类图 5.3.8 SellDetail 类 5.3.8.1方法 第 32 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.8.1.1getUser()方法 5.3.8.1.1.1功能 User属性的getter方法,获取对象的user值。 5.3.8.1.1.2参数 无 5.3.8.1.1.3算法 对方法的算法进行描述 5.3.8.1.2setUser()方法 5.3.8.1.2.1功能 User属性的setter方法,给user属性赋值。 5.3.8.1.2.2参数 User user,即一个User对象的实例。 5.3.8.1.2.3算法 无 5.3.8.1.3getSellName()方法 5.3.8.1.3.1功能 sellName属性的getter方法,获取对象的sellName值。 5.3.8.1.3.2参数 无 5.3.8.1.3.3算法 无 第 33 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.8.1.4setSellName()方法 5.3.8.1.4.1功能 sellName属性的setter方法,给sellName属性赋值。 5.3.8.1.4.2参数 该方法的参数为String sellName,即用一个String类型的字符串作为sellName的值。 5.3.8.1.4.3算法 无 5.3.8.1.5getSellPrice()方法 5.3.8.1.5.1功能 sellPrice属性的getter方法,获取对象的sellName值。 5.3.8.1.5.2参数 无 5.3.8.1.5.3算法 无 5.3.8.1.6setSellPrice()方法 5.3.8.1.6.1功能 sellPrice属性的setter方法,给sellPrice属性赋值。 5.3.8.1.6.2参数 该方法的参数为double sellPrice,即用一个double类型的数作为sellPrice的值。 5.3.8.1.6.3算法 无 第 34 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.8.1.7getSellCount()方法 5.3.8.1.7.1功能 sellCount属性的getter方法,获取对象的sellCount值。 5.3.8.1.7.2参数 无 5.3.8.1.7.3算法 无 5.3.8.1.8setSellCount ()方法 5.3.8.1.8.1功能 sellCount属性的setter方法,给sellCount属性赋值。 5.3.8.1.8.2参数 该方法的参数为int sellCount,即用一个int类型的整数作为sellCount的值。 5.3.8.1.8.3算法 无 5.3.8.1.9getSellTime()方法 5.3.8.1.9.1功能 sellTime属性的getter方法,获取对象的sellTime值。 5.3.8.1.9.2参数 无 5.3.8.1.9.3算法 无 第 35 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.8.1.10 setSellTime ()方法 5.3.8.1.10.1 功能 sellTime属性的setter方法,给sellTime属性赋值。 5.3.8.1.10.2 参数 该方法的参数为Date sellTime,即用一个Date类型作为sellTime的值。 5.3.8.1.10.3 算法 无 5.3.8.1.11 getMed()方法 5.3.8.1.11.1功能 med属性的getter方法,获取对象的med值。 5.3.8.1.11.2参数 无 5.3.8.1.11.3算法 无 5.3.8.1.12 setMed ()方法 5.3.8.1.12.1 功能 med属性的setter方法,给med属性赋值。 5.3.8.1.12.2 参数 该方法的参数为Medicine med,即用一个Medcine类型的对象实例作为med的值。 5.3.8.1.12.3 算法 无 第 36 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.8.1.13 getSellTotal()方法 5.3.8.1.13.1 功能 sellTotal属性的getter方法,获取对象的sellTotal值。 5.3.8.1.13.2 参数 无 5.3.8.1.13.3 算法 无 5.3.8.1.14 setSellTotal ()方法 5.3.8.1.14.1 功能 sellTotal属性的setter方法,给sellTotal属性赋值。 5.3.8.1.14.2 参数 该方法的参数为double sellTotal,即用一个double类型的值作sellTotal的值。 5.3.8.1.14.3 算法 无 5.3.8.2属性 5.3.8.2.1id属性 该属性是销售列表的id唯一标识符,用int类型表示。 5.1.4.2.2 sellName属性 该属性是指所销售药品的名称,用String类型表示。 第 37 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.4.2.3 sellPrice属性 该属性是指所销售药品的单价,用double类型表示。 5.1.4.2.4 sellCount属性 该属性是指在一个订单中所销售药品的数量,用int类型表示。 5.1.4.2.5 sellTime属性 该属性是指在销售药品订单的时间,用Date类型表示。 5.1.4.2.6 med属性 该属性是指在一个订单中所销售的药品,用Medcine类型表示。 5.1.4.2.7 user属性 该属性是指处理某个订单的操作员或用户,用User类型表示。 5.3.9 SellDao 类 5.3.9.1方法 5.3.9.1.1saveSellDetail()方法 5.3.9.1.1.1功能 该方法通过调用基本dao类中的save()方法,对药品销售订单信息数据的存储,并且实 第 38 页 共 50 页医药管理系统项目详细设计说明书 内部文档 现一整套事务Transaction的流程,保证了事务能够在并发环境下正确执行。 5.3.9.1.1.2参数 Void型参数,无需返回数据。 5.3.9.1.1.3算法 事务的处理逻辑:当需要进行对数据库的操作时,首先创建一个事务,执行操作后判断操作 是否成功,如果成功则关闭事务,结束流程;若操作失败,则对数据库进行rollback操作,之 后关闭事务,流程结束。 saveSellDetail()方法的算法流程图 5.3.9.1.2getSellDetailsBykeyword ()方法 5.3.9.1.2.1功能 该方法用于实现通过关键字对药品销售信息进行模糊查询,该方法调用了createQuery ()方法,用hql语句对数据库进行查询。查询得到的数据放入SellDetail类型的ArrayList当 中。同时也是用了transaction来保证查询操作的并发性。 5.3.9.1.2.2参数 String keyword,即为用户输入的关键词,用String类型保存。 5.3.9.1.2.3算法 将查询操作放入事务之中,以避免发生读脏数据的问题。步骤如下: 1.beginTransaction 2.queryOperation 3.closeTransaction 第 39 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.9.1.3getPageCount()方法 5.3.9.1.3.1功能 通过查询数据库来计算出数据的总页数。返回类型为int型。 5.3.9.1.3.2参数 无 5.3.9.1.3.3算法 无 5.3.9.1.4getSellDetailsByTime ()方法 5.3.9.1.4.1功能 该方法用于实现通过用户输入的日期范围对一段时间内的药品销售信息进行模糊查询, 需要用户输入合法的日期。该方法调用了createQuery()方法,用hql语句对数据库进行查询。 查询得到的数据放入SellDetail类型的ArrayList当中。同时也是用了transaction来保证查询 操作的并发性。 5.3.9.1.4.2参数 该方法有两个参数,一个是开始时间beginTime,一个是结束时间endTime,开始时间和 结束时间均用String类型来保存。该方法调用了createQuery()方法,用hql语句对数据库进 行查询。查询得到的数据放入SellDetail类型的ArrayList当中。同时也是用了transaction来 保证查询操作的并发性。 5.3.9.1.4.3算法 整个查询操作封装在一个事务中,查询时,先判断用户输入的日期参数的合法性,若合 法则进行查询并返回数据,最后关闭事务并结束;若页数不合法,则直接结束事务。 第 40 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.9.1.4.4功能 该方法用于实现分页条件下查询某一页的药品销售数据,该方法调用了createQuery() 方法,用hql语句对数据库进行查询。查询得到的数据放入SellDetail类型的ArrayList当中。 同时也是用了transaction来保证查询操作的并发性。 5.3.9.1.4.5参数 int pageNo,即要查询的数据的页数。该方法用于其它方法的实现。 5.3.9.1.4.6算法 整个查询操作封装在一个事务中,查询时,先判断参数pageNo的合法性,若合法则进行 查询并返回数据,最后关闭事务并结束;若页数不合法,则直接结束事务。 第 41 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.3.9.1.5setSellPrice()方法 5.3.9.1.5.1功能 sellPrice属性的setter方法,给sellPrice属性赋值。 5.3.9.1.5.2参数 该方法的参数为double sellPrice,即用一个double类型的数作为sellPrice的值。 5.3.9.1.5.3算法 无 5.3.9.2属性 5.3.9.2.1 id属性 该属性是销售列表的id唯一标识符,用int类型表示。 5.1.4.2.2 sellName属性 该属性是指所销售药品的名称,用String类型表示。 5.1.4.2.3 sellPrice属性 该属性是指所销售药品的单价,用double类型表示。 5.1.4.2.4 sellCount属性 该属性是指在一个订单中所销售药品的数量,用int类型表示。 第 42 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.1.4.2.5 sellTime属性 该属性是指在销售药品订单的时间,用Date类型表示。 5.1.4.2.6 med属性 该属性是指在一个订单中所销售的药品,用Medcine类型表示。 5.1.4.2.7 user属性 该属性是指处理某个订单的操作员或用户,用User类型表示。 5.4 需求管理 5.4.1 功能描述 用户在进入需求管理的时候,可以添加进货药品,还可以查看进货的信息,最后在药品表更 新信息。 第 43 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.4.2 相关模块 该模块较为独立,和其他模块联系不大。 5.4.3 类图 5.4.4 RequireAction 类 5.4.4.1方法 第 44 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.4.4.1.1方法findMedicineByMedNo 5.4.4.1.1.1功能 类接收了前台传进来的药品编号,此方法就是通过药品编号检查数据库中是否存在此药。如 果药品存在,直接更新药品需求,否则添加新药 5.4.4.1.1.2参数 1、requireUpdate:药品存在时返回 2、requireSave:药品不存在时返回 5.4.4.1.1.3算法 首先检查数据库中是否存在该药品,如果存在,就将查询值传到前台显示,并直接返回 requireUpdate;如果不存在,就添加新的药品类别并传到前台,同时返回requireSave。 5.4.4.1.2方法queryallrequire 5.4.4.1.2.1功能 查询已添加成功的所有药品需求 5.4.4.1.2.2参数 返回字符串findAllSuccess 5.4.4.1.2.3算法 从数据库中取得药品需求,并通过分页方式传到前台显示,并返回findAllSuccess。 5.4.4.1.3方法update 5.4.4.1.3.1功能 更新药品需求 5.4.4.1.3.2参数 1、success:药品更新成功 2、error:药品更新失败 5.4.4.1.3.3算法 根据前台传进来的药品编号和药品数量更新药品需求,并将更新结果返回前台显 示。 第 45 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.4.4.1.4方法add 5.4.4.1.4.1功能 添加药品需求 5.4.4.1.4.2参数 1、success:药品需求添加成功 2、error:药品需求添加失败 5.4.4.1.4.3算法 根据前台传进来的药品编号,药品名称,单价,需求数量,所属类别,出厂地址,描述来添加药 品需求,并将处理结果返回前台显示。 5.4.4.1.5方法getModel 5.4.4.1.5.1功能 利用ModelDriver接收参数 5.4.4.1.5.2参数 返回Medicine对象 5.4.4.1.5.3算法 返回Medicine模型 5.4.4.2属性 5.4.4.2.1medicine 接收药品编号 5.4.4.2.2categoryid 接收药品类别id号 第 46 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.4.4.2.3pageNo 接收页号,可用于分页 5.4.4.2.4category 接收通过categoryid从数据库中取出的Category对象 5.4.4.2.5medicineDao 通过medicineDao更新和添加药品需求 5.5 系统管理 5.5.1 功能描述 包括对该管理系统的用户进行管理,查看、添加、删除、修改用户信息。系统初始化和退出系 统。 5.5.2 相关模块 第 47 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.5.3 类图 5.5.4 类 A 5.5.4.1方法 5.5.4.1.1方法public String AddUser() 5.5.4.1.1.1功能 添加用户 5.5.4.1.1.2参数 输入参数为空,当添加用户成功返回“success”,失败返回“error”; 第 48 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.5.4.1.1.3算法 把添加的用户名到数据库里查询,若已经存在则提示用户已存在,添加失败,否则把用户添 加进数据库,提示添加成功。 5.5.4.1.2方法Public String QueryAllUser() 5.5.4.1.2.1功能 查询所有用户。 5.5.4.1.2.2参数 输入参数为空,查询成功返回“success”; 5.5.4.1.2.3算法 无。 5.5.4.1.3方法public String ModifyUser() 5.5.4.1.3.1功能 更新用户信息 5.5.4.1.3.2参数 输入参数为空,当添加用户成功返回“success”,失败返回“error”; 5.5.4.1.3.3算法 无 5.5.4.1.4方法Public String deleteUser() 5.5.4.1.4.1功能 删除用户。 5.5.4.1.4.2参数 输入参数为空,当添加用户成功返回“success”,失败返回“error”; 5.5.4.1.4.3算法 无 第 49 页 共 50 页医药管理系统项目详细设计说明书 内部文档 5.5.4.1.5方法 Public String initialization() 5.5.4.1.5.1功能 系统初始化 5.5.4.1.5.2参数 输入参数为空,当初始化成功返回“success”,失败返回“error”; 5.5.4.1.5.3算法 初始化成功自动跳转到登录页面。 5.5.4.2属性 5.5.4.2.1属性userDao UserDao类的对象,用来在本类中使用UserDao的方法。 5.5.4.2.2 属性user 用来接收和暂存前台user对象的信息。 第 50 页 共 50 页