学校图书管理系统课程设计报告正文_第1页
学校图书管理系统课程设计报告正文_第2页
学校图书管理系统课程设计报告正文_第3页
学校图书管理系统课程设计报告正文_第4页
学校图书管理系统课程设计报告正文_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程课程作业 用软件工程分析一个图书管理系统用软件工程分析一个图书管理系统 计算机科学与技术学院 0450901 班 王灵(2009211982) 范玖豪(2009211981) 向双(2009211972) 余其林(2009211977) 目录 第 1 章 绪论3 第 2 章 需求分析3 第 3 章 总体设计6 第 4 章 数据库设计8 第 5 章 详细设计11 第 6 章编码12 第 7 章 测试18 第 8 章设计总结20 第第 1 章章 绪论绪论 图书馆是信息交换和资源流通的重要媒介,对图书馆的信息化管理将大大 提高图书资源的利用和信息的交换速度。图书管理系统是通过将借阅信息以数 据库的形式由网络传输来完成各用户(教师或学生)所要的借阅方面的需求 (如借阅,归还,预订等) 。以打破传统的人工选课模式,极大地方便了使用人 员和管理人员,节约了时间和空间,实现图书借阅自动化,自由化,使图书资 源得到充分利用。建立图书管理系统,使每个用户自由地选到自己需要的图书, 避免传统借书模式的繁琐、低效率、借阅程序臃肿等等的缺点,减轻相关人员 的负担。 本图书管理系统运用 SQLServer2000、C+Builder 等软件实现了基本的管 理员登录、图书管理、读者管理、借还图书、图书查询以及信息维护等功能的 图书管理系统。 第 2 章 需求分析 2.12.1基本需求规格说明基本需求规格说明 2.1.12.1.1 系统概貌系统概貌 本系统是一个基于图书信息管理的系统,通过对数据库的调用实现 对各用例功能的实现。 2.1.22.1.2 功能要求功能要求 在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者 发放不同类的借阅卡(借阅卡可提供卡号、读者姓名) ,账户内存储读 者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员(作 为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅 图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询 图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件) 。 借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和 读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本 信息(包括照片) ,供管理员人工核对。然后输入要借阅的书号,系统 查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后 提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数 量。归还图书时,输入读者借阅卡号和图书号(或丢失标记号) ,系统 验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和 图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转 入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅 纪录,并登记并修改可借阅图书的数量。 图书管理员定期或不定期对图书信息进行入库、修改、删除等图书 信息管理以及注销(不外借) ,包括图书类别和出版社管理。 为系统维护人员提供权限管理、数据备份等通用功能。 2.1.32.1.3 性能要求性能要求 安全性:提供身份验证,用户信息保密,用户数据安全策略 友好性:提供有好的图形界面 稳定性:系统提供 7*24 的无间断服务,并保证数据安全备份。 系统安全性:增强系统安全级别,管理各个管理员权限,防止非法 人员盗用管理员权限进行非法操作。 2.22.2 用例分析用例分析 2.32.3 数据流图分析数据流图分析 2.3.12.3.1 顶层数据流图顶层数据流图 图书管理 员 系统管理员图书管理系统 读者信息 图书信息 图书借还信息 统计数据 系统数据维护 图书查询结果 统计结果 2.3.2 0 层数据流图层数据流图 读者信息管理 图书借还管理 信息统计 系统维护 图书信息管理 图书管 理员 系统管 理员 图书管 理员 图书管 理员 图书管 理员 读者信息 借还书信息 读者借阅信息 统计数据 统计结果 系统数据维护 图书查询结果 有效读者信息已借数 读者类别 罚金标准 图书状态 图书信息 图书借阅信息 统计项信息 图书类别 图书信息 2.3.3 1 层数据流图层数据流图 2.3.3.1 读者信息管理读者信息管理 图书管 理员 录入新 读者 修改读 者 删除读 者 图书借 阅管理 信息统计 接收 分析 数据 读者类 别表 读者信 息表 读者信息 新读者信息 待修改读者 待删除读者 有效读者信息 修改的读者信息 删除的读者信息 读者类别 读者借阅信息 有效读者信息 已借数 2.3.3.2 图书信息管理图书信息管理 图书管 理员 添加图 书 修改图 书 删除图 书 图书借 阅管理 图书借阅 管理 接收 分析 数据 图书类 别表 图书信 息表 图书信息 新图书信息 待修改信息 待删除信息 有效图书信息 修改的图书信息 删除的图书信息 图书状态 统计项信息 查询图 书 图书状态 图书信息 图 书 管 理 员 图书查询结果 图书信息 2.3.3.3 图书借还管理图书借还管理 图书管 理员 借书管理 读者已借 书处理 图书状态 处理 还书管理 计算罚金 续借管理 信息统计 接收分析 数据 图书信息 表 读者信息 表 还书信息 表 用户信息 表 借书信息 表 罚金类别 表 图书借还信息 预借信息 图书信息 读者信息 图书状态 借阅状态 在“库”状态 操作员姓名 借书日期 借书信息 违规状态 预还信息 罚款金额 罚金标准 图书借阅信息 还书信息 已还数 共借数 已借数 操作员姓名 2.3.3.4 统计信息统计信息 图书管 理员 图书管 理员 图书总量 统计 信息输出 图书借阅 排行 读者借阅 排行 图书信息 表 借书信息 表 读者信息 表 接收数据 统计条件信息 总量统计条件 图书借阅统计条件 吐着借阅统计条件 图书借阅排行信息 图书总量信息 读者借阅排行信息 图书借阅信息 统计项信息 统计结果信息 读者借阅信息 2.3.3.5 系统设置系统设置 图数据 管理员 接收信 息 用户信息设 置 图书类别设 置 罚金标准设 置 读者类别设 置 用户信息 表 读者类别 表 图书类别 表 罚金类别 表 图书信息管 理 读者信息管 理 图书 借还管理 系统维护数据 用户信息 图书类别信息 读者类别信息 罚金标准信息 用户信息 图书类别信息 读者类别信息 罚金标准信息 图书类别 读者类别 罚金类别 第 3 章 总体设计 1、系统软件结构图 图书管理系统登录 借 书 界 面 还 书 界 面 图 书 信 息 维 护 借 阅 人 信 息 维 护 管 理 员 信 息 维 护 图 书 证 信 息 维 护 出 系 统 退 出 系 统 图 3-1 【图书管理系统登录】结构图 2、系统边界图 图 3-2 【系统边界图】结构图 3、安全设计 (1).数据库的安全性 数据库表的完整性设计,如主键和外键的确定。 (2).访问权限的设计 管理员才具有登陆本系统的权限,在管理员登陆的前提下进行借书、还书、 信息维护等操作。 (3).密码保护 a.登陆界面时,密码以*形式显示; b.登录时连续三次密码错误则强制退出; c.修给管理员密码时需要输入两次以确认。 第 4 章 数据库设计 4.1 概念结构设计 图书管理系统 ER 图如下: 书书书 +书书 +书书 +书书 书书 +书书书 +书书书 +书书书书 +书书 +书书 +书书书书书 +书书 +书书书书 +isbn +书书 书书书 +书书书书 +书书 +书书书书 +书书书书书书 书书 +书书书书 +书书书 +书书书书 +书书书书 +书书书书 +书书书书 +书书书书 书书 +书书书书 +书书书书 +书书书书 +isbn 书书 1* 1 书书书书 +书书书书 +书书书 +书书书书 +书书书书 +书书书书 书书 11 书书书书 +书书书 +isbn +书书书 +书书书书 书书 1* 书书书 +书书书书 +书书 +书书书书 +书书书书 书书 1 1 书书书书 0*1 书书 0* 1 书书书 +书书 +书书 +书书 书书 11* 书书 1* 0* 图 4-1 图书管理系统的 ER 图 该系统中所有操作都由图书管理员完成。因此将管理员设为单独的一个表。 借阅人、借书证分别作为一个实体,也是必不可少的。 首先由管理员对采购的图书进行馆藏号编号,所以有实体图书。 系统红需要图书类别以确定借阅人限购数量,因此创建图书类别表。 便于图书馆内图书信息的统计与查询,因此出版社作为实体存在。 借阅人持借书证借书,产生表借阅,以及显示信息借阅历史。 借阅人所需图书已借出时,可以通过管理员对所需图书预约,因此有表预 约 4.2 逻辑结构与物理结构设计 1.逻辑结构设计 逻辑结构设计,将概念模型转化为关系模型。 图书馆的关系模型根据图 4-1 图书馆管理的 ER 图设计。并用关系模式的形 式表示。 借阅(借阅证号,馆藏号,借书时间,还书时间,到期时间,罚款金额, 实交金额) 借阅人(借阅证号,姓名,借阅人类别号* ,联系方式) 借阅人类别(借阅人类别号,类别名,限借数量) 借阅历史(借书证号,馆藏号,借书时间,还书时间,罚款数额) 借阅证(借阅证号,状态编号*,现借数量,密码) 借阅证类别(类别编号,类别名) 出版社(出版社编号,社名,地址) 图书(馆藏号,图书名,在库情况,作者,类型,出版社编号,单价,购 书时间,isbn*,备注) 图书类别(isbn,书目名,库存量,剩余数量) 登录人员表(登录帐号,密码) 管理员(编号,姓名,密码) 预约(借阅证号,预约时间,截止时间,isbn*) 2.物理结构设计 实体属性说明备注 借阅人借阅证号(primary key) 姓名 借阅人类别号(foreign key) 联系方式 借阅主体去图书馆借书的人 借阅证借阅证号(primary key) 类别编号 状态编号 借阅数量 密码 借阅的凭证 借书时需要的证件, 借书时只认证件不 认人。 图书馆藏号(primary key) 图书名 在库情况 作者 类型 出版社编号 单价 购书时间 Isbn(foreign key) 被借阅的主 体 图书馆里的物品 管理员编号(primary key) 姓名 密码 管理图书馆 的人 图书馆里的管理人 员,负责图书的管 理工作。 预约借阅证号(primary key) 时间(primary key) isbn (foreign key) 提前预订要 借的图书 图书类别isbn (primary key) 书目名 库存量 剩余数量 图书的具体 属于哪类, 已经是具体 的一类书 出版社出版社编号(primary key) 社名 地址 出版该图书 的机构 借阅借阅证号(primary key) 馆藏号(primary key) 借书时间(primary key) 还书时间 到期时间 罚款 借书的有关 信息 借阅历史借阅证号(primary key) 馆藏号(primary key) 借书时间(primary key) 还书时间 罚款数额 之前的借书 记录 借阅人类别借阅人类别号(primary key) 类别名 限借数量 借阅人主体 的分类,决 定借书权限。 借阅证状态状态编号(primary key) 状态名 是否可用 图书在库情 况 在库编号(primary key) 在库名 是否在库 第 5 章 详细设计 在这次图书管理系统的设计中,我负责借阅人信息维护和管理员信息维护 两个模块,两个模块功能类似。现以管理员信息维护为例具体如下。 管理员信息维护 按 编 号 查 询 返 回 主 页 面 退 出 系 统 修 改 信 息 修 改 密 码 按 编 号 查 询 删 除 信 息 图 5-1 管理员信息维护的流程图 连接数据库,在窗体中通过各个组件来完成界面的设计。 管理员信息管理,可以进行查询数据并进行相关处理,可以新增数据,删 除数据,返回主页面或退出该管理系统。 在借阅人信息维护中,与管理员信息维护功能相似,不同之处是,只能对 查询所得数据进行修改,而不能删除或新增。 第 6 章编码 鉴于两个模块功能及实现方式相似,所以现同样以管理员信息维护模块为 例叙述编码过程. 管理员信息维护界面截图如下: 所用控件有: TDataSource、TADOQuery、TADOConnection、TLabel、TEdit、TButton、TDB Gird。 主要程序如下: void _fastcall Tadmisterinfor:Button5Click(TObject *Sender) if(Edit5-Text=“) ShowMessage(“请输入管理员编号!“); return; else ADOQuery1-Active=false; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(“UPDATE 管理员 SET 编号=“ + Edit5-Text + “ where 编号=“+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) if(Edit1-Text=“) ShowMessage(“请输入编号!“); return; else ADOQuery1-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:Button2Click(TObject *Sender) if(Edit2-Text=“) ShowMessage(“请输入管理员姓名!“); return; else ADOQuery1-Active=false; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(“UPDATE 管理员 SET 姓名=“ + Edit2-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; /-修改信息- void _fastcall Tadmisterinfor:Button3Click(TObject *Sender) if(Edit3-Text=“|Edit4-Text=“) ShowMessage(“请输入密码和确认密码!“); return; else if(Edit3-Text=Edit4-Text) ADOQuery1-Active=false; ADOQuery1-SQL-Clear(); 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; else ShowMessage(“两次密码输入不一致!“); return; /-修改并确认密码- void _fastcall Tadmisterinfor:Button4Click(TObject *Sender) if(Edit1-Text=“) ShowMessage(“请输入管理员编号!“); return; else if(mrYes=MessageDlg(“确定删除?“,mtWarning,TMsgDlgButtons()Active=false; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(“delete from 管理员 where 编号=“+Edit1-Text+“); ADOQuery1-ExecSQL(); ShowMessage(“删除成功!“); Edit1-Text=“; else return; /-删除信息- void _fastcall Tadmisterinfor:Button6Click(TObject *Sender) if(Edit6-Text=“|Edit7-Text=“|Edit8-Text=“|Edit9-Text=“) ShowMessage(“请输入全部信息!“); return; else if(Edit7-Text=Edit8-Text) ADOQuery1-Active=false; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(“select * from 管理员 where 编号=“+Edit9-Text+“); ADOQuery1-ExecSQL(); ADOQuery1-Open(); if(!ADOQuery1-IsEmpty() ShowMessage(“此编号已存在!“); return; else ADOQuery1-Active=false; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(“insert into 管理员(编号,姓名,密码) values(“ + Edit9-Text +“,“+Edit6-Text+“,“+Edit7-Text+“)“); ADOQuery1-ExecSQL(); 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=“; else ShowMessage(“两次密码输入不一致!“); return; /-新增管理员- 设置控件属性如下: 组件名属性名属性新内容 admisterinforCaption管理员信息维护 Edit1Text Edit2Text Edit9Text Caption请输入管理员编号Label1 AutosizeFalse Caption姓名Label2 AutosizeFalse Caption密码Lable3 AutosizeFalse Caption密码确认Lable4 AutosizeFalse Caption编号Lable5 AutosizeFalse Capt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论