图书管理系统的设计书.docx

上传人:b****1 文档编号:1936231 上传时间:2023-05-02 格式:DOCX 页数:25 大小:21.31KB
下载 相关 举报
图书管理系统的设计书.docx_第1页
第1页 / 共25页
图书管理系统的设计书.docx_第2页
第2页 / 共25页
图书管理系统的设计书.docx_第3页
第3页 / 共25页
图书管理系统的设计书.docx_第4页
第4页 / 共25页
图书管理系统的设计书.docx_第5页
第5页 / 共25页
图书管理系统的设计书.docx_第6页
第6页 / 共25页
图书管理系统的设计书.docx_第7页
第7页 / 共25页
图书管理系统的设计书.docx_第8页
第8页 / 共25页
图书管理系统的设计书.docx_第9页
第9页 / 共25页
图书管理系统的设计书.docx_第10页
第10页 / 共25页
图书管理系统的设计书.docx_第11页
第11页 / 共25页
图书管理系统的设计书.docx_第12页
第12页 / 共25页
图书管理系统的设计书.docx_第13页
第13页 / 共25页
图书管理系统的设计书.docx_第14页
第14页 / 共25页
图书管理系统的设计书.docx_第15页
第15页 / 共25页
图书管理系统的设计书.docx_第16页
第16页 / 共25页
图书管理系统的设计书.docx_第17页
第17页 / 共25页
图书管理系统的设计书.docx_第18页
第18页 / 共25页
图书管理系统的设计书.docx_第19页
第19页 / 共25页
图书管理系统的设计书.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统的设计书.docx

《图书管理系统的设计书.docx》由会员分享,可在线阅读,更多相关《图书管理系统的设计书.docx(25页珍藏版)》请在冰点文库上搜索。

图书管理系统的设计书.docx

图书管理系统的设计书

图书管理系统的设计书

1需求分析:

(1)能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除;

(2)能够实现对读者档案的查询和编辑管理;

(3)能够进行罚款功能;

(4)能够进行借阅历史的查询功能;

2系统性能要求:

(1)系统安全、可靠;

(2)功能齐全;

(3)操作方便、界面友好;

(4)易于维护和扩充。

3系统的功能分析:

(1)密码设置:

每个操作员均有自己的密码,可以防止非本系统人员进入本系统;又因每个人的权限不一致,故可以防止越权操作。

(2)资料维护:

为了存放图书、读者档案的全部数据,本系统将每一本图书和每位读者的信息进行管理。

系统维护包括对各种表记录的修改、删除、添加等操作。

(3)系统查询:

可以按图书编号、借阅证编号等相关信息进行查询

(4)系统管理:

进行员工管理、数据备份和数据恢复。

(5)报表统计:

包括统计图书信息、读者信息、借阅信息和罚款信息等。

(6)其它操作:

包括修改密码、添加用户、页面设置等

3.总体设计

3.1项目规划

图书管理系统可以分为前台显示界面、图书信息管理系统管理以及后台数据库三个部分。

其中前台显示界面的主要工作就是显示图书的信息,借阅情况,查询清空等问题,主要是向大家展示必要的信息。

图书信息管理系统作为核心,其主要功能就是实现图书的查询、借书、还书、图书入库以及清除库存。

后台数据库主要是为了进行图书的查询、借书、还书、图书入库以及清除库存的信息记录的。

 

3.3系统功能概述

图书管理部分:

包括图书信息管理和类别管理,其功能是实现对各部分数据容进行添加、修改、查询等操作。

各管理部分的明细如下:

(1)图书信息管理:

包括图书信息的添加、图书信息的修改、图书信息的查询和图书的信息删除4部分。

其中,图书信息包括图书编号、书名、图书类别、作者、、出版日期、登记日期以及是否已被借出。

(2)图书类别管理:

包括图书类别的添加、图书类别的修改、图书类别的删除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*);

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*);)相连接调用

当搜索到相关的图书信息后,将会显示出来在搜索结果的筐架里头。

选定后按下Borrow按钮,如果借书成功,系统便会提示成功,没有便会提示失败;

时候

当一本书借书成功后,在Return函数里头便会以文本的形式记录起来,等待以后还书的时候调用文本所记录的数据来还书。

还书的时候只要进入还书的界面里头选定要还的书目,按Return,如果还书成功,系统便会有提示

4.4角色划分

图书管理系统将用户划分为两类:

普通用户和管理员。

普通用户的主要功能有:

借书、还书、查询这三项基本功能。

管理员的主要功能有:

图书录入和清除库存

在该图书信息管理系统中,不同的角色对应不同的功能,在登陆界面需要输入用户名和密码才能进入普通用户功能界面。

而需要输入特殊密码进入管理员功能界面。

4.5登陆窗口

这就是我们所做的信息安全专业图书管理系统的登陆页面:

点击用户登陆就进入输入用户名和密码(用户名:

1密码:

1111)身份验证完成之后进入普通用户的功能界面,在里面可以进行借书、还书以及查询图书的功能。

点击城堡图片进入输入超级密码(密码:

11111111)进入管理员功能界面,可以实现清除库存和图书录入的功能。

4.6操作流程

这就是我们所做的信息安全专业图书管理系统的登陆页面:

点击用户登陆就进入输入用户名和密码(用户名:

1密码:

1111)身份验证完成之后进入普通用户的功能界面,在里面可以进行借书、还书以及查询图书的功能。

点击城堡图片进入输入超级密码(密码:

11111111)进入管理员功能界面,可以实现清除库存和图书录入的功能。

点击用户登陆

输入:

用户名:

1

密码:

1111

输入Access2003数据库原理与应用标准教程标准

当搜索到相关的图书信息后,将会显示出来在搜索结果的筐架里头。

点击书目选择借书就可以实现图书的借阅。

选定后按下借书按钮,如果借书成功,系统便会提示成功,没有便会提示失败

同理进入归还界面:

选择其中的书目,点击归还:

下面介绍管理员账户的功能,首先点击首页的城堡图片进入管理员登陆页面

输入密码:

11111111

可以看到管理员账户所具有的两项功能可以选择其中的一项进行:

如果选择采编入库的话,就进入其页面,填写其中容进行记录。

选择清除库存的话,选择其中里面的一项或者几项,确定要清除的书籍信息然后点击确

编译程序如下:

#include

#include//I/O流控制头文件,类似C里面的格式化输出

#include

#include

constintmaxr=50;//读者上限

constintmaxb=50;//图书上限

constintmaxbor=5;//每个读者最多只能借5本书

constcharm[6]={'1','2','3','4','5','6'};//管理员密码

classReader

{

intflag;//删除标记

intnumber;//学号

charname[10];//

charmajor[10];//专业

intborbook[maxbor];

public:

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;

strcpy(name,na);

strcpy(major,m);

for(inti=0;i

borbook[i]=0;

}

voidborrowbook(intbookid)

{

for(inti=0;i

if(borbook[i]==0)

{

borbook[i]=bookid;

return;

}

}

intbackbook(intbookid)

{

for(inti=0;i

if(borbook[i]==bookid)

{

borbook[i]=0;

return1;

}

return0;

}

voiddisp()//显示读者信息

{

cout<

for(inti=0;i

if(borbook[i]!

=0)

cout<

cout<<"]"<

}

};

classRDatabase

{

inttop;//读者记录指针

Readerread[maxr];//读者记录

public:

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)

{

top++;

read[top].addreader(n,na,m);

return1;

}

return0;

}

Reader*search(intreaderid)//按学号查找

{

for(inti=0;i<=top;i++)

if(read[i].getnumber()==readerid&&read[i].getflag()==0)

return&read[i];

returnNULL;

}

voiddisp()//输出读者信息

{

for(inti=0;i<=top;i++)

read[i].disp();

}

voidreaderdata();

~RDatabase()//析构函数,将read[]写入reader.txt文件中

{

fstreamfile("reader.txt",ios:

:

out);//文件以输出方式打开reader.txt,创建文件流对象file

for(inti=0;i<=top;i++)

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!

=0)

{

cout<<"欢迎进入读者管理系统"<

cout<<"1:

添加读者"<

cout<<"2:

删除读者"<

cout<<"3:

查找读者"<

cout<<"4:

显示"<

cout<<"0:

返回"<

cin>>choice;

switch(choice)

{

case1:

cout<<"输入读者学号:

";

cin>>readerid;

cout<<"输入读者:

";

cin>>rname;

cout<<"输入读者专业:

";

cin>>rmajor;

addreader(readerid,rname,rmajor);

cout<<"添加读者成功"<

break;

case2:

cout<<"输入读者学号:

";//按学号删除读者

cin>>readerid;

r=search(readerid);

if(r==NULL)

{

cout<<"该读者不存在"<

break;

}

r->delbook();

cout<<"成功删除该读者"<

break;

case3:

cout<<"输入读者学号:

";//按学号查询读者信息

cin>>readerid;

r=search(readerid);

if(r==NULL)

{

cout<<"该读者不存在"<

break;

}

r->disp();

break;

case4:

disp();

break;

}

}

}

 

classBook//图书类

{

intflag;

intnumber;//图书编号

charname[20];//图书名

charauthor[10];//作者名

charcbs[20];//名称

intonshelf;

public:

Book(){}

char*getname(){returnname;}

intgetnumber(){returnnumber;}

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

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2