药品信息管理系统软件设计说明书.docx
《药品信息管理系统软件设计说明书.docx》由会员分享,可在线阅读,更多相关《药品信息管理系统软件设计说明书.docx(30页珍藏版)》请在冰豆网上搜索。
药品信息管理系统软件设计说明书
1引言
1.1.1编写目的
本文档供开发人员和维护人员参考
1.2背景说明
1.待开发的软件系统的名称;药品信息管理系统
2.本项目的任务提出者为中北大学校医院;开发者为郭鑫和沈鹏飞;用户为中北大学校医院药房管理员。
3.该软件系统同其他系统或其他机构的基本的相互来往关系:
通过此系统,可以与财务管理等系统来共同完成医院的日常药品管理工作。
1.3定义
列出本文件中用到的专门术语的定义和缩写词的原词组。
实体:
客观世界中存在的且可互相区别的事物。
联系:
客观事物中的彼此之间的关系。
属性:
实体或者联系所具有的性质。
1.4参考资料
1.药品信息管理系统需求分析说明书
2.计算机软件产品开发文件编制指南(GB8567-88)
3.张海藩.软件工程导论.北京:
清华大学出版社.2008
4.王珊.萨师煊.数据库系统概论(第四版).北京:
高等教育出版.2006
5.魏衍君.焦克莹.SQLServer2005实用教程.西安:
西北工业大学出版社.2009
6.马骏.C#程序设计及应用教程(第二版).北京:
人民邮电出版社.2009
2总体设计
2.1需求规定
说明对本系统的主要的输入输出项目、处理的功能性能要求
解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。
对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
表2-1输入项目
输入项目
数据类型
数据要求
药品编号
nchar类型(10)
药品名称
nvarchar类型(50)
批准文号
nvarchar类型(50)
按照国家规定的标准编号
药品剂型
nvarchar类型(10)
药品规格
nvarchar类型(10)
生产日期
datetime类型
有效期
datetime类型
必须大于生产日期
生产厂家
nvarchar类型(50)
患者编号
nchar类型(10)
患者名称
nvarchar类型(10)
患者病情
nvarchar类型(50)
供应商编号
nchar类型(10)
供应商名称
nvarchar类型(50)
联系电话
varchar类型(15)
销售单号
nchar类型(10)
销售价格
real类型
销售数量
int类型
销售日期
datetime类型
续表2-1输入项目
输入项目
数据类型
数据要求
入库单号
nchar类型(10)
入库数量
int类型
上限(10000)
药品价格
real类型
入库日期
datetime类型
当前的系统时间
管理员账户
nchar类型(10)
管理员密码
nchar类型(10)
不能为空
管理员权限
int类型
数值范围(0,1)
2.2运行环境
硬件环境:
内存:
64MB以上的内存,推荐使用128MB以上内存
处理器:
赛扬1.7或更高的处理器
硬盘空间:
需要至少20M硬盘空间
外设:
需要连接打印机
软件环境:
A.前台开发工具VisualStudio2008
B.后台数据库SQLServer2005
C.运行环境WindowsXP或更高版本的操作系统
2.3基本设计概念和处理流程
2.3.1基本处理活动图
图2-1系统基本活动图
2.3.2系统类图
2.4结构设计
2.4.1结构
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。
图2-2系统结构图
表2-1系统模块图
模块名称:
药品管理系统
登录模块
超级管理员登录
普通管理员登录
普通查询模块
普通用户查询
高级查询模块
管理员高级查询
账户管理模块
添加管理员用户
删除管理员用户
更改管理员用户密码
库存管理模块
入库管理模块
过期管理模块
销售管理模块
销售模块
销售信息模块
系统管理模块
退出系统
2.4.2功能需求与程序的关系
表2-2功能需求与程序关系
登录
查询
账户管理
库存管理
销售管理
超级管理员登录程序
√
普通管理员登录程序
√
查询药品基本信息程序
√
查询药品详细信息程序
√
添加普通管理员
√
删除普通管理员
√
修改普通管理员密码
√
输入药品信息
√
输入供应商信息
√
打印入库单
√
输入入库信息
√
输入患者信息
√
续表2-2功能需求与程序关系
登录
查询
账户管理
库存管理
销售管理
输入药品信息
√
打印销售单
√
查询销售信息
√
2.4.3人工处理过程
说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
输入用户名和密码
1.超级管理员添加、删除、修改用户
2.管理员对药品信息的录入
3.管理员对药品销售时的必要信息
2.4.4尚未问决的问题
由于时间和能力问题目前概要设计还存在一部分缺陷,如库存管理中库存量报警的功能,患者买药的功能。
还有一部分图表不是很完善,后期需要改进。
2.5接口设计
2.5.1用户接口
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
1.登录界面
三种不同权限用户可进入各自用户的界面
(1)超级管理员:
选择权限后,输入用户名和密码用户名和密码正确后可进入系统
(2)普通管理员:
选择权限后,输入用户名和密码用户名和密码正确后可进入系统
(3)普通用户:
直接进入查询界面
图2-3用户登录接口
2.普通用户界面
图2-4普通用户接口
3.普通管理员界面
图2-5普通管理员接口
4.超级管理员界面
图2-6超级管理员接口
2.5.2外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
硬件接口:
需要打印机打印报表
软件接口:
支持Windows平台系统
用户界面:
登录界面
2.5.3内部接口
说明本系统之内的各个系统元素之间的接口的安排。
2.6其它专门要求
3数据库设计
3.1概念结构设计
药品管理系统的实体有,管理员,药品,患者,供应商,仓库。
管理员实体包括管理员账户、管理员密码、管理员权限。
药品实体包括药品编号、药品名称、批准文号、药品剂型、药品规格、生产日期、有效日期、生产厂家。
患者实体包括患者编号、患者姓名、患者病情。
供应商实体包括供应商编号、供应商名称、供应商联系电话。
图3-1系统ER图
图3-2管理员属性图
图3-3药品属性图
图3-4供应商属性图
图3-5患者属性图
3.2逻辑结构设计
[说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构。
]
将上述ER模型转化成关系模型如下:
由于系统设计考虑只有一个仓库,所以药品与仓库的存放关系与供应商的关系合并为一个库存关系。
药品和患者之间有药品销售关系转换成一个关系模型。
带下划线的为主码。
管理员(管理员账户,管理员密码,管理员权限)
药品(药品编号,药品名称,批准文号,药品剂型,药品规格,生产日期,有效日期,生产厂家)
患者(患者编号,患者姓名,患者病情)
供应商(供应商编号,供应商名称,供应商联系电话)
库存(入库单号,入库数量,药品价格,入库日期,供应商编号,药品编号,管理员账号)
销售(销售单号,患者编号,药品编号,药品价格,销售数量,销售日期)
3.3物理结构设计
基于SQLServer的数据库结构设计如下。
数据库名为Medicine,表包括:
管理员,药品,患者,供应商,库存,销售。
对应表结构如表3-1至3-6所示。
表3-1药品信息
药品
列名
数据类型
允许空值
默认值
药品编号
Nchar(10)
N
药品名称
Nvarchar(50)
N
批准文号
Nvarchar(50)
N
剂型
Nvarchar(10)
N
规格
Nvarchar(10)
N
生产日期
Datetime
N
有效期
Datetime
N
生产厂家
Nvarchar(50)
N
表3-2管理员信息
管理员
列名
数据类型
允许空值
默认值
管理员账户
Nchar(10)
N
管理员密码
Nchar(10)
N
管理员权限
Int
N
表3-3患者信息
患者
列名
数据类型
允许空值
默认值
患者编号
Nchar(10)
N
患者名称
Nvarchar(10)
Y
患者病情
Nvarchar(50)
N
表3-4供应商信息
供应商
列名
数据类型
允许空值
默认值
供应商编号
Nchar(10)
N
供应商名称
Nvarchar(50)
Y
联系电话
Varchar(15)
N
表3-5库存信息
库存信息
列名
数据类型
允许空值
默认值
入库单号
Nchar(10)
N
入库数量
Int
N
入库价格
Real
N
入库日期
Datetime
N
续表3-5库存信息
库存信息
供应商编号
Nchar(10)
N
药品编号
Nchar(10)
N
管理员账户
Nchar(10)
N
表3-6销售信息
销售信息
列名
数据类型
允许空值
默认值
销售单号
Nchar(10)
N
患者编号
Nchar(10)
N
销售编号
Nchar(10)
N
销售价格
Real
N
销售数量
int
N
销售日期
Datetime
N
视图有库存视图,过期视图,销售信息视图如下。
库存视图:
SELECTMedicine.MNo,Medicine.MName,Medicine.MApNo,Medicine.MSpf,Medicine.MForm,Medicine.MDate,Medicine.MValDate,Medicine.MProd,Store.StNo,Store.StAmount,Store.StPrice,Store.StDate,Store.PNo,Store.AdID
FROMMedicineINNERJOINStoreONMedicine.MNo=Store.MNo
过期视图:
SELECTMedicine.MNo,Medicine.MName,Medicine.MApNo,Medicine.MForm,Medicine.MSpf,Medicine.MDate,Medicine.MValDate,Medic