图书馆管理系统_第1页
图书馆管理系统_第2页
图书馆管理系统_第3页
图书馆管理系统_第4页
图书馆管理系统_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

图书馆管理系统图书馆管理系统 概要设计说明书概要设计说明书 ii 目录目录 1引言引言 2 1 1编写目的 2 1 2项目背景 2 1 3定义 2 1 4参考资料 2 2任务概述任务概述 3 2 1目标 3 2 2运行环境 3 2 3需求概述 3 2 4条件与限制 3 3总体设计总体设计 4 3 1处理流程 4 3 2总体结构和模块外部设计 10 3 3功能分配 11 4接口设计接口设计 13 4 1外部接口 13 4 2内部接口 13 5数据结构设计数据结构设计 14 5 1 设计中三个对象的定义 14 5 2功能实现函数 18 6运行设计运行设计 25 6 1运行模块的组合 25 6 2运行控制 25 6 3运行时间 25 iii 7安全保密设计安全保密设计 26 8系统测试系统测试 27 9附录附录 30 A 第1页2020 3 30 文档编号 版 本 号 文档名称 概要设计说明书 项目名称 图书馆管理系统 项目负责人 张文超 编写 张文超 年 月 日 校对 所有小组成员 年 月 日 审核 所有小组成员 年 月 日 批准 test 年 月 日 开发单位 组员 张磊 张文超 胡观 何剑涛 房启龙 张迪 姜景权 A 第2页2020 3 30 1引言 1 1 编写目的 由前面的需求分析 得出了系统的基本需求 和基本的数据流图 要实现 整个系统 需要对用户的需求进行设计 概要设计主要是利用比较抽象的语言 对整个需求进行概括 确定对系统的物理配置 确定整个系统的处理流程和系 统的数据结构 接口设计 实现对系统的初步设计 1 2 项目背景 根据 XX 学校希望能够充分利用现代科技来提高图书管理的效率 在原有 的办公系统基础上进行扩展 将一些可以用计算机来管理的都进行计算机化 使得图书馆管理人员工作更加方便 工作效率也更加的高 1 3 定义 Windows vista 7 XP 运行环境 C 软件开发语言 1 4 参考资料 软件工程导论 第 5 版 张海藩编著 清华大学出版社 软件工程实践导论 有关方法 设计 实现 管理之三十六计 金尊和编著 清华大学出版社 C 程序设计 谭浩强 清华大学出版社 A 第3页2020 3 30 2 任务概述任务概述 2 1 目标 通过该系统的实施 将图书馆管理等方面通过系统来实施 其中包括对学 生借还读书信息 员工信息 以及读书信息等等 使得图书馆借还等管理业务 和查询业务运转周期缩短 以上 来提高学校图书馆运转效率 2 2 运行环境 运行平台 Windows XP Windows vista Windows 7 2 3 需求概述 按照需求分析文档中的规格要求 借书 还书 使得信息传递准确 流畅 同时 系统最大限度地实现易安装 易维护性 易操作性 运行稳定 安全可 靠 2 4 条件与限制 无 A 第4页2020 3 30 3 总体设计 3 1 处理流程 顶层数据流图 用户图书馆管理系统输入数据显示器输出数据 系统时钟 当前日期 第 0 层图 图书馆管理人员 1 登陆信息验证 用户名和密码 密码错误信息 管理员表 2 处理管理请求数据 输入管理请求数据显示器显示 系统时钟 当前日期 用户 3 处理查询请求数据 输入查询信息 查询结果 当前日期 A 第5页2020 3 30 第一层图 1 登陆子系统 图书馆管理人员 1 1 密码验证 用户名和密码 登陆错误信息 管理员表 1 2 验证权限 用户名 1 3 显示可用的控件和 界面 权限 显示器 显示 A 第6页2020 3 30 2 管理子系统 图书馆管理人员 2 1 入库管理 输入购入新书数据 显示器 非法信息 退货单 2 2 处理学生借书 输入图书字段和学生字段 罚款单 非法信息 接受借书 2 3 处理学生还书 输入图书字段 非法信息 欠款金额信息 还书成功 2 4 图书注销 输入注销图书字段 非法信息 注销成功 系统时钟 当前日期 罚款单图书目录文件 学生文件 借书文件 罚款单 入库单图书目录文件 当前日期 当前日期 当前日期 A 第7页2020 3 30 3 查询子系统 图书馆管理人员 学生 3 1 学生信息查询 输入学生查询关键字 显示器 学生信息 学生文件借书文件 3 2 图书信息查询 输入图书查询关键字 图书信息图书目录文件 第二层图 1 入库管理 图书馆管理人员登陆验证登陆 登陆失败 处理入库数据登陆成功 管理员表入库单 非法数据 是否成功执行数据库操作 操作失败 更新数据更新操作 图书目录文件 显示器 成功 系统时钟 当前日期 2 处理学生借书 A 第8页2020 3 30 图书馆管理人员 2 2 1 检查学生欠费情况 输入学生字段 罚款单 显示器欠款超额 拒绝借书 2 2 2 更新数据库 接受借书 输入图书信息 借书文件 借书成功 非法学生信息 系统时钟当前日期 学生文件 3 处理学生还书 图书馆管理人员 2 3 1 根据图书字段查找 数据库 输入图书字段 2 3 2 计算欠款结果 借书信息和学生信息显示器欠款金额 还书成功 系统时钟 当前日期 罚款单学生文件图书目录文件 借书文件 4 处理图书注销 图书馆管理人员 2 4 1 根据图书字段 查 找数据库 输入注销图书字段 图书目录文件 2 4 2 操作验证 修改操作 2 4 3 保存修改记录 输入修改信息 显示器注销成功 非法操作 系统时钟当前日期 5 处理学生信息查询 A 第9页2020 3 30 图书馆管理人员 学生 3 1 1 确定查询类型及字 段 输入查找字段 3 1 2 查找数据库 查找字段 关键字显示器查询结果 学生文件借书文件 A 第10页2020 3 30 3 2 总体结构和模块外部设计 图书馆管理系统 基础信息管理 查询子系统 管理子系统 图书馆信息 系统参数设置 管理员设置 书架设置 图书词库设置 新书购入 学生借书 学生还书 图书注销 学生信息查询 图书信息查询 输出结果 输入数据 图书馆信息数据 系统参数 管理员数据 书架信息 图书词库 借书结果 还书结果 学生信息 图书信息 注销结果 得到结果 管理请求数据 原始数据输入 处理结果 基础信息数据 查询信息 A 第11页2020 3 30 3 3 功能分配 图书馆 管理系 统 基础信息管理 查询子系统 管理子系统 图书馆信息 系统参数设置 管理员设置 书架设置 图书词库设置 新书购入 学生借书 学生还书 图书注销 学生信息查询 图书信息查询 系统登 陆 A 第12页2020 3 30 针对图书馆管理系统 可以分为两大模块 一个小模块 分别为管理子系统 查询子 系统两大模块 基础信息管理小模块 在管理子系统中 1 新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理 所以 当采购员采购到新书后 系统根据原先计划采购的新书进行核查 如果符合计划预定 则 将新书入库 否则退货 该模块主要是处理购入的新书是否符合要求 2 处理学生借书模块 该模块主要是处理学生借书业务 在图书馆管理人员输入学生信息的时候 系统 会根据学生文件对该学生进行查询 看看是否存在该学生 如果不存在 则系统给出警告 信息 该学生不存在 如果存在该学生 则系统根据罚款单对该学生的欠款情况进行查询 如果欠款超过一定金额 则借书失败 否则接受借书 更新借书文件 在显示器上面显示 借书成功 3 处理学生还书模块 该模块主要是处理学生还书业务 在图书馆管理人员输入要还的图书字段时 系 统会在借书文件中查找该图书信息 之后对借书文件 学生文件中的该学生已借书数 图 书目录文件进行更新 然后在借书文件中提取学生数据 根据图书的还书日期和借出日期 对学生的欠款金额进行计算 如果没有超期 则欠款金额在原来的基础上加 0 之后将结 果显示出来 4 处理图书注销模块 该模块主要是针对图书注销业务 在查询子系统中 有两个查询内容 1 学生信息查询 学生信息查询子模块主要是对学生信息的查询 2 图书信息查询 图书信息查询子模块主要是对图书信息的查询 这些模块 是针对学生或者图书馆管理人员这两个不同的对象 查询子系统主要是让用户 了解信息 所以不需要进行用户密码登陆 直接可以进行查询 而管理模块是涉及到图书 馆内部的重要信息管理方面 所以必须要设置用户密码登陆和权限等等 以保数据的安全 性和系统的安全性 A 第13页2020 3 30 4 接口设计 4 1 外部接口 1 用户接口 采用窗口化 菜单式进行设计 在操作时响应热键 4 2 内部接口 通过面向对象语言设计类 在 public 类中实现调用 类间实现严格封装 A 第14页2020 3 30 5 数据结构设计 数据结构与程序是软件的重要组成部分 程序的正确执行依赖于合理的数 据结构 系统程序函数大全介绍与说明 图书馆管理系统中 我们小组将整个系统分成了三个大块 1 登陆信息 包括管理员与普通用户 2 图书信息 对图书进行借阅 归还 查询等操作 3 学生信息 对学生进行查询 添加 删除等操作 5 1 设计中的三个对象定义设计中的三个对象定义 我们在程序中建立了三个类别 Class Login Char id 11 Char password 11 Class Login 用来记录一个用户的登陆信息 id 是一个用户号 最长可以由 11 位构成 Password 是用户密码 最长可以由 11 位构成 class Book public char id 11 char name 20 char editor 20 A 第15页2020 3 30 char writer 20 time t time int outdate bool onshelf true available false not available char sid 11 the id of the student Book before Book follow public Book Class Book 用来记录一本图书的信息 Id 是书号 最长可以用 11 位 如 Name 是书名 最长可以用 20 位 如 计算机科学与导论 Editor 是出版社 最长可以用 20 位 如 人民教育出版社 Writer 是作者名 最长可以用 20 位 如 冰心 Time 用来记录一本书被借出的时间 在我们的程序里面 我们规定 借书超过 30 天不还的话 即为超期 Outdate 标注一本书是不是借阅超期 如果超期则为 1 否则为 0 Onshelf 标注一本书现在是不是在馆 如果在馆 则可以借阅 否则不能借阅 Sid 记录是哪一个学生借阅了本书 Book before 构建链表的时候 用来指出上一个 Book 成员的指针 Book before 构建链表的时候 用来指出下一个 Book 成员的指针 Book book 类的构造函数 用来初始化一条记录的初始值 class Student A 第16页2020 3 30 public char id 11 char idv 11 char name 20 int numa 6 Student before Student follow Book book 6 public Student Class student 用来记录一个学生的信息 Id 学生的学号 最长为 11 位 如 Idv 学生的借书证号 最长为 11 位 如 Name 学生的姓名 最长为 20 位 如 张韬 Numa 学生借阅的图书数目 最多为六本 Student before 构建链表的时候 用来指出上一个 Student 成员的指针 Student follow 构建链表的时候 用来指出下一个 Student 成员的指针 Student student 类的构造函数 用来初始化一条记录的初始值 我们为了将数据与操作分开 又建了三个类别分别对这三个类的数据进行操作 class Loginread public void Loginwrite class Login head int m int Loginmodpassword char id 11 char password 11 int OnLogin char id 11 char password 11 A 第17页2020 3 30 class Login Login int m Loginread 用来对 Login 数据进行操作 void Loginwrite class Login head int m 用来把管理员的记录写入一个名叫 Login txt 的文件 Head 为要写出记录的头指针 m 为要把记录写到哪一块 M 代表一个 Login 对象的大小 我们以一个 Login 对象的大小为写出的基本单位 Class Login Login int m 从 Login txt0 里面读出数据 每一次读入 20 个记录 返回一个头指针 从 20 M 的位置开始读 M 为一个标记位置的数字 M 代表一个 Login 对象的大 小 我们以一个 Login 对象的大小为读取的基本单位 int OnLogin char id 11 char password 11 管理员登陆的函数 此函数的返回值为一个整数 分为不同的情况 1 管理员成功登陆 2 密码不正确 3 没有该管理员 Id 为用户的帐号 Password 为用户的密码 int Loginread Loginmodpassword char id 11 char password 11 此函数用来修改一个管理员的密码 返回值为一个整数 分为不同的情况 0 没有这个管理员 1 修改成功 2 新密码不一样 A 第18页2020 3 30 3 还没有登陆 Id 为用户的帐号 Password 为用户的密码 class Bookreed void Bookread Pre public int searchname char name 20 char fromname 20 class Book Booknamesearch char name 20 int Search char id 11 class Book book int Bmod char id 11 char name 20 char editor 20 char writer 20 class Book Bookread int m void Bookwrite class Book head int m int Borrow char a 11 char s 11 char idv 11 int BReturn char a 11 int BAdd char id 11 char name 20 char editor 20 char writer 20 int BDel char id 11 private classStudentreed Studentreed 5 2 功能实现函数功能实现函数 Bookread 用来对 Book 类的对象进行操作 A 第19页2020 3 30 class Book Bookreed Bookread int m 函数用来对 Book txt 进行读取操作 这里的 M 用来记录读入第几个 20 个文件 这里设一次读入为 20 个记录 void Bookreed Bookwrite class Book head int m 函数用来对 Book txt 进行写操作 这里 head 为被写入文件的头指针 m 为写回磁盘文件的哪一个位置 Int BAdd char id 11 char name 20 此函数用来添加一本图书 返回值为整数 分为不同的情况 0 这本书已经存在了 在本馆中收藏 1 这本书已经存在 但已经借出 2 成功存入 3 非法书号 这个不是函数的 还要改的 Id 为新增的图书的书号 Name 为新增的图书的书名 Int BDel char id 11 此函数用来删除一本图书 返回值为整数 分为不同的情况 0 没有这本书 1 这本书有 但是已经借出 请以后再删除 2 删除成功 Id 要删除的图书的书号 Int Borrow char a 11 char s 11 此函数用来进行借阅操作 返回值为整数 分为不同的情况 1 这本书存在 但已经借出 2 借书成功 3 没有这本书 A 第20页2020 3 30 4 因为学生原因不能成功借出 没有这个学生 5 学生借书已满 6 该借书证已无效 a 为书号 s 为学号 Int BReturn char a 11 此函数用来进行还书操作 返回值为整数 分为不同的情况 0 没有这本书 1 这本书在馆 没有被借出 2 成功归还此书 a 为要归还的书号 Int Bmod char id 11 char name 20 char editor 20 char writer 20 此函数用来进行修改书目信息的操作 返回值为整数 分为不同的情况 0 不存在这本书 1 修改成功 Id 为要修改的书目的书号 Name 为书目的新名字 Editor 为书目的新的出版社 Writer 为书目的新的作者 int Bookreed Search char id 11 Book book 此函数用来进行按书号进行询寻的操作 返回值为整数 分为不同的情况 0 没有这本书 1 有这本书 但已经外借 2 有这本书 过期 3 有这本书 且在本馆中 Id 为要查询的书目的书号 Book 一个指针 要查询的头指针 int searchname char name 20 char fromname 20 A 第21页2020 3 30 此函数用来进行按书名进行匹配 返回值为整数 分为不同的情况 0 名字不匹配 1 名字匹配 Name 要匹配的名字 Fromname 从哪里匹配 class Book Booknamesearch char name 20 此函数用来进行按书名进行询寻的操作 返回一个 headv 指针 若为 NULL 则找不到这本书 若不为 NULL 则输出所有的书 Name 要查询的书目的名字 class Studentreed public int SMod char id 11 char name 20 char idv 11 int Search char id 11 class Student student void Spre class Student Studentread int m void Studentwrite class Student head int m int SBorrow char id 11 class Book book char idv 11 id 是学生的学号是学生的学号 bid 是书号是书号 int SDel char id 11 int SReturn char bid 11 char sid 11 A 第22页2020 3 30 int SAdd char id 11 char name 20 char idv 11 Studentread 用来对 Student 类的对象进行操作 class Student Studentreed Studentread int m 函数用来对 Book txt 进行读取操作 这里的 M 用来记录读入第几个 20 个文件 这里设一次读入为 20 个记录 void Studentreed Studentwrite class Student head int m 函数用来对 Book txt 进行读取操作 这里 head 为被写入文件的头指针 m 为写回磁盘文件的哪一个地方 Int SAdd char id 11 name 20 idv 11 此函数用来添加一名学生 返回值为整数 分为不同的情况 0 该学生已存在 1 成功添加 Id 为学生的学号 Name 为学生的姓名 Idv 为学生的借书证 Int SDel char id 11 此函数用来删除一名学生记录 返回值为整数 分为不同的情况 0 没有这个学生 1 删除成功 Id 为要删除学生的学号 int Studentreed SBorrow char id 11 class Book book char idv 11 此函数用来进行借书的操作 返回值为整数 分为不同的情况 A 第23页2020 3 30 0 没有这个学生 1 这个学生已经借了 6 本书 不能再借了 2 该学生可以借这本书 3 这个借书证无效了 id 为学号 book 为书对象指针 idv 为借书证号 Int SReturn char bid 11 char sid 11 此函数用来进行还书的操作 返回值为整数 分为不同的情况 0 没有这个学生 这一项为一个虚项 因为若有被借出的书 必定 有借出人 1 成功归还 Id 要还的书的书号 sid 为学生的学号 int Studentreed Search char id Student student 此函数用来进行查询的操作 返回值为整数 分为不同的情况 0 没有该学生 1 又该学生 返回该学生的相关信息 Id 要查的学生的学号 Student 一个头指针 int Studentreed SMod char id char name char idv 此函数用来进行修改学生信息的操作 返回值为整数 分为不同的情况 0 没有这个学生 1 修改成功 Id 为学生的学号 Name 为学生的新的姓名 A 第24页2020 3 30 Idv 为学生的新的借书证 A 第25页2020 3 30 6 运行设计 6 1 运行模块的组合 本程序主要是以一个窗口为模块 一般一个窗口完成一个特定的功能 主窗口通过打开另一个子窗口来实现个模块之间不同功能的连接和组合 各模 块之间相对独立 程序的可移植性好 各模块之间主要以传递数据项的引用来 实现模块之间的合作和数据共享 6 2 运行控制 只要符合操作说明书 用户可自由控制 6 3 运行时间 由用户决定 A 第26页2020 3 30 7 安全保密设计 我们这个软件的安全主要有几个方面 软件使用安全 这个我们在对错误的异常处理的地方已经详细说明 这里不再重述 账号安全 主要就是密码的保护 因为我们现在的能力有限 所以关于密码保护的方 面比较薄弱 希望用户妥善保护自己的密码 A 第27页2020

温馨提示

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

评论

0/150

提交评论