图书管理系统
实验报告
班级:软件工程0807
程序员:赵博聪 0726
傅钦聪 0708
成金诚 0704
2009.6
报告目录
2.2.6 DBFile类
3数据测试
3.1选择登录类型……………………………………………………………………………....
1总体说明
1.1需求说明
1. 能够实现读者可以自助注册。
2. 能够实现多种关键字查书,及查看所有馆藏书目功能。
3. 实现管理人员借书,还书功能。
4. 实现管理人员,对于读者,工作人员的修改(包括添加删除)
5. 能够实现管理人员添加,修改馆藏书目。
6. 能够实现上层人员查看下层人员信息。
1. 系统安全
2. 功能齐全
3. 实现一般的纠错功能(即对读者一般的输入错误判断)
4. 易于维护和扩充数据
1.2功能介绍
图书管理系统(LMS)用于图书馆进行图书的管理,主要的功能包括借书、还书、查等。不同的使用对象具有不同的权限,详细见下表:
表 1 系统功能表
使用对象
功能
详细功能
读者
查看/修改个人信息,查看个人借阅信息
查询图书信息(根据不同字段查询)
工作人员
查询读者信息(个人信息和读者借书情况)
还书
借书
查询图书信息(根据不同字段查询)
管理人员
维护图书信息
添加、编辑图书信息
维护读者信息
添加、删除、编辑读者信息
维护人员信息
添加、删除工作人员信息
查询图书信息(根据不同字段查询)
登录
选择登录身份(读者、工作人员、管理员),输入用户名和密码,成功后进行相应的功能模块。
读者模块
读者可以查馆藏书目,了解图书馆有哪些书,是否可借。(可选择根据不同字段查书本也可全显书本)
读者可以查看个人借书情况和修改基本个人信息、修改密码。
工作人员模块
可以查馆藏书目,了解图书馆有哪些书,是否可借。
根据读者用户名查询读者信息,显示该读者基本信息,和借书情况。读者信息高级查可以根据姓名等其他信息进行查(可选功能)
借书功能:首先输入读者用户名,在该状态下依次输入该读者借的书,完成图书的借阅工作。
还书功能:直接输入图书号,将该书的信息改为入库,并修改读者的借书记录。
管理员模块
可以查馆藏书目,了解图书馆有哪些书,是否可借。
维护图书信息:
添加:进入添加状态,根据提示依次输入图书的基本信息,默认状态下为继续输入。
修改:输入书号,到该书,根据提示选择该图书需要修改的字段,并进行修改。
删除:删除工作人员,读者
1.3设计思路
采用面向对象的方式实现图书管理系统,根据不同的使用权限,使用对象分为读者、工作人
员和管理员。
图 11 系统主要类结构图
分别设计读者类、工作人员类、管理员类(如上图),人员类为基类实现通用的功能。(如查图书信息)
用文本文件进行数据的保存,需要保存的数据主要包括图书数据、用户数据(包括读者、工作人员、管理员)。设置数据操作类,实现所有的文本操作相关的功能。
2数据设计与类的作用
2.1数据设计
表 2  book文件字段设计表
字段名称
个人网站的制作实验报告中文名
类型
no
书号
Int
name
书名
Char(40)
author
作者
Char(20)
press
出版社
Char(40)
storenum
藏书量
Int
borrownum
借出数
Int
表 3  Users文件字段设计
字段名称
中文名
类型
Name
用户名
Char(15)
Truename
真实姓名
Char(10)
Password
登录密码
Char(9)
Name
真实姓名
Char(20)
Sex
性别
Char(3)
borrows
借阅书数目
Int
Borrow
所借阅的书号
Int(5)
2.1.3 其他用户数据设计
表 4  其他用户(管理员,工作人员)字段设计
字段名称
中文名
类型
Name
用户名
Char(15)
password
密码
Char(10)
存储读者信息,数据顺序为 用户名,密码,性别,年龄,书名号
存储管理员信息,数据顺序为 用户名,密码
存储工作人员信息, 数据顺序为 用户名,密码
存储书本信息,数据顺序为 书名号,书名,作者,出版社,馆藏数量,借出数量
2.2类的作用
people类包含成员:
char name[15]//储存用户名
char password[10]//储存密码
people()//成员函数有默认构造函数
virtual ~people()//虚析构函数函数
char *getname()//读取用户名
char *getpass()//读取密码
void setname(char *)//设置用户名
void setpass(char *)//设置密码
void search_book(book*)//跳出查书界面
函数book* find_book (long,book*),void search_one_book(book* Bhead)//用于按书号查图书
函数void print_all_book(book*)//查看全部图书
reader类包含成员:
char sex[2]//储存性别
int age//储存年龄
int borrows//储存借书总数
long borrow[10]// 储存具体借书
reader* next//连接下一个的链表
reader()//成员函数有默认构造函数
virtual ~reader()//虚析构函数
函数void output()//输出读者信息
函数void update_reader()//修改个人信息
函数void output_borrows(book*)//查看个人借书情况。
workers类包含成员:
char sex[2]//储存性别
int age//储存年龄
worker*next//连接下一个的链表
worker()//成员函数有默认构造函数
virtual ~worker()//虚析构函数
函数void borrow_book(reader*,book*)//借书
函数void return_book(reader*,book*)//还书
函数reader* find_reader(char*,reader*)//查看读者信息
友元函数friend istream& operator >>(istream& in,worker& w)//重载>>操作符
manger类包含成员:
char sex[2]//储存性别
int age//储存年龄
manger* next//连接下一个的链表
manger()//成员函数有默认构造函数
virtual ~manger()//虚析构函数
函数reader* find_reader(char*,reader*), void update_reader (reader*)//更新读者信息函数
worker* find_worker(char*,worker*),void update_worker(worker*&),void update_add_worker(worker*),void update_delete_worker  (worker*&)//更新工作人员信息
函数void update_book (book*&),void update_add_book(book*),void update_delete_book(book*&),void update_revise_book(book*)//更新图书馆藏书信息
book类包含成员:
long no//储存书号
char name[40]//储存书名
char author[20]// 储存作者
char press[40]// 储存出版社

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。