收藏 分享(赏)

学校图书管理系统课程设计报告正文.docx

上传人:dreamzhangning 文档编号:2273909 上传时间:2018-09-09 格式:DOCX 页数:21 大小:845.17KB
下载 相关 举报
学校图书管理系统课程设计报告正文.docx_第1页
第1页 / 共21页
学校图书管理系统课程设计报告正文.docx_第2页
第2页 / 共21页
学校图书管理系统课程设计报告正文.docx_第3页
第3页 / 共21页
学校图书管理系统课程设计报告正文.docx_第4页
第4页 / 共21页
学校图书管理系统课程设计报告正文.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、软件工程课程作业用软件工程分析一个图书管理系统计算机科学与技术学院0450901 班王灵(2009211982)范玖豪(2009211981)向双(2009211972)余其林(2009211977)目录第 1 章 绪论 3第 2 章 需求分析 3第 3 章 总体设计 6第 4 章 数据库设计 8第 5 章 详细设计 11第 6 章 编码 12第 7 章 测试 18第 8 章 设计总结 20第 1 章 绪论图书馆是信息交换和资源流通的重要媒介,对图书馆的信息化管理将大大提高图书资源的利用和信息的交换速度。图书管理系统是通过将借阅信息以数据库的形式由网络传输来完成各用户(教师或学生)所要的借阅方

2、面的需求(如借阅,归还,预订等) 。以打破传统的人工选课模式,极大地方便了使用人员和管理人员,节约了时间和空间,实现图书借阅自动化,自由化,使图书资源得到充分利用。建立图书管理系统,使每个用户自由地选到自己需要的图书,避免传统借书模式的繁琐、低效率、借阅程序臃肿等等的缺点,减轻相关人员的负担。本图书管理系统运用 SQLServer2000、C+Builder 等软件实现了基本的管理员登录、图书管理、读者管理、借还图书、图书查询以及信息维护等功能的图书管理系统。第 2 章 需求分析2.1基本需求规格说明2.1.1 系统概貌本系统是一个基于图书信息管理的系统,通过对数据库的调用实现对各用例功能的实

3、现。2.1.2 功能要求在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类的借阅卡(借阅卡可提供卡号、读者姓名) ,账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件) 。借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片) ,供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,

4、显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还图书时,输入读者借阅卡号和图书号(或丢失标记号) ,系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借) ,包括图书类别和出版社管理。为系统维护人员提供权限管理、数据备份等通用功能。2.1.3 性能要求安全性:提供身份验证,用户信

5、息保密,用户数据安全策略友好性:提供有好的图形界面稳定性:系统提供 7*24 的无间断服务,并保证数据安全备份。系统安全性:增强系统安全级别,管理各个管理员权限,防止非法人员盗用管理员权限进行非法操作。2.2 用例分析2.3 数据流图分析2.3.1 顶层数据流图图书管理员系统管理员图书管理系统读者信息图书信息图书借还信息统计数据系统数据维护图书查询结果统计结果2.3.2 0 层数据流图读者信息管理图书借还管理信息统计系统维护图书信息管理图书管理员系统管理员图书管理员图书管理员图书管理员读者信息借还书信息读者借阅信息统计数据统计结果系统数据维护图书查询结果有效读者信息已借数读者类别罚金标准图书状

6、态图书信息图书借阅信息统计项信息图书类别图书信息2.3.3 1 层数据流图2.3.3.1 读者信息管理图书管理员录入新读者修改读者删除读者图书借阅管理信息统计接收分析数据读者类别表读者信息表读者信息新读者信息待修改读者待删除读者有效读者信息修改的读者信息删除的读者信息读者类别读者借阅信息有效读者信息已借数2.3.3.2 图书信息管理图书管理员添加图书修改图书删除图书图书借阅管理图书借阅管理接收分析数据图书类别表图书信息表图书信息新图书信息待修改信息待删除信息有效图书信息修改的图书信息删除的图书信息图书状态统计项信息查询图书图书状态图书信息图书管理员图书查询结果图书信息2.3.3.3 图书借还管

7、理图书管理员借书管理读者已借书处理图书状态处理还书管理计算罚金续借管理信息统计接收分析数据图书信息表读者信息表还书信息表用户信息表借书信息表罚金类别表图书借还信息预借信息图书信息读者信息图书状态借阅状态在 “ 库 ” 状态操作员姓名借书日期借书信息违规状态预还信息罚款金额罚金标准图书借阅信息还书信息已还数共借数已借数操作员姓名2.3.3.4 统计信息图书管理员图书管理员图书总量统计信息输出图书借阅排行读者借阅排行图书信息表借书信息表读者信息表接收数据统计条件信息总量统计条件图书借阅统计条件吐着借阅统计条件图书借阅排行信息图书总量信息读者借阅排行信息图书借阅信息统计项信息统计结果信息读者借阅信息

8、2.3.3.5 系统设置图数据管理员接收信息用户信息设置图书类别设置罚金标准设置读者类别设置用户信息表读者类别表图书类别表罚金类别表图书信息管理读者信息管理图书借还管理系统维护数据用户信息图书类别信息读者类别信息罚金标准信息用户信息图书类别信息读者类别信息罚金标准信息图书类别读者类别罚金类别第 3 章 总体设计1、系统软件结构图图书管理系统登录借书界面还书界面图书信息维护借阅人信息维护管理员信息维护图书证信息维护出系统退出系统图 3-1 【图书管理系统登录】结构图2、系统边界图图 3-2 【系统边界图】结构图3、安全设计(1).数据库的安全性数据库表的完整性设计,如主键和外键的确定。(2).访

9、问权限的设计管理员才具有登陆本系统的权限,在管理员登陆的前提下进行借书、还书、信息维护等操作。(3).密码保护a.登陆界面时,密码以*形式显示;b.登录时连续三次密码错误则强制退出;c.修给管理员密码时需要输入两次以确认。第 4 章 数据库设计4.1 概念结构设计图书管理系统 ER 图如下:书 书 书+书 书+书 书+书 书书 书+书 书 书+书 书 书+书 书 书 书+书 书+书 书+书 书 书 书 书+书 书+书 书 书 书+isbn+书 书书 书 书+书 书 书 书+书 书+书 书 书 书+书 书 书 书 书 书书 书+书 书 书 书+书 书 书+书 书 书 书+书 书 书 书+书 书

10、书 书+书 书 书 书+书 书 书 书书 书+书 书 书 书+书 书 书 书+书 书 书 书+isbn书 书1*1 书 书 书 书+书 书 书 书+书 书 书+书 书 书 书+书 书 书 书+书 书 书 书书 书11书 书 书 书+书 书 书+isbn+书 书 书+书 书 书 书书 书1*书 书 书+书 书 书 书+书 书+书 书 书 书+书 书 书 书书 书11书 书 书 书0*1书 书0*1书 书 书+书 书+书 书+书 书书 书11*书 书1*0*图 4-1 图书管理系统的 ER 图该系统中所有操作都由图书管理员完成。因此将管理员设为单独的一个表。借阅人、借书证分别作为一个实体,也是必不

11、可少的。首先由管理员对采购的图书进行馆藏号编号,所以有实体图书。系统红需要图书类别以确定借阅人限购数量,因此创建图书类别表。便于图书馆内图书信息的统计与查询,因此出版社作为实体存在。借阅人持借书证借书,产生表借阅,以及显示信息借阅历史。借阅人所需图书已借出时,可以通过管理员对所需图书预约,因此有表预约4.2 逻辑结构与物理结构设计1.逻辑结构设计逻辑结构设计,将概念模型转化为关系模型。图书馆的关系模型根据图 4-1 图书馆管理的 ER 图设计。并用关系模式的形式表示。借阅(借阅证号,馆藏号,借书时间,还书时间,到期时间,罚款金额,实交金额)借阅人(借阅证号,姓名,借阅人类别号* ,联系方式)借

12、阅人类别(借阅人类别号,类别名,限借数量)借阅历史(借书证号,馆藏号,借书时间,还书时间,罚款数额)借阅证(借阅证号,状态编号*,现借数量,密码)借阅证类别(类别编号,类别名)出版社(出版社编号,社名,地址)图书(馆藏号,图书名,在库情况,作者,类型,出版社编号,单价,购书时间,isbn*,备注)图书类别(isbn,书目名,库存量,剩余数量)登录人员表(登录帐号,密码)管理员(编号,姓名,密码)预约(借阅证号,预约时间,截止时间,isbn*)2.物理结构设计实体 属性 说明 备注借阅人 借阅证号(primary key)姓名借阅人类别号(foreign key)联系方式借阅主体 去图书馆借书的

13、人借阅证 借阅证号(primary key)类别编号状态编号借阅数量密码借阅的凭证借书时需要的证件,借书时只认证件不认人。图书 馆藏号(primary key)图书名在库情况作者类型出版社编号单价购书时间Isbn(foreign key)被借阅的主体图书馆里的物品管理员 编号(primary key)姓名密码管理图书馆的人图书馆里的管理人员,负责图书的管理工作。预约 借阅证号(primary key)时间(primary key)isbn (foreign key)提前预订要借的图书图书类别 isbn (primary key)书目名库存量剩余数量图书的具体属于哪类,已经是具体的一类书出版社

14、出版社编号(primary key)社名地址出版该图书的机构借阅 借阅证号(primary key)馆藏号(primary key)借书时间(primary key)还书时间到期时间罚款借书的有关信息借阅历史 借阅证号(primary key)馆藏号(primary key)借书时间(primary key)还书时间罚款数额之前的借书记录借阅人类别 借阅人类别号(primary key)类别名限借数量借阅人主体的分类,决定借书权限。借阅证状态 状态编号(primary key)状态名是否可用图书在库情况在库编号(primary key)在库名是否在库第 5 章 详细设计在这次图书管理系统的设计

15、中,我负责借阅人信息维护和管理员信息维护两个模块,两个模块功能类似。现以管理员信息维护为例具体如下。管理员信息维护按 编号查询返回主页面退出系统修改信息修改密码按 编号查询删除信息图 5-1 管理员信息维护的流程图连接数据库,在窗体中通过各个组件来完成界面的设计。管理员信息管理,可以进行查询数据并进行相关处理,可以新增数据,删除数据,返回主页面或退出该管理系统。在借阅人信息维护中,与管理员信息维护功能相似,不同之处是,只能对查询所得数据进行修改,而不能删除或新增。第 6 章 编码鉴于两个模块功能及实现方式相似,所以现同样以管理员信息维护模块为例叙述编码过程.管理员信息维护界面截图如下:所用控件

16、有:TDataSource、TADOQuery、TADOConnection 、TLabel、TEdit、TButton 、TDBGird。主要程序如下:void _fastcall Tadmisterinfor:Button5Click(TObject *Sender)if(Edit5-Text=“)ShowMessage(“请输入管理员编号!“);return;elseADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“UPDATE 管理员 SET 编号=“ + Edit5-Text + “ where 编号=“+

17、Edit1-Text+“);ADOQuery1-ExecSQL();ShowMessage(“编号修改成功!“);Edit1-Text=Edit5-Text;Edit5-Text=“;ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“select * from 管理员 where 编号=“+Edit1-Text+“);ADOQuery1-ExecSQL();ADOQuery1-Active=true; void _fastcall Tadmisterinfor:Button1Click(TObject *Sender

18、)if(Edit1-Text=“)ShowMessage(“请输入编号!“);return;elseADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“select * from 管理员 where 编号=“+Edit1-Text);ADOQuery1-ExecSQL();ADOQuery1-Active=true;ADOQuery1-Open();if(ADOQuery1-IsEmpty()ShowMessage(“无此管理员!“); /-输入编号并查询数据-void _fastcall Tadmisterinfor

19、:Button2Click(TObject *Sender)if(Edit2-Text=“)ShowMessage(“请输入管理员姓名!“);return;elseADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“UPDATE 管理员 SET 姓名=“ + Edit2-Text + “ where 编号=“+Edit1-Text+“);ADOQuery1-ExecSQL();ShowMessage(“姓名修改成功!“);ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQ

20、uery1-SQL-Add(“select * from 管理员 where 编号=“+Edit1-Text+“);ADOQuery1-ExecSQL();ADOQuery1-Active=true; /-修改信息-void _fastcall Tadmisterinfor:Button3Click(TObject *Sender)if(Edit3-Text=“|Edit4-Text=“)ShowMessage(“请输入密码和确认密码!“);return;elseif(Edit3-Text=Edit4-Text)ADOQuery1-Active=false;ADOQuery1-SQL-Clea

21、r();ADOQuery1-SQL-Add(“UPDATE 管理员 SET 密码=“ + Edit3-Text + “ where 编号=“+Edit1-Text+“);ADOQuery1-ExecSQL();ShowMessage(“密码修改成功!“);ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“select * from 管理员 where 编号=“+Edit1-Text+“);ADOQuery1-ExecSQL();ADOQuery1-Active=true;elseShowMessage(“两次密码输入

22、不一致!“);return; /-修改并确认密码-void _fastcall Tadmisterinfor:Button4Click(TObject *Sender)if(Edit1-Text=“)ShowMessage(“请输入管理员编号!“);return;elseif(mrYes=MessageDlg(“确定删除?“,mtWarning,TMsgDlgButtons()Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“delete from 管理员 where 编号=“+Edit1-Text+“);ADOQuery1-ExecS

23、QL();ShowMessage(“删除成功!“);Edit1-Text=“;elsereturn; /-删除信息-void _fastcall Tadmisterinfor:Button6Click(TObject *Sender)if(Edit6-Text=“|Edit7-Text=“|Edit8-Text=“|Edit9-Text=“)ShowMessage(“请输入全部信息!“);return;elseif(Edit7-Text=Edit8-Text)ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“sele

24、ct * from 管理员 where 编号=“+Edit9-Text+“);ADOQuery1-ExecSQL();ADOQuery1-Open();if(!ADOQuery1-IsEmpty()ShowMessage(“此编号已存在!“);return;elseADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“insert into 管理员(编号,姓名,密码) values(“ + Edit9-Text +“,“+Edit6-Text+“,“+Edit7-Text+“)“);ADOQuery1-ExecSQL()

25、;ShowMessage(“新增管理员成功!“);ADOQuery1-Active=false;ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(“select * from 管理员 where 编号=“+Edit9-Text+“);ADOQuery1-ExecSQL();ADOQuery1-Active=true;Edit9-Text=“;Edit8-Text=“;Edit7-Text=“;Edit6-Text=“;elseShowMessage(“两次密码输入不一致!“);return; /-新增管理员-设置控件属性如下:组件名 属性名 属性新内容admist

26、erinfor Caption 管理员信息维护Edit1 TextEdit2 Text Edit9 TextCaption 请输入管理员编号Label1Autosize FalseCaption 姓名Label2Autosize FalseCaption 密码Lable3Autosize FalseCaption 密码确认Lable4Autosize FalseCaption 编号Lable5Autosize FalseCaption 姓名Lable6Autosize FalseCaption 密码Lable7Autosize FalseLable8 Caption 密码确认Autosize

27、FalseCaption 编号Lable9Autosize FalseButton1 Caption 查询Button2 Caption 确认修改Button3 Caption 确认修改Button4 Caption 删除该账号Button5 Caption 确认修改Button6 Caption 新增管理员Dbgrid1 Datasource Datasource1借阅人信息维护界面截屏如下:所用控件有:TDataSource、TADOQuery、TADOConnection 、TLabel、TEdit、TButton 、TDBGird。第 7 章 测试7.1 测试1. 对管理员信息维护的测

28、试1)输入 2008101 点击确定2)在信息修改处依次输入 2008111黄1231233)新增输入 123华1231234)删除记录删除2. 对借阅人信息维护测试与上例相似,略去不举7.2 发现错误和解决方法发现错误:修改信息后,edit 中仍显示刚输入信息。解决方法:在代码后加一段重复,问题解决。第 8 章 设计总结本图书馆管理系统主要实现了基础信息维护、读者管理、图书管理、图书流通管理等功能,建立了包含在图书管理系统主窗体下的六个功能子窗体,即借书、还书、图书信息维护、图书证信息维护、借阅人信息维护以及管理员信息维护,实现了一个图书管理系统的基本维护与实现。就总体而言,这次课程设计的结果相当满意,但由于数据量比较小、实现功能都比较基础简单,我们的作品还有改进空间在这次课程设计中,我们不仅组建团队,完成图书管理系统数据库的物理及逻辑结构的设计,同时也分工完成数据库的建立,用户界面设计以及相关功能的实现。通过这次课程设计,并把所学与实际结合起来,为以后对项目的接手,处理打下基础。更重要的是,在这次课程设计中,我深深体会到了团队精神的重要性,对于我们团队意识的培养有极大的促进作用。总之,在这次数据库课程设计中,我受益匪浅。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报