版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 综合应用小规模的软件开发本章通过一个实例图书馆管理信息系统的设计,介绍按软件工程的原理、方法开发软件的全过程。由于图书馆管理信息系统的需求学生比较熟悉,所以理解起来比较容易。编程语言采用较易掌握的Visual Basic,提供的设计、实现、测试是系统的,核心源代码以文字方式说明。在实际系统的开发过程中,系统的设计与开发往往需要一个团队集体完成,所以分工合作、协调工作能力、团队精神是非常重要的。对于同一个管理信息系统的开发,开发方法不是唯一的,可以采用传统的软件工程方法,也可采用面向对象的方法,开发过程没有标准答案。为了突出重点,对系统进行了简化。 8.1“图书馆管理信息系统”的立项背景
2、图书馆是高校的文献信息中心,是为学校教学和科学研究服务的学术性机构,是学校信息化的重要基地。图书馆的工作是学校教学和科研工作的重要组成部分,是学校师生学习和研究的重要场所。为了适应数字化信息环境,一种成功的跟踪最新技术,充分利用软硬件资源的“图书馆管理信息系统”孕育而生。某综合性大学的图书馆,其服务对象主要是该校的教师和学生。随着学校规模的不断扩大,现有教职工约3000人、学生20000人左右,馆藏各类图书近200多万册,期刊近4000多种,图书馆工作人员约90人,每天的借阅量近千册。在图书馆的图书数量不断增加、读者数目不断增长,对图书馆信息管理自动化和准确化要求日益强烈的背景下,为了实现图书
3、馆信息管理工作网络化,以及实现网络查询和统计一体化而开发的管理信息系统。该系统不仅为图书馆管理员提供一个个性化的界面,将读者需要的各种服务集中起来,图书管理员只需一次登录就可以使用所有服务;也为读者提供信息查询服务,读者可以很方便地进行图书和借阅情况查询。从图书信息的输入到读者借阅图书信息的管理,都可以通过这个系统完成。虽然图书馆在某些局部工作中使用了计算机,但尚未建立起真正的集成自动化系统,大部分业务工作仍靠手工完成。由于图书馆陈旧的管理手段给读者和图书馆管理员带来的很多操作上的不方便,同时为了提高工作效率、服务质量和管理水平,并使图书馆管理人员从繁琐的工作中解脱出来,所以下决心开发图书馆管
4、理系统。本图书馆管理信息系统在原有手工系统的基础上,增强数据库管理技术,增加图书信息的管理、读者信息的管理、读者借书和还书信息的管理等功能。通过进一步收集、整理、存储关于图书、读者的主要数据,以及原有系统的作业流程信息,为日后建立数据仓库做好准备。本系统采用最新的计算机技术,界面友好、操作方便,管理员可以针对不同需求分类、排序、查询、统计,方便读者和其他部门根据自己的需求准确、快速地查询图书信息,实现以计算机辅助形式代替传统的手工查找形式,减轻图书信息管理人员的劳动强度,提高图书馆的工作效率和水平,更好地为读者服务,从而使图书和读者管理更加合理化和科学化。 8.2 可行性研究在项目可性行研究阶
5、段,分析人员对图书馆工作环境进行了实地调查。同主要领导、管理人员和工作人员进行了交流,对手工工作情况、工作流程、所完成的任务及目前存在的问题、新系统要解决的主要问题等进行初步调查。初步调查研究的结果成为可行性研究的前提。8.2.1 现有系统存在的问题目前,学校图书馆的部门有采编部、图书借阅部、电子阅览室、期刊阅览室、技术服务部和办公室等部门,负责各自相关的工作。图书馆存在的主要问题有:1. 图书馆的业务工作涉及各类数据量大,读者人数多。手工模式下的工作劳动强度高,效率低,错误多,处理速度慢。2. 在各类业务工作中,编目工作具有智力程度高、工作量大的特点,是图书馆工作流程中的瓶颈。手工编目工作存
6、在成本高、劳动重复和编目结果总体不一致等问题,编目规范难以彻底贯彻。3. 在手工工作中,很多理论上可行的工作方法,如读者预约借书等工作,实际难以实现。4. 业务工作中存在着大量查找工作,如图书查询、读者查询等,手工查询方式速度慢,查准率和查全率低,影响了图书馆的服务质量。针对以上问题,需进行图书馆管理信息系统的开发工作。在本次开发中,开发工作涉及采编部、借阅部、期刊部等四个部门。技术服务部、阅览室、办公室等部门不在系统开发范围之内。为了节省篇幅,这里主要介绍借阅子系统的开发。8.2.2 新系统的功能本系统开发的目的,就是通过系统开发,实现图书馆有关部门工作的计算机化,提高关键业务环节的处理速度
7、和规范化程度,并对有关的工作进行集成和重组,通过网络系统加强本图书馆同其他图书馆之间的业务联系,提高业务工作水平,进而全面提高工作效率和质量,更好地为读者服务。图书馆管理信息系统的应用可大幅度提高图书馆工作的效率和质量,这主要表现在以下几个方面:1. 联机编目编目是组织图书馆文献资源的手段。编目工作所形成的图书馆书目体系是管理、揭示和利用馆藏的唯一工具,也是图书馆重要的数据资源。编目工作具有多种工作形式,其中联合编目是多馆协同合作编目的一种方式。联合编目克服了各馆分散编目所造成的编目成本高、重复劳动和编目结果总体不一致问题,提高了编目效率和质量。联合编目的实施需要一个基本的编目环境,即联合编目
8、的管理中心和成员馆之间便捷的数据存取途径,而在当前技术条件下满足这种环境要求的配置是广域网环境下连接各成员馆内的自动化系统。在编目过程中,各成员馆应同编目的管理中心联机,以完成编目数据的共享、数据上载和一致性的验证。2. 查询服务在图书馆管理信息系统中,计算机对大量的书目数据进行了有效的管理。作为图书馆自动化系统的重要功能,公共查询充分发挥了计算机大容量、高速度的特点,多检索途径索引的建立和组合逻辑检索使读者摆脱了卡片目录查找的不便,极大地提高了查全率和查准率,降低了查找时间。3. 有效的业务管理图书馆管理信息系统的应用降低了图书馆业务工作的强度、提高了工作质量和效率。很多手工工作方式中无法实
9、现的功能,如流通系统中的多双轨制管理模式,公务目录和读者目录中多套目录体系的维护等,都变得简单、易行,使图书馆业务工作更为有效。4. 便捷的读者服务图书馆管理信息系统使直接面向读者的服务发生了巨大的变化。读卡器等输入输出设备的应用使读者的查询、借阅等方面更为便捷、准确有效。读者可以通过校园网,在学校的每个办公地点和家庭进行图书的查询、预约、续借乃至馆际互借,图书馆的读者服务工作质量和效率得到明显的提高。8.2.3 软件开发环境1. 开发方法:面向过程开发方法+面向对象开发方法随着面向对象开发语言的普及,面向对象开发方法自然成为大多数项目开发团队首选的方法。选用哪种开发方法取决于项目本身的特点和
10、项目组成员的专长。这里以面向过程开发方法为主(模块利用数据流图进行分析),辅之以面向对象(利用UML建模的用例图对系统的角色进行用例分析)的综合开发方法,来完成该项目的设计与实现。2. 开发模型:瀑布模型瀑布模型是阶梯式的生命周期法。软件的生存周期由立项、需求、计划、设计、编程、测试、维护等阶段组成,前一阶段的输出为后一阶段的输入,后一阶段以前一阶段的结果为依据,每一阶段的结果都要经过严格的评审,直到产生最终的阶段成果。“图书馆管理信息系统”采用瀑布模型主要根据以下几点:(1)开发人员在需求分析期间能够对用户的需求进行比较深入和全面的了解,开发期间需求没有或者很少发生变化。(2)分析人员对需求
11、环境的业务流程、信息传递和需求目标比较熟悉,需求风险比较低。(3)用户使用环境比较稳定,主要在图书馆内使用。(4)用户除了提出需求以外,很少参与开发工作。3. 开发工具:Visual Basic 6.0+Visio 2003+PowerDesigner11+Microsoft Access鉴于“图书馆信息系统”属于中小型信息系统,因此用Visual Basic+Access的设计方案能够满足用户的需要,缩短开发周期。Visio主要用于制作DFD、界面设计及UML建模,PowerDesigner11用于数据库概念模型设计和物理模型设计。8.2.4 可行性分析1. 经济可行性学校图书馆用于系统开发
12、的预算基本可满足设备投入和人力投入。就收益而言,由于图书馆自动化系统主要的效益是社会效益。系统一旦投入使用,将会极大提高图书馆的工作效率和工作质量,为读者创造一个更好的环境和服务。2. 技术可行性现行的计算机技术、数据库技术和网络技术完全能实现本系统的功能要求,并且系统开发人员都是学校从事计算机教学和科研的教师,既有理论知识,又有实践经验,完全可以开发出满足要求的图书馆管理信息系统。3. 社会可行性系统开发和开发后的运行等活动不违反现行法律,没有对他人的专利、版权造成侵犯,与现行的管理制度没有冲突。从系统的使用人员来看,可大致分为以下几类:学生、教职工、图书馆管理人员和行政人员。用户的素质较高
13、,大部分受过高等教育,而且新开发的软件系统友好的界面及简便的操作方法,保证能满足绝大多数用户使用该系统的要求。现有图书管理人员通过培训完全能掌握系统和方便地使用系统。鉴于以上分析可知,该图书馆管理信息系统开发项目不仅技术上可行,而且还会带来巨大的社会效益。因此,可行性研究最后认为:该图书馆管理信息系统具备系统开发的条件,项目可行,建议开始开发。 8.3需求分析8.3.1 需求分析概述需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。通过需求分析充分认识系统的目标、系统的各个组成部分、各部分的任务职责、业务范畴、工作流程、工作中使用的各种数据及数据结构、各部门的业务关系和数据流程等
14、,为系统设计打下基础。需求分析的好坏往往决定了系统开发的成败。需求分析从系统的调查研究入手,需求分析要对系统的各个方面有全面的了解,既包括系统内部的各个方面,也包括与系统有联系的各种外部因素。通过调查研究和分析,对系统产生比较深刻的认识。需求分析阶段的最终结果是“需求分析说明书”,它涵盖了对用户环境、事务处理和信息流程分析的一切成果,供项目开发组和用户共同遵守。如果采用瀑布模型,就要对“需求分析说明书”进行冻结,使它成为凝固可靠的基线。万一要求变更基线,开发者和用户双方,都必须执行基线变更程序,此变更程序在合同中已做了明确规定。现针对“图书馆信息系统”对图书馆的组织结构、业务流程、用户角色职能
15、、系统数据流进行分析。利用结构化分析和UML中的用例从大到小、从粗到细进行系统建模。8.3.2 组织结构调查系统的组织结构,反映了单位内部各个部门的职责划分和它们之间的关系。为了对系统有一个全貌性的了解,首先要对系统内部部门结构、人员组织及用户情况有所了解。对系统组织结构的调查,是从总的方面对系统进行宏观了解和分析。信息的流动关系是以组织结构为背景的,而且总是伴随着组织部门之间的资金流和物流的传递而产生。图书馆系统的组织结构如图8-1所示。图8- 1 图书馆内部的组织结构图图书馆由馆长负责全面工作,下设办公室、采编部、图书借阅部、电子阅览室、期刊阅览室和技术支持部。各部门的业务职责如下:办公室
16、:协助馆长负责日常工作,了解客户需求,制定采购计划。采编部:负责图书的采购、入库和图书编目,编目后的图书粘贴标签,并送图书借阅部上架借阅。图书借阅部:提供对读者的书目查询服务和图书借阅服务。电子阅览室:收集整理电子读物,提供电子读物的借阅服务。期刊阅览室:负责期刊的收集整理和借阅。技术服务部:完成拍照、复印工作及计算机等设备的维护工作。8.3.3 系统用户分析“图书馆管理信息系统”主要是针对图书借阅工作而开发的应用软件。通常有系统管理员、图书管理员和读者三种用户,他们的使用权限如下:系统管理员:计算机人员,对系统、数据库进行维护,主要对不同人员赋予不同的权限。图书管理员:对图书信息进行录入和统
17、计。读者:一般操作水平,能够在本系统查询个人信息和图书信息。8.3.4 UML用例图建模图8-2是根据用户的职能建立的用例图。图8-2中表示包含关系,表示被包含用例是被多个包含用例使用的一个可复用模块,而表示对用例的扩展。图8- 2 图书管理系统业务用例图8.3.5 数据流图数据流图是全面描述系统逻辑模型的工具,它抽象概括地把系统中各种业务处理过程联系起来。为突出重点,本章只对借阅部分的工作进行数据流分析。在画“图书馆信息系统”的数据流图时,首先要画出整个顶层图,以保证对整个系统的概况有个整体了解,然后把顶层图中的细节用下一层次的数据流程图来表示,按照由粗到细、逐层细化的原则对系统的各个模块进
18、行深入的分析。图8-3是“图书馆信息系统”的顶层数据流图。图8- 3 “图书馆管理信息系统”的顶层数据流图项层图只是粗略地给出了整个系统的数据流情况,为了更好地把“图书馆管理信息系统”中各个模块的具体数据流处理细节表示出来,可以在顶层图的基础上自顶向下地继续分解,得到1层数据流程图,如图8-4所示。图8- 4 图书馆管理信息系统l层数据流图在1层数据流图中对“图书馆信息系统”的顶层图进行了细化,分解成系统管理、图书管理、借阅管理和读者管理4个功能模块。由于1层数据图仍然不够详细,因此需要对1层数据流图中各个加工进一步细化,单独画出一张数据流图,如图8-5至图8-7所示。图8-5中图书管理主要由
19、图书信息管理、图书资料管理、出版社管理和注销管理组成。图书管理员将图书信息输入系统,并根据图书信息确定图书的类别和出版社;如果有图书丢失等情况,图书管理员还要进行图书注销处理。图8- 5 加工2“图书管理”的数据流图图8-6中读者管理主要由读者类别管理和读者信息管理组成。系统管理员把办理借阅图书业务的读者信息输入系统,并根据读者办理的借阅情况设定不同的借阅等级,根据等级不同,对读者的借阅时间和数量进行相应的设置。图8- 6 加工3“读者管理”数据流图图8-7中借阅管理主要由借书管理、续借管理和还书管理组成。主要管理读者的图书借阅(包括续借)和图书归还操作,根据读者的类别和读者信息限定读者借阅图
20、书的数量和归还日期,并检查读者是否有过期借阅、丢失或损坏图书的情况,如果有则按照相关规定对读者进行罚款。图8- 7 加工4“借阅管理”数据流图8.3.6 数据字典为了对数据流图中各元素进行详细的说明,采用了数据字典的说明方法。由于篇幅限制,仅对图书馆管理信息系统数据流图的部分数据字典举例说明如下:1. 数据流条目数据流名称:图书录入信息简 述:图书采编信息数据流来源:图书购买后,由图书馆管理人员编码整理后,输入计算机数据流去向:加工2.1图书信息管理,该加工将录入的数据存入数据库(图书信息表)数据项组成:图书ID+图书类别+书名+作者+译者+出版社+单价+出版日期+购买数量数据流量:80本/天
21、高峰流量:500本/天数据流名称:图书查询信息简 述:图书查询信息数据流来源:读者数据流去向:加工2.1,图书信息管理数据项组成:图书编码|书名|作者|出版社数据流量:2000次/天高峰流量:4000次/天数据流名称:查询情况简 述:返回给读者的查询结果数据流来源:加工2.1图书信息管理数据流去向:读者数据项组成:查无此书|符合条件的图书数量+图书馆藏号+图书类别+书名+作者+出版社+出版日期+在库册数数据流量:2000次/天高峰流量:4000次/天数据流名称:读者录入信息简 述:读者信息数据流来源:图书管理员数据流去向:加工3.2读者信息管理,该加工将录入的数据存入数据库(读者信息表)数据项
22、组成:读者ID+读者编号+读者姓名+读者性别+出生日期+办证日期+读者状态+已借书数+证件名称+证件号码+读者单位+读者部门+联系电话+联系地址+电子邮件+备注数据流量:80人次/天高峰流量:500人次/天2. 加工条目加 工 名:读者信息管理处理逻辑编号:3.2处理逻辑:接收读者信息的录入,并检查有无错误,如果没有错误,将数据存入读者信息表激发条件:接收到读者信息时输 入:读者录入信息输 出:读者信息加 工 名:还书管理编 号:4.2处理逻辑:在借阅信息表查找应还日期 IF 当日期日期超过应还日期或图书丢失 THEN 发“罚款信息” ELSE 将还书信息存入还书信息表激发条件:接收到读者借书
23、证时输 入:还书信息输 出:罚款信息3. 数据存储条目数据存储编号:D1数据存储名称:读者信息表简 述:存储读者详细信息组 成:读者ID+读者编号+读者姓名+读者性别+出生日期+办证日期+读者状态+已借书数+证件名称+证件号码+读者单位+读者部门+联系电话+联系地址+电子邮件+备注关 键 字:读者ID组织方式:索引文件,以读者ID为关键字相关连的处理:加工3.2、加工4.1、加工4.2数据存储编号:D2数据存储名称:图书信息表简 述:存储图书详细信息组 成:图书编号+图书名称+标准ISBN+类别编号+类别名称+书架位置+作者+译者+出版社名+出版地点+图书页数+图书价格+现存量+库存总量+借阅
24、次数+是否注销+入库日期+出版日期+内容简介+备注关 键 字:图书编号组织方式:索引文件,以图书编号为关键字相关连的处理:加工2.1、加工4.1数据存储编号:D3 数据存储名称:借阅信息表简 述:存储借书情况的详细信息组 成:图书编号+图书名称+读者编号+读者姓名+借阅数量+借阅日期+应还日期+续借次数关 键 字:无组织方式:普通文件相关连的处理:加工4.1、加工4.24. 数据项条目数据项名称:读者编号别 名:证号简 述:给每个读者的一个唯一的、做标识用的号码组 成:单位代码+流水号码类 型:字符串长 度:6位取值范围:000000.999999数据项名称:办证日期简 述:给读者签发借书证的
25、日期组 成:年+月类 型:字符串长 度:6位取值范围:有意义的年、月值数据项名称:读者类别简 述:读者在图书流通管理中的身份和借出权限的类型组 成:教师|行政人员|学生类 型:1个字符长 度:1位取值范围:0|1|28.3.7 IPO图借阅工作应完成借还管理、图书管理、读者管理、查询统计和系统管理等功能,如图8-8的IPO图所示。图8- 8 图书馆管理信息系统的IPO图8.3.8用户其他需求1. 性能要求查询服务部分:读者通过本地计算机,从提交查询命令到返回结果不超过8秒钟。数据管理部分:图书管理员从提交一次录入到结果返回不超过8秒钟。2. 灵活性要求如果要为数据项设计编码,尽可能采用行业标准
26、,自行编码也应合乎规范,并留有扩充余地,还要征得相关业务部门认可。数据库设计也应考虑可扩充性,以适应今后图书馆发展和系统升级的需要。3. 故障处理要求正常使用时不应出错,一般性错误时应给出错误提示。应提供定期自动备份数据库的功能,当遇到不可恢复的系统错误,可以保证数据库完好无损。在系统出错后,应能恢复最近一次备份数据库的状态。4. 其他要求安全性。不同的用户具有不同的使用权限,只有具有最高权限的系统管理员才能修改、注销数据库中的信息,具有一般权限的人员只能读取与自己相关的内容。一致性。系统的数据要保证一致性、准确性,当某一数据库中记录改变时,与之相关联的数据库也会随之变化。易操作性。界面设计要
27、符合大多数用户的操作习惯,系统还要提供操作指南,便于用户操作使用。 8.4概要设计软件开发的第二个阶段是概要设计,在需求分析阶段确定了系统“做什么”的基础上,设计系统“怎么做”。概要设计注重于宏观上和框架上的设计,它的设计内容包括软件系统的总体结构设计、数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的接口设计等。8.4.1系统结构设计1. 系统功能模块的划分概要设计的核心问题是确定系统总体结构和模块划分。系统功能要层层划分,直到每一个模块可以作为一个可以执行的程序单元为止。功能模块划分的最终结果,是系统结构图。根据需求分析,该图书馆管理信息系统可由图书管理、读者管理、借阅
28、管理、系统管理、系统帮助等子系统组成,如图8-9所示。 图8- 9 图书馆管理信息系统的系统结构图2. 各子系统的主要功能(1)图书管理子系统即管理和维护图书的各项数据信息,包括书名、作者、出版社、版本号、出版日期、图书类别号及是否在库等信息,以及注销图书、维护出版社资料。其中图书类别号必须是图书类别表中的一种。允许图书管理员和系统管理员添加图书信息和查询图书信息。图书类别管理:即管理和维护图书类别数据,主要有类别编号和类别名称两项。允许图书管理员和系统管理员添加图书类别信息和查询图书类别信息。该子系统功能由bookinfor模块完成。(2)读者管理子系统:即管理和维护读者的各项数据信息,包括
29、读者ID、姓名、读者类别、已借图书数、是否有超期欠款及每天罚款金额等。其中读者类别分为3类:学生(借书5本,借期1月),类型代码2;行政人员(借书8本,借期2月),类型代码1;教师(借书8本,借期3月),类型代码0。当超期欠款大于3.00元时,读者将不能继续借阅图书。当读者离校被删除时,读者被设为无效,也将不能再借阅图书。允许图书管理员和系统管理员添加读者信息、删除读者信息和查询读者信息。该子系统功能由reader模块完成。(3)借阅管理子系统即管理和维护图书的借阅、归还及读者的缴纳超期欠款等信息。包括读者所借阅的图书号、借阅日期、应该归还的日期、实际归还的日期及超期欠款数等数据。主要功能有图
30、书借阅、图书归还、缴纳罚款和续借图书4项功能。该子系统功能由borrow模块完成。(4)系统管理子系统即管理和维护用户的各项数据信息,包括用户ID、姓名、密码和用户类型。主要有添加删除用户信息、修改用户密码、系统初始化和系统备份等4项功能。用户类型决定了用户的权限管理,系统定义了3种用户权限:第1种是图书管理员,代码2,只能登记图书借阅和归还信息,查看图书类别和图书信息;第2种是高级管理员,代码l,除了普通管理员的权限,还能添加新的图书资料和图书类别资料,管理读者信息(添加、删除和查询);第3种是系统管理员,代码0,能够执行任何命令,除了高级管理员的权限,还能够执行用户管理操作(如添加新用户、
31、删除和查询用户信息等)。该子系统功能由arrangment模块完成。(5)系统帮助子系统即为用户提供操作帮助,解决用户使用过程中遇到的一般性问题。该子系统功能由help模块完成。8.4.2 数据库设计数据库是应用系统的核心,应当精心设计,以保证系统的正确、可靠、高效运行。数据库设计包括数据库需求分析、数据库概念设计、数据库逻辑结构设计和数据库物理设计。数据库设计的目的,是为信息系统在数据库服务器上建立一个理想的数据模型。1. 数据库需求分析图书馆管理信息系统的数据库主要用于图书信息、读者信息、图书管理员信息和图书借阅信息的管理,因此数据库设计必须充分满足这些功能要求。根据系统结构设计中各子系统
32、的功能要求,可确定数据库的具体需求如下:(1)读者信息管理部分A、图书管理员可对读者信息进行维护,如添加、删除读者信息等。B、图书管理员可通过读者ID查询读者信息,因此读者ID必须惟一,且为必填字段。C、每个读者必须对应一种读者类型(教师、行政人员、学生),数据库根据读者类型判断读者可借阅的图书数量和借阅期限。D、在读者已经借阅图书信息中必须包含读者信息,读者每次借阅时数据库都会比较该读者已借阅图书数是否小于该读者类型可借阅的图书数,不满足该条件读者将不能继续借阅图书。E、读者信息中还应包括读者的超期罚款,本实例中超期罚款按照图书超期天数计算(0.05元/本/天),当读者超期罚款超过一定数额(
33、本例中定为3.00元)时,该读者将不能继续借阅图书。F、读者可以注销(如学生毕业离校或被开除等),即删除读者,但注销后并不能清除所有读者信息,因为该读者有可能还没有缴纳罚款等,只能标记该读者不可用。所以读者信息中还应用一个字段来标记读者是否有效。(2)图书资料管理部分A、图书管理员可对图书资料数据进行维护,可添加新图书信息。B、图书管理员可对图书类别进行维护,可添加新图书类别。C、图书管理员可对图书信息进行查询,因此可查询的书名和作者名应该设为必填字段。D、图书管理员可查看图书类别。E、图书是否在库可借应储存在图书信息中,因此图书信息数据中必须有一个字段来记录。F、为了统计图书借阅次数排名,对
34、于每本书必须有一个字段记录该书被借出的次数。G、图书资料记录中的图书类别号必须与图书类别记录中的类别号相关联。(3)图书借阅信息管理部分A、图书管理员可添加图书借阅、图书归还和缴纳罚款记录。B、通常图书借阅和归还记录会分开添加,因此在添加的图书借阅记录中,关于归还和罚款的字段可以为空。C、每次图书借阅,数据库都应该根据读者的类型,计算应归还的日期,并记录到数据库相应的字段。D、每次图书归还都应该计算该书是否有超期欠款,并记录在每条图书借阅记录中相应字段,然后才累加到读者信息记录中读者欠款处。E、图书借阅信息中的读者ID必须与读者信息记录中的读者ID相关联。F、图书借阅信息中的借阅图书号必须与图
35、书资料记录中的图书号相关联。(4)用户信息管理部分A、用户有权限划分,每个用户ID必须对应一个用户权限类型(系统管理员、高级管理员、图书管理员)。B、用户ID必须惟一。C、系统管理员可以维护用户信息,如添加、删除管理员信息。D、系统管理员可以查询用户信息,因此可查询字段(用户ID)必须设置为必填字段。2. 数据库概念设计根据数据库的需求分析,接着开始数据库概念设计。数据库概念设计是指设计出数据库的概念数据模型,即实体-联系图(简称E-R图)。为突出重点,这里只给出图书借阅部分的E-R模型,如图8-8所示。图8- 10图书借阅部分的E-R模型3. 数据库逻辑结构设计数据的概念结构设计完毕后,要将
36、设计出来的数据库概念模型转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。图书馆管理信息系统数据库中各个数据表的设计结构如表8-1表8-8所示。每个表格表示在数据库中的一个表。数据库命名为libraryMIS,由8个数据表组成,数据表的命名采用拼音综合,每个表由若干字段组成,字段用汉字命名。下面设计8个表的具体字段。(1)读者信息表:存放读者基本信息,表8-1列出了所有字段信息。表8- 1 Dzxxb读者信息表(2)图书信息表:存放图书基本信息,表8-2列出了所有字段信息。表8- 2 Tsxxb图书信息表(3)借书信息表:存放借书信息,表8-3列出了借书信息表所有字段信息。表8
37、- 3 Jsxxb借书信息表(4)读者类别表:存放读者借阅类别,表8-4列出了所有字段信息。表8- 4 Dzlbb读者类别表(5)图书类别表:存放图书类别信息,表8-5列出了所有字段信息。表8- 5 Tslbb图书类别表(6)注销信息表:存放图书注销信息,表8-6列出了所有字段信息。表8- 6 Zxxxb注销信息表(7)出版社类别表:存放出版社信息,表8-7列出了所有字段信息。表8- 7 Cbslbb出版社类别表(8)还书信息表:存放还书信息,表8-8列出了还书信息表所有字段信息。表8- 8 Hsxxb还书信息表(9)罚款信息表:存放被罚款人和罚款金额等信息,表8-9列出了罚款信息表所有字段信
38、息。表8- 9 Fkxxb罚款信息表(10)用户信息表:存放用户信息,表8-8列出了用户信息表所有字段信息。表8- 10 Yhxxb用户信息表4. 数据库物理设计数据库物理设计是指设计出数据库的物理数据模型,它是数据库在物理设备上的具体实现,即数据库服务器物理空间上的表空间、表、字段、索引、视图、存储过程、触发器以及相应的数据字典的设计。经过数据库的需求分析和概念模型设计,得到数据库的逻辑结构。现在可以设计好的逻辑结构在Access中建立数据库及数据库中的数据表了,具体实现步骤就不再赘述了。 8.5详细设计详细设计是在概要设计的基础上,进一步确定实现系统各层次上所需的具体功能,它的任务不是编写
39、主要的程序代码,而是设计出程序的实现过程,使程序员据此编写程序。8.5.1登录模块详细设计1. 登录窗体功能:用户选择自己的用户名并输入正确密码登录系统。(1)输入项:用户名及该用户所对应的密码。(2)输出项:相应的系统登录提示信息。(3)界面设计:如图8-11所示。(4)测试要点:如果输入的三次密码都错了,能否退出程序。图8- 11 登录界面2. 登录成功后窗体界面菜单功能项设计登录成功后,系统提供的主菜单及其下拉菜单功能项设计如图8-12所示。测试要点:各菜单项与相应的功能窗体能否成功连接。图8- 12 登录窗体的菜单项显示界面8.5.2 读者管理子系统详细设计1. 增加读者资料(1)功能
40、:添加读者相关信息。(2)输入项:读者信息,其中“读者编号”、“读者姓名”、“读者性别”、“读者类别”和“读者状态”为必填项。(3)输出项:显示错误信息,或添加后显示在“读者信息管理”窗体表格中的相应读者信息。(4)界面设计。如图8-13所示。(5)模块编程设计伪码说明(存储数据表:Dzxxb读者信息表、Dzlbb读者类别表)。图8- 13 增加读者资料界面“保存”按钮伪码说明:查找“读者信息表”中是否存在要添加的读者编号,如果有则显示错误信息检查读者编号、读者姓名、读者性别、读者类别和读者状态是否填写If 该读者编号不存在 and 检查通过 then “读者信息表”中“已借数量值=0”,设为
41、当前用户 添加该读者信息到“读者信息表”和“读者信息管理”窗体表格中End if“清空”按钮伪码说明:清空所有框,办证日期框设为系统当前日期。(6)测试要点:读者信息能否正确录入。2. 修改读者资料(1)功能:修改读者资料。(2)输入项:读者修改信息,其中读者姓名、读者性别、读者类别和读者状态必填。(3)输出项:输入错误提示信息,或在“读者信息管理”窗体表格中显示修改后对应读者的信息。(4)界面设计:如图8-14所示。图8- 14 修改读者资料界面(5)模块编程设计伪码说明(存储数据表:Dzxxb读者信息表)。“保存”按钮伪码说明:检测读者编号、读者姓名、读者性别、读者类别和读者状态If 检测
42、通过 then “读者信息表”中值保持不变,设为当前用户 修改“读者信息表”和“读者信息管理”窗体表格中对应的图书记录 退出当前窗体End if(6)测试要点:能否正确修改读者记录,并显示在“读者信息管理”窗体的表格中。3. 查询读者资料(1)功能:查询读者信息。输入查询条件,对读者可进行模糊查询,如果想显示全部记录,在读者编号中输入“”即可。(2)输入项:查询条件。(3)输出项:输入提示错误信息,或在“读者信息管理”窗体表格中显示的查询后对应读者的信息。(4)界面设计:如图8-15所示。图8- 15 查询读者资料界面(5)模块编程设计伪码说明(存储数据表:Dzxxb读者信息表)。“查询”按钮
43、伪码说明:能进行一个或多个条件查询,可以进行模糊查询。“退出”按钮伪码说明:退出此窗体,显示“读者信息管理”窗体。(6)测试要点:能否进行一个或多个条件查询。能否进行模糊查询,例如查找060001801,只输入06就会显示以06开头的所有记录;如输入801就会显示所有含801的记录。4. 读者类别管理(1)功能:对读者类别信息进行添加、修改、删除等操作。操作过程中应注意,必须先输入读者类别,才能进行读者信息的录入。(2)输入项:读者类别信息,信息的输入要注意以下几点:A、所有输入的数量值必须大于等于零B、可借阅数量和可借阅天数必须大于零C、读者类别不能为空,且是唯一的D、罚款金额的格式为“0.
44、00”(3)输出项:信息录入错误提示信息,或添加、修改和删除操作后显示在当前窗体表格中的记录值。(4)界面设计:如图8-16所示。图8- 16 读者类别管理界面(5)模块编程设计伪码说明(存储数据表:Dzbb读者类别表、Jsxxb借书信息表)。“保存”按钮伪码说明:检查可借阅数量0?AND 可借阅天数0?AND 读者类别是否为空且唯一If 符合检测条件 then 添加该读者类别信息到“读者类别表”和“读者类别管理”窗体的表格中End if“清空”按钮伪码说明:清空读者类别管理窗体的所有文本框的值,并且将输入焦点设置读者类别中“修改”按钮伪码说明:修改“图书信息表”和“读者类别管理”窗体表格中对
45、应的图书记录。“删除”按钮伪码说明:查找借书信息表中当前读者的读者类别中是否存在当前将要删除的读者类别If 存在 then 提示“借书信息表”中有当前类别的读者,不能删除该类别Else 提示用户是否删除当前记录If 是 then 删除“图书信息表”中相应的记录和“读者类别管理”窗体表格中相应的图书记录 End ifEnd if(6)测试要点:能否在“读者类别表”和当前表格中正确显示所输入的信息,且“读者类别”是唯一的。当“借书信息表”中存在该类别的读者时,不能删除该类别的记录。5. 读者信息管理(1)功能:添加、修改、删除和查询读者信息。若修改或删除某读者的信息,可先查询出该读者信息并显示在当
46、前表格中,便于进行修改或删除操作。(2)输入项:读者相关信息。(3)输出项:错误提示信息,或将进行添加、修改、删除和查询操作的读者信息显示在当前窗体表格中。(4)界面设计:如图8-17所示。图8- 17 读者信息管理界面(5)模块编程设计伪码说明(存储数据表:Dzxxb读者信息表、Dzlbb读者类别表、Jsxxb借书信息表、Hsxxb还书信息表、Fkxxb罚款信息表)。“添加”按钮伪码说明:调用子窗体新增读者资料。“修改”按钮伪码说明:调用子窗体修改读者资料。“删除”按钮伪码说明:选择读者“信息管理窗口”表格中的一条记录,查找“读者信息表”中对应读者的“已借书数”If 已借书数0 then 显
47、示错误提示信息,提示读者曾经借出该图书,必须还书后才能进行删除 调用还书窗体Else 查找“还书信息表”中对应读者是否需要交纳罚款 If 欠款0 then 显示错误提示信息,提示读者有欠款,必须先交清欠款后才能进行删除 调用还书窗体Else 提示用户是否确认删除该读者记录 If 是 then 查找“还书信息表”和“罚款信息表”中是否存在该读者信息 If 存在 then 询问是否删除其他有关该读者信息的记录,或取消删除操作 If 删除 then 删除“还书信息表”对应读者的所有信息 删除“罚款信息表”对应读者的所有信息Else 退出操作 End if End if End if 删除“读者信息表
48、”和“读者信息管理”模块中对应的记录End ifEnd if“查询”按钮伪码说明:调用子窗体查询读者资料。(6)测试要点:添加、修改、删除和查询等操作能否正确进行,并将结果显示当前窗体的表格中。系统管理子系统、图书管理子系统和借阅管理子系统的详细设计与此类似,这里就不一一说明了。 8.6 系统实现系统实现是用程序设计语言和开发工具实现详细阶段界面设计的界面编程。本实例只给出登录窗体实现代码和读者管理子系统的实现要点。8.6.1 登录窗体1. 登录窗体功能:用户选择自己的用户名,输入正确密码即可登录系统;三次密码错误退出登录窗体。2. 登录窗体界面:如图8-18所示图8- 18 登录窗体3. 代
49、码实现option ExplicitDim cnt As Integer-Private Sub cmdok_Click()“确定”按钮单击事件代码 Dim rs As New ADODB.Recordset Dim sql As StringIf Trim(cmbo用户名.Text)=” Then MsgBox “没有这个用户”,vbOKOnly+vbExclamation,”用户名错误” cmbo用户名.SetFocus ElseIf Trim(txt密码.Text)=” Then MsgBox “密码不能为空”,vbOKOnly+vbExclamation,”密码错误” txt密码.Se
50、tFocus E1se cnt=cnt+1 sql=”select * from yhxxb where 用户名=” &cmbo用户名.Text ”Set rs=TransactSQL(sql) If Trim(rs.Fields(1)=Trim(txt密码.Text) Then user=cmbo用户名.Text rs.Close Unload Me frmabout.Show E1seIf cnt=3 Then MsgBox “密码三次不正确,退出系统!”,vbOKOnly+vbInformation,”信息”Unload Me Else MsgBox “密码不正确”,vbOKOnly+v
51、bExclamation,”错误” txt密码.Text=” txt密码.SetFocusEnd IfEnd IfEnd Sub-Private Sub cmdexit_Click()“退出”按钮单击事件代码If MsgBox(“确实要退出系统吗?”,vbQuestion+vbYesNo,”退出系统”)=vbYes Then Unload MeEnd IfEnd Sub8.6.2 读者管理1. 增加读者资料(1)功能:添加读者资料。(2)实现要点:“读者类别”为空或没有读者类别可供选择时,必须先到读者类别管理窗体中填写该读者类别信息后再添加读者信息。“读者性别”的默认值为男;“读者状态”为正常、挂失、停用;“读者类别”数据来源为“读者类别表”的读者类别字段。(3)窗体界面:如图8-19所示。图8- 19 增加读者资料2. 修改读者资料(1)功能:修改读者资料。(2)实现要点:“读者姓名”、“读者性别”、“读者类别”和“读者状态”为必填项,不能修改为空。“读者编号”中的内容只能显示不能修改。(3)窗体界面:如图8-20所示。图8- 20 修改读者资料3. 查询读者资料(1)功能:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 带安抚巾的毛绒玩具产业规划专项研究报告
- 某地产住宅机电工程作业指引
- 养老院安全监控系统维护方案
- 安全监控机器人的出租行业营销策略方案
- 医用或牙科用扶手椅产业规划专项研究报告
- 大型吊车项目施工环境保护方案
- 房屋赠与协议书法律解读
- 外科手术用铂金烧灼器市场发展预测和趋势分析
- 海洋工程环境监测方案
- 桥梁防水防潮施工合同实例
- 结构加固施工方案说明范本
- 爱心助学基金会章程样本
- 2010年408真题及答案解析
- 劳动教育课程实施方案(通用12篇)
- 慕课课程课件
- 0~36个月儿童中医药健康管理服务
- 高中英语-Explore Peru教学设计学情分析教材分析课后反思
- “工匠精神”视域下的高职院校学生职业素养教育的路径研究课题开题报告
- 不要等到毕业以后(升级版)
- 一企一标准一岗一清单手册模板
- 英语教学理论系列:中小学英语教学研究方法
评论
0/150
提交评论