药房管理系统的设计.doc

上传人:精*** 文档编号:1031226 上传时间:2024-03-24 格式:DOC 页数:28 大小:781.94KB
下载 相关 举报
药房管理系统的设计.doc_第1页
第1页 / 共28页
药房管理系统的设计.doc_第2页
第2页 / 共28页
药房管理系统的设计.doc_第3页
第3页 / 共28页
药房管理系统的设计.doc_第4页
第4页 / 共28页
药房管理系统的设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、课程设计任务书及成绩评定课程设计的任务和具体要求课程设计要求设计一个小型药库管理系统,应能反应出学生综合利用所学知识完成一定的设计任务的能力,反映出学生理论联系实践的动手能力。具体要求如下:(1)明确所要开发系统的设计任务;(2)做好需求分析,合理选择设计方案;(3)合理设计数据库中各个表的结构及其关系;(4)能够设计出美观大方的程序界面;(5)养成良好的代码书写习惯;(6)在编写程序过程中应注意相关文档的编写;(7)综合应用Delphi各种组件实现程序功能;(8)认真撰写课程设计总结报告。指导教师签字: _ 日期: 指导教师评语成绩:_ 指导教师签字: 日期: 课程设计所需软件、硬件等n 硬

2、件环境:Iterl(R) Core(TM)2 Duo CPU,主频2.31GHz;内存3G; 硬盘320G以上;1024768显示分辨率n 软件环境: Delphi 7.0 SQL Server 2005课程设计进度计划起至日期工作内容备注2012.11.28-2012.12.52012.12.6-2012.12.162012.12.17-2012.12.28明确设计思路,设计整体框架和数据库建立整体框架,初步填写各项目代码优化窗体代码,添加皮肤和打印组件 完成整体设计并美化完成完成完成参考文献、资料索引序号文献、资料名称编著者出版单位1 李目海.delhpi应用程序设计M北京:枣庄学院计算机

3、科学系,20122 侯炳辉,沈林兴,彭澎.毕业设计案例择选M.北京:清华大学出版社,20003 施新刚.实效编程百例M.北京:人民邮电出版社,20044 谭浩强.Delphi 程序设计M.北京:清华大学出版社,20005 东名,吴名月.access 数据库管理实务M.北京:人民邮电出版社,20026 乔林.参透Delphi M.北京:中国铁道出版社,2003:75-1567 沈才梁.Delphi 7.0程序设计教程M.北京:北方交通大学出版社,20048 张海藩.软件工程导论M北京:清华大学出版社,1998 目 录1系统介绍. 22 数据库表的结构描述及其关系 22.1数据库概要设计 . 22

4、.2 数据库设计. 32.3 详细设计及具体功能的实现 . 4 2.3 性能需求 . 53 软件的模块结构图. 54 主要功能模块的流程图. 65主要功能的实现代码. 76程序运行效果及其分析. 347总结. 36 正文1.系统介绍药房等单位的药品信息和数据纷乱复杂,整理统计费力费时。要做好对企业的管理,企业就必须快速准确地获取自己企业单位的信息,这就要求及时统计数据并方便查看,以及对企业的数据信息进行维护。本软件是利用DELPHI 7.0设计开发的药房管理系统,是药房信息系统的一个重要组成部分,可实现对药房药品信息的分类管理和数据分析,从而使信息整理快速、准确、简单,以便于相关部门给予统筹安

5、排,从而提高改进传统的管理方法,提高企业管理水平。本文所叙述的内容以及程序代码都是医院药品管理中的常见问题。药房管理系统应具有如下功能模块:(1).药品信息部分:对药品信息的添加,删除修改及查询功能的实现.完成对药品的管理. (2).库存管理部分:对保存药品的库房进行管理,出入库的时间,药品等信息的录入。(3).销售信息部分:包括对药品的销售情况及销售信息的查询.(4).用户权限管理部分:系统的退出的实现.(5).帮助部分:用户对系统不理解的时候给与帮助和指导.(6).打印部分:实在药品信息、销售和库存的信息的打印.2.数据库表的结构描述及其关系21 数据库概要设计 根据数据库的要求分析,确定

6、该管理系统应具有的数据实体和数据实体的属性。在医院及药店的药品管理系统中包括的实体对象有药品实体、供应商实体、客户实体、操作员实体等。其每个实体的属性关系如下:1、 药品实体中主要包括商品名称、简称、批号、产地、规格、单位、进价、库存等属性,该实体关系如图2.3所示药品简称产地商品名称规格时间单位库存批号进价图2.3 药品实体图 2.客户实体包括客户编号、客户全称、地址、联系人、电话、其中编号是为每个固定顾客作的编号码,以便查找操作。其客户实体关系如图2.4所示:名称地址编号客户联系电话联系人图2.4 客户实体图2.2数据库的设计我采用了SQL Server2005作为后台数据库。1、用户表(

7、table_1):包括操作员和密码;主要用来保存用户信息和密码。2、入库表(table_3):包括商品名称、简称、批号、产地、规格、包装、单位、数量、进价、金额、备注、供应商、日期、经手人、票号,用来保存商品入库的详细信息。3、销售表(table_2):包括商品名称、批号、产地、规格、包装、单位、数量、单价、金额、备注、客户、日期、经手人、票号,用来保存商品销售的详细信息。 药房的药品管理系统的数据库E-R图如图 :库存实体中是药品的相关信息,包括商品名称、产地和批号,他和其他表的关系全部为1对多关系,入库单,销单,入库退单,销售退单都和它有主外键的关系。供应商和客户这两个实体也是作为引用实体

8、存在的,供应商和入库单实体和入库退单实体发生关系,客户和销售单和销售退单发生1对多关系。23 详细设计及系统功能的实现 经过上述的需求分析和系统分析以及数据库的设计,确定药房的药品管理系统的全部功能和所需数据库,下面根据系统详细设计的任务要求,对该软件进行详细的设计及功能实现。在此过程中采用结构化的设计方法,来改善控制结构,降低程序的复杂度,从而提高程序的可读性、可测试性、可维护性。软件结构:该软件顶层数据流图如图。登录操作员身份验证数据处理24 性能需求1、数据精确度查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。查询时应保证查准率,查到的记录应与给定的单项或组合查询条件完全匹

9、配。2、时间特性一般操作的响应时间应在12秒内,对数据的导入和导出也应在可接受的时间内完成。3、适应性满足个人使用的需求。对前面提到的运行环境要求不应存在困难。3. 软件的模块结构图医药管理系统从功能上可以划分为如下几个功能模块4. 主要功能模块的流程图 药房的药品管理系统所处理的信息较多,功能强大,其基于药品管理的系统流程如图2.2所示: 销 售 作 业客 户表 供 应 商销 售 信 息表入 库 作 业表销 售 查 询表库 存 盘 点表库 存 查 询表价 格 管 理表库存信息管理系统 退货返厂管理系统 入库信息管理系统 客户退货管理系统 入库查询管理系统 医药管理系统的系统流程图5. 主要功

10、能的实现代码Preject1:program Project1;uses Forms, windows, Unit1 in Unit1.pas Form1, Unit2 in Unit2.pas Form2, Unit3 in Unit3.pas Form3, Unit4 in .2012-12-15改Unit4.pas Form4, Unit5 in .2012-12-15改Unit5.pas Form5, Unit6 in .2012-12-15改Unit6.pas Form6, Unit7 in .2012-12-27Unit7.pas Form7;$R *.resbegin Appli

11、cation.Initialize; form2:=Tform2.Create(application); form2.Show; form2.Update; sleep(3000); form3:=Tform3.Create(application); form2.Free; if form3.ShowModal=100 then begin Application.CreateForm(TForm1, Form1); end; Application.Run;End.unit1:unit Unit1;interfaceuses Windows, Messages, SysUtils, Va

12、riants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, jpeg;type TForm1 = class(TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N6: TMenuItem; N5: TMenuItem; Image1: TImage; N7: TMenuItem; procedure N2Click(Sender: TObject); procedure N1Click(S

13、ender: TObject); procedure N3Click(Sender: TObject); procedure N6Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure N7Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation uses unit4,unit5,unit6,unit7;$R *.dfmprocedure

14、 TForm1.N2Click(Sender: TObject);beginform5:=Tform5.create(self);form5.Show;end;procedure TForm1.N1Click(Sender: TObject);beginform4:=Tform4.create(self);form4.Show ;end;procedure TForm1.N3Click(Sender: TObject);beginform6:=Tform6.create(self);form6.Show;end;procedure TForm1.N6Click(Sender: TObject)

15、;begin showmessage(有问题找百度!);end;procedure TForm1.N4Click(Sender: TObject);begin form7:=Tform7.create(self); form7.Show;end;procedure TForm1.N7Click(Sender: TObject);begin form1.Close;end;End.Unit2:unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dia

16、logs, jpeg, ExtCtrls, bsMessages;type TForm2 = class(TForm) Image1: TImage; private Private declarations public Public declarations end;var Form2: TForm2;implementation$R *.dfmEnd.Unit3:unit Unit3;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCt

17、rls, DB, ADODB, jpeg, ExtCtrls, bsSkinData, BusinessSkinForm;type TForm3 = class(TForm) Image1: TImage; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; DataSource1: TDataSource; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; AD

18、OTable1: TADOTable; bsBusinessSkinForm1: TbsBusinessSkinForm; bsSkinData1: TbsSkinData; bsStoredSkin1: TbsStoredSkin; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private declarations public Public declarations end;var Form3: TForm3;implementationuses Uni

19、t1, Unit2;$R *.dfmprocedure TForm3.Button1Click(Sender: TObject);begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from table_1 where 用户名=+edit1.Text+and +密码=+edit2.Text+ ); ADOQuery1.Open; if ADOQuery1.Eof then begin showmessage(用户号或密码不正确); end else begin ModalResult := 100; /用

20、户名和密码正确将激活主界面/ end;end;procedure TForm3.Button2Click(Sender: TObject);beginform3.Close;end;End.Unit4:unit Unit4;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, ADODB, DB, jpeg, ExtCtrls;type TForm4 = class(TForm) Image1: TIm

21、age; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; DBGrid1: TDBGrid; GroupBox1: TGroupBox; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Button3: TButto

22、n; Button4: TButton; Button5: TButton; Button1: TButton; Button2: TButton; DataSource1: TDataSource; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; procedure Button4Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click

23、(Sender: TObject); private Private declarations public Public declarations end;var Form4: TForm4;implementation$R *.dfmprocedure TForm4.Button4Click(Sender: TObject);begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from table_2 where 药品编号=+edit1.Text+or +药品名称=+edit2.Text+); ADO

24、Query1.open; if ADOQuery1.Eof then begin showmessage(药品不存在); end else begin ADOQuery1.Close; /删除药品信息 ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(delete from table_2 where 药品编号= +edit3.Text+) ; ADOQuery1.ExecSQL; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select *from table_2) ; ADOQuery1.Ope

25、n; showmessage(删除成功); endend;procedure TForm4.Button1Click(Sender: TObject);begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from table_2 where 药品编号=+edit1.Text+or +药品名称=+edit2.Text+); ADOQuery1.open;if ADOQuery1.Eof then begin showmessage(没发现该药品); ADOQuery1.Close; ADOQuery1.SQ

26、L.Clear; ADOQuery1.SQL.Add(select * from table_2 ); ADOQuery1.open; exit; endend;procedure TForm4.Button3Click(Sender: TObject);beginif edit3.Text= then begin showmessage(药品编号不得为空); end else ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select * from table_2 where 药品编号=+edit3.Text+ ); ADOQ

27、uery1.open;if ADOQuery1.Eof then begin ADOQuery1.Close; /添加药品信息 ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(insert into table_2 (药品编号,药品名称,药品产地,药品重量,进价,零售价) values(+edit3.Text+,+edit4.Text+,+edit5.Text+,+edit6.Text+,+edit7.Text+,+edit8.Text+) ; ADOQuery1.ExecSQL; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADO

28、Query1.SQL.Add(select * from table_2 ) ; ADOQuery1.Open; showmessage(添加成功);end else showmessage(错误,重复的药品信息); exit; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(select *from table_2 ) ;end;procedure TForm4.Button2Click(Sender: TObject);begin form4.Close;end;End.Unit5:unit Unit5;interfaceus

29、es Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, Grids, DBGrids, DB, ADODB, jpeg, ExtCtrls;type TForm5 = class(TForm) Image1: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLab

30、el; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; DBGrid1: TDBGrid; Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Button3: TButton; Button4: TButton; Button5: TButt

31、on; DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker; DataSource1: TDataSource; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Se

32、nder: TObject); procedure Button2Click(Sender: TObject); private Private declarations public Public declarations end;var Form5: TForm5;implementation$R *.dfmprocedure TForm5.Button1Click(Sender: TObject);var c,d:string;beginADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.add(select * from table_3

33、where 销售日期 = :c and 销售日期=:d ) ;ADOQuery1.Parameters.ParamByName(c).Value:=datetostr(datetimepicker1.Date);ADOQuery1.Parameters.ParamByName(d).Value:=datetostr(datetimepicker2.Date);ADOQuery1.Open;if ADOQuery1.Eof thenbegin showmessage(没发现该信息);ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(sel

34、ect *from table_3) ;ADOQuery1.Open;exit;end;end;procedure TForm5.Button3Click(Sender: TObject);beginif edit1.Text= thenbeginshowmessage(药品编号不得为空); exit;endelseif edit5.Text= thenbeginshowmessage(销售时间不得为空); exit;endelseif edit6.Text= thenbeginshowmessage(销售日期不得为空); exit;endelseif edit7.Text= thenbegi

35、nshowmessage(结账编号不得为空); exit;endelseADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from table_3 where 销售日期=+edit6.Text+and +药品编号=+edit1.Text+and +销售时间=+edit5.Text+and +结账编号=+edit7.Text+ );ADOQuery1.open;if ADOQuery1.Eof thenbeginADOQuery1.Close; /添加销售信息ADOQuery1.SQL.Clear;ADOQuery1.S

36、QL.Add(insert into table_3 (药品编号,药品名称,药品数量,金额,销售时间,销售日期,结账编号,经手人,结账方式) values(+edit1.Text+,+edit2.Text+,+edit3.Text+,+edit4.Text+,+edit5.Text+,+edit6.Text+,+edit7.Text+,+edit8.Text+,+edit9.Text+) ;ADOQuery1.ExecSQL;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select *from table_3 ) ;ADOQuer

37、y1.Open;showmessage(添加成功);endelseshowmessage(错误,重复的销售信息);exit;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select *from 销售信息 ) ;end;procedure TForm5.Button4Click(Sender: TObject);beginADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select * from table_3 where 销售日期=+edit6.Text+and +药品编

38、号=+edit1.Text+and +销售时间=+edit5.Text+and +结账编号=+edit7.Text+);ADOQuery1.open;if ADOQuery1.Eof thenbeginshowmessage(销售信息不存在);endelsebeginADOQuery1.Close; /删除销售信息ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(delete from table_3 where 销售日期= +edit6.Text+and +药品编号=+edit1.Text+and +销售时间=+edit5.Text+and +结账编号=+edit7

39、.Text+) ;ADOQuery1.ExecSQL;ADOQuery1.Close;ADOQuery1.SQL.Clear;ADOQuery1.SQL.Add(select *from table_3) ;ADOQuery1.Open;showmessage(删除成功);endend;procedure TForm5.Button5Click(Sender: TObject);begin if edit1.Text= then beginshowmessage(药品编号不得为空); exit;endelseif edit2.Text= thenbeginshowmessage(药品名称不得为空); exit;endelseif edit3.Text= thenbe

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922