医院药品库存管理系统(6)
课程设计
题目:医院药品库存管理系统
学 院: 信息学院
班 级:
学生姓名:
学 号:
指导教师: )
成 绩:
2012年 6月 11日
目 录
摘 要 . ........................................................................................................................................III Abstract....................................................................................................................................... IV
1、前言 .................................................................................................................................... - 1 -
1.1 问题的提出 . ................................................................................................................ - 1 -
1.2 项目开发背景 ............................................................................................................. - 1 -
1.3 信息系统目标 ............................................................................................................. - 1 -
2、可行性分析.......................................................................................................................... - 1 -
2.1 经济可行性 . ................................................................................................................ - 1 -
2.2 社会可行性 . ................................................................................................................ - 1 -
2.3 技术可行性 . ................................................................................................................ - 1 -
2.4 操作可行性 . ................................................................................................................ - 1 -
2.5 所选的开发方法 . ......................................................................................................... - 1 -
2.6 工具平台及运行环境 . .................................................................................................. - 1 -
3、需求分析 ............................................................................................................................. - 2 -
3.1 需求概述 .................................................................................................................... - 2 -
3.2 功能需求 .................................................................................................................... - 2 -
3.2.1 外部功能 . ......................................................................................................... - 2 -
3.2.2 内部功能 . ......................................................................................................... - 2 -
3.3 性能需求 .................................................................................................................... - 3 -
3.3.1 灵活性 ............................................................................................................. - 3 -
3.3.2 安全性 ............................................................................................................. - 3 -
3.4 其它需求 .................................................................................................................... - 3 -
3.5业务流程图: .............................................................................................................. - 3 -
3.6 数据字典 .................................................................................................................... - 4 -
3.7 数据流图 .................................................................................................................... - 5 -
4、 总体设计 ........................................................................................................................... - 9 -
4.1 系统设计原则和目标 . .................................................................................................. - 9 -
4.2 公共与局部设计 . ........................................................................................................- 10 -
4.3 数据模块结构设计 .....................................................................................................- 10 -
4.3.1 功能结构图: . .................................................................................................- 10 -
4.3.2 层次图 ............................................................................................................- 10 -
4.4 软件结构设计 ............................................................................................................- 11 -
4.5 数据逻辑结构设计与物理设计 . ...................................................................................- 12 -
4.6数据库设计.................................................................................................................- 13 -
4.6.1关系模型..........................................................................................................- 13 -
4.6.2 数据库表 . ........................................................................................................- 14 -
4.6.3 数据库关系表 . .................................................................................................- 15 -
5、详细设计与实现..................................................................................................................- 15 -
5.1 数据库代码: ............................................................................................................- 15 -
5.2 母版模块: . ...............................................................................................................- 17 -
5.3 登录模块: . ...............................................................................................................- 18 -
5.3.1 界面设计: .....................................................................................................- 18 -
5.3.2 登录功能的实现: . ..........................................................................................- 18 -
5.3.3 注册新用户: . .................................................................................................- 20 -
5.4 注册模块: . ...............................................................................................................- 20 -
5.4.1 界面设计: .....................................................................................................- 20 -
5.4.2 检测用户名是否存在: . ...................................................................................- 21 -
5.4.3 注册新用户: . .................................................................................................- 21 -
5.5.1 界面设计: .....................................................................................................- 23 -
5.6 药品添加模块: . ........................................................................................................- 24 -
5.6.1 后台代码 .......................................................................................................- 25 -
5.6.2 添加和重置: . .................................................................................................- 27 -
6、系统测试 ............................................................................................................................- 27 -
6.1 系统测试原则,主要的测试计划。 . ............................................................................- 27 -
6.2测试步骤 ....................................................................................................................- 28 -
6.2.1药品入库登记...................................................................................................- 28 - 结 论 . ....................................................................................................................................- 29 - 参考文献 .................................................................................................................................- 30 - 致 谢 ...................................................................................................................................- 30 -
摘 要
在我国,随着医药卫生体制改革的深入,医药连锁经营的推行以及日趋激烈的商业角逐,越来越多的医药经营企业意识到提高企业管理水平的重要性, 也迫切要求加快管理信息化的进程。
在医药行业中,医药经营企业的物流管理以及相应的财务处理、信息处理,长期以来一直采用手工操作,但随着产业结构调整、全新的市场竞争环境,企业管理和运营效率已经成为企业成败的
关键所在,手工方式的弊端毕现无遗。这就要求医药管理摆脱过去人手操作的烦琐,充分满足了医药经营企业的各种需求,从医药经营企业的各个环节对人流、物流、资金流、信息流进行统一系统的管理。市场的需求和技术的支持,最终会导致越来越多的优秀医药管理软件的出现,并在竞争中得到不断的完善和优化。
本系统以C#语言并使用Microsoft Visual Studio 2008平台和SQL Server 2005数据库;实现了药品信息管理的:库存管理、药品管理以及出库单入库单管理,并经过在本机Vista 系统上运行测试可以很好的应用。本论文文档很好的介绍了系统分析、数据流程分析、功能设计、数据库设计、系统实现和系统测试等内容。
关键词:Microsoft Visual Studio 2008,医药信息化,库存管理
Abstract
In our country, with the medicine system reform going on and medicine chain business promoting and more and more business competition, more and more medicine chain corporations shall be aware of the importance of improving the level of enterprise's management and also want to speed up the procession of information management.
In medicine business, most of the medicine corporation has been using manual work to deal with the
management of goods and finance and information processing. But, after the change of medicine business structure and a brand new market surrounding, the manual work is a big obstacle for medicine corporation and the key to medicine corporation's success should be the management and efficiency. This demand medicine management to get away manual work and manage the medicine data intelligently and promote medicine's development.
Gradually, with comp, what the market needs and the support of technique will lead the emergence of perfect medicine management software.
This system with the C# the language combine usage Microsoft Visual Studio 2008 terraces and SQL Server 2005 databases, carried out a drugs information management: The inventory management, drugs management and database list stores in warehouse a list management, and can be good application up circulating a test at this machine Vista after system. This thesis text file was good to introduce system of the analysis, data process analyze, function design, database design and system the realization and system test etc. contents.
Keywords: MicrosoftV isualStudio2008, Drugs’ Informational,
The inventory management
1、前言
1.1 问题的提出
随着经济的发展,越来越多的人注意健康,同时老龄化也在不断的增加,生病的越来越多,相应的药品的种类也在增加,且价格也随着经济的波动时常发生变化,大量的进出药品,使得药品的管理越来越麻烦,同时全手工的管理花费了大量的人力和时间,如果利用计算机管理药品,可以方便的查找药物,及时的补齐药物,提醒药物的保质期,销售数量,单价等等。
1.2 项目开发背景
某医院是我省规模较大的集医疗、教学、科研、预防、保健、康复、急救为一体的大型综合性三级甲等医院。近十年 ,医院内涵和整体实力得到显著提升。药品数量众多,管理困难,先需开发系统,用于方便药品的管理。
1.3 信息系统目标
系统及时的为管理人员提供药物信息,避免不必要的损失。
2、可行性分析
2.1 经济可行性
2.1.1 支出
根据系统的规模及项目的开发周期(4个月),公司决定投入5个人,为此将支出8万元人民币的工资及各种福利待遇。在项目安装及调试阶段,用户培训、员工出差等费用的支出需要1.5万元人民币。在项目维护阶段需要投入2万元人民币。项目累计投入11.5万元人民币。
2.1.2 收益
用户提供项目资金25万元人民币。对于项目运行前后的改动,采取协商的原则根据改动规模额外提供资金,因此从投入与收益的效益比上,公司可以获得13.5万元人民币的利润。
2.2 社会可行性
符合法律规定,满足各大医院的需求,加强管理。
2.3 技术可行性
成熟的技术水平
2.4 操作可行性
简单易懂友好的人机界面,方便查询,管理。
2.5 所选的开发方法
采用快速原型法设计开发
2.6 工具平台及运行环境
2.6.1 网站开发环境
开发环境:Microsof Visual Studio 2008 集成开发环境
开发语言:ASP.NET+C#
后台数据库:SQL Server 2000
开发环境运行平台:Windows XP(SP2)/Windows 2000(SP4)
2.6.2 服务器端
操作系统:Windows XP
Web 服务器:IIS 5.0
数据库服务器:SQL Server 2000
游览器:IE 6.0
网站服务器运行环境:Microsoft.NET Framework SDK v2.0
2.6.3 客服端
游览器:IE 6.0
分辨率:最佳效果1024*768像素
3、需求分析
3.1 需求概述
通过对用户关于药品库存管理系统的需求调查,确定系统的目标和功能,并对软件的性能进行规定。
3.2 功能需求
3.2.1 外部功能
药品的存取功能:包括添加、删除、修改、查询药品信息;
权限管理功能:设置用户权限,用密码登录;
报警功能:若某一药物数量不在药物事先设定的数量的上下线中;某药物不合法;某药物有效期将到达货已过期;
智能化功能:若某一药物长期滞销或缺货,则系统产生销售统计表建议调整生产量;
备份功能:每天产生一个备份文件存储到定制的非系统盘内,以便系统或者软件被坏时可以恢复。
3.2.2 内部功能
集命令、编程、编辑、管理于一体,完成过了、定位显示。
3.3 性能需求
3.3.1 灵活性
操作方式:软件是实用、流行的操作系统;
有效时限的设置:根据实际需要用户可自行设置;
3.3.2 安全性
设置三种用户,权限管理员、管理员、游客,对每种用户设置不同的权限; 权限管理员:负责授予管理员管理系统对系统进行除授权以外的任何操作; 管理员:管理系统对系统进行除授权以外的任何操作;
游客:信息浏览,以自己权限操作系统。
3.4 其它需求
界面设计友好、美观,数据存储安全、可靠;
基本信息设置保证药品信息分类;
支持多条件查询和模糊查询;
信息显示格式清晰,达到一目了然的效果。
3.5业务流程图:
图1-1 医院药品管理系统业务流程图
3.6 数据字典
文件名:用户基本信息表
存储方式:随机存储
定义:用户基本信息表=用户名+用户密码+权限
文件名:药品表
存储方式:随机存储
定义:药品表=药品名称+出入库记录+编号+厂商+生产日期+保质期 处理名:药品添加
处理逻辑:用户添加药品信息
处理名:入库
处理逻辑:用户添加入库单
处理名:出库
处理逻辑:用户添加出库单
3.7 数据流图
3.7.1 顶层层数据流
图 1-2 医院药品管理系统顶层数据流图
3.7.2一层数据流图
图 1-3 医院药品管理系统一层数据流图(1)
图 1-4 医院药品管理系统一层数据流图(2)
3.7.3二层数据流图
图 1-5 医院药品管理系统二层数据流图(1)
图 1-6 医院药品管理系统二层数据流图(2)
4、 总体设计
4.1 系统设计原则和目标
对于典型的数据库管理系统,特别是库存管理这样的多数据所要求的管理系统,必须要满足使用方便、操作灵活等设计需求。本系统在设计时应该满足以下几个目标:
✧
界面
✧ 各个模块之间相互独立,高耦合,低内聚;
✧ 显示药品的所有信息,方便管理员和用户了解药品信息;
✧ 系统对用户输入的信息,进行严格的数据检验,尽可能排除人为错误; ✧ 系统最大限度的实现易维护性和易操作性; ✧ 系统运行稳定、安全可靠。 4.2 公共与局部设计
✧ 登录界面:用户登录密码,设置密码,修改密码; ✧ 系统消息:提醒即将到期药品及药品信息; 4.3 数据模块结构设计 4.3.1 功能结构图:
图 2-1医院药品管理系统功能模块图
4.3.2 层次图
图 2-2 医院药品管理系统层次图
4.4 软件结构设计
图 2-3 医院药品管理系统软件结构设计图
4.5 数据逻辑结构设计与物理设计
登录模块E-R 图:
库存模块:
图 2-4 医院药品管理系统登录E-R 图
图 2-5 医院药品管理系统库存模块E-R 图
总体E-R 图:
图 2-6 医院药品管理系统总体E-R 图
4.6数据库设计 4.6.1关系模型
药品(药品编号,药品生产日期,限用日期,药品分类编号,药品信息); 药品分类(药品分类编号,药品分类名称); 管理员(管理员编号,管理员名称,管理权限); 供应(药品号,供应商号,供应量); 供应商(供应商号,姓名,联系电话); 库存(药品号,库存量,入库时间)
4.6.2 数据库表 manager
图 2-7 医院药品管理系统manager 表
Stock
supply
Supplyer
Ypkinds
图 2-8 医院药品管理系统Stock 表
图 2-9 医院药品管理系统supply 表
图 2-10 医院药品管理系统Supplyer 表
图 2-11 医院药品管理系统Drugs 表
图 2-12 医院药品管理系统DrugKinds 表
4.6.3 数据库关系表
图 2-13 医院药品管理系统数据库关系图
5、详细设计与实现
5.1 数据库代码:
using System.Web;
using System.Web.Security; using System.Web.UI;
using System.Web.UI.HtmlControls; using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts; using System.Security.Cryptography ; using System.Data.SqlClient; ///
public class DB { public DB()
{
//
//TODO: 在此处添加构造函数逻辑
// }
///
///
/// 返回 SqlConnection 对象
private SqlConnection con;
public SqlConnection GetCon()
{
return
SqlConnection (ConfigurationManager .AppSettings["ConnectionString" ].ToString()); }
///
///执行SQL 语句
///
/// SQL 语句
/// 返回值为int 型:成功返回1, 失败返回0
public int sqlEx(string cmdstr)
{
SqlConnection con = GetCon();
con.Open();
SqlCommand cmd = new SqlCommand (cmdstr, con);
try
{
cmd.ExecuteNonQuery();
return 1;
}
catch (Exception e)
{
return 0;
}
finally
{
con.Dispose();
}
}
///
///执行SQL 查询语句
///
/// 查询语句
/// 返回DataTable 数据表
public DataTable reDt(string cmdstr)
{
SqlConnection con = GetCon();
SqlDataAdapter da = new SqlDataAdapter (cmdstr, con); new
DataSet ds = new DataSet ();
da.Fill(ds);
return (ds.Tables[0]);
}
///
///执行SQL 查询语句
///
/// 查询语句
/// 返回SqlDataReader 对象 dr
public SqlDataReader reDr(string str)
{
SqlConnection conn=GetCon();
conn.Open();
SqlCommand com=new SqlCommand (str,conn);
SqlDataReader dr=com.ExecuteReader(CommandBehavior .CloseConnection);
return dr;
}
///
///MD5加密
///
/// 被加密的字符串
/// 返回加密后的字符串
public string GetMD5(string strPwd)
{
MD5 md5 = new MD5CryptoServiceProvider ();
byte [] data = System.Text.Encoding .Default.GetBytes(strPwd);
byte [] md5data = md5.ComputeHash(data);
md5.Clear();
string str = "" ;
for (int i = 0; i
{
str += md5data[i].ToString("x" ).PadLeft(2, '0' );
}
return str;
}
}
5.2 母版模块:
图 3-1医院药品管理系统母版页界面图
母版页共设计六个botton 控件,当分别点击这六个控件可以调转到相应的页面。
5.3 登录模块:
图 3-2医院药品管理系统登陆页界面图
5.3.1 界面设计:
该页共设计了三个textBox 控件、两个Botton 和一个Image 控件,它们的ID 属性分别为:TxtUserName 、txtPwd 、txtValidateNum 、btnLogin 、btnRegister 、Inage1.
5.3.2 登录功能的实现:
用户单击【登录】按钮,将触发按钮的btnLogin_Click事件。该事件在处理代码事件中,首先对密码加密,然后判断用户输入的验证码是否正确,如果不正确,则给出验证码错误信息,并刷新页面;如果输入正确,则通过数据库验证用户输入的密码和用户名是否正确。
验证用户名和密码时,调用DB 类得reDr 方法获取用户的信息。验证成功,则使用Session 对象保存用户的登录信息,然后调转到UserManagerment.aspx 用户管理页;验证失败将给出登录失败的信息并刷新页面。
代码如下:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void btnLogin_Click(object sender, EventArgs e)
{
DB db = new DB ();
string userName = this .txtUserName.Text.Trim();
string passWord = db.GetMD5(this .txtPwd.Text.Trim());
string num = this .txtValidateNum.Text.Trim();
if (Session["ValidateNum" ].ToString() == num.ToUpper())
{
SqlDataReader dr=db.reDr("select * from tb_User where UserName='"+ userName + "'and PassWord='"+ passWord +"'" );
dr.Read();
if (dr.HasRows)
{
Session ["UserID" ]=dr.GetValue(0);
Session ["Role" ]=dr.GetValue(4);
Response .Redirect ("~/UserManagement.aspx");
}
else
{
Response .Write ("");
}
dr.Close();
}
else
{
Response .Write ("");
}
}
}
5.3.3 注册新用户:
单击【注册】按钮,将跳转到Register.aspx 用户注册页,未注册的用户即可进行用户注册。代码如下:
protected void btnRegister_Click(object sender, EventArgs e)
{
Response .Redirect ("~/Register.aspx");
}
5.4 注册模块:
注册页主要实现添加用户的功能。用户添加成功后,系统默认设置用户的权限为普通用户。页面运行结果如下:
图 3-3医院药品管理系统注册页界面图
5.4.1 界面设计:
该页面添加了4个TextBox 控件、2个Botton 控件、1个LinkButton 控件、4个
RequiredFieldValidator 控件、1个CompareValidator 控件和1个RegularExpressionValidator
控件。
5.4.2 检测用户名是否存在:
在注册新用户时提供了一个对用户希望的注册的用户名进行检测的功能,以帮助检测哪些注册的用户名还未被使用。代码如下:
protected void lnkbtnCheck_Click(object sender, EventArgs e)
{
reValue = CheckName();
if (reValue == -1)
{
Response.Write("");
this .txtUserName.Focus();
}
else if (reVlaue == 2)
{
Response.Write(""); this .txtUserName.Focus();
}
}
public int CheckName()
{
DB db = new DB ();
string str = "select count(*)from tb_User where UserName ='" + this .txtUserName.Text + "'" ;
try
{
DataTable dt = db.reDt(str);
if (dt.Rows[0][0].ToString() != "0" )
{
return -1;
}
else
{
return 2;
}
}
catch (Exception ee)
{ return 0; }
}
5.4.3 注册新用户:
单击【注册】按钮可以完成注册用户的功能,单击该按钮时btnOk_Click事件。具体代码如下: using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;SqlClient;
public partial class Register : System.Web.UI.Page
{
int reValue;
protected void btnOk_Click(object sender, EventArgs e)
{
reValue =CheckName ();
if (reValue ==-1)
{
Response .Write ("");
}
else
{
DB db=new DB ();
string UserName =this .txtUserName.Text;
string PassWord=db.GetMD5 (this .txtPwd.Text.ToString());
string Email=this .txtEmail.Text;
string cmdstr="insert into tb_User(UserName,PassWord,Email)values("'+UserName+'","'+PassWord+'","'+Email+'")"; try
{
reValue =db.sqlEx (cmdstr );
if (reValue ==-1)
{
Response .Write (""); Clear();
}
else if (reValue ==0)
{Response .Write ("");} }
catch (Exception ee)
{Response .Write ("");}
}
}
public void Clear()
{
this .txtUserName.Text="" ;
this .txtPwd.Text="" ;
this .txtRepwd.Text="" ;
this .txtEmail.Text="" ;
}
单击【返回】按钮,将跳转到用户登录页(Login.aspx) ,具体代码如下:
protected void btnBack_Click(object sender, EventArgs e)
{
Response .Redirect ("~/Login.aspx");
}
5.5 用户管理模块:
用户管理页用于根据相应权限显示用户的信息,同时用户可以完成修改用户信息,修改密码和删除等操作,权限为管理员的用户还具有设置用户权限和对其他的用户信息进行管理的功能,普通用户只具有管理自己信息的功能。运行结果如下:
图 3-4医院药品管理系统用户管理页界面图
5.5.1 界面设计:
在用户管理页面上添加1个LinkButton 控件和1个DataList 控件,Linkbutton 用来退出,DataList 用来显示用户信息,并对用户进行相应的操作。
查询调用DataListBind 的方法显示用户信息:
public static string selVal;
protected void Page_Load(object sender, EventArgs e)
{
if (!!sPostBack)
{
if (Convert .ToBoolean(Session["Role" ]))
selVal = "" ;
else
{ selVal ="where UserID="+Session ["UserID" ].ToString ();}
DataListBind();
}
}
DataListBind 方法从数据库中获取用户信息,并显示在DataList 控件上,代码如下: public void DataListBind()
{
DB db = new DB();
string sqlstr = "select*from tb_User" + selVal;
DataTable dt = db.reDt(sqlstr);
DataList1.DataSource = dt;
DataList1.DataBind();
}
protected void DataList1_ItemCommand(object source,DataListCommandEventArgs e) {
if (e.CommandName == "select" )
{
DataList1.SelectedIndex = e.Item.ItemIndex;
DataListBind();
}
}
5.6 药品添加模块:
用户进入后台管理页面后,单击菜单栏中的任一药品类别下的【添加】按钮,都会进入新闻添加界面,在该界面中进行添加药品详细信息。
图 3-5医院药品管理系统药品信息添加页界面图
将一个5行3列的表格(Table )置于药品添加页面的设计窗体中,为整个页面进行布局,1个Lable 控件、1个DropDownList 控件、2个TextBox 控件和2个Button 控件。
5.6.1 后台代码
显示页面显示文字,代码:
CommonClass CC=new CommonClass();
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
switch (Convert .ToInt32 (Request ["id" ].ToString ()))
{
case 1:
this .labTitle .Text =" 处方药" ;
break ;
case 2:
this .labTitle .Text =" 非处方药" ;
break ;
case 3:
this .labTitle .Text =" 抗生素类药" ;
break ;
case 4:
this .labTitle .Text =" 心血管用药" ;
break ;
case 5:
this .labTitle .Text =" 消化系统用药" ;
break ;
case 6:
this .labTitle .Text =" 呼吸系统用药" ;
break ;
case 7:
this .labTitle .Text =" 泌尿系统用药" ;
break ;
case 8:
this .labTitle .Text =" 血液系统用药" ;
break ;
case 9:
this .labTitle .Text =" 五官科用药" ;
break ;
case 10:
this .labTitle .Text =" 抗风湿类药" ;
break ;
case 11:
this .labTitle .Text =" 注射剂类药" ;
break ;
case 12:
this .labTitle .Text =" 糖尿病类药" ;
break ;
case 13:
this .labTitle .Text =" 激素类药" ;
break ;
case 14:
this .labTitle .Text =" 皮肤科用药" ;
break ;
case 15:
this .labTitle .Text =" 妇科用药" ;
break ;
case 16:
this .labTitle .Text =" 抗肿瘤用药" ;
break ;
case 17:
this .labTitle .Text =" 抗精神病用药" ;
break ;
case 18:
this .labTitle .Text =" 清热解毒药" ;
break ;
case 19:
this .labTitle .Text =" 抗过敏药" ;
break ;
case 20:
this .labTitle .Text =" 滋补类药" ;
break ;
case 21:
this .labTitle .Text =" 维生素、矿物质药" ;
break ;
}
}
5.6.2 添加和重置:
protected void btnAdd_Click(object sender, EventArgs e)
{
CC.ExecSQL("INSERT INTO tb_News(Title,Content,Style,Type,IssueDate)VALUES
("'+this.txtNewsTitle.Text.Trim()+'", "'+this.txtNewsContent.Text.Trim()+'", "'+this.labTitle.Text.Trim()+'",
"'+this.ddlNewsType.SelectedValue.ToString()+'", "'+DateTime.Now.ToString("yyy_MM_dd") +'") ");
Response .Write (CC.MessageBox(" 添加成功!" ));
}
protected void btnReset_Click(object sender, EventArgs e)
{
this .txtDrugsContent .Text ="" ;
this .txtDrugsTitle.Text="" ;
}
6、系统测试
6.1 系统测试原则,主要的测试计划。
6.1.1测试目的:
软件的错误是不可避免的,所以必须经过严格的测试。通过对本软件的测试,尽可能的发现软件中的错误,借以减少系统各模块的逻辑,功能上的缺陷和错误,保证每个单元和模块能正确的实现其预期的功能。检测和排除系统结构或相应程序结构上的错误,使所有的系统单元和模块配合使用,整体的性能和功能完整,并且使组装好的软件的功能与用户要求也一致。
6.1.2预期结果
1)、身份验证
以正确的用户名和匹配的密码可以成功的登录。
凡用户名不存在或不正确或密码错误均不能登录。
当输入密码错误次数超过3次将自动关闭系统。
成功的登录操作文件计入操作日志文件。
2)、账号和密码管理
以系统管理员身份登录系统后,可建立、修改、删除所有用户信息。
3)、药品入库登记
输入部分信息后可查询。若欲执行添加操作,提示必须进行查询。
若该药品信息未作登记,则提示填写改商品详细信息单,正确后提交还给数据库。
若该药品信息已做登记,则提示填写入库单,检查正确后入库,若错误则提示出错。
完成后,入库操作写入操作日志文件。
4)、药品出库登记
输入部分信息后进行查询,查询结果:存在和不存在。
若不存在,提示出错。
若存在则填写出库单。检查是否正确,若正确则检查库存量。
6.2测试步骤
本次测试采用黑盒法,主要依据需求分析文档和测试计划文档,以需求分析文档中的功能模块为单位,对系统进行测试,综合使用等价类划分法和其他方法。
6.2.1药品入库登记
输入部分信息后可查询。若欲执行添加操作,提示必须进行查询。
若该药品信息未作登记,则提示填写改商品详细信息单,正确后提交还给数据库。
若该药品信息已做登记,则提示填写入库单,检查正确后入库,若错误则提示出错。
完成后,入库操作写入操作日志文件。
测试用例:
商品号:[1**********]1,点“查询”按钮,可得到以上相关信息,经检查,各显示属性与数据库中的值一致。
1、“入库量”为正整数,“有效期”为yyy-mm-dd 格式的日期,“采购员”为任意支付串(采购员名)。
对上面的测试用例(商品号[1**********]1),输入信息为:
入库量:10;有效期:2013-5-25;采购员:李
输出:“添加成功”
经检验,数据库相关表都正确更新。符合预期结果。
2、无效等价类:
“入库量”不是正整数,输出:“入库量应为正整数!”,符合预期结果。
“入库量”为空,输出:“入库量不能为空!”,符合预期结果。
“入库量”符合要求,但是“信息”为空,输出:“信息部能为空! ”符合预期结果。
“入库量”符合要求,“信息”符合要求,但是“有效期”格式错,输出“有效期格式不正确!”,符合预期结果。
结 论
在老师的悉心指导下和班上同学的热情帮助下,我如期的完成这次总体实验。可以说它代表了三年来我所学到的知识和实践技能,在这次实验中收获学习了许多新的知识,尤其是对ASP 有了一个深刻的认识,如果说以前的学校是知识储蓄阶段,那么这一次实验则是将我们所学的知识,掌握的能力都贯穿起来,这为我们以后走上社会,做好我们的本职工作,打下了一个良好的坚实的基础。 通过这次毕业设计,我对系统有了一个清楚的认识,在设计初期,我对做系统和ASP 语言只有一个粗略的认识,不知这个系统从何处这手。在老师的分析、指导、帮助下,总算是开始了本设计的操作。在设计过程中,我也遇到了很多的问题,这些问题使我逐渐对医院管理的总体设计有了更进一层的了解,通过对模块的划分,结构图进行分析,最后得出基本解决方案,进一步解决一些实际问题。这期间我也不断的认真学习相关知识,并在网上和书本上查找一些相关的资料,还向老师和同学请教,解决一些技术和是上的难题。
本次试验通过对“医院药品管理系统”的设计,时我认识到医院管理信息化会给人们日常生活带来的巨大便利。具体的处理是通过SQL server建立后台数据库,并利用ASP 进行前台开发。
根据方案,大部分问题已解决,也已基本实现了预期的目标和功能,但由于能力有限,加之方案不成熟,此系统还有许多有待进一步改善和提高的地方,因此,此系统不可避免的有一些不足之处,希望老师和同学们给予批评指正,以便完善提高它的功能。
参考文献
1、SQL Server使用教程(第三版). 郑阿奇 . 电子工业出版. 2010
2、软件工程导论(第五版) 张海潘 清华大学出版 2008
3、ASP.NET 项目开发 郑齐心 清华大学出版 2011
4、ASP.NET 庞亚娟 清华大学出版 2010
5、数据库系统概论(第四版) 王珊 高等教育出版 2010
6、叩响C#之门 梁斌玉 电子工业出版 2009
致 谢
在这次总体实验设计过程中,我得到了身边许多同学的帮助。
在系统设计初期,我碰到了很多的问题,衷心的感谢老师和各位同学,此系统的研究工作在老师的指导和同学的帮助下得到基本的完成。老师孜孜不倦的探索精神,严谨的治学作风,谦虚真诚的处世态度,忘我的工作精神和崇高的敬业精神对我产生了深远的影响,再次表示深深的敬意和感谢.
感谢老师和同学们对我的学习工作给的无私的指导和帮助,并在整个学习过程中不断鼓励我。 还要感谢我的朋友们对我的支持,使我有一个良好的心态来完成我的研究工作。