当前位置:文档之家› 数据结构课程设计报告图书馆管理系统(含源代码)

数据结构课程设计报告图书馆管理系统(含源代码)

图书馆管理系统

专业班级:XXX

学号:XXX

姓名:XXX

指导教师:XXX

课程设计时间:XXX

注:本实验报告的实验源码需要到这里下载https://www.doczj.com/doc/3817523951.html,/data/438574

计算机专业数据结构课程设计任务书

学生姓名XXX 专业班级XXX 学号XXX 题目图书馆管理系统

课题性质工程设计课题来源XXX

指导教师XXX同组姓名XXX

主要内容

1. 采编入库:新购入一本书,如果给书在图书账目中已经存在,则其库存量增加(包括总库存量和现库存量)。如果该书不存在图书账目中增加一本书,总库存量和现库存量都为输入的数字。

2. 清空库存:某一种书已无保留价值,将它从图书账目中注销。

3. 借阅:如果一种书的库存量大于零,则借出一本书,将现库存量减1,并登记借阅者的图书证号和归还期限。

4. 归还:注销对借阅者登记,改变该书的现存量。

5. 按书号查找。

6. 按书名查找。

7. 按作者查找。

8. 查看某图书证号的借阅者借阅的全部图书。

9. 查看全部超期未还的图书。

0. 退出图书管理系统。

任务要求1.研究图书馆管理系统的数据存储方式2.实现图书馆管理系统的主要算法

3.分析算法的运行效率

4.具有良好的运行界面

5.算法具有良好的健壮性

6.按要求撰写课程设计报告和设计总结。

参考文献

1.《数据结构(C语言版)》,严蔚敏、吴伟民,清华大学出版社,1997. 2.《Visual C++实用教程(第一版)》,张荣梅、梁晓林,冶金工业出版社,2004.

审查意见指导教师签字:

教研室主任签字:年月日

一、设计题目

简单的图书馆管理系统

二、设计意义

熟悉和掌握数据结构课程所学的各种算法在实际项目中的应用,学习数据结构算法的c++实现方法等。

三、系统需求

程序中传递的有信息有:图书信息(包括图书编号、书名、作者、出版社、总库存和剩余库存)和读者信息(包括借阅证号和借阅图书)。

1.图书管理

对书库中的图书信息进行管理和查看功能,包括新书入库和清空库存功能,主要解决实际应用中图书馆增进新书种类数目或已有图书损坏丢失问题。其中,新书入库功能要求输入图书编号、书名、作者、出版社四项信息,用户输入图书编号后,系统首先判断书库中是否有该书的记录,如果满足条件,则要求输入购入数量后修改总库存和现有库存,如果不满足条件,则要求补全图书信息后新建一条库存记录;清空库存功能要求输入图书编号,用户输入图书编号后,系统首先判断书库中是否有该书的记录,如果满足条件,则删除书库中该书的记录,如果不满足条件,则返回错误提示。

2.借阅管理

管理书库中的图书借阅相关行为,包括图书借阅和图书归还功能,主要解决实际应用中图书馆图书借出和归还信息的管理的问题。其中,图书借阅功能要求输入图书编号,用户输入图书编号后,系统首先判断书库中是否有该书的记录以及是否还存在剩余库存,如果有且剩余库存大于0,则借出一本书,将该书现库存量减1,并登记借阅者的图书证号和归还期限,如果没有,则返回错误提示;图书归还功能要求输入图书编号和借阅证编号,用户输入图书编号和借阅证编号后,系统首先判断书库中是否有该书的记录及是否借出,如果满足条件,则归还一本书,将该书现库存量加1,并删除该借阅证下该条借阅记录,如果不满足条件,则返回错误信息。

3.图书查找

查找书库中的图书信息,包括按编号查找,按书名查找和按作者查找功

能,主要解决实际应用中借阅者查找想要借阅的图书信息和图书馆对图书各类信息的实时管理问题。其中,编号查找功能要求输入图书编号,用户输入图书编号后,系统首先判断书库中是否有该书的记录,如果满足条件,则输出包括图书编号、书名、作者、出版社、总库存和剩余库存等全部图书信息,如果不满足条件,则返回错误信息;书名查找功能要求输入图书书名,用户输入图书书名后,系统首先判断书库中是否有该书的记录,如果满足条件,则输出包括图书编号、书名、作者、出版社、总库存和剩余库存等全部图书信息,如果不满足条件,则返回错误信息;作者查找功能要求输入图书作者,用户输入图书作者后,系统首先判断书库中是否有该书的记录,如果满足条件,则输出包括图书编号、书名、作者、出版社、总库存和剩余库存等全部图书信息,如果不满足条件,则返回错误信息。

4.信息查看

查看书库中读者相关的借出相关信息,包括读者信息和超期未还功能,主要解决实际应用中图书馆管理者对书库中读者借阅信息和图书借阅信息的实时查看问题。读者信息功能要求输入借阅证编号,用户输入借阅证编号后,系统首先判断书库中是否有该读者的记录,如果满足条件,则输出读者所借阅的图书书名,如果不满足条件,则返回错误信息。超期未还功能要求输入当前日期,用户输入当前日期后,系统输出所有当前日期之前的所有图书借出记录。

四、功能设计

在仔细分析系统需求后决定按照需求分类设计程序模块,既图书管理、借阅管理、图书查找和信息查看四大模块以及新书入库、清空库存、图书借阅、图书归还、编号查找、书名查找、作者查找、读者信息和超期未还九大功能。为方便查找和修改,定义结构体四个,他们分别是

功能结构体名

图书链表struct LinkBook

读者链表struct LNode

图书信息struct book

借阅行为struct Boro

并决定函数按照功能划分,共使用函数十五个,包括两个公用函数用于库存检查和信息显示,一个菜单函数和九个分别对应九大功能的功能函数。他们分别是

功能函数名称

新书入库Buy(ook &boo, char BuyNum[])

清空库存Delete(ook &boo,char DeleteNum[])

图书借阅Borrow(ook &boo,lend &Lin,char BorrowNum[],char CaNum[])

图书归还

Return(ook &boo,lend &Lin,char ReturnNum[],char BorrowerNum[])

编号查找SearchByNum(ook &boo,char SeaNum[])

书名查找SearchByName(ook &boo)

作者查找SearchByAuth(ook &boo)

读者信息ViewCard(ook &boo,lend &Lin)

超期未还ViewBook(ook &boo,lend &Lin)

库存检查BinarySearch(ook boo,char SearchNum[])

信息显示Out(ook &boo)

菜单函数Menu()

主函数main()

初始化图书InitBo(ook &boo)

初始化读者InitBo(ook &boo)

五、运行环境(软、硬件环境)

1)硬件:PC机

2)操作系统:Windows 2000/XP/2003

3)编译环境:Visual C++6.0

六、开发工具和编程语言

开发工具:VISCALL c++6.0;

编程语言:C++语言。

七、程序流程

开始

主菜单

功能选择

2 清空库存

3

4

5

6

7

8

9

退

1 采编入库

判断判断

入不满足条件,返回错误信息增

终止

程序源代码

#include

#include

#include

using namespace std;

#define MAXSIZE 100 //最大值定义为100

#define LIST_INIT_SIZE 100//图书证使用者最大值定义为100

typedef struct Boro //借书行为//借书人的结构体

{ char BNum[20]; //借书的书号

char RetDate[8]; //归还日期

struct Boro *next;

}Bor;

typedef struct LinkBook

{ Bor *next; //该图书证的借书行为

char CNum[20]; //证号

int Total; //借书的数量

}lend[LIST_INIT_SIZE]; //借书人数组

typedef struct LNode //图书的结构体信息

{ char CardNum[20]; //图书证号

struct LNode *next;

}LinkList; //借书人

typedef struct book//每种图书需要登记的内容包括书号ISBN、书名、作者、出版社、总库存量和现库存量。

{ char num[20]; //书号

char name[20]; //书名

char auth[20]; //作者

char pub[20]; //出版社

int TotNum; //总库存

int NowNum; //现库存

LinkList *next; //借了该书的人

}ook[MAXSIZE];

int Retotal;//读者数量

int total; //定义外部变量.书的种类数

void InitBo(ook &boo) //初始化图书信息

{ for(int i=0;i

{ boo[i].NowNum=0;

boo[i].TotNum=0;

boo[i].next=NULL;

}}

void InitRe(lend &Lin) //初始化借阅者信息

{ for(int i=0;i

Lin[i].next=NULL;

}

int mid=0; //外部函数mid,用来返回查找到的位置

//二分法查找比较书号,用bool函数,但由于函数不能有两个返回值,所以设置一个外部变量mid,用来返回查找到的位置

bool BinarySearch(ook boo,char SearchNum[])

{ int low=0,high=total-1;

int found=0;

while(low<=high)

{ mid=(low+high)/2; //中间点

if(strcmp(boo[mid].num,SearchNum)==0) //书号相同

{ found=1;return true;} //查找成功

if(strcmp(boo[mid].num,SearchNum)!=0) //书号不同

high=mid-1;

else low=mid+1;}

if(found==0) return false; //查找失败

}

void Buy(ook &boo, char BuyNum[])

{ if(BinarySearch(boo,BuyNum)) //如果书库中有此书

{ boo[mid].TotNum++; //总库存加1

boo[mid].NowNum++; //现库存加1

cout<<"入库成功."<<'\n';

cout<<"已更改书库中该书的信息。"<<'\n';

cout<<"┏━━━━━━━━┳━━━━━━━┓"<<'\n';

cout<<"┃编号┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃书名┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃作者┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃出版社┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃现库存┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃总库存┃"<

cout<<"┗━━━━━━━━┻━━━━━━━┛"<<'\n';}

if(!BinarySearch(boo,BuyNum))

{ int i;

for(i=total;i>mid&&total;i--) //插在适合位置保持有序

boo[i]=boo[i-1]; //空出插入位置

cout<<"该书在书库中不存在。设立新书目,请补全书的详细信息。"<<'\n'; strcpy(boo[i].num,BuyNum);

cout<<"该书购入的数量是:";

cin>>boo[i].NowNum;

boo[i].TotNum=boo[i].NowNum;

cout<<"该书的名字是:";

cin>>boo[i].name;

cout<<"该书的作者是:";

cin>>boo[i].auth;

cout<<"该书的出版社是:";

cin>>boo[i].pub; //补全信息

boo[i].next=NULL;

total++; //总量+1

cout<<"已增加该书的信息。"<

cout<<"┏━━━━━━━━┳━━━━━━━┓"<<'\n';

cout<<"┃编号┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃书名┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃作者┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃出版社┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃现库存┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃总库存┃"<

cout<<"┗━━━━━━━━┻━━━━━━━┛"<<'\n';

cout<<"入库成功。\n";}}

void Delete(ook &boo,char DeleteNum[])//2、清空库存:某一种书已无保留价值,将它从图书账目中注销。

{ if(BinarySearch(boo,DeleteNum)==false||total==0) //如果无此书

cout<<"书库中没有该书."<<'\n';

if(BinarySearch(boo,DeleteNum))//若有

{ if(!boo[mid].next)

{ int j;

for( j=mid;j

boo[j]=boo[j+1];

strcpy(boo[j].num,boo[j+1].num);

strcpy(boo[j].name,boo[j+1].name);

strcpy(boo[j].auth,boo[j+1].auth);

strcpy(boo[j].pub,boo[j+1].pub);

boo[j].TotNum=boo[j+1].TotNum;

boo[j].NowNum=boo[j+1].NowNum;

cout<<"已成功删除该书."<<'\n';}

else cout<<"该书有借阅者,无法删除。"<<'\n';}}

//3、借阅:如果一种书的现库存量大于零,则借出一本书,将现库存量减1,并登记借阅者的图书证号和归还期限。

void Borrow(ook &boo,lend &Lin,char BorrowNum[],char CaNum[])

{ Bor *p,*q;

LinkList *m,*n;

if(!BinarySearch(boo,BorrowNum)||total==0) //如果没有找到此书

cout<<"书库里没这书。"<<'\n'; //如果有这书

if(BinarySearch(boo,BorrowNum)) //书库里有

{ if(boo[mid].NowNum>0) //看现库存是否大于0

{ boo[mid].NowNum--; //借出一本,少1

if(boo[mid].next==NULL) //若该书信息下显示该种书还没被人借过{ m=(LinkList *)malloc(sizeof(LNode));//分配

boo[mid].next=m; //该图书信息中的链表的第一个结点

strcpy(m->CardNum,CaNum);

m->next=NULL;} //后一个结点为空

else //如果已经有人在借这书了

{ m=boo[mid].next;

while(m->next) //遍历到最后一个结点

m=m->next;

n=(LinkList *)malloc(sizeof(LNode));//分配空间,增加1个结点

m->next=n;

strcpy(n->CardNum,CaNum); //记录证号

n->next=NULL;}

int i=0;

for(i=0;i

{ if(!strcmp(Lin[i].CNum,CaNum)) //如果已经有该图书证的信息

{ p=Lin[i].next;

while(p->next)p=p->next; //遍历到最后一个结点

q=(Bor *)malloc(sizeof(Boro));//分配空间

p->next=q;

strcpy(q->BNum,BorrowNum); //记录书号

cout<<"输入归还日期:";

cin>>q->RetDate;

q->next=NULL;

cout<<"借阅成功。"<<'\n';

break;}} //找到证了就跳出循环

if(i==Retotal) //如果没有这张证的信息

{ strcpy(Lin[i].CNum,CaNum); //记录证号

p=(Bor *)malloc(sizeof(Boro)); //分配空间

Lin[i].next=p;

strcpy(p->BNum,BorrowNum);

cout<<"输入归还日期:";

cin>>p->RetDate;

p->next=NULL;

Retotal++; //借阅证号信息总数加1

cout<<"借阅成功。"<<'\n';}}

else cout<<"借阅失败。该书现在库存为0。"<<'\n';}}

//4、归还:注销对借阅者的登记,改变该书的现存量。

void Return(ook &boo,lend &Lin,char ReturnNum[],char BorrowerNum[]) { Bor *p,*q;

LinkList *m,*n;

int flag=0; //设置一个参数

if(!BinarySearch(boo,ReturnNum)||!total) //没书

cout<<"书库中无此书"<<'\n';

if(BinarySearch(boo,ReturnNum)) //有书

{ m=boo[mid].next;

if(!strcmp(m->CardNum,BorrowerNum)) //如果是第一个借的人还的{ boo[mid].NowNum++; //现库存加1

boo[mid].next=m->next; //删除结点

free(m);} //释放该结点的空间空间

else

{ while(m->next) //查找归还者的借阅者结点

{ if(!strcmp(m->next->CardNum,BorrowerNum)) //如果找到

{ n=m->next; //n为归还者的借阅结点

m->next=n->next; //m指向归还者的借阅结点的下一结点

free(n); //释放空间

boo[mid].NowNum++; //现库存加1

break;}

m=m->next;}}}

//在借阅者表里查找借阅者信息

for(int i=0;i

{ if(!strcmp(Lin[i].CNum,BorrowerNum)) //如果找到借阅者

{ p=Lin[i].next;

if(!strcmp(p->BNum,ReturnNum)) //如果是归还的是借的第一本书{ Lin[i].next=p->next; //指向下一借书结点

free(p); //释放结点空间

cout<<"成功归还该书。"<<'\n';

flag=1;

break;}

else //找不到

{ while(p->next) //找到归还书的借书结点

{ if(!strcmp(p->next->BNum,ReturnNum)) //如果找到

{ q=p->next; //q为归还书的借书结点

p->next=q->next; //p指向下一借书结点

free(q); //释放空间

cout<<"成功归还该书。"<<'\n';

flag=1;

break;}

p=p->next;}}}}

for(int k=0;k

if(!Lin[k].next)

{ int j;

for(j=k;j

Lin[j]=Lin[j+1]; //其后都往前移一位,覆盖掉当前信息strcpy(Lin[j].CNum," "); //删除图书证号

Retotal--;} //图书证数减1

//删除当前状态下没借书的图书证的信息,节省空间

if(flag==0) cout<<"无该证信息。"<<'\n';}

//5、查找:实现按三种查询条件之一查找:按书号查找、按书名查找、按作者查找。注:可不实现组合查找,即几个条件组合查找。

void SearchByNum(ook &boo,char SeaNum[]) //BY NUM 根据书号查找

{ LinkList *p;

p=boo[mid].next;

if(BinarySearch(boo,SeaNum)==false)

cout<<"对不起,未找到您想查找的书。"<<'\n'; //二分查找没找到

else //找到了的话

{{ cout<<"┏━━━━━━━━┳━━━━━━━┓"<<'\n';

cout<<"┃书号┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃书名┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃作者┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃出版社┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃现库存┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃总库存┃"<

cout<<"┗━━━━━━━━┻━━━━━━━┛"<<'\n';

if(boo[mid].next!=NULL)

{ cout<<"┏━━━━━━━┓"<<'\n';

cout<<"┃已借该书的┃"<<'\n';

cout<<"┃图书证号┃"<<'\n';

while(p)

{ cout<<"┣━━━━━━━┫"<<'\n';

cout<<"┃"<CardNum<<"┃"<<'\n';

p=p->next;}

cout<<"┗━━━━━━━┛"<<'\n';}}

while(p)

{ cout<CardNum; //在按书号查找的函数里也显示借了这本书的借阅者的证号

p=p->next;}

cout<<'\n';}} //显示查找的书籍的信息

void SearchByName(ook &boo) //BY NAME 根据书名查找

{ char SeaName[20];

cout<<"输入想查找的书的书名:"<<'\n';

cin>>SeaName;

cout<<"找到符合该书名的书的详细信息如下:"<<'\n';

for(int i=0;i

{ if(strcmp(SeaName,boo[i].name)==0) //如果书名一样

{ cout<<"┏━━━━━━━━┳━━━━━━━┓"<<'\n';

cout<<"┃书号┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃书名┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃作者┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃出版社┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃现库存┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃总库存┃"<

cout<<"┗━━━━━━━━┻━━━━━━━┛"<<'\n';

}}} //显示符合信息的所有书籍的信息

void SearchByAuth(ook &boo) // BY AUTH 根据作者查找

{ char SeaAuth[20];

cout<<"输入想查找的书的作者:"<<'\n';

cin>>SeaAuth;

cout<<"找到符合该作者的书的详细信息如下:"<<'\n';

for(int i=0;i

{ if(strcmp(SeaAuth,boo[i].auth)==0)//如果作者一样

{ cout<<"┏━━━━━━━━┳━━━━━━━┓"<<'\n';

cout<<"┃书号┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃书名┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃作者┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃出版社┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃现库存┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃总库存┃"<

cout<<"┗━━━━━━━━┻━━━━━━━┛"<<'\n';

}}} //显示符合信息的所有书籍的信息

//6、查看:可查看某图书证号的借阅者借阅的全部图书,可查看全部超期未还的图书。

void ViewCard(ook &boo,lend &Lin) //查看某图书证号的借阅者借阅的全部图书

{ char Num[20];

cout<<"请输入您所想要查看的图书证号:"<<'\n';

cin>>Num;

Bor *p;

int qqq=0;

for(int i=0;i

{ if(strcmp(Lin[i].CNum,Num)==0) //找到该证

{ cout<<"这个证借的书有:"<<'\n';

p=Lin[i].next;

while(p)

{ cout<BNum; //书号

p=p->next;}

cout<<'\n';

qqq=1;

break;}}

if(qqq==0)

cout<<"该证不存在."<<'\n';}

void ViewBook(ook &boo,lend &Lin) //查看全部超期未还的图书

{ char date[8];

Bor *p;

cout<<"请输入日期(请按格式20060605输入):"<<'\n';

cin>>date;

cout<<"所有超期未还的书有:"<<'\n';

for(int i=0;i

{ p=Lin[i].next;

while(p) //当p不空时

{ if(strcmp(p->RetDate,date)<0) //超过日期

{ cout<<"┏━━━━━━━━┳━━━━━━━┓"<<'\n';

cout<<"┃书号┃"<BNum<<'\n';

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃证号┃"<

cout<<"┣━━━━━━━━╋━━━━━━━┫"<<'\n';

cout<<"┃归还日期┃"<RetDate<<'\n';

cout<<"┗━━━━━━━━┻━━━━━━━┛"<<'\n';}//显示所有超期未还的书的信息

p=p->next;}}}

void Menu() //菜单

{ cout<<"┏—————————————————M E N U————————————————┓";

cout<<"││";

cout<<"│ 1. 采编入库:新购入一种书,如果该书在图书账目中已经存在,则将其库存量增│";

cout<<"│加(包括总库存量和现库存量)。如果该书不存在,则在图书账目中│";

cout<<"│增加一种书,总库存量和现库存量均为输入的数字。│";

cout<<"│ 2. 清空库存:某一种书已无保留价值,将它从图书账目中注销。│";

cout<<"│ 3. 借阅:如果一种书的现库存量大于零,则借出一本书,将现库存量减1,并│";

cout<<"│登记借阅者的图书证号和归还期限。│";

cout<<"│ 4. 归还:注销对借阅者的登记,改变该书的现存量。│";

cout<<"│ 5. 按书号查找。│";

cout<<"│ 6. 按书名查找。│";

cout<<"│7. 按作者查找。│";

cout<<"│8. 查看某图书证号的借阅者借阅的全部图书。│";

cout<<"│9. 查看全部超期未还的图书。│";

cout<<"│0. 退出图书管理系统。│";

cout<<"││";

cout<<"┗—————————————请选择你需要的操作————————————┛";

}

void main()

{ ook Bo;

lend Lin;

char BNum[20];

char CNum[20];

cout<<"-----------------------欢迎进入图书管理系统!---------------------------"<<'\n';

int choice=10;

int SearchCho=10,ViewCho=10;

while(choice!=0)

{ Menu(); //显示菜单

cin>>choice;

switch(choice)

{

case 1: //采编入库

cout<<"请输入入库的书的书号:";

cin>>BNum;

Buy(Bo,BNum);

break;

case 2: //清空库存

cout<<"请输入想要清除的书的书号:";

cin>>BNum;

Delete(Bo,BNum);

break;

case 3: //借阅

cout<<"请输入想要借阅的书的书号:"<<'\n';

cin>>BNum;

cout<<"请输入图书证号:";

cin>>CNum;

Borrow(Bo,Lin,BNum,CNum);

break;

case 4: //归还

cout<<"请输入想要归还的书的书号:"<<'\n';

cin>>BNum;

cout<<"请输入图书证号:";

cin>>CNum;

Return(Bo,Lin,BNum,CNum);

break;

case 5: //查找//根据书号查找

cout<<"请输入书号:";//输入书号查找

cin>>BNum;

SearchByNum(Bo,BNum);

break;

case 6: //根据书名查找

SearchByName(Bo);

break;

case 7: //根据作者查找

SearchByAuth(Bo);

break;

case 8: //查看某图书证所借的所有书

ViewCard(Bo,Lin);

break;

case 9: //查看全部超期未还的书

ViewBook(Bo,Lin);

break;

case 0: //退出系统

exit(0);break;

default:cout<<"输入错误!"<<'\n';

exit(0);

break;

}}}

八、测试结果

九、参考文献

[1] 边肇祺,模式识别(第二版),北京:清华大学出版社,1988,25~35

[2] 李永忠,几种小波变换的图像处理技术,西北民族学院学报(自然科学版),2001.6,22(3),15~18

[3]谭浩强,C程序设计题解与上机指导(第3版),清华大学出版社,2005.7.

[4][美]Harvey M. Deitel,Paul J. Deitel 著,聂雪军,贺军译,C程序设

计经典教程(第4版),清华大学出版社,2006。3

课程设计总结

通过本次课程设计,我学到了很多:增强了查阅相关参考资料的能力;独立分析解决问题的能力;创新精神;自己的上机动手的能力;自己对课程设计的理解,得到很多启示,知道了以后要加强哪一方面,还有哪一方面有用,课程设计为我们提供了一个即动手又动脑、独立实践的机会,让我明白了在我们学习理论知识的同时,应该积极上机实验以巩固我们的理论知识,增强我们设计程序的能力,为我们将来的工作打下坚实的基础。

图书馆管理系统的设计与实现

图书馆管理系统的设计与实现 引论 目前,随着信息技术的快速发展,图书馆也逐渐现代化,为了适应市场需求,软件开发者已经开发了许多商业图书馆管理软件,软件功能完善,他们中的大多数都面临着大型的,专业性强的图书馆设计,操作繁杂,并且各分公比较精细。然而,对于那些管理者,非图书馆管理业务的专业人员,分工不很清楚,这个软件太复杂了。针对上述状况,系统使用.NET技术,以实用的原则,力求使系统操作简单,易于掌握使用。 1 系统开发概况 1.1 开发目的 科技发展迅速呈现这样的一个现状:数字化统治的优态越来越觉得明显,从中小型图书馆管制技术落后的现状来看,设计与实现图书馆管理系统的是十分必要的,结合电脑管制图书馆及图书信息的使用,方便管理员和用户检索迅速,查找方便,存储容量大。针对此,准备设计这样一个系统:清晰,功能齐全,适用页面,掌握简单和容易理解;开发周期短、维护成本低、软件更新的很快;管理方便,易于使用,一看就明白和目标系统具有一定的可靠性,安全性,可维护性,可移植性,等。 1.2 开发及运行环境 开发环境:VS2008, SQL Server2005, Dreamweaver2008,PhotoShopCS3等软件。 运行环境: 1.服务器设备: 硬件环境: (1)CPU:AMD 2500+ (2)内存:1G DDR2 (3)硬盘:160G 软件环境: Windows XP,SQL Server2005, Visual Studio2008 2.客户端设备 (1)CPU:赛扬2.0GHZ以上 (2)内存:1GB以上 (3)硬盘:160G以上 2 系统需求分析 2.1 系统功能分析 互联网的快速发展,使得人们愈来愈习惯于使用网络来达到所需。此外,以往的图书馆已经无法实现现代人的个性化需求,但对电子阅览室,因为大多数的功能是不受时间,空间制约,并且可以实现各种用户的一般与特别需要,所以容易得到当代人的喜好。 读者既可以借阅借阅喜欢的书籍,并且可以通过输入重要字找寻自己的一切所存信息。管理员供给其登陆的名称及密码,以及设立借阅人的级别,为其供给书籍列表,允许借阅人知道书籍的受欢迎榜排名。 2.2 系统功能总体描述 本系统选用B/S形式,能够完成书籍的查询,借阅书籍与归还书籍,借阅人管理等功能。 用户可以使用系统的一般功能,可以浏览大部分信息,但不能使用管理用户信息功能,这主要是防止用户胡乱使用,妨碍整个系统的管理。

图书馆管理系统ER图

长沙理工大学 《程序设计实践》课程设计报告 邹松林 学院计通学院专业计算机科学与技术 班级计算机03-05 学号27 学生姓名邹松林指导教师卢曼莎 课程成绩完成日期2006年9月20号 图书馆管理系统数据库分析与设计 学生姓名:邹松林指导老师:卢曼莎 摘要:图书信息管理系统主要由读者信息管理模块,图书信息管理模块,借阅信息管理 模块,系统信息管理模块等组成。其中又各自分成读者注册,证件修改,用户注销,图书查询,操作记录等子模块。在设计本系统过程中,我们第一步由自顶而下的需求分析概括设计出系统总模块的数据流图,再设计个子模块的相应数据流图,列出数据流信息及数据字典;第二步概念设计在需求分析基础上用E-R图表示出数据及相互间联系,采用先作子图,再合并成初步E-R图,进行修改和重构后得到基本E-R图;第三步逻辑设计,在SQL Server的设计环境下把图书馆管理系统E-R图转化为成逻辑数据模型表示的逻辑模式,同时实现数据模型的优化和数据模式的规范化;第四步进行物理设计设计数据的内模式,确定数据的存储结构,存取路径,存储空间分配等等,具体形式为表,视图,索引的建立。 关键字:数据库,SQL语言,MS SQL Server,图书管理 1 需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据,数据结构以及数据处理的流程,为后面的具体设计打下基础。 在仔细分析调查有关图书馆管理信息需求的基础上,我们主要考虑以下几个方面的需求: 1) 用户需求:图书用户要求计算机系统和SQL Server所工作的范围; 2) 应用资源:数据库应用的平台包括物理平台和图书等; 3) 应用质量和可靠性要求:包括操作人员素质和系统的纠错能力等 项目名称:图书馆信息管理系统 项目背景和内容概要 对图书馆管理信息系统进行详细地分析后,我们将系统分为以下几个模块:借阅管理模块、借书证信息管理模块、图书信息管理模块、系统管理模块。其主要功能如下: 借阅管理模块主要功能如下:

图书管理系统课程报告

课程报告 课程名称: 专业班级: 学生姓名: 学号: 任课教师: 学期:

课程报告任务书 开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量 等)。使之能提供以下基本功能: (1)图书信息录入功能(图书信息用文件保存)--输入 (2)图书信息浏览功能--输出 (3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): ①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等 (4)图书信息的删除与修改 扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理(2)报表打 印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。(4) 模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛 选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。成绩评定教师:

1 需求分析 本次实验目的是开发一个图书管理系统,且该图书管理系统中应包含以下基本功能: (1)图书信息录入功能 (2)图书信息浏览功能 (3)查询功能 例如:按书名查询、按作者名查询等等 (4)排序功能 例如:按照价钱排序、按出版时间排序等等 (5)图书信息的删除与修改 除此之外,个人还可以根据自己的爱好进行各方面的扩展。 例如权限处理、图书排序等等。在我们设计自己的程序时不仅可以利用课本上的知识,还可以在互联网上查询有关该类信息,将其学习总结并利用在此次程序设计中。 利用这次程序设计实验,我们可以提高自己的设计和编辑程序的能力、了解一般程序的编写过程,还可以巩固加深我们对C语言程序基本知识的了解与掌握。我在该实验中不仅利用了课本上的函数知识、文本的输入和读出,还用互联网查阅了相关知识。 如“("")”,用汉语解释就是清屏功能;还有“()”函数,输入不读出,不过在利用“()”进行密码的改写时老是出错误,就舍弃了该函数。在利用“("")”时感觉还是很好的,用该函数后不仅可以使程序在运行时美观大方,还可以一眼扫描到我们要找的信息。 而我在我编写的程序中设计了如下的功能: ①登陆权限功能 ②查找全部图书并总图书本数功能 ③查找每本图书功能 ④添加图书功能 ⑤删除图书功能 ⑥修改图书功能

图书馆管理系统用例图、活动图、类图、时序图

图书馆管理系统 一.图书馆管理系统需求分析 1、系统目标设计 系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。 能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。 能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。 提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。 提供对书籍进行的预先预订的功能。 提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。 能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。 提供较为完善的差错控制与友好的用户界面,尽量避免误操作。 2、系统功能需求分析 (1) 读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、 借书数量、借书期限、备注等。 (2) 书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、 类别、关键词、备注。 (3) 借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处 理和书籍丢失后的处理。

(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理 满足以上需求的系统主要包含有一下几个子系统 (1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。 (2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。 (3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。 (4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。 (5)帮助功能子系统。 二、系统动态建模 1、用例图、

图书管理系统的设计与实现

摘要 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。结合图书馆公共检索管理的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Power Builder 9.0应用程序设计,Power Builder 9.0数据库应用技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。 本设计所完成的图书管理系统软件是功能较完善的数据管理软件,数据操作方便高效。该软件采用功能强大的数据库软件开发工具进行开发,可在应用范围较广的Windows系列操作系统上使用。 关键词:图书管理系统;数据库安全性;Power Builder 9.0;MS SQL Server2000

ABSTRACT Search public library management information system is a typical management information system (MIS), including the development of its database background to the establishment and maintenance, and front-end application development aspects. With regard to the former request to establish strong data consistency and integrity, data security a good database. For the latter request applications fully functional, easy to use and so on. Search the management of public libraries with the requirements of the MS SQL Server2000 database management system, SQL language principle, Power Builder 9.0 application design, Power Builder 9.0 database application technology for a more in-depth study and application of the completion of the main public library management information retrieval System requirements analysis, functional module of the database model analysis and design of this structure of the database and applications. The design by the Public Library Management Information Retrieval System Software is a function of a better system of data management software, with data to facilitate efficient operation of the advantages of the rapid. The software used a powerful database software development tools for development, has a good portability, the application of a wide range of Windows family of operating systems used. Keywords: Public library management information retrieval system, Database security; Power Builder 9.0; MS SQL Server2000

图书管理系统报告

XXXXXX学院 《信息管理》课程设计报告 学院:商学院 专业班级:财务管理1403 课程名称:管理信息系统 设计题目:图书管理信息系统报告 指导教师:王海涛

时间:2016-6-20

课程设计成绩评定表

任务分配表

目录 摘要.............................................................................................................................................. - 2 - 第1章项目章程 .................................................................................................................. - 3 - 第2章项目概述 .................................................................................................................. - 5 - 系统名称 ............................................................................................................................. - 5 - 任务由来 ............................................................................................................................. - 5 - 存在问题 ............................................................................................................................. - 5 - 重要程度 ............................................................................................................................. - 5 - 第3章系统目标 .................................................................................................................. - 6 - 第4章项目投资 .................................................................................................................. - 7 - 人力成本 ............................................................................................................................. - 7 - 设备成本: ......................................................................................................................... - 7 - 时间成本: ......................................................................................................................... - 7 - 第5章初步调查和可行性分析 .......................................................................................... - 8 - 第6章图书管理系统详细调查 ........................................................................................- 12 - 第7章图书管理系统逻辑分析DB图..............................................................................- 16 - 第8章实验内容 ................................................................................................................- 18 - 第9章总结 ........................................................................................................................ - 26 - 个人心得 ........................................................................................................................... - 26 -

图书馆管理系统的设计与实现

图书馆管理系统 开发概述 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机网被广泛应用于管理信息系统的外部环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息处理,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与管理信息系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。 图书馆作为一种信息资源的集聚地,图书和用户借阅资料繁多,包含很多的信息数据的管理。现今,有很多的图书馆都是初步开始使用,有的甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数等)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统化、规范化的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出。 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行信息更改就更加困难了。 基于这些问题,我认为有必要为图书馆建立一个管理系统,使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。

图书管理系统1(组织结构图)

图书馆管理信息系统分析与设计 1、主管校领导 校图书馆采用的领导体制是校长领导下的馆长负责制,按照校领导分工,图书馆工作由李延忠副校长负责,有关图书馆的重大事项,需经校长办公室开会决定。 2、图书馆工作委员会 图书工作委员会是在校长领导下,指导协调全校图书文献信息工作的决策,咨询机构,协助学校制定全校文献信息资源发展规划,协助图书馆馆长履行图书馆职能。审议图书馆工作和图书馆经费使用情况,评价、监督学校、图书馆贯彻执行《普通高等学校图书馆规程》的情况。 (委员名单、章程、会议纪要见附页) 3、图书馆领导 馆长:陈淑萍教授 书记:于大勇工程师 副馆长:周正盛经济师 馆长助理:张忠仁副研究员 4、馆务委员会 馆务委员会由馆领导和各部(室)主任组成,在馆长主持下对全馆重大业务和行政问题进行讨论,为馆长决策提供信息服务做好参谋。 5、图书馆组织机构 (1)采编部: 采编部是图书馆藏书建设的主要业务部门,负责本馆各种文献的采集、归类、加工整理以及分配典藏,并负责学校各学院资料室文献的数据处理,使全校文献信息资源数字化。 (2)期刊部 期刊部负责中外文现刊、过刊、报纸、毕业论文的管理以及读者服务工作。 目前在东校区设有现刊阅览室(413室),过刊阅览室(412室),毕业论文阅览室(509室),西校区设有现刊阅览室(401),过刊阅览室(506),报纸合订本室(404),并负责对公共区域报纸的管理。 (3)图书借阅部 负责全校师生的图书外借以及内部阅览等工作。 东校区主要馆藏为自科图书,兼收部分社科类图书,其服务窗口有:自科图书借阅室(301室)、社科图书借阅室(208室)、教师阅览室(307室)、外文工具书阅览室(305室)、密集书库(107)室。 西校区图书馆藏以社科图书为主,兼收部分自科图书,设立三个社科图书阅览室,其中社科阅览室(一)收藏A、D、F、J类图书(202室),社科(二)收藏I、B、K类图书(201室),社科(三)收藏E、H、C、G类图书(301室),自然科学图书借阅室(310室),密集书库(101室)。 (5)信息咨询部 主要开展咨询服务、检索服务、课题服务、科技查新、馆际互借、文献传递、用户教育、《光学精密机械》编辑、出版与发行等工作。自建“光电数据库”、“博硕论文数据库”、“兵工文献数据库”

软件工程课程设计--图书管理系统

软件工程项目报告 ----图书管理系统 班级: 项目经理: 项目组成员:

目录 第一章绪论…………………………………………………………………………………………………………………… 1.1 项目背景……………………………………………………………………………………………………………. 1.2 编写目的……………………………………………………………………………………………………………. 第二章需求分析………………………………………………………………………………………………………….. 2.1 系统功能需求分析……………………………………………………………………………………………. 2.2 主要参与者……………………………………………………………………………………………………….. 2.3 用例图……………………………………………………………………………………………………………….. 2.4 系统用例一览表…………………………………………………………………………………………………

约…………………………………………………………………………………………………………… 2.7 时序图……………………………………………………………………………………………………………….. 第三章系统设计…………………………………………………………………………………………………………… 3.1 系统实体总类图以及介绍………………………………………………………………………………… 3.2 相关数据库的设计…………………………………………………………………………………………… 3.2.1 E-R 图…………………………………………………………………………………………………………… 3.2.2数据库的设计………………………………………………………………………………………………. 3.3 主界面设计……………………………………………………………………………………………………….. 3.3.1 登录/注册界面设计……………………………………………………………………………………... 3.3.2 管理员操作页面………………………………………………………………………………………… 3.3.3 读者用户管理界面………………………………………………………………………………………

图书馆管理系统设计方案

图书馆管理系统设计方案 系统需求分析 2.1可行性分析 通过对图书馆的各个方面进行了具体的了解之后,现对开发图书管理系统的可行性进行分析。 技术上可行:系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,系统开发工具采用Java,后台数据库采用SQL Server或者MYSQL这些软件在MIS开发中已被大量应用,技术上都比较成熟,因此在技术上是可行的。 经济上可行:由于学校急需采用计算机来进行图书馆的管理,因此对开发图书管理系统大力支持。 管理上可行:图书馆有很多的管理体制,每位借书人员均有借书证,同时图书馆还为每位借书人建立了档案。因此管理上可行。另外,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。 综上所述,开发图书馆管理系统在技术上、经济上、管理上都是可行的。2.2功能需求 图书馆管理系统对加强图书管理有着极其重要的作用。随着图书的日益增多,传统的手工图书馆管理不仅工作量大,而且容易出现问题。图书馆管理设计的内容非常复杂而且繁多,比如拥有图书信息录入管理、读者信息管理管理、图书借阅和归还管理,图书的查询和修改等。 由于系统主要是为方便管理员定制开发的,因此针对图书馆管理的实际工作而言,经过了反复地论证,最终确定了图书馆管理系统的设计方案,图书馆管理系统的主要功能为: 1. 系统管理:包括增加管理员、修改密码、系统注销和退出系统。 2.读者管理:包括添加读者信息、修改读者信息、删除读者信息、查询读者信息。 3.图书管理:包括添加图书信息、修改图书信息,查询图书信息、删除图书信息。 4.借阅管理:包括借书信息管理和还书信息管理两部分。其中,借书信息管理包括借书信息的添加、借书信息的修改、借书信息的查询等;还书信息管理

图书管理系统er图

实验项目三:MIS的数据组织与管理 *****系统组 实验课程:管理信息系统实验 实验项目:MIS的数据组织与管理 项目组名: 所在学院:***学院 所在班级:**** 指导老师:李红霞 小组成员: 学号姓名 (组长)

一、新系统的数据流程图的数据字典: 填写借阅记录

二、数据库和表的分析: 先从零层数据流程图可以看出,图书管理员通过多条数据流与图书馆管理信息系统联系,而在图书馆中,读者才是直接与图书接触者,读者通过在计算机上简单的书目查询,就可以轻松的找到想要的书。要是有的书,读者没有找到,就可以通过在图书管理系统中的信息平台留言,进而,管理员获取消息后进行改进,做好图书的优质服务。 在一层数据流程图中详细的介绍了管理员及读者运用计算机较好的利用图书信息系统,办公室——读者管理系统——读者库——图书维护系统——图书管理员,是对管理员的线路指导,采编室——图书采编系统——图书库——图书查询——读者——读者留言系统——留言库——图书管理员,借阅室——图书借阅系统——借阅库——图书预定系统——读者,都是对图书在读者和管理员之间能够比较顺畅的流通而详细的做了布置。系统的大部分的工作利用计算机管理,效率高,减少误差,能够及时的得到读者的反馈信息,及时对做得不足的地方进行改进。如果有的图书缺货了,在计算机中能较快的反映,减少管理员的工作量,提高工作的效率,也节约图书馆的成本。 三、数据库的概念结构设计:

图书馆系统的物理结构如下: (2)图书管理人员信息表 (3)图书信息表 (5)借阅记录表 六、选用熟悉的小型数据库工具、数据库实施: 1.新建数据库 新建一个数据库有两种方法:一种是创建一个空数据库,即建立一个没有表、查询、窗体和报表等内容的数据库;另一种方法是使用Access中提供的数据库模板创建数据库,即通过对向导所提出的选项和不同选择来设计窗体、查询和报表等,从而建立一个完整的数据库。这里我们将使用第一种方法:

图书管理系统项目个人总结报告

图书管理系统项目个人总结报告 一、项目简介: 进入21世纪以来,信息技术从根本上推动了图书馆的飞速发展,计算机和计算机管理系统已成为图书馆进行图书管理的主要设备和 系统。虽然目前很多大型的图书馆已经有一整套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需手工完成,工作起来效率比较低,不便于动态、及时地调整图书结构。为了更好地适应当前图书馆的管理需求,解决手工管理中存在的弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。 高校拥有一个小型图书馆,为全校师生提供一个阅读、学习的空间。近年来,随着生源不断扩大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书的各种信息成倍增加。面对如此庞大的信息量,校领导决定使用一套合理、有效、规范、实用的图书馆管理系统,对校内图书资料进行统一、集中的管理。 受高校的委托,开发一个图书馆管理系统,其开发宗旨是实现图书管理的系统化、规范化和自动化,达成图书资料集中、统一管理的目标。 二、个人在项目中承担的任务: 1.GUI设计和用户使用手册 2.GUI设计图如下:

用户使用手册部分内容: 图书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管理系统应该为管理者与读者提供充足的信息和快捷的数据处理手段,但长期以来,人们使用传统的人工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐。一个成功的图书馆管理系统应提供快速的图书信息检索功能、快捷的图书借阅、归还流程。从读者与图书馆管理员的角度出发,本着以读者借书、还书快捷、方便的原则,本系统具有以下特点: ●确保系统具有良好的系统性能,友好的用户界面。 ●较高的处理效率,便于使用和维护。 ●采用成熟技术开发,使系统具有较高的技术水平和较长的生命 周期。 ●系统尽可能简化图书馆管理员的重复工作,提高工作效率。 ●简化数据查询、统计难度。 三、收获和体会: 通过本次课程设计,我对数据库的应用有了更深刻的体会。网络

图书管理系统用例图

图书管理系统UML建模与设计模式 实验报告 计算机与信息工程学院 一、实验目的 在熟悉用例概念与应用的基础上,掌握用例模型的建立,包括: 1.掌握用例图的建立。 2.掌握用例描述文档的编写。 3.掌握建模工具的使用。 二、实验内容 根据以下需求设计一个图书馆管理系统的用例图模型,包括:用例图和主要用例的描述文档。 基本功能要求: 图书管理:新书登记,图书查询,图书注销; 借阅管理:借书,还书,查询今日到期读者; 读者管理:增加读者、删除读者、查询读者、读者类别管理(可以设置不同

类的读者,并使不同类读者对应不同类的图书流通参数,如可借册数,可借天数,可续借次数,可续借天数等); 报表管理:包括图书借阅统计报表,被注销图书统计报表等;报表可以有多种格式可供选择;可以把报表输出到文件中,可以预览报表、打印报表等。 系统管理:系统管理员使用,包括用户权限管理(增加用户,删除用户,密码修改等),数据管理(提供数据修改、备份、恢复等多种数据维护工具),系统运行日志,系统设置等功能。 三、实验思想 (1)分析系统需求; (2)确定系统参与者:读者、图书管理员、图书管理系统; (3)确定系统用例; 四、实验结果 借阅人用例图:

图书系统管理员用例图: 图书管理员用例图:

1.用例名称:登录 用例描述:根据用户输入的用户名和密码判断用户的身份,赋予相应的权限。前置条件:无 后置条件:根据用户所有的权限进入相应的操作界面。 基本操作流程: 1输入用户名 2输入密码 2校验密码是否正确。 3根据用户身份进入相应的操作界面。 可选流程:如果密码不正确,提示重新输入密码; 如果用户名不正确,提示没有此用户。

图书馆管理系统开发设计方案

图书馆管理系统开发设计方案 1需求分析 1.1 目前图书馆管理系统存在问题 1)检索速度慢、效率低 因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。 2)借书、还书工作量大 借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。 3)图书统计工作难、藏书更新不能及时完成。 图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。 我校也是一所发展中的高校,近儿年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。 1.2 系统目标 本系统主要实现对图书馆的信息进行管理,图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。本系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理。 图书馆管理系统是图书馆管理工作中不可缺少的部分,它的内容对于图书馆的管理者和使用者来说都至关重要,所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点,如:效率低、易忘记、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日

图书馆管理系统是设计与实现

目录 第一部分需求分析 (5) 1.1 问题分析 (5) 1、项目整体功能描述 (5) 2、项目各个子模块功能描述 (5) 1.2 服务器需求分析 (5) 1.3 运行与开发环境 (5) 第二部分系统设计 (6) 2.1 系统总体设计 (6) 2、系统子模块功能描述 (6) 3、服务器配置 (6) 2.2 系统详细设计 (7) 1、项目文件 (7) 2、包设计 (8) 3、数据模型公共类设计 (8) 4、数据访问公共类设计 (11) 5、Servlet操作类设计 (11) 第三部分数据库设计 (12) 3.1 数据库概念设计 (12) 3.2 数据库逻辑结构设计 (12) 3.3 数据物理设计 (13) 1、数据库名 (13) 2、数据表设计 (13) 第四部分系统实现 (15) 4.1 主界面实现 (15) 1、主界面布局(截图) (15) 2、主界面Java控制代码说明 (15) 4.2 用户管理子界面实现 (15) 1、子界面布局(截图) (16) 2、子界面Java控制代码说明 (16) 4.3 类别管理子界面实现 (16) 1、子界面布局(截图) (17) 2、子界面Java控制代码说明 (17) 4.4 图书子界面实现 (18) 1、子界面布局(截图) (18) 2、子界面Java控制代码说明 (18) 第五部分系统测试 (20) 商品添加 (20) 商品删除 (20) 商品修改 (21) 第六部分总结 (1)

第一部分需求分析 1.1 问题分析 1、项目整体功能描述 现今社会电子技术信息化技术不断发展,网上商店也在慢慢地兴起,并开始冲击着传统的商店,而一个好的电子商务网站除了有一个完善的前台服务以外后台管理也显的尤为重要,本论文以建立网上书店后台管理系统为例,旨在开发一个安全,方便,快捷地后台图书管理系统,使使用者在管理后台图书能够得体现到运用计算机现在技术的快捷和方便。 2、项目各个子模块功能描述 (1) 用户管理模块:进行用户基本信息的填写并进行注册,也可以重置信息,时列表清空,可以看到用户的基本信息,对用户信息进行修改与删除。 (2) 类型管理模块:此模块将书籍根据类型管理,这方便用户查询;在此模块,可以根据新进书籍添加新的模块。 (3) 图书管理模块:进行图书查询,有各种类型的查询方式:按照图书名称,按照供应商,按照商品类型等的查询方式,也可以进行图书的删除和修改操作。 (4) 添加商品模块:基本和用户信息一样,就是添加一些图书的基本信息,比如:图书名称,供应商或者出版社名称,商品价格,商品的简介,商品的描述,商品类别,商品图片,库存量等。 1.2 服务器需求分析 开发环境:Windows10 开发工具:eclipse开发平台,Tomcat v8.5服务器,MySql数据库。 1.3 运行与开发环境 编译器:Eclipse 运行:Tomcat v8.5 Google

图书馆管理系统报告报告

摘要 (2) 1.问题描述 (2) 1.1背景 (2) 1.2研究目的 (2) 1.3数据需求 (3) 1.4事物需求 (4) 1.5关系模式 (4) 2.方案图表设计 (5) 2.1 E-R图 (5) 2.2数据流程图 (9) 3.总体设计 (10) 3.1软件开发工具 (10) 3.2开发方法 (10) 3.3开发模式 (10) 4.结束语 (11) 4.1课程设计心得 (11) 参考文献 (12)

摘要 图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。随着图书馆规模的不断扩大,图书数量也相应增加,若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下而且容易出错,造成人力与物力过多浪费,图书馆管理费用增加,影响整个图书馆运作和管理,也不方便读者对图书资料的查阅。因此,必须制定一套合理、有效、规范和使用的图书馆管理信息系统,对对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。 关键词图书管理系统; 需求; 功能 1.问题描述 1.1背景 图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。 目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,图书管理系统也是有了很大的发展,商业化的图书信息管理软件也不少。但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。 1.2研究目的 随着科学技术的不断提高,计算机科学日渐成熟,作为计算机应用的一部分,使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。图书管理系统的开发是一个老生常谈的问题,以其作为数据库开发的示例不仅是因为他的开放性,而且还因为它是一个开放的系统,比较成熟,

图书管理系统(用例图、类图、时序图)

软件系统分析与设计 实验报告 学院:计算机科学与技术学院专业:软件工程 学号:********* 姓名:*** 实验名称:图书管理系统用例建模时间:

一、实验内容与要求 本实验要求学生对学校的图书馆管理系统进行需求分析,对系统功能进行用例建模,画出用例图,类图以及相应的时序图。在使用UML对系统建模时,学会使用UML建模工具,熟悉工具中的功能。 二、用例分析 1、读者“借书还书系统”用例图 (f 还书 (from Use Cases) 1.1、行为者: 主要行为者:读者。 1.2、前置条件: 读者进入图书管理系统。 1.3、事件流: 1.3.1、主要事件流: 1.3.1.1:读者检索所需图书信息,并查看; 1.3.1.2:读者检索到所需图书,登录系统,开始借书; 1.3.1.3:系统查询图书信息,图书数目是否可借; 1.3.1.3.1:图书显示可借,借书成功;

1.3.1.3.2:图书显示不可借,借书失败; 1.3.1.4:进入续借图书界面,续借图书; 1.3.1.5:系统查看预约记录, 1.3.1.5.1:没有冲突,续借成功; 1.3.1.5.2:有冲突,续借失败;1.3.3.1: 1.3.1.6:读者归还图书; 1.3.1.6.1:归还时间没有逾期,归还成功; 1.3.1.5.2:归还时间逾期,逾期处罚,归还成功; 1.3.2、备选事件流: 1.3. 2.1:图书检索信息失败,未检索到图书,重新输入信息检索; 1.3. 2.2:未曾检索到用户检索的图书,系统显示相关联的信息的图书; 1.3. 2.3:用户名或密码输入错误,登录系统失败,重新输入用户名或密码登录; 1.3. 2.4:系统显示图书不可借后,进入图书预约界面,输入信息预约图书; 1.3.3、异常事件流: 1.3.3.1:读者登录系统失败,未曾注册用户; 1.3.3.1.1:返回系统注册用户后,重新登录。 1.4、后置条件:退出系统。 1.5、 1.6、扩展点:无。 2、“图书信息管理系统”用例图 新书信息录入 (f 逾期通知 (from Use Cases) (from Use Cases)

(完整word版)图书馆管理信息系统分析报告

1.需求分析 1.1使用范围 在学校图书馆内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,调用,达到信息共享。 1.2背景 图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。 图书馆管理信息系统是图书馆的支持系统,当前设计应满足以下需求: (1)图书馆将图书借给读者,读者和图书都必须在系统中注册。 (2)系统通过设置帐号和密码控制用户访问,读者和管理员可修改自已的密码。 (3)图书馆负责购买图书,对于流行的书一般要多买几本,如果图书破旧或过期则可以从图书系统中删除。 (4)图书馆管理员负责与读者打交道,他们的工作要得到系统的支持。 (5)借书者可以事先通过网络预约要借的图书,然后到管理员处办理正式借书手续。 (6)图书借出有时间限限制,一旦超期,管理员应及时通知借书者归还图书。 (7)图书馆可以方便地产生、更新和删除系统中与书目、借书者、借书记录和预约记录等信息。 (8)系统能够运行在Windows系统下,用户可通过局域网操作,还应该有一个非常好的图形用户界面(GUI) (9)系统应该具有很好的可扩展性。 1.3功能分析 三个功能模块: (1)读者管理 ①办证:新生将个人信息提交到办证处,办证处和新生信息表核对,正确则可办证,将个人信息保存到读者信息表,同时生成图书借阅表,发出领证通知单,不符合则发出拒绝申请单。 ②注销:读者提交注销申请表,办证处调用读者信息表,查找该读者信息。若存在且信息一致,则在读者信息表中将该读者信息删除,同时删除借阅信息表;若信息不存在或与提交信息不一致,则发出拒绝申请单。 ③挂失补办借书证:读者提出挂失补办申请表,办证处核对信息,若信息不一致,则发出拒绝申请单;若信息一致,修改读者信息表,办理补办业务,发放领证通知单。 (2)借还书管理 ①借书:读者提交借阅申请表,管理员先调用读者信息表和读者的借阅信息表,审核该读者是否有权限借阅图书。若无权限,则发出拒绝申请表;若有权限,管理员再调用图书信息表,查找读者所申请借阅的图书信息,若可借,则发出领书通知单,待读者获得图书后,将信息存入其借阅信息表;若不可借,则发出拒绝申请表。

相关主题
文本预览
相关文档 最新文档