数据库课程设计报告图书管理系统 .doc
计算机学院信息管理与信息系统专业 数据库课程设计报告 (2010/2011学年 第一学期)学生姓名: 学生班级: 学生学号: 指导教师: 2011年1月1日 目录第一章 系统分析 11.1 可行性研究11.2 工作进度安排2第二章 系统需求分析 32.1 系统目的32.2用户需求分析32.3业务流程图42.4数据流图52.5 系统数据字典11第三章 概要设计153.1硬件环境153.2软件环境153.3系统流程图15第四章 详细设计174.1 图书管理系统E-R图174.2 数据库逻辑模型设计204.3程序流程图20第五章 测试分析235.1完整性的定义及关系属性的定义235.2 数据库实现245.3 系统实现335.3.1界面设计335.3.2图书馆管理模块设计与实现355.3.3图书记录维护模块的设计与实现355.3.4 图书馆服务功能模块设计与实现375.3.5图书查询模块设计与实现385.3.6借书处理模块设计与实现405.3.7还书处理模块设计与实现445.3.8退出系统47第六章 系统评价 48结束语 49参考文献50第一章 系统分析1.1 可行性研究 可行性研究的主要目标是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行调查分析,从技术可行性、经济可行性、操作可行性等方面进行系统可行性研究,并提出开发系统的初步方案与计划。设计的目的:通过本次设计,加深对数据库基础理论和基本知识的理解,掌握软件系统设计的全过程,及使用数据库进行软件设计的基本方法,培养编制软件文档及运用数据库解决实际问题的能力。通过调查分析,图书管理系统的设计与开发有以下三个可行性:(1) 技术可行性本系统采用Windows XP作为操作平台,数据库管理系统采用SQL Server 2000相关技术,该数据库管理系统,有数据复制、备份功能,提高了数据的可行性和安全性,技术开发人员已基本熟练掌握SQL Server 2000相关技术,所以技术上是可行的。(2) 经济可行性硬件设备:服务器服务器软件:Windows XP、Windows Server 2003或高级服务器软件数据库管理系统:SQL Server 2000个人版或标准版前台开发软件:Delphi 7.0个人版系统的设计和开发费用、系统运行和维护费用收益:本图书管理系统可取代很多手工操作节省人工开支、节省资源,提高图书效率,使服务质量更上一个新台阶。(3) 操作可行性该系统运行环境低,界面友好,功能较完善,使用方便,能熟练操作。从工作进度安排上看时间进度也是可操作的,所以其操作是可行的。(4)法律可行性开发的图书管理系统不会在社会和政治上引起侵权或其他责任问题。通过以上分析,开发的图书管理系统在技术、经济、操作、法律上是可行性。1.2 工作进度安排 数据库课程设计实验进度安排如下:起 止 时 间阶 段 任 务 要 点12.2012.23完成系统需求分析和系统设计12.24 1.3数据库实现、系统开发1.4 1.7单元测试、调试撰写数据库开发大型实验报告1.8 检查数据库开发大型实验报告和系统1.9完善数据库开发大型实验报告和系统1.10提交保存数据库开发大型实验报告电子稿源程序等资料的U盘第二章 系统需求分析2.1 系统目的数据库应用系统开发的第一步是系统需求分析,这期间,要明确系统目的,要对用户进行反复的调研和汇总,将需求分析结果用业务流程图、数据流程图、和数据字典表示,得出系统对数据和功能的需求。 该图书管理信息系统具有图书录入、修改、删除、查询、统计和报表等功能,使读者、流通部门工作人员、系统管理员和领导能够更加方便、快捷、有效地对图书进行所需管理如:借阅管理、报表管理、图书上下架管理和用户管理,为人们的工作和学习节省时间,提高效率。2.2用户需求分析 通过对现行图书馆业务的调查,明确了图书馆工作由图书管理、读者管理、借书服务、还书服务和查询系统5部分组成。用户对现有系统功能的描述如下。(1) 图书管理 对馆内的所有图书按类别统一编码;按编号录入:图书序列号、按出版单位编号、书名、作者、出版单位、出版时间、借书时间、到期时间、借书人、备注。对各类图书建立图书登记卡,登记图书的主要信息。 新购图书要编码和建卡,对遗失的图书要注销其图书登记卡。(2) 读者管理 建立读者信息表,对读者统一编码,读者录入主要有对有借书证的教师和学生进行如下录入:读着借书证号、姓名、性别、所在单位、所借图书编号。 对新加盟的读者,将其信息加入到读者信息表中;对某些特定的读者,将其信息从读者信息表中删除。 当读者情况变化时,修改读者信息表中相应的记录。(3) 借书服务 未借出的图书要按类别上架,供读者查看。 建立借书登记卡,卡上记录着书号、读者姓名和编号、借书日期;将借书登记卡按读者单位、读者编号集中保管。 读者提出借书请求时,先查看该读者的借书卡,统计读者已借书的数量。如果该读者无借书超期或超量情况,则办理借书手续。 办理借书手续的方法是:填写借书登记卡,管理员核实后读者可将图书带走。 续借,登陆读者的个人网页,若该书未超期则可以续借。 续借手续的方法是:提出续借请求,先查看该读者的借书卡,如果该读者所续借书籍无超期情况,则办理续借手续。(4) 还书服务 读者提出还书要求时,先对照相应的借书卡,确认书号和书名无误后可办理还书手续,如果发现有超期,则作出相应的罚款记录。 办理还书手续的方法是:在借书卡上填写还书时间、管理员签名;将已还的借书卡集中保管;收回图书。 将收回的图书上架,供读者查看和借阅。 若图书丢失,则作出相应的处罚措施,如:处罚所丢失图书原价的2倍罚款,并在书库中删除该图书的相关记录。(5) 查询系统分别可对图书及读者进行查询,该系统应具备对数据进行录入、修改、删除、查询、统计、报表等功能。2.3业务流程图经过调查分析,得到该图书管理信息系统的业务流程图如图2.1所示: 统计报表图2.1图书管理信息系统业务流程图图书管理部门图书记录图书报表管理部门读者记录领导读者管理部门读者流通部门图书借阅记录2.4数据流图 现行的业务流程通过数据流图表示,图书管理系统顶层数据流图如图2.2所示。 图书信息(新/旧/丢失/破损书操作) 查阅信息、借还书信息 读者信息(添加、删除) 系统维护(统计报表、定期备份、 返回信息性能检测) 统计 返 受理 报表 回 借阅 信 借还书 息 信息查阅信息 返回信息 统计报 读者系统管理员图书管理信息系统流通部门工作人员领导 图2.2 图书管理系统顶层数据流图 将图书管理信息系统细化得到图书管理信息系统第二层数据流图: D1 读者记录 查询条件 所需查询 借阅 信息 信息 借阅信息 D3 借阅记录 D2 图书记录 返回信息 图书 信息 新书 旧书 信息 丢书 信息 图书信息P1用户管 理领导P4报表管理读者系统管理员、流通部门工作人 员P2借阅管理、 P3图书上下架管理系统管理员图2.3 图书管理系统第二层数据流图在图书管理系统第二层数据流图中,“用户管理”、“借阅管理、“图书上下架管理和“报表管理”四个处理框功能都太复杂,对它们进一步细化后得出第三层数据流图。图2.4是对“用户管理”细化为“入校师生管理”和“离校师生管理”两个子处理框的流图。 读者信息 返回信息 D1 读者记录 返回 信息图2.4 第三层数据流图-“用户管理”系统管理员P1.1入校师生管理读者P1.2离校师生管理图2.5是对“借阅管理细化为“查看书目管理”、“借书管理”和“还书管理”三个子处理框的流图。 D2 图书记录 D3 借阅记录 借阅请求 还书请求 返回查阅 返回信息 信息 D1 读者信息图2.5 第三层数据流图-“借阅管理” P2.1查看书目管理读者P2.3还书管理P2.2借书管理读者 “图书上下架管理”处理框中包括“新书上架管理”、“旧书下架管理”和“丢失书籍管理”三个子处理框,其细化数据流图如图2.6所示。 D2 图书记录 录入 删除 删除 信息 旧书 丢失书籍新书信息 信息 信息 旧书 丢 书 信息 信 息图2.6第三层数据流图“图书上下架管理”系统管理员P3.3丢失书籍管理P3.2旧书下架管理P3.1新书上架管 理系统管理员 “报表管理”包括“读者报表管理”、“图书报表管理”、“月借阅量报表管理”和“月每书借阅次数报表管理”四个子框,得到细化数据流图: 查询条件 返回查询信息 D1 读者记录 D2 图书记录 D3 借阅记录图2.7 第三层数据流图“报表管理”领导 P4.3月借阅量报表管理P4.4月每书借阅次数报表管理P4.2图书报表管理P4.1读者报表管理将“借书管理”细化为“一次借书管理”、“续借书籍管理”和“节假日延期管理”三个子框,得到的第四层数据流图,如图2.8所示: 借书请求 D2 图书记录 返回信息 D3 借阅记录 D1 读者记录 图2.8 第四层数据流图“借书管理”P2.2.1一次借书管理读者P2.2.3节假日延期管理P2.2.2续借书籍管理 将“还书管理”细化为“正常还书管理”和“异常还书管理”两个子框,得到的第四层数据流图,如图2.9所示: D2 图书记录 D3 借阅记录 还书请求 还书请求 返回信息 返回信息 D1 读者记录图2.9第四层数据流图“还书管理”读者读者P2.3.1正常还书管理P2.3.2异常还书管理“旧书下架管理”包括“书店回收管理”、“师生倒卖管理”和“纸张回收站管理”三个子框,处理后得到细化的第四层数据流程图,如图2.10所示: D2 图书记录 旧书信息 删除旧书相关信息 旧 书 信 息图2.10 第四层数据流图“旧书下架管理”P3.2.3纸张回收站管理P3.2.2师生倒卖管理P3.2.1书店回收管理系统管理员将“异常还书管理”细化为“ 超期还书管理”、“破损还书管理”、“丢失还书管理”、“超期罚款管理”、“破损罚款管理”和“罚款并陪书管理”六个子框,得到的第五层数据流图,如图2.11所示: D1 读者记录 D2 图书记录 D3 借阅记录 还书请求 返回信息 D3 借阅记录图2.11 第五层数据流图“异常还书管理”P2.3.2.3丢失还书管理P2.3.2.2破损还书管理P2.3.2.1超期还书管理读者P2.3.2.6罚款并赔书管理P2.3.2.5破损罚款管理P2.3.2.4超期罚款管理将“一次借书管理”细化为“一次借书成功管理”和“一次借书失败管理”两个子框,得到的第五层数据流图,如图2.12所示: 读者所借书籍未超标 D1 读者记录 借书请求 图书信息 D2 图书记录 返回信息 无超期未还书记录 D3 借阅记录 读者所借书籍超标 借书请求 D1 读者记录 有超期未还的书籍记录 D3 借阅记录 返回信息 图书信息 D2 图书记录 图2.12 第五层数据流图“一次借书管理”P2.2.1.1一次借书成功管理读者P2.2.1.2一次借书失败管理读者2.5 系统数据字典 图书管理系统数据流图中,数据信息和处理过程需要通过数据字典才能描述清楚。图书管理系统的数据字典,主要对数据流图中的数据流、数据存储和处理过程进行说明。(1) 数据流的定义 图书管理系统的主要数据流定义如表2-1所示。表2-1 主要的数据流定义表序号名称位置结构定义数据流量平均高峰期1图书信息图书P3.1,P3.2,P3.3图书P2.1P2.2.1.1/P2.2.1.2P2.2.2P2.3P4类别+出版社+作者+书名+定价+完好否每月1000次每天100次2读者信息读者P1.1/P1.2P2.1P2.2.1.1/P2.2.1.2P2.2.2P2.3P4姓名+单位+性别+电话每年80000次每天1000次3借阅请求读者+工作人员P2.1读者编号+口令输入+书号 每天1000次每小时300次4还书请求读者+工作人员P2.3.1/P2.3.2.1P2.3.2.4/P2.3.2.2P2.3.2.5/P2.3.2.3P2.3.2.6读者+图书情况每天1000次每小时300次5统计报表读者2.1类别+统计结果每月1000次每天300次(2) 数据存储的定义 图书管理系统的主要数据存储定义如表2-2所示。表2-2 主要的数据存储定义表编号名称输入输出结构数据量存取频率存取方式说明D1读者记录P1.1,P1.2P2.1,P2.2.1.1,P2.2.1.2,P2.2.2,P2.3.1,P2.3.2.1,P2.3.2.2,P2.3.2.3P4借书证号+姓名+性别+所在单位+所借图书编号250000条每天1000次联机处理;检索和更新;主要是随机检索编号具有唯一性和非空性,性别只能是“男”或“女”D2图书记录P3.1,P3.2.1,P3.2.2P3.2.3P3.3 P2.1,P2.2.1.1,P2.2.1.2,P2.2.2,P2.3.1,P2.3.2.1,P2.3.2.2,P2.3.2.3P4书号+类别+出版社+作者+书名+定价+借出否15000条每天500次联机处理;主要是检索处理;以随机检索为主书号具有唯一性和非空性D3借阅记录P2.2.1.1,P2.2.2,P2.3.2.4,P2.3.2.5,P2.3.2.6P2.2.1.1,P2.2.1.2,P4.3,P4.4书号+读者编号+借阅日期+到期时间+违约情况50000条每天1000次联机处理;以更新操作为主;随机检索读者编号是外码,参照表为“读者.编号”;书号是外码,参照表为“图书.书号”;借阅日期为添加记录的当天日期。 (3) 处理过程的定义 图书管理系统的主要处理过程定义如表2-3所示。表2-3 主要的处理过程定义表过程编号处理过程名输入输出处理说明P1.1入校读者管理读者信息D1建立读者信息表,对读者统一编号;实现读者记录表的增删改维护功能。P1.2离校读者管理读者信息D1建立读者信息表,对读者统一编号;实现读者记录表的增删改维护功能。P3.1新书上架管理新书信息D2对图书按类别统一编码,将图书信息数据化,存储在图书记录表中,实现图书记录表的增删改维护功能P3.2旧书下架管理旧书信息D2实现图书记录表的增删改维护功能P3.3丢失书籍管理丢失书籍信息D2实现图书记录表的增删改维护功能P2.1查看书目借书请求,D1,用户身份借书请求,图书信息实现根据图书类别查询图书、根据书名模糊查询图书的功能。P2.2借书处理图书信息,D1,D2,D3借书记录确认读者符合借书条件,办理借书手续。P2.3.1正常还书处理D1,D2,D3,还书请求,图书情况,读者身份核对结果查看书完好无损,对照相应的借书卡, 核对应该还书日期与实际还书日期。P2.3.2.1还书超期处理D1,D2,D3,还书请求,图书情况,读者身份D3书完好无损,确认书号和书名无误后,读者借书超期,则作出相应的罚款处理,并可办理还书手续。P2.3.2.2还书损坏处理D1,D2,D3,还书请求,图书情况,读者身份D3书有破损,确认书号和书名无误后,作出相应的罚款处理,可办理还书手续。P2.3.2.3还书丢失处理D1,D2,D3,还书请求,图书情况,读者身份D3书丢失,确认借阅记录后,作出相应的罚款处理,并赔偿图书馆相同图书。P4报表统计 D1,D2,D3统计报表经过统计处理,方便领导查阅各具体报表情况第三章 概要设计3.1硬件环境适合本图书管理信息系统应用的硬件环境为:基本配置:服务器:Pentium 500MHZ以上,128M内存Windows NT4.0或同等配置。 客户机:Pentium 266MHZ以上,32M内存Windows 95/98或同等配置。 推荐配置:服务器:Pentium 4 1.2GHZ,256M内存Windows 2003 Server或同等配置。 客户机:Pentium 4 1GHZ,256M内存Windows XP Professional或同等配置。 3.2软件环境结合所要开发的图书管理信息系统的特点,本系统将使用Java作为开发工具,后台数据库则采用SQL Server 2000个人版或标准版.根据“图书管理信息系统”的需求说明和模块设计,本章将会着意与如何实现各个模块的基本功能,如果要具体应用到学校的情况中,还需要对各学校的具体需求进一步明确,并对系统进行修正。 Java :是一种面向对象的开发图形用户界面的设计工具,其时间驱动的变动机制,提供了易学的应用程序开发环境。含有结构化的程序设计语言,并且支持多种数据库系统访问,还有完备的Help联机帮助功能。3.3系统流程图调查分析后得到该图书管理信息系统的系统流程图,如图3.1所示: 息 信 书 新 D2 图书记录 旧书信息 丢 失书 信息 新师生信息录入 D1 读者记录 离校师生信息删除 借书请求 D3 借阅记录 还书请求 D1 读者记录 D2 图书记录 D3 借阅记录 统计报表 P3.1新书上架管理P3.2.1书店回收管理P3.2.2师生倒卖管理系统管理员P3.2.3纸张回收站管理P3.3丢失书籍管理P1.1入校师生管理读者P1.2离校师生管理P2.1查看书目管理P2.2.1.2借书一次失败管理P2.2.1.1 借书一次成功管理流通部门工作人 员P2.2.2续借管理P2.2.3节假日管理P2.3.2.2破损还书管理P2.3.2.3丢失书籍管理P2.3.2.1超期还书管理P2.3.1正常还书管理P2.3.2.6丢书处罚管理P2.3.2.5破损罚款管理P2.3.2.4超期罚款管理P4.3月借阅量报表管理P4.2图书报表管理P4.1读者报表管理P4.4月借阅次数报表管理领导第四章 详细设计4.1 图书管理系统E-R图 图4.1 系统管理员实体图姓名性别密码系统管理员职 工号级别 图4.2 领导实体图性别职工号姓名所在单位级别领导 图4.3流通部门工作人员实体图职工编号姓名性别所在单位级别流通部门工作人员 图4.4 读者实体图姓名所在单位性别所借图书证号借书证号读者 图4.5 图书实体图出版单位出版单位编号序列号书名出版时间作者图 书借书时间到期时间是否借出定价 n 1 1 1 n 1 m m 图4.6 图书、读者与系统管理员实体间的联系图 系统管理员、图书和读者实体间的联系图图书管理系统管理员图书借阅 读者管理读者 n m m n m 图4.7 流通部门工作人员、读者和图书实体间的联系图借阅管理流通部门工作人员读者借阅管理图书 n m 图4.8 领导与报表实体间的联系图 报表管理报表领导 4.2 数据库逻辑模型设计 图书管理系统的数据库名为图书-读者库。将E-R图转换为关系数据库的关系数据模型为:系统管理员(管理员编号,姓名,性别,密码,级别),其中职工号为主码;领导(领导编号,姓名,性别,所在单位,级别),其中职工号为主码;流通部门工作人员(职工号,姓名,性别,所在单位,级别),其中,职工号为主码;图书(书号,类别,出版社,作者,书名,定价,借出否),其中书号为主码;读者(借书证号,姓名,所在单位,性别,所借图书编号),其中借书证号为主码;借阅(书号,读者借书证号,借阅日期,还书日期,借书经办人,还书经办人),其中书号为主码;图书-读者库中各表的函数依赖集为:F领导=领导编号 级别,领导编号姓名,领导编号性别,领导编号所在单位;F系统管理员=管理员编号 级别,领导编号姓名,领导编号性别,领导编号所在单位;F流通部门工作人员=职工号 级别,领导编号姓名,领导编号性别,领导编号所在单位;F图书=书号类别,书号出版社,书号作者,书号书名,书号定价,书号借出否F读者=编号姓名,编号单位,编号性别,编号电话;F借阅=书号借阅日期,书号到期时间日期,书号借书经办人员,书号借书证号,书号还书经办人员 ;上述关系模式中不存在对码的函数依赖和传递依赖,也不存在对非主属性的函数依赖的表达式。由此证明,图书_读者库中各表均服从BCNF,满足使用要求。4.3程序流程图主要针对登录界面、借书和还书三个功能模块进行程序流程图的细分,登录程序流程图如图4.9所示,还书程序流程图如图4.10所示,借书程序流程图如图4.11所示 是 否 是 否 图4.10 还书程序流程图