网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

VB+SQL Server2000中小型医院药品管理系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
VB+SQL Server2000中小型医院药品管理系统
课程设计任务书内容
 
 
设计要求:若图片无法显示请联系站长QQ3710167
(1)信息要求
本系统应该包含用户个人基本信息的管理,药品基本信息的管理,客户基本信息的管理,供货商基本信息的管理。
用户个人基本信息包括:用户编号,姓名,性别,年龄,出生年月,籍贯,联系电话
药品基本信息包括:药品编号,规格,数量,单价,生产日期,生产厂商
客户基本信息包括:姓名,性别,年龄,出生年月,联系电话,家庭住址
供货商基本信息包括:供货商编号,名称,地址,联系电话,邮编
(2)功能要求
1.对药品信息的维护,及时的添加新药品的信息,如药品编号, 药品名称,药品数量,单价,规格,购置日期等.
2.对系统的安全性管理,包括用户的添加以及密码的修改。
3.对药品库存的查询,包括药品的编号, 药品名称,药品数量,单价,规格,购置日期.过期日期.
4.对各种药品的销售的情况进行统计,对进货情况进行统计,对报损情况进行统计
5.对供货商信息进行增加,删除,修改.第一章  系统设计概述... 1
1.1引言... 1
1.1.1系统开发的目的与意义... 1
1.1.2系统开发背景... 1
第二章 可行性研究与需求分析... 2
2.1可行性研究... 2
2.1.1技术可行性... 2
2.1.2经济可行性... 2
2.1.3操作可行性... 2
2.1.4社会因素可行性... 2
2.1.5可行性研究结论... 3
2.2需求分析... 3
2.2.1系统的目的... 3
2.2.2系统功能及用户需求分析... 3
2.2.3数据流图... 4
2.2.4数据字典... 7
2.2.5外部接口需求... 11
第三章 项目设计的基本原理和采用的主要方法与技术... 12
3.1项目设计的基本原理... 12
3.2项目设计采用的主要技术... 12
3.3 数据访问技术... 14
3.4 数据库系统设计及范式分析... 15
第四章 总体设计... 17
4.1总体设计原理... 17
4.2 运行环境与系统结构... 17
4.3系统流程图... 18
4.4系统功能模块图与设计... 19
4.5系统功能分析... 20
4.6系统安全与维护措施... 20
第五章  详细设计... 21
5.1数据库的概念设计... 21
5.1.1局部E-R模式设计... 21
5.1.2全局E-R设计... 24
5.2数据库的逻辑设计... 25
5.3程序流程图... 26
第六章  编码实现与测试用例设计... 28
6.1登录界面... 28
6.2密码窗口界面... 29
6.3主窗口界面... 31
6.4添加用户表界面... 32
6.5药品查询表界面... 36
第七章  测试与运行记录... 38
7.1 测试计划... 38
7.1.1 系统测试... 38
7.1.2 单元测试... 38
7.2测试目的... 39
7.3 测试目标... 39
7.4 测试方法... 39
7.5 测试项目... 39
7.6 测试记录与运行结果... 39
总结... 41
参考文献218
 

VB+SQL Server2000中小型医院药品管理系统
第一章   系统设计概述

1.1引言
1.1.1系统开发的目的与意义
随着计算机技术的飞速发展,计算机在系统管理中的应用越来越普及,利用计算机实现各个系统的管理显得越来越重要。对于一些大中型管理部门来说,利用计算机支持管理高效率完成管理的日常事务,是适应现代管理制度要求、推动管理走向科学化、规范化的必要条件;而药品管理是一项琐碎、复杂而又十分细致的工作,药品数量之庞大、单价的变化、进货厂商的不同,一般不允许出错,如果实行手工操作,每天进货的情况以及进货时间等等须手工填制大量的表格,这就会耗费药品管理工作人员大量的时间和精力,如果利用计算机进行这些管理工作,不仅能够保证各种核算准确无误、快速记录,而且还可以利用计算机对有关的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理的效率,也是管理行业的科学化、正规化管理,与世界接轨的重要条件。
1.1.2系统开发背景  
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大,从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。如何利用现代信息技术使企业拥有快速、高效的市场反映能力和高度的效率,已是医药经营企业,特别是医药连锁经营企业特别关心的问题。尽快建立一个功能齐备的药品管理系统,完善现代企业的信息化管理机制,已成为医药企业生存发展的当务之急. 通过本系统软件,能帮助用户利用计算机管理药品,快速方便地对客户所需要的药品进行查找,方便了客户的同时,也使用户更加方便的管理每天的进货情况.
 
 
第二章   可行性研究与需求分析
 
2.1可行性研究
2.1.1技术可行性  
一个完备的中小型医院药品管理系统具有以下优越性:
方便管理员查询药品的进销等各种情况,节省时间,可以提高系统的工作效率和准确性。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在查询药品信息时发挥高效、便捷的作用,把系统管理员从繁重的工作中解脱出来!
该药品管理系统是以SQL Server数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护,为药品信息提供管理。
2.1.2经济可行性
经济可行性主要依据是成本/效益分析,该系统的目标是以最低的成本,在最短的期限内开发出药品管理系统。系统能减少很多不必要的资源,不用像以前那样用冗余的纸张式的管理。大大节省了医院的能源。并且计算机的存储与快速查询功能大大提高了药品信息管理的效率,并且还提高了药品信息管理的精确度。
方便快速的操作,可减少药品信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为医院节约了开支。为医院增加了财富。
    目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上比较低。而且,目标系统并不是十分的复杂。当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的是该软件的开发可以使我们对系统的开发有全面的认识。从经济角度考虑,此药品管理系统开发可行。
2.1.3操作可行性
    用户仅需具有基本的电脑操作能力即可。
2.1.4社会因素可行性
从法律因素和安全用正版和免费角度考虑,所有技术参考资料都经授权,所有软件都选。
2.1.5可行性研究结论
依据以上因素,本药品管理系统开发项目不仅方便快捷、高效,而且社会效益比较好,从而使本系统开发者相信该系统开发出来之后将取得的成功。
综上所述,此项目在技术、经济、操作和社会效益上是完全可行的。
2.2需求分析
2.2.1系统的目的
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,中小型医院药品管理系统软件为医院带来了极大的方便。
中小型医院药品管理系统可实现对药品进行各项管理。借助本系统显示的结果可以达到以下目的:
l     方便使用者可以安全的查找自己想要的各种药品信息;
l     通过全面的药品信息采集和处理,辅助提高系统的管理水平;
使用本系统,可以有利的发展小型的药品管理系统的效率。
2.2.2系统功能及用户需求分析
在开始制作中小型医院药品管理系统之前,就要先明确此系统能做些什么事情,也就是所谓的需求.
1. 功能需求
(1)对药品信息的维护,及时的添加新药品的信息,如药品编号, 药品名称,药品数量,单价,规格,购置日期等.
(2)对系统的安全性管理,包括用户的添加以及密码的修改。
(3)对药品库存的查询,包括药品的编号, 药品名称,药品数量,单价,规格,购置日期.过期日期.
(4)对各种药品的销售的情况进行统计,对进货情况进行统计,对报损情况进行统计
2.信息需求
本系统应该包含用户个人基本信息的管理,药品基本信息的管理,客户基本
 

VB+SQL Server2000中小型医院药品管理系统
信息的管理,供货商基本信息的管理等。
用户个人基本信息:编号,姓名,性别,年龄,出生年月,籍贯,联系电话
药品基本信息的管理:药品编号,规格,数量,单价,生产日期,生产厂商
客户基本信息:姓名,性别,年龄,出生年月,联系电话,家庭住址
供货商基本信息:供货商编号,名称,地址,联系电话,邮编
3. 处理需求
本管理系统要求能够实现浏览药品的所有信息,浏览供货商的所有信息,用户对药品的管理信息等功能。
4. 用户需求
医院药品管理系统针对的用户主要是药品管理员,客户和供货商.
用户需求包括以下两个方面:
药品管理员可以在登陆验证通过以后,进入药品管理系统界面进行增加用户、修改用户密码.
管理员能够在登陆系统后对药品信息进行药品增加、药品删除、药品修改.
管理员能够在登陆系统后对供货商信息进行增加、删除、修改
2.2.3数据流图 
数据流程图,它是描述数据处理过程的有力工具。数据流程图从数据传递和加工的角度,以图型的方式刻画数据处理系统的工作情况。数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。本管理系统的数据流图如下图2.1所示:







图2.1药品管理系统的基本系统模型 
 







图2.2药品管理系统的顶层数据流图
 

 






药品管理员





药品信息





3.1
 更新库存信息清单药品查询





库存信息





3.2
 处理订货





定货信息





定货信息





3.3
 产生报表





定货报表





采购员





定货报表





3.4
 处理订货





定货信息





供货商





图2.5供货商管理层数据流图





3.5
 处理出货





定货信息





药品





D1





定货信息 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.2.4.数据字典
数据流程图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据和数据分析所获得的主要成果,数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是最小的组成单位,若干个数据项可以组成一具数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。数据项是不可再分的数据单位,可以用关系规范化理论为指导,用数据依赖的概念分析和表示数据项之间的联系。数据字典(Data Dictionary, 简称DD)是对数据流程图中出现的所有数据元素结出定义。它和数据流较密切配合,能够清楚地表达数据处理的要求。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
 

VB+SQL Server2000中小型医院药品管理系统
1)数据流定义:






名字:出货信息
描述:卖出去的药品信息情况
定义:出库信息表=药品编号+药品名称+药品数量+规格+销售单价+出库日期+生产厂家
位置:输出到打印机





名字:定货信息
描述:所定的药品的信息情况
定义:入库信息表=药品编号+药品名称+药品数量+规格+入库单价+入库日期+生产厂家
位置:输出到打印机





名字:库存清单
别名:库存信息
描述:药房中所有的药品的信息情况
定义:库存信息表=药品编号+药品名称+药品数量+规格+入库单价+入库日期+生产厂家
位置:输出到打印机





名字:出货报表
描述:卖出去的药品单
定义:出货报表=药品编号+药品名称+药品数量+规格+销售单价+出库日期+生产厂家
位置:输出到打印机





名字:药品信息
描述:出售的药品信息和要定购的药品信息
编号:识别药品的惟一编号;
名称:药品的名字;
单价:购买每种药品的价格;
数量:购买每种药品的数量;
规格:盒装的还是瓶装的还是袋装的,
购置日期:医院中购买每种药品的时间;
生产厂家:各种药品的生厂商;
位置:输出到打印机 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                  
 
 






名字:药品管理员
别名:用户,操作员
描述:药房中所有的药品进行管理,比如添加,删除,更新,查询等操作.
定义:药品管理员=用户编号+姓名+性别+年龄 +出生日期
位置:输出到打印机





名字:定货报表
别名:定货内容
描述:要定的药品的信息单,
定义:出货报表=药品编号+药品名称+药品数量+规格+价格+定货的时间+生产厂家
位置:输出到打印机





名字:处理定货
描述:对库存中的药品信息进行处理,查看哪种药品需要定货
定义:处理定货=定货药品的编号+药品名称+药品数量+规格+生产厂家
位置:输出到打印机
 
 
 
 






名字:处理出货
描述:对库存中的药品信息进行处理,查看客户要买哪些药品
定义:处理出货=出货药品的编号+药品名称+药品数量+规格+生产厂家
位置:输出到打印机
 
 
 
 






名字:客户
描述:谁买了我的药品
定义:客户=客户姓名+性别+年龄+家庭住址+联系电话
位置:输出到打印机





名字:更新库存清单
描述:对库存中的药品信息进行更新
定义:更新库存清单=药品的编号+药品名称+药品数量+规格+入库的单价+生产日期+过期日期+生产厂家
位置:库存清单
 
 
 
 






名字:采购员
描述:对库存中的短缺药品进行定购
定义:采购员=采购员的编号+姓名+性别+年龄
位置:输出到打印机
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2) 数据项定义:
表2-1药品信息表





 字段名称

数据类型

字段大小

允许空值

说明


药品编号

数字



必填

唯一识别药品


药品名称

文本

50

必填

   该药品叫什么


药品单价

数字

长整型

必填

价格


数量

数字

长整型

必填

药品的数量


规格

文本

50

必填

盒装瓶装还是袋装,


购置日期

日期/时间

短日期

 

购买时间


生产厂家

文本

长整型

 

各种药品的生厂商
 
表2-2用户信息表                                                                                 





字段名称

数据类型

字段大小

允许空值

说明


用户编号

数字

长整型

必填

用户编号(主键)


姓名

文本

20

 

用户姓名


年龄

数字

长整型

 

用户的年龄


性别

文本

10

 

用户的性别


出生日期

日期/时间

短日期

 

出生时间
 
表2-3客户信息表





字段名称

数据类型

字段大小

允许空值

说明


客户姓名

文本

20

必填

客户的姓名


年龄

数字

长整型

必填

客户的年龄


性别

文本

10

必填

客户的性别


家庭住址

文本

100

必填

家住哪


联系电话

数字

长整型

必填

家庭电话


出生日期

日期/时间

短日期

 

出生时间
 
 

VB+SQL Server2000中小型医院药品管理系统

表2-4供货商信息表




字段名称

数据类型

字段大小

允许空值

说明


供货商编号

数字

长整型

必填

 (主键)


名称

文本

100

必填

供货商的公司叫什么


地址

文本

100

必填

在哪个地方


电话

数字

长整型

必填

供货商公司电话


邮编

数字

长整型

必填

所在地的邮编
 
表2-5用户登陆表




字段名称

数据类型

字段大小

允许空值

说明


用户名

文本

15

必填

用户名


密码

文本

10

必填

密码
 
2.2.5外部接口需求
1. 用户接口
本产品的用户一般需要通过PC机进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面。用户对程序的维护,最好要有备份。
2. 软件接口
系统软件: Windows 2000以上。数据库:采用access。
3. 性能需求   在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,由于本系统使用了数据结构,可以满足各种精度的需求。在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。灵活性:当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性大。故障处理:在开发阶段可以随即修改数据库里的相应内容。
 
第三章  项目设计的基本原理和采用的主要方法与技术
 
3.1项目设计的基本原理
软件工程是一门从技术和组织管理两个角度研究如何用系统化、规范化和数量化等工程原理与方法去进行软件开发和维护的学科。软件工程学研究的范围非常广泛,包括技术方法、工具、和管理等许多方面。软件生命周期的各个阶段可分为:
问题定义: 确定系统的基本功能
可行性研究: 确定系统是否能够实现及是否值得实现
需求分析: 确定系统必须完成的各种功能
总体设计: 确定如何实现软件
详细设计: 详细设计实现系统
编码和单元测试: 写出正确的容易理解和维护的程序模块
综合测试:通过各种类型的测试及调试使软件达到预定的要求
软件维护:通过各种必要的维护活动使系统持久地满足用户需要
采用软件工程的技术方法开发本系统,通过以上八个阶段组成软件的生存期。它是指从提出开发要求开始直到该软件报废为止的整个时期。分阶段进行,就把规模庞大、结构复杂和管理复杂的软件变得容易控制和管理。正是基于此思想,本系统开发实际可行的软件,方便毕药品信息的管理。
3.2项目设计采用的主要技术
本系统主要利用Visual Basic作为前端的应用开发工具 ,利用SQL Server作为后台的数据库,利用Windows XP作为系统平台。
Windows XP以其友好的图形界面、易学易用的操作方法、强大的多任务功能、健全的内在管理以及先进的程序设计方法为广大数据库软件开发人员所熟悉。对它的操作环境的熟悉,使得我们在其上开发数据库应用程序更加方便、可靠。
1) MS SQL Server2000
SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。MSSQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。
SQL Server 企业管理器是 SQL Server 的主要管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以:
 定义 SQL Server 实例组。
 将个别服务器注册到组中。
 为每个已注册的服务器配置所有 SQL Server 选项。
 在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。     在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。
 通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理本。
 唤醒调用为 SQL Server 定义的各种向导。
2)Visual Basic语言
Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
Visual Basic的特点:
可视化编程:最直观的编程方法,程序人员只需绘制界面,无需编程, VB自动产生界面代码,就可以完成许多步骤。这样大大的提高了程序设计的效率。这些在以前的编程语言下是要经过相当复杂的工作的。
面向对象的程序设计思想:
对象:现实世界中的实体,如汽车。
属性:描述对象的特征,如车的颜色。
方法:向对象实施的动作,如启动车。
事件:动作所触发的操作,如红灯亮。
事件驱动的编程机制:
由事件来引发程序的运行。
结构化的程序设计语言。
支持多种数据库系统的访问。
3.3 数据访问技术
本程序是用vb的ADO来与数据库进行数据交换的所以有必要介绍一下ADO。
ADO,即Active Data Objects,实际是一种提供访问各种数据类型的连接机制。ADO被实现为OLEDB之上的一个薄层,这使得ADO可以有更快的访问速度,更易使用,同时更节省资源。ADO被设计成一种非常简单的格式,通过ODBC的方法同数据库接口相连。用户可以使用任何一种ODBC数据源,不仅适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。
ADO使用OLEDB数据支持提供了一个面向对象的访问数据源的接口,它是DAO和RDO对象模型的集大成者,集合了DAO和RDO的优点。
ADO的另一大优点是,它是基于COM接口技术的OLEDB的高级接口,所以,任何支持COM的应用程序都可以实现ADO。也就是说,ADO的应用范围绝不仅仅是VB,甚至于不仅仅是Visual Studio 家族的产品。
ADO的内置类。
 

VB+SQL Server2000中小型医院药品管理系统

 ADO提供了一系列的类和方法,用来与数据库建立连接,然后数据中的数据进行各种操作。ADO中常用的几个类如下所示。
1,连接类(Connection)
2,命令类(Command)
3,数据集类(Recordset)
利用以上的上的三种方法就可以操作数据库,完成数据库的添加,修改,删除,和查询。
3.4 数据库系统设计及范式分析
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
数据库设计的步骤是:
(1) 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。
(2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。
   (3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。
   (4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
   (5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。
关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。
建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。
(1)链接关系的确定
 在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。
(2)确定单一的父子关系结构所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。           
所谓的“父系”就是指表的上一级关系表。消除多对多关系可以借助于E-R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。
消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N的关系了
 
 
 
第四章  总体设计
4.1总体设计原理
总体设计的基本目的就是回答“概括的说,系统应该如何实现?”这个问题。因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互之间的关系。
经过了需求分析,我们已经清楚了系统所要完成的全部功能,接下来就是决定“怎么做”。 概括的说,总体设计的基本目的就是回答“系统应该如何实现?”的这个问题。因此总体设计又称为“概要设计”。通过这个阶段的工作,将划分出组成系统的物理元素:程序,文件,数据库,人工过程和文件等。总体设计阶段的另一项重要任务是设计基本的结构,也就是要确定系统中每个程序是由哪些模块组成,以及这些模块间的相互关系。
采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序的错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试。应而有助于提高系统的可靠性。并且模块化还能够提高软件的可修改性,也有助于软件开发工程的组织管理。因此,在进行软件结构设计时应该遵循的最主要的原理就是模块化独立原理。
4.2 运行环境与系统结构
为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛用于内部的局域网。其运行要求如下:
软件环境:
客户端:  Windows98/NT/XP,Internet Explorer(IE)等
服务器端:Windows NT/Windows2000,Internet Information Server (IIS)4.0及其以上版本,IE等;或者Windows98,Personal Web Server(PWS),IE等。
数据库:采用SQL Server,运行于服务器端。
 

VB+SQL Server2000中小型医院药品管理系统
硬件环境:
服务器 CPU:PIII 500以上 ,内存:256M以上
客户机 CPU:P200MMX以上,内存:32M以上
4.3系统流程图
系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。该药品管理系统的系统流程图如下:

 
图4.1 药品管理系统的系统流程图
 
4.4系统功能模块图与设计
    模块化就是把程序划分成独立命名且可独立访问的的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
    采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程序错误常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和调试,因而有助于提高软件的可靠性。一个好的电子系统要有一些必要的模块组成,若缺少了某些模块那么这个系统就会有缺陷。
1)中小型医院药品管理系统需要实现的功能主要有五大块,系统的功能模块图如下图所示:

















货商管理
模块





药品管理
模  块
 





用户管理
模  块





药品管理系统
 









 
 
 
 
 
 
 
 

图 4.2功能模块图
2)功能的实现:
用户管理模块:药品管理员可以在登陆验证通过以后,进入药品管理系统界面进行增加,删除,更新用户信息以及修改用户密码等.
药品管理模块:用户登录该系统后,可对药品信息进行增加,删除,更新,并且对药品进行查询等操作.
供货商管理模块:用户登录该系统后,可对供货商信息进行增加,删除,修改.
销售管理模块:用户登录系统后,可对销售信息进行查询,对退货信息进行查询.
统计模块:用户登录该系统后,可对销售信息进行统计,对进货信息进行统计,对报损信息进行统计.
4.5系统功能分析
权限功能:为用户设置权限功能,可分为普通用户,一般用户,超级用户。普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改、删除所有信息。
录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。
查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。
 维护功能:为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。
帮助功能:能帮助初次使用者对本系统的应用及处理常见的问题。
退出功能:结束并关闭系统。
4.6系统安全与维护措施
本系统采用直接方式添加记录,该方法直接而简单,为了避免输入有错误,该功能界面对用户容易出错的地方都给出了输入提示,同时也使用了更新和取消按钮来确认数据的取消输入,如果输入数据与实际数据不相复,则系统会给出提示信息,让你重新输入正确的数值。
此管理系统也为系统用户提供了一定的安全性,该系统可以多人使用,每人使用不同的用户名和密码进入系统,但只有系统管理员的权限可以进行用户的管理,其它用户都不能对用户进行操作。一个好的管理系统,应该为系统提供处理系统故障,恢复系统数据的功能。该系统也同样提供了数据维护(包括对数据的备份、恢复)两项功能。建议用户定期备份系统数据,这样在系统出现问题时,可以进行有效地恢复。
 

VB+SQL Server2000中小型医院药品管理系统
第五章   详细设计
5.1数据库的概念设计
根据对数据流图和数据字典的分析,确定该应用中的实体、属性和实体之间的联系,并画出系统总体的E-R图。概念设计可分为三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。
5.1.1局部E-R模式设计
实体和属性的定义。ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
    利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。
所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。  
1)    局部ER模式的合并
合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
2)    消除冲突
冲突分为三类:属性冲突、结构冲突、命名冲突。
设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。  
3)    全局ER模式的优化
在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
各个实体的E-R图如下所示:

图5.1 药品信息E-R图
 

图5.2 用户信息E-R图
 

图5.3客户信息E-R图
图5.4 供货商信息E-R图
图5.5 定货报表E-R图
图5.6出货报表E-R图
图5.7定货信息E-R图
图5.8出货信息E-R图

图5.9用户登录信息E-R图
 
5.1.2全局E-R设计
所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。
系统的总体E-R图说明
1)      每个用户可以查看多个定货报表,一份定货报表可以被多个用户查看;
2)      每个用户可以查看多种药品信息,每一种药品信息可被多个用户查看;
3)      每个用户可以查看多个出货信息,每一种出货信息可被多个用户查看;
4)      每个客户可以购买多种药品,每一种药品可被多个客户购买;
5)      每个客户可以查看多个出货报表,而每个出货报表只能被买药品的客户所查看;
6)      每个供货商可以提供多种药品,每种药品可以被多个供货商所提供;
7)      每个供货商可以查看多个定货信息,但每个定货信息只能被一个供货商查看,即提供药品的供货商;

图5.10全局E-R图
5.2数据库的逻辑设计
数据库的逻辑设计的任务就是把概念结构设计阶段的基本E-R图转化为与选用具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构,首先要实现的是E-R图关系模型的转化。而为此要解决的问题是如何将实体和实体之间的联系转化为关系模式,如何确定这些关系模式的属性和码。对于实体,将每个实体转换为一个关系,实体的属性即为关系的属性,实体的码即为关系的码。
对于实体间的联系,可以分成三种情况:
1.若实体间的联系是1:1,可以在两个实体转换成的两个关系中任意一个关系的属性中加入另一个关系的码。
2.若实体间的联系是1:n,则在n端实体转换成的关系中加入1端实体转换成的关系码。
3.若实体间的联系是n:m,则将联系转换为关系,关系的属性为诸个实体的码加上联系具有的属性,而关系的码则为诸实体的码的组合。
本系统中所涉及到的关系的主码与外码如下所示:
药品(药品编号、药品名称、药品单价、数量、规格、购置日期、生产厂家)
用户(用户编号、姓名、性别、出生日期、家庭住址、联系电话)
供货商(供货商编号、名称、地址、电话、邮编、)
客户(姓名、性别、年龄、出生日期、家庭住址、联系电话)
 定货报表(药品编号、药品名称、数量、定货日期、生产厂商、规格)
出货报表(药品编号、药品名称、数量、出货日期、生产厂商、规格)
定货信息(药品编号、入库单价、药品名称、数量、定货日期、生产厂商、规格)
出货信息(药品编号、出库单价、药品名称、数量、出货日期、生产厂商、规格)
用户登陆(用户名,密码)
5.3程序流程图
程序流程图也称程序框图,它的历史比较悠久,使软件开发者所熟悉和普遍采用的一种算法表达工具。
程序流程图的优缺点:
1)由于不支持逐步求精,它使程序员过早的考虑程序控制细节,而不考虑程序整体结构。
2)流程线转移不受限制,容易破坏程序的整体结构。
3)不适于表达数据结构和模块调用关系。
4)描述过于琐碎,不利于理解大型程序。
 

VB+SQL Server2000中小型医院药品管理系统

图5.12药品管理系统的程序流程图
 
   第六章   编码实现与测试用例设计
 
6.1登录界面

图6.1 系统登录界面图
Dim txt As String, n As Integer, k As Integer
Private Sub Command1_Click()
 Unload Me
End Sub
Private Sub Form_Load()
    n = 0
    txt = "一切为了客户方便,一切为了医院发展!"
    k = Len(txt)
    Label2.ForeColor = &HFF00FF
End Sub
Private Sub Label1_Click()
   frm.Show
End Sub
Private Sub Label3_Click()
frm.Show
End Sub
Private Sub Timer1_Timer()
   If Label3.ForeColor = &HFFFF& Then
       Label3.ForeColor = &HFF0000
     ElseIf Label3.ForeColor = &HFF0000 Then
           Label3.ForeColor = &HFF00FF
   Else
       Label3.ForeColor = &HFFFF&
   End If
    n = n + 1
    If n <= k Then
         Label2.Caption = Left(txt, n)
    Else
        n = 0
        Label2.Caption = ""
    End If
End Sub
6.2密码窗口界面

图6.2 密码窗口界面图
Option Explicit
Dim cnt As Integer   '记录确定次数
Private Sub Command1_Click()
Dim sql As String
Dim rs_login As New ADODB.Recordset
Dim conn As New ADODB.Connection
conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source=" & App.Path & "\kaoqin.mdb"
 If Trim(Text1.Text) = "" Then            '判断输入的用户名是否为空
   MsgBox "用户名不能为空,请重新输入!"
   Text1.SetFocus
 Else
   sql = "select * from users where 用户名='" & Trim(Text1.Text) & "'"
   rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic
   If rs_login.EOF = True Then   '检验是否有此用户
     MsgBox "没有这个用户,请重输入!", vbOKOnly + vbExclamation, ""
     Text1.Text = ""
     Text1.SetFocus
   Else                             '检验密码是否正确
     If Trim(rs_login.Fields(1)) = Trim(Text2.Text) Then
        Unload Me
        zjm.Show
     Else
       MsgBox "密码不正确,请重输入!", vbOKOnly + vbExclamation, ""     'MsgBox "您输入的原密码不正确,请重试", , "出错信息提示"
        Text2.SetFocus
       Text2.Text = ""
     End If
   End If
 End If
 cnt = cnt + 1
 If cnt = 3 Then
  MsgBox "对不起,你是非法用户!"
  Unload Me
 End If
End Sub
Private Sub Command2_Click()
  Unload Me
End Sub
Private Sub Form_Load()
  cnt = 0
End Sub
Private Sub Label4_Click()
End Sub
 

VB+SQL Server2000中小型医院药品管理系统
6.3主窗口界面

图6.3 主窗口界面图
Private Sub Form_Load()
LblTime.AutoSize = True
LblTime.Caption = Now
End Sub
Private Sub Menu_ManageAdd_Click()
      frmadduser.Show
End Sub
Private Sub Menu_Managechange_Click()
      frmchangepwd.Show
End Sub
Private Sub Exit_Click()
    If MsgBox("确定要退出吗?", vbYesNo + vbQuestion) = vbYes Then
        End
    Else
        Main.Show
    End If
End Sub
Private Sub Menu_EditDelete_Click()
    frmmedicmanage.Show
End Sub
Private Sub Menu_Editinto_Click()
    frmmedicmanage.Show
End Sub
Private Sub Menu_Editmedicchange_Click()
     frmmedicmanage.Show
End Sub
Private Sub Find_pingyingma_Click()
   frmmedicfind.Show
   frmmedicfind.Combo1.Text = frmmedicfind.Combo1.List(3)
End Sub
Private Sub Menu_Findname_Click()
   frmmedicfind.Show
   frmmedicfind.Combo1.Text = frmmedicfind.Combo1.List(0)
End Sub
Private Sub Menu_Findshangpinming_Click()
   frmmedicfind.Show
   frmmedicfind.Combo1.Text = frmmedicfind.Combo1.List(2)
End Sub
Private Sub Menu_Findtype_Click()
  frmmedicfind.Show
  frmmedicfind.Combo1.Text = frmmedicfind.Combo1.List(1)
  End Sub
Private Sub MenuHelp_about_Click()
    frmabout.Show
End Sub
Private Sub MenuHelp_Help_Click()
Call HtmlHelp(0, App.Path & "\help.chm", &H0, ByVal "按名称查询.htm")
End Sub
6.4添加用户表界面

图6.4添加用户表界面图
Option Explicit
Dim cnt As Integer                     '记录确定次数
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim sql As String
Dim rs_add As New ADODB.Recordset
If Trim(Text1.Text) = "" Then
   MsgBox "用户名不能为空", vbOKOnly + vbExclamation, ""
   Exit Sub
   Text1.SetFocus
Else
   sql = "select * from 系统管理"
   rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic
   While (rs_add.EOF = False)
        If Trim(rs_add.Fields(0)) = Trim(Text1.Text) Then
           MsgBox "已有这个用户", vbOKOnly + vbExclamation, ""
           Text1.SetFocus
           Text1.Text = ""
           Text2.Text = ""
           Text3.Text = ""
           Combo1.Text = ""
           Exit Sub
         Else
           rs_add.MoveNext
         End If
    Wend
    If Trim(Text2.Text) = "" Then
         MsgBox "密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"
         Text2.Text = ""
         Text2.SetFocus
         Exit Sub
    End If
    If Trim(Text2.Text) <> Trim(Text3.Text) Then
       MsgBox "两次密码不一致", vbOKOnly + vbExclamation, ""
       Text2.SetFocus
       Text2.Text = ""
       Text3.Text = ""
       Exit Sub
    ElseIf Trim(Combo1.Text) <> "system" And Trim(Combo1.Text) <> "guest" Then
       MsgBox "请选择正确的用户权限", vbOKOnly + vbExclamation, ""
       Combo1.SetFocus
       Combo1.Text = ""
       Exit Sub
    Else
       rs_add.AddNew
       rs_add.Fields(0) = Text1.Text
       rs_add.Fields(1) = Text2.Text
       rs_add.Fields(2) = Combo1.Text
       rs_add.Update
       rs_add.Close
       MsgBox "添加用户成功", vbOKOnly + vbExclamation, ""
       Unload Me
    End If
End If
End If
End Sub
Private Sub Command1_Click()
Dim sql As String
Dim rs_add As New ADODB.Recordset
If Trim(Text1.Text) = "" Then
   MsgBox "用户名不能为空", vbOKOnly + vbExclamation, ""
   Exit Sub
   Text1.SetFocus
Else
   sql = "select * from 系统管理"
   rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic
   While (rs_add.EOF = False)
        If Trim(rs_add.Fields(0)) = Trim(Text1.Text) Then
           MsgBox "已有这个用户", vbOKOnly + vbExclamation, ""
           Text1.SetFocus
           Text1.Text = ""
           Text2.Text = ""
           Text3.Text = ""
           Combo1.Text = ""
           Exit Sub
         Else
           rs_add.MoveNext
         End If
    Wend
    If Trim(Text2.Text) = "" Then
         MsgBox "密码不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"
         Text2.Text = ""
         Text2.SetFocus
         Exit Sub
 

VB+SQL Server2000中小型医院药品管理系统
End If
    If Trim(Text2.Text) <> Trim(Text3.Text) Then
       MsgBox "两次密码不一致", vbOKOnly + vbExclamation, ""
       Text2.SetFocus
       Text2.Text = ""
       Text3.Text = ""
       Exit Sub
    ElseIf Trim(Combo1.Text) <> "system" And Trim(Combo1.Text) <> "guest" Then
       MsgBox "请选择正确的用户权限", vbOKOnly + vbExclamation, ""
       Combo1.SetFocus
       Combo1.Text = ""
       Exit Sub
    Else
       rs_add.AddNew
       rs_add.Fields(0) = Text1.Text
       rs_add.Fields(1) = Text2.Text
       rs_add.Fields(2) = Combo1.Text
       rs_add.Update
       rs_add.Close
       MsgBox "添加用户成功", vbOKOnly + vbExclamation, ""
       Unload Me
    End If
End If
End Sub
Private Sub Command2_Click()
Unload Me
Main.Show
End Sub
Private Sub Form_Load()
Combo1.AddItem "system"
Combo1.AddItem "guest"
End Sub
Private Sub Label1_Click()
Unload Me
Main.Show
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
    Dim ReturnVal As Long
    Xs = ReleaseCapture()
    ReturnVal = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
  End If
End Sub
6.5药品查询表界面

图6.5药品查询表界面图
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
    Dim ReturnVal As Long
    Xs = ReleaseCapture()
    ReturnVal = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
  End If
End Sub
 
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Combo1.Text = "按名称" Then
   Adodc1.CommandType = adCmdText
   Adodc1.RecordSource = "Select * from medicdate where medicname like '%" & Text1.Text & "%'"
   Adodc1.Refresh
   Set DataGrid1.DataSource = Adodc1
ElseIf Combo1.Text = "按类型" Then
   Adodc1.CommandType = adCmdText
   Adodc1.RecordSource = "Select * from medicdate where leixing like '%" & Text1.Text & "%'"
   Adodc1.Refresh
   Set DataGrid1.DataSource = Adodc1
ElseIf Combo1.Text = "按商品名" Then
   Adodc1.CommandType = adCmdText
   Adodc1.RecordSource = "Select * from medicdate where shangpinming like '%" & Text1.Text & "%'"
   Adodc1.Refresh
   Set DataGrid1.DataSource = Adodc1
ElseIf Combo1.Text = "按拼音简码" Then
   Adodc1.CommandType = adCmdText
   Adodc1.RecordSource = "Select * from medicdate where pingyinjianma like '%" & Text1.Text & "%'"
   Adodc1.Refresh
   Set DataGrid1.DataSource = Adodc1
End If
End If
End Sub
 

VB+SQL Server2000中小型医院药品管理系统
第七章            测试与运行记录
 
7.1 测试计划
软件测试阶段的主要任务是发现并排除在分析、设计、编程各阶段中产生的各种类型的错误,以得到可使用的软件系统。
关于软件测试,很多人认为“测试是证实程序中不存在错误”、“测试的目的是要证实程序正确地执行了预期的功能”、“测试的过程是使人们确信程序可完成预期要完成的工作过程”等。但这些定义是有缺陷的。因为进行测试不应该只是为了证实程序的质量有多好,而应该从程序本身存在错误这个假定出发,从中发现尽可能多的错误。从这个定义出发,我们应该发发现了错误的测试看作是成功的测试,而没有发现错误的测试应该看作是失败的测试。
软件测试的目的:
(1)      测试是程序的执行过程,目的在于发现错误。
(2)      一个好的测试用例在于能发现至今未发现的错误。
(3)      一个成功的测试是发现了至今未发现的错误的测试。
因此,测试一般不可能发现程序中的所有错误,测试只能证明程序中存在错误,但不能证明程序中不存在错误。
7.1.1 系统测试
系统测试是在更大范围内的测试。因为经过确认测试的软件只是基于计算机系统的一个组成部分,它需要与系统中的硬件、外设、支持软件、数据及操作人员结合起来,在真实环境下通过组装测试和确认测试,以保证各组成部分不仅能单独地受到检验,而且在系统各部分统一协调下也能受到能否正常工作的经验。
7.1.2 单元测试
单元测试是对程序中的每个模块进行独立测试。该测试从程序的内部结构出发,以详细设计说明为指导,测试模块内的重要控制路径,力求在模块范围内发现错误。由于单元测试的目的在于发现各模块内部可能存在的各种错误,因此单元测试往往采用白盒测试法。而且多个模块可以平行地独立进行单元测试。
7.2测试目的
在软件的开发过程中存在许多复杂的问题,为了保证软件在投入运行中;保证软件的质量和运行的安全行,测试过程是必不可少的,同时也是关键的。测试是为了发现软件在运行过程中所出现的问题,并在出现问题时能够及时的做出相应的修改。
7.3 测试目标
测试的目标是保证软件在投入运行中的安全性和稳定行。
7.4 测试方法
   测试方法是测试过程中至关重要的环节,采用的测试方法不同所产生的效果和所用的测试经费也是不同的。一个好的测试方法能够提高测试的效率,缩短测试的时间,也能够减少测试的经费。
7.5 测试项目
 测试的项目主要有以下几个方面的内容:
1)基本的用户和管理员登陆测试
2)基本的输入和输出操作测试
3)输入错误时系统的正确反应
4)插入、删除及查询测试
7.6 测试记录与运行结果
1.基本的用户和管理员登录测试
当输入的密码或用户名为空时产生如下提示信息:

 
当输入的密码或用户名为非正常有效时产生如下提示信息:

2.基本的输入和输出操作测试
当运行至数据库的尾部时产生错误提示信息时的解决方法:
在该段代码前添加如下代码:
ON ERROR RESUME NEXT
该代码的注释:当发生错误时,跳至下一条代码执行处,可以对所产生的错误进行有效的解决。
 

VB+SQL Server2000中小型医院药品管理系统
总 结
做这个系统时,遇到的困难很多,比如在需求分析阶段,由于对过程的不熟悉和对软件需求理解不深,在画数据流图和编写数据字典时出现大量错误。
在画数据流图和程序流程图时老出错,没有弄清各图形的内涵,以至于画出的数据流图不符合要求,加上对程序流程图中程序两字理解不够透澈,以至于不会画图,出现一些搞笑错误。
   在软件程序编写阶段,对数据库和VB中调用问题有的解决不了,导致功能无法实现。还有就是调用数据库时方法可能不正确,以致于有的调不出来。
经过赵老师的多次提示,在我修改了几次后对各种图形在各阶段流程图中的具体含义有了进一步的理解,并发现原来记忆中的不少错误认识。
在软件开发前要深入了解类似软件的具体功能要求,并认真听取客户要求及意见,并在开发过程中及时与客户进行交流。这将会节省大量的时间及人力物力,提高开发效率,并使软件更符合客户要求。
通过本次课程设计发现自己在各个方面还有很多不足,比如在画图方面,老是在数据流图和程序流图上出错,希望经过这次的实践后,不断学习,努力充实自己,开拓眼界,转换思维,不断提升自身能力,具有更好的编程能力。
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,计算机的应用在生活中可以说得是无处不在。因此作为二十一世纪的计算机专业毕业的大学生来说是十分重要的。
通过软件工程课程设计让我们把学到的课本知识用到实践中,充分运用所学编程语言,数据库,计算机网络维护等知识,培养了我们实践动手能力和理论联系实际能力,通过这次课程设计,我进行了有目的的调查研究,运用所学知识,分析和解决实际问题,以获得有关的实际知识和技能,从而为我们走向社会奠定初步基础。
二十一世纪是人类走向信息社会的世纪,是网络的时代,是超高速信息公路建设取得实质性进展并进入应用的年代。在世纪之交的今天,信息技术的发展将在芯片技术、并行处理技术、分布式客户/服务器模式、千兆位网络、网络计算、企业网络技术的发展多媒体技术等方面有着广阔的发展领域。计算机将向着巨型化、微型化、网络化、智能化发展,前途一片光明。
在中小型医院药品管理系统的设计过程中,我遇到了不少的难题。其中有一些是因为自己以前光学课本,缺少一些实践和动手能力引起的,比如说画一些数据流图和系统流程图,程序流程图等,还有一些是因为缺少编程经验而出现的一些简单愚蠢的错误。但其中也有较为复杂的,通过自己的钻研老师和同学的帮助得到绝大部分的解决,这对我在编程有一定的帮助和积累经验作用。
在中小型医院药品管理系统完成过程中,首先遇到的就是数据库的建立问题。怎样合理地建表,设定几个字段名称,数据类型以及其他属性需要根据运行功能不断修改完善。第二个问题时由于时间的仓促,很多信息的输入没有做好有效字符的限定设置,就显得没有那么地正规。
本次软件工程课程设计让我弥补了许多以前的不足和知识遗漏点,并对已经掌握的知识点进一步实践了一次。理解了软件的需求分析必须要有对原业务的一个深入了解、提取、抽象、升华的过程,可行性分析也是如此。
在整个设计过程中,遇到我们不能解决的问题时,张继福老师和赵旭俊老师给予了我们很大的指导与帮助,从对系统的深刻分析,总体设计和详细设计的分析(尤其是在画数据流程图和程序流程图的过程中),使得我整个设计得以有了一个总体的完整框架。加深了我对软件工程理论和基础知识的理解。在这里再次表示深深感谢!
以下是本系统的操作流程:
1.新用户的增加和权限的管理在用户管理窗口进行,只有系统管理员才有用户管理窗口的操作权限,系统管理员不能被删除,第一个用户就是系统管理员。用户权限操作步骤:输入用户名及登陆密码,并选择用户类别,点确定。进入系统主界面。
2.根据需要进行系统管理或者简单查询,点击系统管理进入下拉菜单并选择所需要的管理,出现相应的管理界面,界面上有添加,编辑,删除,刷新等功能键,根据需要进行操作。
主要完成药品管理系统首页的录入、删除、修改与查询工作,是整个系统的一个重要数据入口。 最后点击返回退出主界面,再点击取消退出系统。
        但是由于经验不足和所学知识有限,本系统在查询,索引等方面还存在着很大的不足,还有一些功能没能完全实现,本人还在今后的学习中继续努力,还请老师多多指点。
 

VB+SQL Server2000中小型医院药品管理系统
参考文献
 
 [1] 萨师煊. 王珊编.数据库系统概论. 北京:高等教育出版社,2003年
 [2] 杨志强. Visual Basic程序设计教程.北京:高等教育出版社,2003年
 [3]谭浩强主编, Visual Basic 程序设计(二级)教程,清华大学出版社,2002
[4]孙燕等编, Visual Basic 程序设计,高等教育出版社,2000
[5]佟伟光主编, Visual Basic 程序设计教程,电子工业出版社,2001
[6] 周志刚. 软件工程. 北京:机械工业出版社 2001年9月
[7]龚沛曾等编, Visual Basic 程序设计简明教程,高等教育出版社,2001
[8]柳青主编,VB程序设计,人民交通出版社,2004
[9]郭瑞军,唐邦民等编,Visual Basic数据库开发实例精粹,电子工业出版社,2004
[10] 范立南. SQL Server 2000 实用教程.北京:清华大学出版社,2004年
[11] 张海藩.软件工程导轮.北京:清华大学出版社,2004年
[12] 徐士良.常用算法程序集.北京:清华大学出版社 2004年
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师