图书管理系统的设计书文档格式.docx
- 文档编号:3644543
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:25
- 大小:21.31KB
图书管理系统的设计书文档格式.docx
《图书管理系统的设计书文档格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统的设计书文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
包括图书类别的添加、图书类别的修改、图书类别的删除3部分功能。
其中,图书类别包括类别名称和类别编号两部分。
借阅管理部分:
包括借书管理和还书管理,其功能是实现对各部分数据容的添加和查询等操作。
(1)借书管理:
包括添加借书信息和查询借书信息2部分功能。
其中,借阅信息包括借阅编号、读者编号、读者、图书编号、图书名称、出借日期和还书日期。
(2)还书管理:
实现添加还书信息功能。
其中,还书信息与借阅信息部分明细相同。
读者管理部分:
包括读者信息管理和读者类别管理,其功能是实现对各部分数据容的添加和修改、删除等操作。
(1)读者信息管理:
包括读者信的添加、读者信息的修改、读者信息的查询和读者信息的删除4部分功能。
其中,读者信息包括读者、读者编号、性别、读者类别、工作单位、家庭住址、、登记日期和已借书数量。
(2)读者类别管理:
包括读者类别的添加、读者类别的修改、读者类别的删除3部分功能。
其中,读者类别包括各种类名称、借书期限和有效期限4部分。
系统管理部分:
包括修改系统用户密码、增加新用户和退出系统三项功能。
系统初始设置一个超级用户名和密码,操作人员可以利用这个超级用户名和密码登录,之后,可以设置其他的超级用户名称,也可以设置权限用户,同时也设置了这个用户可以使用的权限。
帮助部分:
包括系统设计前台和后台简概述等功能。
运行本系统程序,首先出现登录界面,输入正确的用户名和密码后才能进入主窗体。
对主窗体上各个菜单的设置采用快捷键,便于用户更方便的应用该系统。
该图书管理系统按使用者的角色可以分为:
普通用户和管理员。
普通用户的主要功能有:
借书、还书、查询这三项基本功能。
管理员的主要功能有:
图书录入和清除库存
在该图书信息管理系统中,不同的角色对应不同的功能,在登陆界面需要输入用户名和密码
才能进入普通用户功能界面。
而需要输入特殊密码进入管理员功能界面。
建立链表的ADT:
classBookSystem
{
staticintj;
//作为记录数据的静态变量
staticintstorage;
staticBookSystem*t;
staticBookSystem*re;
//staticBookSystem*h;
public:
BookSystem();
//构造函数
~BookSystem();
//析构函数
voidreplace(BookSystem*,BookSystem*);
voidSet(CString,CString,CString);
//付值函数
voidDivision(CString);
//把一个一个分开的函数
intReturnStorage();
//返回库存函数
BookSystem*InsertMatrix_PandB(CString,CString,BookSystem*temp);
//在和书名的稀疏距阵里建立节点
BookSystem*InsertMatrix_PandA(CString,CString,BookSystem*temp);
//在和作者的稀疏距阵里建立节点
BookSystem*InsertMatrix_BandA(CString,CString,BookSystem*temp);
//在作者和书名的稀疏距阵里建立节点
boolBorrowbookname(CString,CString,CString,BookSystem*);
//借书
boolReturnbookname(CString,CString,CString,BookSystem*);
//还书
//voidInsertBookSystem(int,int,int,BookSystem*);
//插入一本书
voidPrint_Press(CString,BookSystem*temp,CListBox&
);
//按打印
voidPrint_Bookname(CString,BookSystem*temp,CListBox&
//按书名打印
voidPrint_Author(CString,BookSystem*temp,CListBox&
//按作者打印
voidPrint_PandB(CString,CString,BookSystem*temp,CListBox&
//按和书名打印
voidPrint_PandA(CString,CString,BookSystem*temp,CListBox&
//按和作者打印
voidPrint_BandA(CString,CString,BookSystem*temp,CListBox&
//按书名和作者打印
voidPrint_PandBandA(CString,CString,CString,BookSystem*temp,CListBox&
//按,书名和作者打印
boolPrint_Type(CString,BookSystem*temp,CListBox&
//按书的类型打印
BookSystem*Print_Press(CString,BookSystem*temp);
//按打印
BookSystem*Print_Bookname(CString,BookSystem*temp);
//按书名打印
BookSystem*Print_Author(CString,BookSystem*temp);
BookSystem*Print_PandB(CString,CString,BookSystem*temp);
BookSystem*Print_PandA(CString,CString,BookSystem*temp);
BookSystem*Print_BandA(CString,CString,BookSystem*temp);
BookSystem*Print_PandBandA(CString,CString,CString,BookSystem*temp);
boolPrint_Type(CString,BookSystem*temp);
//按书的类型打印
boolInsertBookSystem(CString,CString,CString,CString,BookSystem*);
BookSystem*BookSystem:
:
ResearchInsert_Type(BookSystem*,BookSystem*);
//按类型查找和插入,方法基于跳跃链表的
BookSystem*Search_Press(CString,BookSystem*);
//查找
BookSystem*Search_Bookname(CString,BookSystem*);
//查找书名
BookSystem*Search_Author(CString,BookSystem*);
//查找类名
BookSystem*Search_PandB(CString,CString,BookSystem*);
//按和书名查找
BookSystem*Search_BandA(CString,CString,BookSystem*);
//按和作者查找
BookSystem*Search_PandA(CString,CString,BookSystem*);
//按书名和作者查找
BookSystem*Search_PandBandA(CString,CString,CString,BookSystem*);
//按,书名和作者查找
CStringpress,bookname,author,type;
intnote[3],ID,booknameID;
//note用来记录数据相应坐标的位置
BookSystem*press_next;
//记录下一条同一标记的节点的位置
BookSystem*bookname_next;
//记录下一条同一书名的节点的位置
BookSystem*author_next;
//记录下一条同一人名的节点的位置
BookSystem*same;
BookSystem*other;
};
4.3界面现实控制台
界面部分我们是利用MFC来实现图书信息管理系统的显示以及操作界面:
首先利用MFC来制作成用户登陆的界面里面包括调用了图书馆管理系统.cpp的函数来实现界面容,用户可以点击"
用户登陆"
按纽来进入系统。
点击完"
后变是进入用户ID验证,以及功能选择界面(Id是1KEY是1111),按钮Borrow是进入借书界面,其部连接着borrow.cpp函数;
按钮Rrturn是进入还书界面,其部连接着returnbook.cpp函数
用户选择Borrow后,便可以按照提示来进行图书的查询(可以按图书类型查找,按图书名查找,按图书作者查找,按图书查找;
也可以图书名,图书作者,图书出板社3个元素混合查找。
)
Borrow.cpp函数里头每种的查找方式都跟核心算法函数BookSystem.cpp里头的查找函数(BookSystem*Search_Press(CString,BookSystem*);
BookSystemSearch_Bookname(CString,BookSystem*);
)相连接调用
当搜索到相关的图书信息后,将会显示出来在搜索结果的筐架里头。
选定后按下Borrow按钮,如果借书成功,系统便会提示成功,没有便会提示失败;
时候
当一本书借书成功后,在Return函数里头便会以文本的形式记录起来,等待以后还书的时候调用文本所记录的数据来还书。
还书的时候只要进入还书的界面里头选定要还的书目,按Return,如果还书成功,系统便会有提示
4.4角色划分
图书管理系统将用户划分为两类:
在该图书信息管理系统中,不同的角色对应不同的功能,在登陆界面需要输入用户名和密码才能进入普通用户功能界面。
4.5登陆窗口
这就是我们所做的信息安全专业图书管理系统的登陆页面:
点击用户登陆就进入输入用户名和密码(用户名:
1密码:
1111)身份验证完成之后进入普通用户的功能界面,在里面可以进行借书、还书以及查询图书的功能。
点击城堡图片进入输入超级密码(密码:
11111111)进入管理员功能界面,可以实现清除库存和图书录入的功能。
4.6操作流程
点击用户登陆
输入:
用户名:
1
密码:
1111
输入Access2003数据库原理与应用标准教程标准
点击书目选择借书就可以实现图书的借阅。
选定后按下借书按钮,如果借书成功,系统便会提示成功,没有便会提示失败
同理进入归还界面:
选择其中的书目,点击归还:
下面介绍管理员账户的功能,首先点击首页的城堡图片进入管理员登陆页面
输入密码:
11111111
可以看到管理员账户所具有的两项功能可以选择其中的一项进行:
如果选择采编入库的话,就进入其页面,填写其中容进行记录。
选择清除库存的话,选择其中里面的一项或者几项,确定要清除的书籍信息然后点击确
编译程序如下:
#include<
iostream.h>
iomanip.h>
//I/O流控制头文件,类似C里面的格式化输出
string.h>
fstream.h>
constintmaxr=50;
//读者上限
constintmaxb=50;
//图书上限
constintmaxbor=5;
//每个读者最多只能借5本书
constcharm[6]={'
1'
'
2'
3'
4'
5'
6'
//管理员密码
classReader
{
intflag;
//删除标记
intnumber;
//学号
charname[10];
//
charmajor[10];
//专业
intborbook[maxbor];
Reader(){}
char*getname(){returnname;
}
char*getmajor(){returnmajor;
}
intgetflag(){returnflag;
intgetnumber(){returnnumber;
voidsetname(charna[])
strcpy(name,na);
voidsetmajor(charm[])
strcpy(major,m);
voiddelbook()
flag=1;
//1.已删
voidaddreader(intn,char*na,char*m)
flag=0;
number=n;
for(inti=0;
i<
maxbor;
i++)
borbook[i]=0;
voidborrowbook(intbookid)
if(borbook[i]==0)
{
borbook[i]=bookid;
return;
}
intbackbook(intbookid)
if(borbook[i]==bookid)
borbook[i]=0;
return1;
return0;
voiddisp()//显示读者信息
cout<
<
setw(5)<
number<
setw(10)<
name<
setw(15)<
major<
setw(20)<
"
借书编号["
;
if(borbook[i]!
=0)
cout<
borbook[i];
cout<
]"
endl;
classRDatabase
inttop;
//读者记录指针
Readerread[maxr];
//读者记录
RDatabase()//构造函数,将reader.txt读到read[]中
{
Readers;
top=-1;
fstreamfile("
reader.txt"
ios:
in);
//***文件以输入方式打开reader.txt,创建文件流对象file
while
(1)
file.read((char*)&
s,sizeof(s));
if(!
file)break;
top++;
read[top]=s;
file.close();
}
intaddreader(intn,char*na,char*m)//添加读者时先查找是否存在
Reader*p=search(n);
if(p==NULL)
read[top].addreader(n,na,m);
return0;
}
Reader*search(intreaderid)//按学号查找
for(inti=0;
=top;
if(read[i].getnumber()==readerid&
&
read[i].getflag()==0)
return&
read[i];
returnNULL;
voiddisp()//输出读者信息
read[i].disp();
voidreaderdata();
~RDatabase()//析构函数,将read[]写入reader.txt文件中
out);
//文件以输出方式打开reader.txt,创建文件流对象file
if(read[i].getflag()==0)
file.write((char*)&
read[i],sizeof(read[i]));
file.close();
voidRDatabase:
readerdata()
{
intchoice=1;
charrname[20];
charrmajor[20];
intreaderid;
Reader*r;
while(choice!
欢迎进入读者管理系统"
1:
添加读者"
2:
删除读者"
3:
查找读者"
4:
显示"
0:
返回"
cin>
>
choice;
switch(choice)
case1:
输入读者学号:
cin>
readerid;
输入读者:
rname;
输入读者专业:
cin>
rmajor;
addreader(readerid,rname,rmajor);
添加读者成功"
break;
case2:
//按学号删除读者
r=search(readerid);
if(r==NULL)
{
cout<
该读者不存在"
break;
}
r->
delbook();
成功删除该读者"
case3:
//按学号查询读者信息
disp();
case4:
disp();
classBook//图书类
//图书编号
charname[20];
//图书名
charauthor[10];
//作者名
charcbs[20];
//名称
intonshelf;
Book(){}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)