ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:352.76KB ,
资源ID:9506075      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9506075.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(XXX详细设计说明书.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

XXX详细设计说明书.docx

1、XXX详细设计说明书医药管理系统项目详细设计说明书编写:XXX日期:YYYY-MM-DD审核:日期:批准:日期:受控状态:是 发布版次:1.0日期:YYYY-MM-DD编号:变更记录日期版本变更说明作者YYYY-MM-DD1.0初始版本XXX签字确认系统模块对应章节对应部门负责人签字1 引言1.1 编写目的本说明书是医药管理系统的详细设计。其编写目的是在概要设计的基础上,针对该项目的每个模块,每个功能的实现方法进行详细的设计和划分,按照详细设计说明书的要求,进一步明确系统结构,为项目开发人员后期的编码工作做准备。本文档的预期的读者是:项目开发人员项目经理项目测试人员1.2 背景在前一阶段的概要

2、设计文档中,已经通过顺序图解决了该系统功能的实现流程,包括系统的各模块间的关系设计等。本文档就是在前一阶段成果的基础上,继续对系统的各模块进行详细的划分和说明。2 概述本项目的任务提出者:见概要设计文档单位: 见概要设计文档开发者:见概要设计文档用户: 见概要设计文档实现该软件的计算中心或计算机网络:见概要设计文档2.1 基线以需求分析和概要设计为基准。2.2 范围本概要设计文档提供给系统设计开发人员,包括详细设计人员和项目组成员。2.3 定义2.4 参考资料2.5 术语与缩写解释缩写、术语解 释3 模块命名规则驼峰标识,由单词的全拼组成,除首单词外每个单词的首字母大写,例如:medcineM

3、anager4 模块汇总4.1 模块汇总表提示:这里模块是指相对独立的软件设计单元,例如对象类、函数包等等。子系统A模块名称功能简述添加药品管理员添加进货药品查看药品管理员查看进货的信息高级查询管理员按照一定条件查找进货的信息查看库存管理员查看库存情况子系统B模块名称功能简述添加类别管理员添加药品类别查看类别管理员查看药品类别子系统C模块名称功能简述选购药品操作员把顾客买的药品添加进购物车查看选购操作员查看购物车里的药品子系统D模块名称功能简述查看明细操作员查看销售表单明细今日明细操作员查看今日销售表单明细日期查询操作员按照日期查看销售表单明细销售排行操作员查看销售排行子系统E模块名称功能简述

4、添加需求操作员对药品需求进行添加,包括库存量不足和没有该药品的库存查看需求操作员查看需求来进行买药品入库子系统F模块名称功能简述添加用户管理员添加系统用户查看所有用户管理员查看所有用户,并拥有删除用户权限系统初始化初始化系统退出系统退出系统4.2 块关系图5 子系统模块设计5.1 医药管理模块5.1.1 功能描述用户进入系统以后,首先需要添加药品信息,没有药品信息就无法进行库存管理了,更做不到药品入库和出库。药品信息作为库存管理的一部分,是药品入库和出库的编号查询。该功能模块可以实现药品的添加,修改,查看,查询等。5.1.2 相关模块5.1.3 类图5.1.4 MedicineAction类5

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 功能为了方便用户查询药品,药品信息管理模块提供了药品模糊查询。此操作将根据用户所输入的关键字信息,对药品名称、药品描述等多个药品属性进行模糊查询,并以分页显示的

6、方式返回模糊查询或后的结果集。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

7、参数无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 功能更新药品信息。5.1.4.1.6.2 参数无5.1.4.1.6.3 算法无5.1.4.2 属性private Medicine medici

8、ne=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类别对象编号

9、。5.1.4.2.3 属性pageNo信息页的页号。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 方法5.1.5.1.1 loadMedicine方法5.1.5.1.1.1 功能 与数据库交互,通过id号从药品数据库中取得数据,采用hql查询语句,并且整个查询过程封装在一个Transaction事务中以保证操作的并

10、发性。查询结果放在一个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 参

11、数 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。该方法用于给其它方法调用。5.1.5.1.3.2 参数 Medcine medcine,即最新的Medcine数据状态。

12、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算法的流程图如下:5.1.5.1.5

13、 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语句,并且整个更新

14、过程封装在一个Transaction事务中以保证操作的并发性。该方法返回值为一个Medcine的ArrayList。该方法用于给其它方法调用。5.1.5.1.6.2 参数 int pageNo,即需要获得数据的页数。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;p

15、rivate 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类别对象编号。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药品数量

16、。5.1.5.2.10 属性TP药品类型。5.2 类别管理模块5.2.1 功能描述用户登录进入类别管理页面,能进行药品类别的管理,主要包括类别的添加,修改,查看和统计。5.2.2 相关模块5.2.3 类图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 方法类别信息的模糊查询:p

17、ublic 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.

18、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 功能在类别不再需要或者效果不佳的时候需要对类别进行删除,通过获取类别编号然后对该类别进行删除,在删除的时候需要确定该类别是否存在。5.2.4.1.5.2 参数无5.2.4.1.5.3 算法无5.2.4.2 属性p

19、rivate 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 属性

20、description类别的描述。5.2.4.2.6 属性createTime类别创建时间。5.3 购买药品5.3.1 功能描述对于用户所选购的药品,首先将其加载到一个List集合中,然后再将其保存到session会话中,当用户所购买的药品发生改变时,将对session会话中的对象进行操作,这一操作通过SellAction类的order方法进行处理。购买药品后后,会跳到相应的该药品的信息页面,可以选择购买数量,最后跳转到已购买药品的页面,点击查看选购,会将购物车中药品信息进行显示,最后通过结账,更新数据到数据库中。5.3.2 相关模块5.3.3 类图5.3.4 类SellAction5.3.4

21、.1 方法5.3.4.1.1 方法getsellmedicine5.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 方法getallmedicine5.3.4.1.2.1 功能获取所有的药品信息。5.3.4.1.2.2 参数输入参数为空,查询完成,函数返回“findAllSuccess”。5.3.4.1.2.3

22、 算法根据前台传进来的页数在数据库进行查询,返回查询值放到session中再传到前台显示销售信息。5.3.4.1.3 方法buymedincine5.3.4.1.3.1 功能购买药品,把购买的药品加入购物车。5.3.4.1.3.2 参数输入参数为空,如果添加成功,返回“add“,否则返回“error”。5.3.4.1.3.3 算法根据前台传进来的药品id在数据库进行查询,把session里的order表单取出来,检查该购买药品购物车里面是不是已经有,如果有则出错。5.3.4.1.4 方法deletemedincine5.3.4.1.4.1 功能删除购物车里的某药品。5.3.4.1.4.2 参数

23、输入参数为空,返回值是字符串“order”。5.3.4.1.4.3 算法根据药品id删除在购物车里面的药品,并把购物车的药品数量和金额重新计算放到order里面。5.3.4.1.5 方法blurQuerySellmed5.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 方法clear5.3.4.1.6.1 功能清空购物车。5.3.4.1.6.

24、2 参数输入参数为空,清空成功,函数返回“success”,否则返回“error”。5.3.4.1.6.3 算法 从session中把取出购物车order,把它清空。5.3.4.2 属性5.3.4.2.1 属性sellDetailssellDetails是一个被实例化成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

25、结束页号。5.3.4.2.6 属性pageNo当前页号。5.4 销售管理模块5.4.1 功能描述 用于对药品的销售情况进行统计和查询,通过对销售相关数据的分析,为药店的进货提供依据和指导。销售管理模块主要有查看销售明细、今日销售明细、查询销售明细、销售统计等四个子模块。5.4.2 相关模块 销售管理模块和购买药品模块之间的关联如上图所示,当有客户购买药品时,如果购买失败,则不作任何操作放弃本次购买;如果购买成功,则相应的在销售管理模块中增加一条购买记录。5.4.3 类图5.4.4 SellDetail类5.4.4.1 方法5.4.4.1.1 getUser()方法5.4.4.1.1.1 功能U

26、ser属性的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 setSellN

27、ame()方法5.4.4.1.4.1 功能sellName属性的setter方法,给sellName属性赋值。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

28、方法,给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 参数无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 参数该方法

29、的参数为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 算法无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 算

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1