第八章 综合应用
1
小规模的软件开发
本章通过一个实例——图书馆管理信息系统的设计,介绍按软件工程的原
理、方法开发软件的全过程。由于图书馆管理信息系统的需求学生比较熟悉,所
以理解起来比较容易。编程语言采用较易掌握的Visual Basic,提供的设计、
实现、测试是系统的,核心源代码以文字方式说明。
在实际系统的开发过程中,系统的设计与开发往往需要一个团队集体完成,
所以分工合作、协调工作能力、团队精神是非常重要的。对于同一个管理信息系
统的开发,开发方法不是唯一的,可以采用传统的软件工程方法,也可采用面向
对象的方法,开发过程没有标准答案。为了突出重点,对系统进行了简化。
8.1“图书馆管理信息系统”的立项背景
图书馆是高校的文献信息中心,是为学校教学和科学研究服务的学术性机
构,是学校信息化的重要基地。图书馆的工作是学校教学和科研工作的重要组成
部分,是学校师生学习和研究的重要场所。为了适应数字化信息环境,一种成功
的跟踪最新技术,充分利用软硬件资源的“图书馆管理信息系统”孕育而生。
某综合性大学的图书馆,其服务对象主要是该校的教师和学生。随着学校规
模的不断扩大,现有教职工约3000人、学生20000人左右,馆藏各类图书近200
多万册,期刊近4000多种,图书馆工作人员约90人,每天的借阅量近千册。在
图书馆的图书数量不断增加、读者数目不断增长,对图书馆信息管理自动化和准
确化要求日益强烈的背景下,为了实现图书馆信息管理工作网络化,以及实现网
络查询和统计一体化而开发的管理信息系统。该系统不仅为图书馆管理员提供一
个个性化的界面,将读者需要的各种服务集中起来,图书管理员只需一次登录就
可以使用所有服务;也为读者提供信息查询服务,读者可以很方便地进行图书和
借阅情况查询。从图书信息的输入到读者借阅图书信息的管理,都可以通过这个
系统完成。
虽然图书馆在某些局部工作中使用了计算机,但尚未建立起真正的集成自动
化系统,大部分业务工作仍靠手工完成。由于图书馆陈旧的管理手段给读者和图
书馆管理员带来的很多操作上的不方便,同时为了提高工作效率、服务质量和管
理水平,并使图书馆管理人员从繁琐的工作中解脱出来,所以下决心开发图书馆
管理系统。
本图书馆管理信息系统在原有手工系统的基础上,增强数据库管理技术,增
加图书信息的管理、读者信息的管理、读者借书和还书信息的管理等功能。通过
进一步收集、整理、存储关于图书、读者的主要数据,以及原有系统的作业流程
信息,为日后建立数据仓库做好准备。
本系统采用最新的计算机技术,界面友好、操作方便,管理员可以针对不同
需求分类、排序、查询、统计,方便读者和其他部门根据自己的需求准确、快速
地查询图书信息,实现以计算机辅助形式代替传统的手工查找形式,减轻图书信
息管理人员的劳动强度,提高图书馆的工作效率和水平,更好地为读者服务,从
而使图书和读者管理更加合理化和科学化。
8.2 可行性研究
在项目可性行研究阶段,分析人员对图书馆工作环境进行了实地调查。同主
要领导、管理人员和工作人员进行了交流,对手工工作情况、工作流程、所完成
的任务及目前存在的问题、新系统要解决的主要问题等进行初步调查。初步调查
研究的结果成为可行性研究的前提。
8.2.1 现有系统存在的问题
第八章 综合应用
2
目前,学校图书馆的部门有采编部、图书借阅部、电子阅览室、期刊阅览室、
技术服务部和办公室等部门,负责各自相关的工作。图书馆存在的主要问题有:
1. 图书馆的业务工作涉及各类数据量大,读者人数多。手工模式下的工作
劳动强度高,效率低,错误多,处理速度慢。
2. 在各类业务工作中,编目工作具有智力程度高、工作量大的特点,是图
书馆工作流程中的瓶颈。手工编目工作存在成本高、劳动重复和编目结果总体不
一致等问题,编目规范难以彻底贯彻。
3. 在手工工作中,很多理论上可行的工作方法,如读者预约借书等工作,
实际难以实现。
4. 业务工作中存在着大量查找工作,如图书查询、读者查询等,手工查询
方式速度慢,查准率和查全率低,影响了图书馆的服务质量。
针对以上问题,需进行图书馆管理信息系统的开发工作。在本次开发中,开
发工作涉及采编部、借阅部、期刊部等四个部门。技术服务部、阅览室、办公室
等部门不在系统开发范围之内。为了节省篇幅,这里主要介绍借阅子系统的开发。
8.2.2 新系统的功能
本系统开发的目的,就是通过系统开发,实现图书馆有关部门工作的计算机
化,提高关键业务环节的处理速度和规范化程度,并对有关的工作进行集成和重
组,通过网络系统加强本图书馆同其他图书馆之间的业务联系,提高业务工作水
平,进而全面提高工作效率和质量,更好地为读者服务。图书馆管理信息系统的
应用可大幅度提高图书馆工作的效率和质量,这主要表现在以下几个方面:
1. 联机编目
编目是组织图书馆文献资源的手段。编目工作所形成的图书馆书目体系是管
理、揭示和利用馆藏的唯一工具,也是图书馆重要的数据资源。编目工作具有多
种工作形式,其中联合编目是多馆协同合作编目的一种方式。联合编目克服了各
馆分散编目所造成的编目成本高、重复劳动和编目结果总体不一致问题,提高了
编目效率和质量。联合编目的实施需要一个基本的编目环境,即联合编目的管理
中心和成员馆之间便捷的数据存取途径,而在当前技术条件下满足这种环境要求
的配置是广域网环境下连接各成员馆内的自动化系统。在编目过程中,各成员馆
应同编目的管理中心联机,以完成编目数据的共享、数据上载和一致性的验证。
2. 查询服务
在图书馆管理信息系统中,计算机对大量的书目数据进行了有效的管理。作
为图书馆自动化系统的重要功能,公共查询充分发挥了计算机大容量、高速度的
特点,多检索途径索引的建立和组合逻辑检索使读者摆脱了卡片目录查找的不
便,极大地提高了查全率和查准率,降低了查找时间。
3. 有效的业务管理
图书馆管理信息系统的应用降低了图书馆业务工作的强度、提高了工作质量
和效率。很多手工工作方式中无法实现的功能,如流通系统中的多双轨制管理模
式,公务目录和读者目录中多套目录体系的维护等,都变得简单、易行,使图书
馆业务工作更为有效。
4. 便捷的读者服务
图书馆管理信息系统使直接面向读者的服务发生了巨大的变化。读卡器等输
入输出设备的应用使读者的查询、借阅等方面更为便捷、准确有效。读者可以通
过校园网,在学校的每个办公地点和家庭进行图书的查询、预约、续借乃至馆际
第八章 综合应用
3
互借,图书馆的读者服务工作质量和效率得到明显的提高。
8.2.3 软件开发环境
1. 开发方法:面向过程开发方法+面向对象开发方法
随着面向对象开发语言的普及,面向对象开发方法自然成为大多数项目开发
团队首选的方法。选用哪种开发方法取决于项目本身的特点和项目组成员的专
长。这里以面向过程开发方法为主(模块利用数据流图进行分析),辅之以面向对
象(利用UML建模的用例图对系统的角色进行用例分析)的综合开发方法,来完成
该项目的设计与实现。
2. 开发模型:瀑布模型
瀑布模型是阶梯式的生命周期法。软件的生存周期由立项、需求、计划、设
计、编程、测试、维护等阶段组成,前一阶段的输出为后一阶段的输入,后一阶
段以前一阶段的结果为依据,每一阶段的结果都要经过严格的评审,直到产生最
终的阶段成果。“图书馆管理信息系统”采用瀑布模型主要根据以下几点:
(1)开发人员在需求分析期间能够对用户的需求进行比较深入和全面的了
解,开发期间需求没有或者很少发生变化。(2)分析人员对需求环境的业务流程、
信息传递和需求目标比较熟悉,需求风险比较低。(3)用户使用环境比较稳定,
主要在图书馆内使用。(4)用户除了提出需求以外,很少参与开发工作。
3. 开发工具:Visual Basic 6.0+Visio 2003+PowerDesigner11+Microsoft
Access鉴于“图书馆信息系统”属于中小型信息系统,因此用Visual
Basic+Access的设计方案能够满足用户的需要,缩短开发周期。Visio主要用于
制作DFD、界面设计及UML建模,PowerDesigner11用于数据库概念模型设计和
物理模型设计。
8.2.4 可行性分析
1. 经济可行性
学校图书馆用于系统开发的预算基本可满足设备投入和人力投入。就收益而
言,由于图书馆自动化系统主要的效益是社会效益。系统一旦投入使用,将会极
大提高图书馆的工作效率和工作质量,为读者创造一个更好的环境和服务。
2. 技术可行性
现行的计算机技术、数据库技术和网络技术完全能实现本系统的功能要求,
并且系统开发人员都是学校从事计算机教学和科研的教师,既有理论知识,又有
实践经验,完全可以开发出满足要求的图书馆管理信息系统。
3. 社会可行性
系统开发和开发后的运行等活动不违反现行法律,没有对他人的专利、版权
造成侵犯,与现行的管理制度没有冲突。从系统的使用人员来看,可大致分为以
下几类:学生、教职工、图书馆管理人员和行政人员。用户的素质较高,大部分
受过高等教育,而且新开发的软件系统友好的界面及简便的操作方法,保证能满
足绝大多数用户使用该系统的要求。现有图书管理人员通过培训完全能掌握系统
和方便地使用系统。
鉴于以上分析可知,该图书馆管理信息系统开发项目不仅技术上可行,而且
还会带来巨大的社会效益。因此,可行性研究最后认为:该图书馆管理信息系统
具备系统开发的条件,项目可行,建议开始开发。
8.3需求分析