XXX详细设计说明书.docx

上传人:b****7 文档编号:9506075 上传时间:2023-02-05 格式:DOCX 页数:43 大小:352.76KB
下载 相关 举报
XXX详细设计说明书.docx_第1页
第1页 / 共43页
XXX详细设计说明书.docx_第2页
第2页 / 共43页
XXX详细设计说明书.docx_第3页
第3页 / 共43页
XXX详细设计说明书.docx_第4页
第4页 / 共43页
XXX详细设计说明书.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

XXX详细设计说明书.docx

《XXX详细设计说明书.docx》由会员分享,可在线阅读,更多相关《XXX详细设计说明书.docx(43页珍藏版)》请在冰豆网上搜索。

XXX详细设计说明书.docx

XXX详细设计说明书

医药管理系统项目详细设计说明书

 

编写:

XXX

日期:

YYYY-MM-DD

审核:

日期:

批准:

日期:

受控状态:

发布版次:

1.0

日期:

YYYY-MM-DD

编号:

变更记录

日期

版本

变更说明

作者

YYYY-MM-DD

1.0

初始版本

XXX

签字确认

系统模块

对应章节

对应部门

负责人签字

1引言

1.1编写目的

本说明书是医药管理系统的详细设计。

其编写目的是在概要设计的基础上,针对该项目的每个模块,每个功能的实现方法进行详细的设计和划分,按照详细设计说明书的要求,进一步明确系统结构,为项目开发人员后期的编码工作做准备。

本文档的预期的读者是:

项目开发人员

项目经理

项目测试人员

1.2背景

在前一阶段的概要设计文档中,已经通过顺序图解决了该系统功能的实现流程,包括系统的各模块间的关系设计等。

本文档就是在前一阶段成果的基础上,继续对系统的各模块进行详细的划分和说明。

2概述

本项目的任务提出者:

见概要设计文档

单位:

见概要设计文档

开发者:

见概要设计文档

用户:

见概要设计文档

实现该软件的计算中心或计算机网络:

见概要设计文档

2.1基线

以需求分析和概要设计为基准。

2.2范围

本概要设计文档提供给系统设计开发人员,包括详细设计人员和项目组成员。

2.3定义

2.4参考资料

2.5术语与缩写解释

缩写、术语

解释

3模块命名规则

驼峰标识,由单词的全拼组成,除首单词外每个单词的首字母大写,例如:

medcineManager

4模块汇总

4.1模块汇总表

提示:

这里模块是指相对独立的软件设计单元,例如对象类、函数包等等。

子系统A

模块名称

功能简述

添加药品

管理员添加进货药品

查看药品

管理员查看进货的信息

高级查询

管理员按照一定条件查找进货的信息

查看库存

管理员查看库存情况

子系统B

模块名称

功能简述

添加类别

管理员添加药品类别

查看类别

管理员查看药品类别

子系统C

模块名称

功能简述

选购药品

操作员把顾客买的药品添加进购物车

查看选购

操作员查看购物车里的药品

子系统D

模块名称

功能简述

查看明细

操作员查看销售表单明细

今日明细

操作员查看今日销售表单明细

日期查询

操作员按照日期查看销售表单明细

销售排行

操作员查看销售排行

子系统E

模块名称

功能简述

添加需求

操作员对药品需求进行添加,包括库存量不足和没有该药品的库存

查看需求

操作员查看需求来进行买药品入库

子系统F

模块名称

功能简述

添加用户

管理员添加系统用户

查看所有用户

管理员查看所有用户,并拥有删除用户权限

系统初始化

初始化系统

退出系统

退出系统

4.2块关系图

5子系统模块设计

5.1医药管理模块

5.1.1功能描述

用户进入系统以后,首先需要添加药品信息,没有药品信息就无法进行库存管理了,更做不到药品入库和出库。

药品信息作为库存管理的一部分,是药品入库和出库的编号查询。

该功能模块可以实现药品的添加,修改,查看,查询等。

5.1.2相关模块

5.1.3类图

5.1.4MedicineAction类

5.1.4.1方法

5.1.4.1.1方法—药品信息的添加:

publicStringadd()

5.1.4.1.1.1功能

对药品信息进行添加,药品编码是药品对象的一个标示,当添加一个药品信息时,需要判断此药品是否已经在数据库中,如果存在只需要更新药品数量即可。

5.1.4.1.1.2参数

5.1.4.1.1.3算法

5.1.4.1.2方法—药品信息的模糊查询:

publicStringblurQuery()

5.1.4.1.2.1功能

为了方便用户查询药品,药品信息管理模块提供了药品模糊查询。

此操作将根据用户所输入的关键字信息,对药品名称、药品描述等多个药品属性进行模糊查询,并以分页显示的方式返回模糊查询或后的结果集。

5.1.4.1.2.2参数

5.1.4.1.2.3算法

5.1.4.1.3方法—获取所有药品信息:

publicStringgetallmedicine()

5.1.4.1.3.1功能

通常情况下,需要查看所以的药品的信息,可以通过获取所以药品信息并显示出来。

5.1.4.1.3.2参数

5.1.4.1.3.3算法

5.1.4.1.4方法—通过编号修改药品信息:

publicStringfindMedicine-ByMedId()

5.1.4.1.4.1功能

药品的信息在录入的时候难免会出错,通过获取药品编号,对药品信息进行修改。

5.1.4.1.4.2参数

5.1.4.1.4.3算法

5.1.4.1.5方法—通过编号删除药品:

publicStringDeletemedicine()

5.1.4.1.5.1功能

在药品不再需要或者效果不佳的时候需要对药品进行删除,通过获取药品编号然后对药品信息删除,在删除的时候需要确定该药品是否存在。

5.1.4.1.5.2参数

5.1.4.1.5.3算法

5.1.4.1.6方法—更新药品信息:

publicStringupdate()

5.1.4.1.6.1功能

更新药品信息。

5.1.4.1.6.2参数

5.1.4.1.6.3算法

5.1.4.2属性

privateMedicinemedicine=newMedicine();

privateStringcategoryid=null;

privateintpageNo;

privatestaticStringkw;

privatestaticStringMN;

privatestaticStringNM;

privatestaticStringFA;

privatestaticStringDP;

privatestaticStringCT;

privatestaticStringTP;

5.1.4.2.1属性medicine

药品的实体对象。

5.1.4.2.2属性categoryid

类别对象编号。

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.5MedcineDao类

5.1.5.1方法

5.1.5.1.1loadMedicine方法

5.1.5.1.1.1功能

与数据库交互,通过id号从药品数据库中取得数据,采用hql查询语句,并且整个查询过程封装在一个Transaction事务中以保证操作的并发性。

查询结果放在一个Medcine对象中。

该方法用于给其它方法调用。

5.1.5.1.1.2参数

intid,为需要查询的药品的id号,为整型。

5.1.5.1.1.3算法

load事务操作过程:

1.openTransaction;

2.loadmedcine;

3.closemedcine.

5.1.5.1.2insert方法

5.1.5.1.2.1功能

与数据库交互,将一个实例化的Medcine对象插入到数据库中。

采用hql语句,并且整个插入过程封装在一个Transaction事务中以保证操作的并发性。

该方法返回值为void。

该方法用于给其它方法调用。

5.1.5.1.2.2参数

Medicinemedicine,即一个要插入数据库的Medcine对象。

5.1.5.1.2.3算法

insert事务操作过程:

1.openTransaction;

2.insertdata;

3.closemedcine.

5.1.5.1.3update方法

5.1.5.1.3.1功能

与数据库交互,用于对数据库中的Medcine数据进行更新操作。

采用hql语句,并且整个更新过程封装在一个Transaction事务中以保证操作的并发性。

该方法返回值为void。

该方法用于给其它方法调用。

5.1.5.1.3.2参数

Medcinemedcine,即最新的Medcine数据状态。

5.1.5.1.3.3算法

update事务操作过程:

1.openTransaction;

2.insertdata;

3.closemedcine.

5.1.5.1.4DeleteMedicine方法

5.1.5.1.4.1功能

与数据库交互,用于删除数据库中的制定id号的Medcine数据。

采用hql语句,并且整个更新过程封装在一个Transaction事务中以保证操作的并发性。

该方法返回值为void。

该方法用于给其它方法调用。

5.1.5.1.4.2参数

intid,即要删除的Medcine的id号。

5.1.5.1.4.3算法

Delete算法的流程图如下:

5.1.5.1.5loadMedicineAndCategory方法

5.1.5.1.5.1功能

与数据库交互,用于从数据库中获得制定id号的Medcine和Category数据。

采用hql语句,并且整个更新过程封装在一个Transaction事务中以保证操作的并发性。

该方法返回值为一个Medcine对象。

该方法用于给其它方法调用。

5.1.5.1.5.2参数

intid,即要获得的medcine的id号。

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参数

intpageNo,即需要获得数据的页数。

5.1.5.1.6.3算法

5.1.5.2属性

privateMedicinemedicine=newMedicine();

privateStringcategoryid=null;

privateintpageNo;

privatestaticStringkw;

privatestaticStringMN;

privatestaticStringNM;

privatestaticStringFA;

privatestaticStringDP;

privatestaticStringCT;

privatestaticStringTP;

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

药品数量。

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方法—药品信息的添加:

publicStringadd()

5.2.4.1.1.1功能

对药品的类别信息进行添加,类别编码是类别对象的一个标示,当添加一个类别信息时,需要判断此类别是否已经在数据库中,如果存在,则提示已存在该类别。

5.2.4.1.1.2参数

5.2.4.1.1.3算法

5.2.4.1.2方法—类别信息的模糊查询:

publicStringqueryallcategory()

5.2.4.1.2.1功能

为了方便用户查询已有类别,类别信息管理模块提供了类别模糊查询。

此操作将根据用户所输入的关键字信息,对类别名称、类别描述等多个类别属性进行模糊查询,并以分页显示的方式返回模糊查询或后的结果集。

5.2.4.1.2.2参数

5.2.4.1.2.3算法

5.2.4.1.3方法—类别信息的更新:

publicStringupdatecategory()

5.2.4.1.3.1功能

当用户需要对类别的信息添加说明或修改属性时,需要用到类别信息的更新。

5.2.4.1.3.2参数

5.2.4.1.3.3算法

5.2.4.1.4方法—通过编号修改类别信息:

publicStringModifycategory()

5.2.4.1.4.1功能

类别的信息在录入的时候难免会出错,通过获取类别编号,对类别信息进行修改。

5.2.4.1.4.2参数

5.2.4.1.4.3算法

5.2.4.1.5方法—通过编号删除类别:

publicStringDeletecategory()

5.2.4.1.5.1功能

在类别不再需要或者效果不佳的时候需要对类别进行删除,通过获取类别编号然后对该类别进行删除,在删除的时候需要确定该类别是否存在。

5.2.4.1.5.2参数

5.2.4.1.5.3算法

5.2.4.2属性

privateCategorycategory=newCategory();

privateintid;

privateintpageNo;

privateStringname;

privateStringdescription;

privateStringsubDesc;

privateDatecreateTime;

privateSetmeds;

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

类别的描述。

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类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功能

购买药品,把购买的药品加入购物车。

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功能

清空购物车。

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

当前页号。

 

5.4销售管理模块

5.4.1功能描述

用于对药品的销售情况进行统计和查询,通过对销售相关数据的分析,为药店的进货提供依据和指导。

销售管理模块主要有查看销售明细、今日销售明细、查询销售明细、销售统计等四个子模块。

5.4.2相关模块

销售管理模块和购买药品模块之间的关联如上图所示,当有客户购买药品时,如果购买失败,则不作任何操作放弃本次购买;如果购买成功,则相应的在销售管理模块中增加一条购买记录。

5.4.3类图

5.4.4SellDetail类

5.4.4.1方法

5.4.4.1.1getUser()方法

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.2setUser()方法

5.4.4.1.2.1功能

User属性的setter方法,给user属性赋值。

5.4.4.1.2.2参数

Useruser,即一个User对象的实例。

5.4.4.1.2.3算法

5.4.4.1.3getSellName()方法

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.4setSellName()方法

5.4.4.1.4.1功能

sellName属性的setter方法,给sellName属性赋值。

5.4.4.1.4.2参数

该方法的参数为StringsellName,即用一个String类型的字符串作为sellName的值。

5.4.4.1.4.3算法

5.4.4.1.5getSellPrice()方法

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.6setSellPrice()方法

5.4.4.1.6.1功能

sellPrice属性的setter方法,给sellPrice属性赋值。

5.4.4.1.6.2参数

该方法的参数为doublesellPrice,即用一个double类型的数作为sellPrice的值。

5.4.4.1.6.3算法

5.4.4.1.7getSellCount()方法

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.8setSellCount()方法

5.4.4.1.8.1功能

sellCount属性的setter方法,给sellCount属性赋值。

5.4.4.1.8.2参数

该方法的参数为intsellCount,即用一个int类型的整数作为sellCount的值。

5.4.4.1.8.3算法

5.4.4.1.9getSellTime()方法

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.10setSellTime()方法

5.4.4.1.10.1功能

sellTime属性的setter方法,给sellTime属性赋值。

5.4.4.1.10.2参数

该方法的参数为DatesellTime,即用一个Date类型作为sellTime的值。

5.4.4.1.10.3算法

5.4.4.1.11getMed()方法

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