XXX详细设计说明书

上传人:gbs****77 文档编号:9293428 上传时间:2020-04-04 格式:DOC 页数:46 大小:749KB
返回 下载 相关 举报
XXX详细设计说明书_第1页
第1页 / 共46页
XXX详细设计说明书_第2页
第2页 / 共46页
XXX详细设计说明书_第3页
第3页 / 共46页
点击查看更多>>
资源描述
医药管理系统项目详细设计说明书 中软培训实训基地 第 1 页 共 46 页 编写 XXX 日期 YYYY MM DD 审核 日期 批准 日期 受控状态 是 发布版次 1 0 日期 YYYY MM DD 编号 医药管理系统项目详细设计说明书 医药管理系统项目详细设计说明书 内部文档 第 2 页 共 46 页 变更记录 日期 版本 变更说明 作者 YYYY MM DD 1 0 初始版本 XXX 签字确认 系统模块 对应章节 对应部门 负责人签字 医药管理系统项目详细设计说明书 内部文档 第 3 页 共 46 页 目 录 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 医药管理系统项目详细设计说明书 内部文档 第 4 页 共 46 页 5 5 3 类图 40 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 医药管理系统项目详细设计说明书 内部文档 第 5 页 共 46 页 1 引言 1 1 编写目的 本说明书是医药管理系统的详细设计 其编写目的是在概要设计的基础上 针对该项目的每个模块 每个功能的实现方法进行详细的设计和划分 按照详 细设计说明书的要求 进一步明确系统结构 为项目开发人员后期的编码工作 做准备 本文档的预期的读者是 项目开发人员 项目经理 项目测试人员 1 2 背景 在前一阶段的概要设计文档中 已经通过顺序图解决了该系统功 能的实现流程 包括系统的各模块间的关系设计等 本文档就是在 前一阶段成果的基础上 继续对系统的各模块进行详细的划分和说 明 2 概述 本项目的任务提出者 见概要设计文档 单位 见概要设计文档 开发者 见概要设计文档 用户 见概要设计文档 实现该软件的计算中心或计算机网络 见概要设计文档 医药管理系统项目详细设计说明书 内部文档 第 6 页 共 46 页 2 1 基线 以需求分析和概要设计为基准 2 2 范围 本概要设计文档提供给系统设计开发人员 包括详细设计人员和 项目组成员 2 3 定义 2 4 参考资料 2 5 术语与缩写解释 缩写 术语 解 释 3 模块命名规则 驼峰标识 由单词的全拼组成 除首单词外每个单词的首字母大 写 例如 medcineManager 医药管理系统项目详细设计说明书 内部文档 第 7 页 共 46 页 4 模块汇总 4 1 模块汇总表 提示 这里模块是指相对独立的软件设计单元 例如对象类 函数包等等 子系统 A 模块名称 功能简述 添加药品 管理员添加进货药品 查看药品 管理员查看进货的信息 高级查询 管理员按照一定条件查找进货的信息 查看库存 管理员查看库存情况 子系统 B 模块名称 功能简述 添加类别 管理员添加药品类别 查看类别 管理员查看药品类别 子系统 C 模块名称 功能简述 选购药品 操作员把顾客买的药品添加进购物车 查看选购 操作员查看购物车里的药品 子系统 D 模块名称 功能简述 查看明细 操作员查看销售表单明细 今日明细 操作员查看今日销售表单明细 日期查询 操作员按照日期查看销售表单明细 销售排行 操作员查看销售排行 子系统 E 模块名称 功能简述 添加需求 操作员对药品需求进行添加 包括库存量不足和没有该药品的库存 查看需求 操作员查看需求来进行买药品入库 子系统 F 模块名称 功能简述 添加用户 管理员添加系统用户 查看所有用户 管理员查看所有用户 并拥有删除用户权限 系统初始化 初始化系统 退出系统 退出系统 医药管理系统项目详细设计说明书 内部文档 第 8 页 共 46 页 4 2 块关系图 医药管理系统 需求管理 药品销售管理 系统管理基础信息管理 药 品 信 息 管 理 药 品 类 别 管 理 销 售 排 行 日 期 查 询 今 日 明 细 查 看 明 细 添 加 需 求 查 看 需 求 用 户 账 号 管 理 系 统 初 始 化 医药管理系统项目详细设计说明书 内部文档 第 9 页 共 46 页 5 子系统模块设计 5 1 医药管理模块 5 1 1 功能描述 用户进入系统以后 首先需要添加药品信息 没有药品信息就无法进行库 存管理了 更做不到药品入库和出库 药品信息作为库存管理的一部分 是药 品入库和出库的编号查询 该功能模块可以实现药品的添加 修改 查看 查 询等 5 1 2 相关模块 医药管理系统项目详细设计说明书 内部文档 第 10 页 共 46 页 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 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 功能 为了方便用户查询药品 药品信息管理模块提供了药品模糊查询 此操作将根据用户 所输入的关键字信息 对药品名称 药品描述等多个药品属性进行模糊查询 并以分页显 示的方式返回模糊查询或后的结果集 医药管理系统项目详细设计说明书 内部文档 第 11 页 共 46 页 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 功能 通常情况下 需要查看所以的药品的信息 可以通过获取所以药品信息并显示出来 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 参数 无 医药管理系统项目详细设计说明书 内部文档 第 12 页 共 46 页 5 1 4 1 5 3 算法 无 5 1 4 1 6 方法 更新药品信息 public String update 5 1 4 1 6 1 功能 更新药品信息 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 信息页的页号 医药管理系统项目详细设计说明书 内部文档 第 13 页 共 46 页 5 1 4 2 4 属性 kw 模糊查询时的关键字 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 页 共 46 页 5 1 5 1 1 loadMedicine 方法 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 2 insert 方法 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 5 1 5 1 3 update 方法 5 1 5 1 3 1 功能 与数据库交互 用于对数据库中的 Medcine 数据进行更新操作 采用 hql 语句 并且 整个更新过程封装在一个 Transaction 事务中以保证操作的并发性 该方法返回值为 void 医药管理系统项目详细设计说明书 内部文档 第 15 页 共 46 页 该方法用于给其它方法调用 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 4 DeleteMedicine 方法 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 页 共 46 页 5 1 5 1 5 loadMedicineAndCategory 方法 5 1 5 1 5 1 功能 与数据库交互 用于从数据库中获得制定 id 号的 Medcine 和 Category 数据 采用 hql 语句 并且整个更新过程封装在一个 Transaction 事务中以保证操作的并发性 该方法返回 值为一个 Medcine 对象 该方法用于给其它方法调用 5 1 5 1 5 2 参数 int id 即要获得的 medcine 的 id 号 5 1 5 1 5 3 算法 5 1 5 1 6 getMedicineByPage 方法 5 1 5 1 6 1 功能 与数据库交互 用于从数据库中获得某一页的 Medcine 数据 采用 hql 语句 并且整 个更新过程封装在一个 Transaction 事务中以保证操作的并发性 该方法返回值为一个 Medcine 的 ArrayList 该方法用于给其它方法调用 5 1 5 1 6 2 参数 int pageNo 即需要获得数据的页数 医药管理系统项目详细设计说明书 内部文档 第 17 页 共 46 页 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 类别对象编号 医药管理系统项目详细设计说明书 内部文档 第 18 页 共 46 页 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 药品类型 5 2 类别管理模块 医药管理系统项目详细设计说明书 内部文档 第 19 页 共 46 页 5 2 1 功能描述 用户登录进入类别管理页面 能进行药品类别的管理 主要包括类别的添 加 修改 查看和统计 5 2 2 相关模块 5 2 3 类图 医药管理系统项目详细设计说明书 内部文档 第 20 页 共 46 页 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 算法 无 5 2 4 1 2 方法 类别信息的模糊查询 public String queryallcategory 5 2 4 1 2 1 功能 为了方便用户查询已有类别 类别信息管理模块提供了类别模糊查询 此操作将根据 医药管理系统项目详细设计说明书 内部文档 第 21 页 共 46 页 用户所输入的关键字信息 对类别名称 类别描述等多个类别属性进行模糊查询 并以分 页显示的方式返回模糊查询或后的结果集 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 参数 无 5 2 4 1 4 3 算法 无 5 2 4 1 5 方法 通过编号删除类别 public String Deletecategory 5 2 4 1 5 1 功能 在类别不再需要或者效果不佳的时候需要对类别进行删除 通过获取类别编号然后对 该类别进行删除 在删除的时候需要确定该类别是否存在 医药管理系统项目详细设计说明书 内部文档 第 22 页 共 46 页 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 信息页的页号 5 2 4 2 4 属性 name 类别的名称 5 2 4 2 5 属性 description 类别的描述 医药管理系统项目详细设计说明书 内部文档 第 23 页 共 46 页 5 2 4 2 6 属性 createTime 类别创建时间 5 3 购买药品 5 3 1 功能描述 对于用户所选购的药品 首先将其加载到一个 List 集合中 然后再将其保 存到 session 会话中 当用户所购买的药品发生改变时 将对 session 会话中 的对象进行操作 这一操作通过 SellAction 类的 order 方法进行处理 购买药 品后后 会跳到相应的该药品的信息页面 可以选择购买数量 最后跳转到已购 买药品的页面 点击查看选购 会将购物车中药品信息进行显示 最后通过结账 更新数据到数据库中 5 3 2 相关模块 医药管理系统项目详细设计说明书 内部文档 第 24 页 共 46 页 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买 买买 买 买 买 5 3 3 类图 SellAction medicine Medicine new Medicine sellDao SellDao new SellDao medId String begin String end String pageNo int getsellmedicine getallmedicine buymedicine deletemedicine blurquerysellmedicine clear get set ModelDriven ActionSupport 医药管理系统项目详细设计说明书 内部文档 第 25 页 共 46 页 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 功能 购买药品 把购买的药品加入购物车 医药管理系统项目详细设计说明书 内部文档 第 26 页 共 46 页 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 功能 清空购物车 医药管理系统项目详细设计说明书 内部文档 第 27 页 共 46 页 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 结束页号 5 3 4 2 6 属性 pageNo 当前页号 医药管理系统项目详细设计说明书 内部文档 第 28 页 共 46 页 5 4 销售管理模块 5 4 1 功能描述 用于对药品的销售情况进行统计和查询 通过对销售相关数据的 分析 为药店的进货提供依据和指导 销售管理模块主要有查看销 售明细 今日销售明细 查询销售明细 销售统计等四个子模块 5 4 2 相关模块 销售管理模块和购买药品模块之间的关联如上图所示 当有客户 购买药品时 如果购买失败 则不作任何操作放弃本次购买 如果 购买成功 则相应的在销售管理模块中增加一条购买记录 5 4 3 类图 医药管理系统项目详细设计说明书 内部文档 第 29 页 共 46 页 5 4 4 SellDetail 类 5 4 4 1方法 医药管理系统项目详细设计说明书 内部文档 第 30 页 共 46 页 5 4 4 1 1 getUser 方法 5 4 4 1 1 1 功能 User 属性的 getter 方法 获取对象的 user 值 5 4 4 1 1 2 参数 无 5 4 4 1 1 3 算法 对方法的算法进行描述 5 4 4 1 2 setUser 方法 5 4 4 1 2 1 功能 User 属性的 setter 方法 给 user 属性赋值 5 4 4 1 2 2 参数 User user 即一个 User 对象的实例 5 4 4 1 2 3 算法 无 5 4 4 1 3 getSellName 方法 5 4 4 1 3 1 功能 sellName 属性的 getter 方法 获取对象的 sellName 值 5 4 4 1 3 2 参数 无 5 4 4 1 3 3 算法 无 5 4 4 1 4 setSellName 方法 5 4 4 1 4 1 功能 sellName 属性的 setter 方法 给 sellName 属性赋值 医药管理系统项目详细设计说明书 内部文档 第 31 页 共 46 页 5 4 4 1 4 2 参数 该方法的参数为 String sellName 即用一个 String 类型的字符串作为 sellName 的值 5 4 4 1 4 3 算法 无 5 4 4 1 5 getSellPrice 方法 5 4 4 1 5 1 功能 sellPrice 属性的 getter 方法 获取对象的 sellName 值 5 4 4 1 5 2 参数 无 5 4 4 1 5 3 算法 无 5 4 4 1 6 setSellPrice 方法 5 4 4 1 6 1 功能 sellPrice 属性的 setter 方法 给 sellPrice 属性赋值 5 4 4 1 6 2 参数 该方法的参数为 double sellPrice 即用一个 double 类型的数作为 sellPrice 的值 5 4 4 1 6 3 算法 无 5 4 4 1 7 getSellCount 方法 5 4 4 1 7 1 功能 sellCount 属性的 getter 方法 获取对象的 sellCount 值 5 4 4 1 7 2 参数 无 医药管理系统项目详细设计说明书 内部文档 第 32 页 共 46 页 5 4 4 1 7 3 算法 无 5 4 4 1 8 setSellCount 方法 5 4 4 1 8 1 功能 sellCount 属性的 setter 方法 给 sellCount 属性赋值 5 4 4 1 8 2 参数 该方法的参数为 int sellCount 即用一个 int 类型的整数作为 sellCount 的值 5 4 4 1 8 3 算法 无 5 4 4 1 9 getSellTime 方法 5 4 4 1 9 1 功能 sellTime 属性的 getter 方法 获取对象的 sellTime 值 5 4 4 1 9 2 参数 无 5 4 4 1 9 3 算法 无 5 4 4 1 10 setSellTime 方法 5 4 4 1 10 1 功能 sellTime 属性的 setter 方法 给 sellTime 属性赋值 5 4 4 1 10 2 参数 该方法的参数为 Date sellTime 即用一个 Date 类型作为 sellTime 的值 5 4 4 1 10 3 算法 无 医药管理系统项目详细设计说明书 内部文档 第 33 页 共 46 页 5 4 4 1 11 getMed 方法 5 4 4 1 11 1 功能 med 属性的 getter 方法 获取对象的 med 值 5 4 4 1 11 2 参数 无 5 4 4 1 11 3 算法 无 5 4 4 1 12 setMed 方法 5 4 4 1 12 1 功能 med 属性的 setter 方法 给 med 属性赋值 5 4 4 1 12 2 参数 该方法的参数为 Medicine med 即用一个 Medcine 类型的对象实例作为 med 的值 5 4 4 1 12 3 算法 无 5 4 4 1 13 getSellTotal 方法 5 4 4 1 13 1 功能 sellTotal 属性的 getter 方法 获取对象的 sellTotal 值 5 4 4 1 13 2 参数 无 5 4 4 1 13 3 算法 无 医药管理系统项目详细设计说明书 内部文档 第 34 页 共 46 页 5 4 4 1 14 setSellTotal 方法 5 4 4 1 14 1 功能 sellTotal 属性的 setter 方法 给 sellTotal 属性赋值 5 4 4 1 14 2 参数 该方法的参数为 double sellTotal 即用一个 double 类型的值作 sellTotal 的值 5 4 4 1 14 3 算法 无 5 4 4 2属性 5 4 4 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 类型表示 5 1 4 2 5 sellTime 属性 该属性是指在销售药品订单的时间 用 Date 类型表示 医药管理系统项目详细设计说明书 内部文档 第 35 页 共 46 页 5 1 4 2 6 med 属性 该属性是指在一个订单中所销售的药品 用 Medcine 类型表示 5 1 4 2 7 user 属性 该属性是指处理某个订单的操作员或用户 用 User 类型表示 5 4 5 SellDao 类 5 4 5 1方法 5 4 5 1 1 saveSellDetail 方法 5 4 5 1 1 1 功能 该方法通过调用基本 dao 类中的 save 方法 对药品销售订单信息数据的存储 并 且实现一整套事务 Transaction 的流程 保证了事务能够在并发环境下正确执行 5 4 5 1 1 2 参数 Void 型参数 无需返回数据 5 4 5 1 1 3 算法 事务的处理逻辑 当需要进行对数据库的操作时 首先创建一个事务 执行操作后判断操 作是否成功 如果成功则关闭事务 结束流程 若操作失败 则对数据库进行 rollback 操 作 之后关闭事务 流程结束 医药管理系统项目详细设计说明书 内部文档 第 36 页 共 46 页 saveSellDetail 方法的算法流程图 5 4 5 1 2 getSellDetailsBykeyword 方法 5 4 5 1 2 1 功能 该方法用于实现通过关键字对药品销售信息进行模糊查询 该方法调用了 createQuery 方法 用 hql 语句对数据库进行查询 查询得到的数据放入 SellDetail 类型 的 ArrayList 当中 同时也是用了 transaction 来保证查询操作的并发性 5 4 5 1 2 2 参数 String keyword 即为用户输入的关键词 用 String 类型保存 5 4 5 1 2 3 算法 将查询操作放入事务之中 以避免发生读脏数据的问题 步骤如下 1 beginTransaction 2 queryOperation 3 closeTransaction 5 4 5 1 3 getPageCount 方法 5 4 5 1 3 1 功能 通过查询数据库来计算出数据的总页数 返回类型为 int 型 5 4 5 1 3 2 参数 无 医药管理系统项目详细设计说明书 内部文档 第 37 页 共 46 页 5 4 5 1 3 3 算法 无 5 4 5 1 4 getSellDetailsByTime 方法 5 4 5 1 4 1 功能 该方法用于实现通过用户输入的日期范围对一段时间内的药品销售信息进行模糊查询 需要用户输入合法的日期 该方法调用了 createQuery 方法 用 hql 语句对数据库进行 查询 查询得到的数据放入 SellDetail 类型的 ArrayList 当中 同时也是用了 transaction 来 保证查询操作的并发性 5 4 5 1 4 2 参数 该方法有两个参数 一个是开始时间 beginTime 一个是结束时间 endTime 开始时间 和结束时间均用 String 类型来保存 该方法调用了 createQuery 方法 用 hql 语句对数 据库进行查询 查询得到的数据放入 SellDetail 类型的 ArrayList 当中 同时也是用了 transaction 来保证查询操作的并发性 5 4 5 1 4 3 算法 整个查询操作封装在一个事务中 查询时 先判断用户输入的日期参数的合法性 若 合法则进行查询并返回数据 最后关闭事务并结束 若页数不合法 则直接结束事务 5 4 5 1 4 4 功能 该方法用于实现分页条件下查询某一页的药品销售数据 该方法调用了 医药管理系统项目详细设计说明书 内部文档 第 38 页 共 46 页 createQuery 方法 用 hql 语句对数据库进行查询 查询得到的数据放入 SellDetail 类型 的 ArrayList 当中 同时也是用了 transaction 来保证查询操作的并发性 5 4 5 1 4 5 参数 int pageNo 即要查询的数据的页数 该方法用于其它方法的实现 5 4 5 1 4 6 算法 整个查询操作封装在一个事务中 查询时 先判断参数 pageNo 的合法性 若合法则 进行查询并返回数据 最后关闭事务并结束 若页数不合法 则直接结束事务 5 4 5 1 5 setSellPrice 方法 5 4 5 1 5 1 功能 sellPrice 属性的 setter 方法 给 sellPrice 属性赋值 5 4 5 1 5 2 参数 该方法的参数为 double sellPrice 即用一个 double 类型的数作为 sellPrice 的值 5 4 5 1 5 3 算法 无 5 4 5 2属性 医药管理系统项目详细设计说明书 内部文档 第 39 页 共 46 页 5 4 5 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 类型表示 5 1 4 2 5 sellTime 属性 该属性是指在销售药品订单的时间 用 Date 类型表示 5 1 4 2 6 med 属性 该属性是指在一个订单中所销售的药品 用 Medcine 类型表示 5 1 4 2 7 user 属性 该属性是指处理某个订单的操作员或用户 用 User 类型表示 医药管理系统项目详细设计说明书 内部文档 第 40 页 共 46 页 5 5 需求管理 5 5 1 功能描述 用户在进入需求管理的时候 可以添加进货药品 还可以查看进货的信息 最后在药品表 更新信息 5 5 2 相关模块 该模块较为独立 和其他模块联系不大 5 5 3 类图 医药管理系统项目详细设计说明书 内部文档 第 41 页 共 46 页 5 5 4 RequireAction 类 5 5 4 1方法 5 5 4 1 1 方法 findMedicineByMedNo 5 5 4 1 1 1 功能 类接收了前台传进来的药品编号 此方法就是通过药品编号检查数据库中是否存在此药 如果药品存在 直接更新药品需求 否则添加新药 5 5 4 1 1 2 参数 1 requireUpdate 药品存在时返回 2 requireSave 药品不存在时返回 5 5 4 1 1 3 算法 首先检查数据库中是否存在该药品 如果存在 就将查询值传到前台显示 并直接返回 requireUpdate 如果不存在 就添加新的药品类别并传到前台 同时返回 requireSave 5 5 4 1 2 方法 queryallrequire 5 5 4 1 2 1 功能 查询已添加成功的所有药品需求 5 5 4 1 2 2 参数 返回字符串 findAllSuccess 5 5 4 1 2 3 算法 从数据库中取得药品需求 并通过分页方式传到前台显示 并返回 findAllSuccess 5 5 4 1 3 方法 update 5 5 4 1 3 1 功能 更新药品需求 5 5 4 1 3 2 参数 1 success 药品更新成功 2 error 药品更新失败 医药管理系统项目详细设计说明书 内部文档 第 42 页 共 46 页 5 5 4 1 3 3 算法 根据前台传进来的药品编号和药品数量更新药品需求 并将更新结果返回前台 显示 5 5 4 1 4 方法 add 5 5 4 1 4 1 功能 添加药品需求 5 5 4 1 4 2 参数 1 success 药品需求添加成功 2 error 药品需求添加失败 5 5 4 1 4 3 算法 根据前台传进来的药品编号 药品名称 单价 需求数量 所属类别 出厂地址 描述来 添加药品需求 并将处理结果返回前台显示 5 5 4 1 5 方法 getModel 5 5 4 1 5 1 功能 利用 ModelDriver 接收参数 5 5 4 1 5 2 参数 返回 Medicine 对象 5 5 4 1 5 3 算法 返回 Medicine 模型 5 5 4 2属性 5 5 4 2 1 medicine 接收药品编号 5 5 4 2 2 categoryid 接收药品类别 id 号 医药管理系统项目详细设计说明书 内部文档 第 43 页 共 46 页 5 5 4 2 3 pageNo 接收页号 可用于分页 5 5 4 2 4 category 接收通过 categoryid 从数据库中取出的 Category 对象 5 5 4 2 5 medicineDao 通过 medicineDao 更新和添加药品需求 5 6 系统管理 5 6 1 功能描述 包括对该管理系统的用户进行管理 查看 添加 删除 修改用户信息 系统初始化和退 出系统 5 6 2 相关模块 医药管理系统项目详细设计说明书 内部文档 第 44 页 共 46 页 5 6 3 类图 5 6 4 类 A 5 6 4 1方法 5 6 4 1 1 方法 public String AddUser 5 6 4 1 1 1 功能 添加用户 5 6 4 1 1 2 参数 输入参数为空 当添加用户成功返回 success 失败返回 error 5 6 4 1 1 3 算法 把添加的用户名到数据库里查询 若已经存在则提示用户已存在 添加失败 否则把用户 医药管理系统项目详细设计说明书 内部文档 第 45 页 共 46 页 添加进数据库 提示添加成功 5 6 4 1 2 方法 Public String QueryAllUser 5 6 4 1 2 1 功能 查询所有用户 5 6 4 1 2 2 参数 输入参数为空 查询成功返回 success 5 6 4 1 2 3 算法 无 5 6 4 1 3 方法 public String ModifyUser 5 6 4 1 3 1 功能 更新用户信息 5 6 4 1 3 2 参数 输入参数为空 当添加用户成功返回 success 失败返回 error 5 6 4 1 3 3 算法 无 5 6 4 1 4 方法 Public String deleteUser 5 6 4 1 4 1 功能 删除用户 5 6 4 1 4 2 参数 输入参数为空 当添加用户成功返回 success 失败返回 error 5 6 4 1 4 3 算法 无 医药管理系统项目详细设计说明书 内部文档 第 46 页 共 46 页 5 6 4 1 5 方法 Public String initialization 5 6 4 1 5 1 功能 系统初始化 5 6 4 1 5 2 参数 输入参数为空 当初始化成功返回 success 失败返回 error 5 6 4 1 5 3 算法 初始化成功自动跳转到登录页面 5 6 4 2属性 5 6 4 2 1 属性 userDao UserDao 类的对象 用来在本类中使用 UserDao 的方法 5 6 4 2 2 属性 user 用来接收和暂存前台 user 对象的信息
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!