程序开发教学在高职药学专业中的应用

时间:2022-07-09 06:49:17

程序开发教学在高职药学专业中的应用

摘 要:针对新版GSP对药品经营企业在计算机系统管理控制方面的要求,以高职药学专业为例,阐述计算机程序开发的教学应该结合专业特点和行业要求,结合具体案例―药品的购进、入库验收、在库养护、销售、出库记录等进行教学和教改。

关键词:程序开发;GSP;药品的购进;入库验收;出库

中图分类号:TP311.5

新颁布的《药品经营质量管理规范(GSP)》(2012年修订)从2013年6月1日起执行,在新版GSP中要求所有药品批发企业必须“具有专用的计算机和服务器中央数据处理系统,并运用该系统对在库药品的分类、存放和相关信息的检索以及对药品的购进、入库验收、在库养护、销售、出库复核进行记录和管理,对质量情况能够进行及时准确的记录。”[1]下面以高等职业学院药学专业的药品管理方面为着眼点,详细阐述一下程序设计的教学思路。

1 软件开发内涵

(1)程序定义:用户根据自己对软件的使用目的和功能需求,定义软件的大概功能。(2)外部设计:根据用户定义对整个程序流程进行设计。这一部分设计主要包括单本程序之间的联系,以及程序和数据库之间的关联。(3)内部设计:根据外部设计,对每一个单本程序进行详细的设计。(4)代码编写:根据内部设计书在开发环境中对代码进行编写,目前的教学也主要停留在这一阶段。(5)测试:根据内部设计书编写测试项目书,并根据测试项目书对程序进行测试。(6)保守运用:是程序的维护阶段。[2]

从上面的阐述中可以看出,代码编写只是程序开发中最基础的一个阶段,我们可以针对本专业知识,从程序设计方向着眼,对学生的整体程序掌控能力进行培养。

2 药品经营管理中程序功能的内涵

根据新版GSP的要求,药品经营企业就会提出对计算机系统程序的功能定义。

(1)对药品入库和出库时间进行管理。(2)在库养护。一些药品须进行干燥处理,而对这些需要立即干燥处理的药品做出一览表并且进行处理时间的登记管理。(3)验收。即核对。(4)开票。药品批发企业对每次交易额的详细票据进行管理,核对当日总营业额的票据管理。

3 药品经营管理中的程序设计

上述功能定义结束之后,客户将定义书发给软件公司,软件公司会针对功能定义进行外部设计和内部详细设计。但是程序开发而引发的高额成本,是让药品经营企业对自身办公自动化系统开发望而却步的重要因素。如果能够抑制成本,降低风险,相信我国药品经营企业的办公系统普及程度就会更加迅速的发展。

其实程序设计员(system engineer,以下简称SE)看似高深,但是实际上对从业人员的计算机专业素质远没有程序员(programmer,以下简称PG)的专业素质要求高。SE最终交付的成果物是设计书,就是文档。而PG是要根据SE所写的文档去进行程序编写,最终的成果物是整个工程的程序文件。SE的单价之所以极高,是因为现在市场上SE的形成过程都是有经验资深的PG根据程序编写的经验来进行程序设计,对程序本身的功能要求,实际上没有药品经营企业内部人员了解的专业。既然如此,如果药品经营企业的内部员工能够进行程序设计的话,即降低了聘请SE的成本,也使得程序本身更加符合药品经营企业自身的要求。仅以上述功能定义为例,来具体分析一下如何对程序进行设计。

既然是对药品实现入库、出库、在库养护、验收、开票等所有的活动的计算机管理,那么就需要一定的存储空间去存放这些药品的名称,出库入库时间等等。这些功能我们将通过数据库来实现

4 药品经营管理中数据库设计

首先我们从数据库的设计入手,确定主键。通常药品都有自己特定的药品编号(记载在条形码中),以药品编号为主键,可以避免插入重复记录的同时便于系统的检索。

其次是定义药品信息。药品的信息是数据库中必不可少的。本例中仅以药品名称为药品属性。

上述两个字段做成一个表1(暂定名称“药品属性”,物理名为YAKUZAIMST)。[3]

然后再新建一个表2~4(暂定名称“药品管理”,物理名为KANRI)。对表KANRI的字段定义如下:(1)出库时间和入库时间。入库时通过对药品条形码的扫描,读取该药品的药品编号。然后在表KANRI中插入一条数据,记录入库时间,同时出库时间为NULL。(2)出库时间的更新。当该药品出库时,对该药品编号所属记录的出库时间进行更新处理。(3)检收。标志位值,布尔参数。0代表未检收,1代表已检收。当该药品被检收时,标志位从默认值0变成1。(4)养护。标志位值,布尔参数。0代表无需养护,1代表需养护。当该药品到达一定时间时,标志位从默认值0变成1。(5)药品编号。与表YAKUZAIMST内部结合[4]

内部设计流程图如下:

固定数据:YAKUZAIMST

表1

字段名 药品编号 药品名称

型 Char(8) Char(8)

模拟数据 00000001 AAA药品

处理流程:表KANRI的操作

入库:Insert处理

表2

字段名 药品编号 药品名称 入库时间 出库时间 检收 养护

型 Char(8) Char(8) Datetime datetime Char(1) Char(1)

模拟数据 00000001 AAA药品 1900-00-00 NULL 0 0

检收:Update处理

表3

字段名 药品编号 药品名称 入库时间 出库时间 检收 养护

型 Char(8) Char(8) Datetime datetime Char(1) Char(1)

模拟数据 00000001 AAA药品 1900-00-00 NULL 1 0

养护:Update处理(条件:入库时间+养护周期≤服务器系统日期)

表4

字段名 药品编号 药品名称 入库时间 出库时间 检收 养护

型 Char(8) Char(8) Datetime datetime Char(1) Char(1)

模拟数据 00000001 AAA药品 1900-00-00 NULL 1 1

5 结束语

上面的程序设计,对于计算机专业知识来说,拥有基本的数据库知识即可完成上面的工作。但是会需要很多的药品管理方面的知识。从上述案例中我们得到的启发是:与其对学生硬性灌输关于编程代码的知识,不如结合学生本专业的知识,通过计算机公共课程中普及的程序基础知识,发掘学生的创新能力,使学生自己独立完成一套完整的程序设计。这样会使我们的学生在职场中立于不败之地。

参考文献:

[1]《药品经营质量管理规范》(2012年修订).

[2]西尔伯沙茨(Silberschatz.A.).数据库系统概念[M].北京:机械工业出版社,2012.

[3]罗布(Peter Rob),科尼尔(Carlos Coronel).数据库系统设计、实现与管理(8)[M].北京:清华大学出版社,2012.

[4]C.J.Date].数据库设计与关系理论[M].北京:机械工业出版社,2013.

作者简介:朱世臣(1962.08-),男,辽宁铁岭人,现供职公共基础部,副教授,本科,主要从事计算机软件的开发、管理学研究与计算机教学。

作者单位:铁岭卫生职业学院,辽宁铁岭 112008

上一篇:新课程理念下合作学习如何融入小学数学课堂 下一篇:一种云安全服务架构的设计与实现