医院图书信息管理系统的设计与实现
(一)项目背景:
医院图书馆是医院科研教学的重要部门,大多数医院不太重视,不愿意投入费用。借书、还书籍都很随意。从人员到基础设施多没有重视。随着医院新一轮发展机遇,好的二级医院向三级医院发展,对医院图书馆实现计算机管理在三级医院评审标准中都要硬性要求,设计图书管理系统非常必要,也是必不可少。
(二)可行性研究(经济、技术、法规)
(1)经济上是可行的:图书馆对图书的管理成为一种模式,业务流程相当固定:新书登记、读者登记、图书入库、借阅图书、归还图书,盘点管理、报废管理等日常业务。硬件投入不是很大,更具医院图书馆规模和大小,购买一台数据库服务器、两台普通PC机和一台条码扫描仪,就可以满足医院图书馆管理系统的硬件条件;软件可以使用自由软件mysql数据库,操作系统;图书馆业务流程相对固定,没有太多新的需求,可以讲需求明确,开发人力资源成本基本是可以控制的。
(2)技术上是可行的。采用C/S结构的实现系统:前台采用Powerbuilder 实现客户段应用程序,后台使用数据库。现在有好多大图书馆都已经实现图书馆的计算机借书工作,技术已经非常成熟的经验。
(3)自己设计,医院使用,不存在侵权问题
医院图书管都已经开始使用计算机,操作人员就被使用计算机的能力,为医院开始计算机提供了前提条件。
(三)需求分析
图书基本信息输入,入库、报废、盘点等库存管理,借书、还书基本操作。基础字典的维护。
(四)概要设计
实现新书登记,入库,借阅,归还,盘点,报废等日常业务。分四个模块:业务处理、查询统计、系统维护、系统帮助。系统模块如下图:
(五)数据库设计
数据字典、创建表存放基本操作。
(1)/* Table: tushujbxx    */
if exists(
  select 1 from sys.systable
  where table_name='tushujbxx'
    and table_type in ('BASE', 'GBL TEMP')
) then
    drop table tushujbxx
end if;
create table tushujbxx
(
  bianhao              varchar(9),
  isbn                varchar(10),
  tushumch            char(10),
  tiaomah              varchar(13),
  zuozhe              varchar(40),
  chubanshe            varchar(40),
  dingjia              decimal(9,2),
  gourushj            date,
  neirongzhy          varchar(80),
  beizhu              varchar(80),
  cunfangkf            varchar(20),
  cunfanggw            varchar(20),
  cunfangjw            varchar(20),
  ifkj                varchar(1),
  leibeidm            varchar(3)
);程序测试员需要学什么
comment on table tushujbxx is '图书基本信息';
comment on column tushujbxx.isbn is 'isbn';
comment on column tushujbxx.tushumch is '图书名称';
comment on column tushujbxx.tiaomah is '条码号';
comment on column tushujbxx.zuozhe is '作者';
comment on column tushujbxx.chubanshe is '出版社';
comment on column tushujbxx.dingjia is '定价';
comment on urushj is '购入时间';
comment on irongzhy is '内容摘要';
comment on column tushujbxx.beizhu is '备注';
comment on column tushujbxx.cunfangkf is '存放库房';
comment on column tushujbxx.cunfanggw is '存放柜位';
comment on column tushujbxx.cunfangjw is '存放架位';
comment on column tushujbxx.ifkj is '是否可借';
comment on column tushujbxx.leibeidm is '类别代码';
(2) /* Table: tushukucun  '图书入库库存'    */
if exists(
  select 1 from sys.systable
  where table_name='tushukucun'
    and table_type in ('BASE', 'GBL TEMP')
) then
    drop table tushukucun
end if;
create table tushukucun
(
  bianhao              varchar(9),
  goururq              datetime,
  rukurq              datetime,