当前位置:文档之家› (完整word版)大数据结构课程设计图书管理系统

(完整word版)大数据结构课程设计图书管理系统

(完整word版)大数据结构课程设计图书管理系统
(完整word版)大数据结构课程设计图书管理系统

数据结构课程设计图书管理系统

一需求分析

该程序是模拟图书馆管理系统,实现图书采编入库、借书、还书、查询等基本业务。此程序规定:

(1) 管理员能够向系统中输入每种书的基本信息,包括书号、书名、作者、现存量和库存量、借阅记录,并保存记录;

(2) 用户(读者)能够按书号、书名、作者查询图书信息;

(3) 管理员能够实现图书采编入库(新购入一本书,经分类和确定书号之后登记到图书账目中去。如果这种书在帐中已有,则只将总库存量增加)、借阅(如果书的现存量大于0,则借出一本,登记借阅者的图书证号和归还期限)、归还(删除对借阅者的登记,改变该书的现存量)、销毁(将图书从账目中删除)等操作。

二概要设计

系统用到的抽象数据类型定义:

1、ADT LinearList{

数据元素:D={a i|a i∈D0,i=1,2,…,n,n≥0,D0为某一数据对象}

关系:S={|a i,a i+1∈D0,i=1,2,…,n-1}

基本操作:

(1)InitList(L)

(2)DestroyList(L)

(3)ClearList(L)

(4)EmptyList(L)

(5)ListLength(L)

(6)Locate(L,e)

(7)GetData(L,i)

(8)InsList(L,i,e)

(9)DelList(L,i,&e)

}ADT LinearList

2、ADT String{

数据对象:D={a i|a i∈CharacterSet,i=1,2,…,n;n≧0}

数据关系:R={|a i-1,a i∈D,i=2,…,n;n≧0}

基本操作:

(1)StrAsign(S,chars)

(2)StrInsert(S,pos,T)

(3)StrDelete(S,pos,len)

(4)StrCopy(S,T)

(5)StrEmpty(S)

(6)StrCompare(S,T)

(7)StrLength(S)

(8)StrClear(S)

(9)StrCat(S,T)

(10)SubString(Sub,S,pos,len)

(11)StrIndex(S,pos,T)

(12)StrReplace(S,T,V)

(13)StrDestroy(S)

}ADT String

●系统中的子程序和功能说明:

InitBo(Book &boo);初始化图书信息

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

BinarySearch(Book boo,char SearchNum[]);二分法查找比较书号

Buy(Book &boo, char BuyNum[]);新书采编入库系统

Delete(Book &boo,char DeleteNum[]);清除图书信息系统

Borrow(Book &boo,lend &Lin,char BorrowNum[],char CaNum[]);借阅图书处理系统Return(Book &boo,lend &Lin,char ReturnNum[],char BorrowerNum[]);归还图书系统SearchByNum(Book &boo,char SeaNum[]);按书号查找系统

SearchByName(Book &boo);按书名查找系统

SearchByAuth(Book &boo);按作者查询系统

Menu();主菜单显示系统

Search();查询系统子菜单

main();主函数

●系统程序功能结构图

三详细设计

●功能实现过程

bool BinarySearch(Book boo,char SearchNum[]) //二分法查找比较书号

{

while(low<=high)

{

计算中间点;

if(查找到书号相同的)

{

返回值true;

}

if(查找书号不相同)

用二分法进一步进行查找;

}

if(库中没有所要查找的书)

返回值false;

}

void Buy(Book &boo, char BuyNum[])/*采编入库*/

{

if(书库中有此书)

{

总库存加1;

现库存加1;

}

if(书库中无此书)

{

for(i=total;i>mid&&total;i--)/*将新采购的书插在适合位置,保持有序*/

空出插入位置;

输入新购书籍的相关信息:书号、书名、作者、出版社;

boo[i].next=NULL;

total++;/*总量加1*/

}

}

void Delete(Book &boo,char DeleteNum[])/*清除图书信息*/

{

if(书库中没有此书)

输出“无此书”;

if(书库中有此书)

{

strcpy(连续两本书的相关信息);

现存量减1;库存量减1;

}

else 输出“此书已有借阅者,无法删除!”;

}

void Borrow(Book &boo,lend &Lin,char BorrowNum[],char CaNum[])/*借阅图书信息*/ {

if(没有找到此书) 输出“书库中无此书!”;

if(书库中有此书)

{

借出一本书后,该书的现存量减1;并在借阅记录链表中插入该条记录;再对应读者信息记录链表,如果已有该读者证号信息,直接在该链表中插入此次借阅记录;如果无该读者证号信息,申请新单链表存放借阅记录。

}

else 输出“该书现存量为0”;

}

void Return(Book &boo,lend &Lin,char ReturnNum[],char BorrowerNum[])/*归还图书信

息*/

{

if(书库中无此书)

输出“无此书记录”;

if(书库中有此书)

{

查找图书文件,修改图书的现存量;查找记录借阅信息的单链表,填入还书日期,删除借阅信息;查找记录读者信息的单链表,删除证号信息。

}

}

void SearchByNum(Book &boo,char SeaNum[])/*按书号查找*/

{

if(书库中无此书信息)/*用二分法查找*/

输出“无此书”;

else/*书库中有此书信息*/

输出与此书有关的相关信息;

}

void SearchByName(Book &boo)/*按书名查找*/

{

输入想要查找书的书名;

用顺序查找法查找;

if(查找到需要查找的书)

输出与此书相关的信息;

}

建议画出主要模块流程图。

四设计与调试分析

1、这个程序设计中要注意定义两个结构体:图书结构体、借阅人结构体。其中定义数组存放图书信息,申请链表存放借阅记录和读者信息记录。

2、程序中运用到大多的插入与删除,所以申请链表比较方便插入与删除。但应前期需求分析的准备工作不充分,导致程序运行功能不全,比如查找时关于此书的信息不能全部显示出来,并且添加删除时库存的变化不能直接显示出来。程序的健壮性不能达到预期的结果,这些都是需要改进的。

3、在程序中的函数调用是个非常重要的部分,也是经常需要用到的,在编写程序过程中,因为函数调用不准确,使得循环进不去,后来改变函数的调用关系,才达到了预期结果。

4、程序中还定义了全局变量,之前没定义全局变量,在下面的编写过程,同样性质的地方需要重复定义,比较麻烦,定义全局变量使得程序比较简明一点。

五用户手册

【使用说明】

1、进入图书馆管理系统主页面

2、若有新书要新编入库,选择1,进入新书入库系统,输入入库书的书号,若书库中无该书,则设立新书目,输入新书信息。若书库中已有该书,则输入新信息覆盖修改原书库中该书号对应书的信息。

3、若有书籍信息需要删除,选择2,进入清空库存系统,输入想要删除书的书号,则此书信息就已删除。

4、若要借阅图书,选择3,进入图书借阅系统,输入需要借阅书的书号以及读者证号,并输入还书日期,则借书成功。

5、若要归还图书,选择4,进入图书归还系统,输入需要归还图书的书号以及读者证号,则还书成功。

6、若要查找信息,选择5,进入查找信息子系统。若要按书号查找,则选择子系统中的1,输入需要查找的书的书号,若按书名查找,则选择子系统中的2,输入需要查找的书名,若按作者查找,输入需要查找书的作者进行查找,若查找结束,则按0退出。

7、若系统使用结束,按0退出。

【程序中的头文件】

#include

#include

#include

#define MAXSIZE 100

#define LIST_INIT_SIZE 100

int Retotal;/*定义的全局变量*/

int total;

六测试成果

1、采编入库

2、清空库存

3、图书借阅

4、图书归还

5、图书查找

七附录(源程序清单)

#include

#include

#include

#define MAXSIZE 100

#define LIST_INIT_SIZE 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

{

char num[20];

char name[20];

char auth[20];

char pub[20];

int TotNum;

int NowNum;

LinkList *next;

}Book[MAXSIZE];

int Retotal;

int total;

void InitBo(Book &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;

bool BinarySearch(Book boo,char SearchNum[])

{

int low=0,high=total;

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(Book &boo, char BuyNum[])

{

int i;

if(BinarySearch(boo,BuyNum))

{

boo[mid].TotNum++;

boo[mid].NowNum++;

printf("入库成功.\n");

printf("已更改书库中该书的信息。\n");

printf("编号 :%s 书名:%s ",boo[mid].num,boo[mid].name);

printf("作者:%s 出版社:%s",boo[mid].auth,boo[mid].pub);

printf("\n");

}

if(!BinarySearch(boo,BuyNum))

for(i=total;i>mid&&total;i--)

boo[i]=boo[i-1];

printf("该书在书库中不存在,设立新书目!\n");

strcpy(boo[i].num,BuyNum);

printf("该书购入的数量是:");

scanf(" %d",&boo[i].NowNum);

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

printf("该书的名字是:");

scanf(" %s",&boo[i].name);

printf("该书的作者是:");

scanf(" %s",&boo[i].auth);

printf("该书的出版社是:");

scanf(" %s",&boo[i].pub);

boo[i].next=NULL;

total++;

printf("已增加该书的信息!\n");

printf("编号 :%s 书名:%s ",boo[i].num,boo[i].name);

printf("作者:%s 出版社:%s",boo[i].auth,boo[i].pub);

printf("\n");

printf("入库成功.\n");

}

}

void Delete(Book &boo,char DeleteNum[])

{

if(BinarySearch(boo,DeleteNum)==false||total==0)

printf("书库中没有该书.\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;

printf("已成功删除该书.\n");

}

else

printf("该书有借阅者,无法删除。\n");

}

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

Bor *p,*q;

LinkList *m,*n;

if(!BinarySearch(boo,BorrowNum)||total==0)

printf("书库里没这书。\n");

if(BinarySearch(boo,BorrowNum))

{

if(boo[mid].NowNum>0)

{

boo[mid].NowNum--;

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));

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);

printf("输入归还日期:");

scanf("%s",&q->RetDate);

q->next=NULL;

printf("借阅成功.\n");

}

}

if(i==Retotal)

{

strcpy(Lin[i].CNum,CaNum);

p=(Bor *)malloc(sizeof(Boro));

Lin[i].next=p;

strcpy(p->BNum,BorrowNum);

printf("输入归还日期:");

scanf(" %s",&p->RetDate);

p->next=NULL;

Retotal++;

printf("借阅成功.\n");

}

}

else

printf("借阅失败.该书现在库存为0.\n");

}

}

void Return(Book &boo,lend &Lin,char ReturnNum[],char BorrowerNum[]) {

Bor *p,*q;

LinkList *m,*n;

int flag=0;

if(!BinarySearch(boo,ReturnNum)||!total)

printf("书库中无此书.\n");

if(BinarySearch(boo,ReturnNum))

{

m=boo[mid].next;

if(!strcmp(m->CardNum,BorrowerNum))

{

boo[mid].NowNum++;

boo[mid].next=m->next;

free(m);

}

else

{

while(m->next)

{

if(!strcmp(m->next->CardNum,BorrowerNum))

{

n=m->next;

m->next=n->next;

boo[mid].NowNum++;

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);

printf("成功归还该书.\n");

flag=1;

break;

}

else

{

while(p->next)

{

if(!strcmp(p->next->BNum,ReturnNum))

{

q=p->next;

p->next=q->next;

free(q);

printf("成功归还该书.\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--;

}

if(flag==0)

printf("无该证信息.\n");

}

void SearchByNum(Book &boo,char SeaNum[])

{

LinkList *p;

p=boo[mid].next;

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

{

printf("书号:%s\n",boo[mid].num);

printf("书名:%s\n",boo[mid].name);

printf("作者名:%s\n",boo[mid].auth);

printf("出版社:%s\n",boo[mid].pub);

printf("现存量:%s\n",boo[mid].NowNum);

printf("库存量:%s\n",boo[mid].TotNum);

printf(" \n");

}

else

printf("对不起,未找到您想查找的书。\n");

}

void SearchByName(Book &boo)

{

char SeaName[20];

printf("输入想查找的书的书名:\n");

scanf(" %s",&SeaName);

printf("此书存在!\n");

for(int i=0;i

{

if(strcmp(SeaName,boo[i].name)==0)

{

printf("编号:%s 书名:%s ",boo[i].num,boo[i].name);

printf("作者:%s 出版社:%s",boo[i].auth,boo[i].pub);

printf("总库存量:%s",boo[i].TotNum);

printf("现库存量:%s",boo[i].NowNum);

printf("\n");

}

}

}

void SearchByAuth(Book &boo)

{

char SeaAuth[20];

printf("输入想查找的书的作者:\n");

scanf(" %s",&SeaAuth);

printf("找到符合该作者的书的详细信息如下:\n");

for(int i=0;i

{

if(strcmp(SeaAuth,boo[i].auth)==0)

{

printf("编号 :%s 书名:%s ",boo[i].num,boo[i].name);

printf("作者:%s 出版社:%s",boo[i].auth,boo[i].pub);

printf("\n");

}

}

}

void Menu()

{

printf(" 图书馆管理系统 \n");

printf("1. 采编入库 2. 清空库存\n\n");

printf("3. 图书借阅 4、图书归还\n\n");

printf("5. 按要求查找 0. 退出\n\n");

printf("请选择:");

}

void Search()

{

char BNum[20];

Book Bo;

int k;

printf(" 图书馆查询子系统\n");

printf("1、按书号查询 2、按书名查找\n\n");

printf("3、按作者查询 4、退出子系统\n\n");

printf("请选择:");

scanf("%d",&k);

switch(k)

{

case 1:

printf("请输入书号:");//输入书号查找

scanf(" %s",&BNum);

SearchByNum(Bo,BNum);

break;

case 2:

SearchByName(Bo);

break;

case 3:

SearchByAuth(Bo);

break;

case 4:

exit(0);

break;

}

}

void main()

{

Book Bo;

lend Lin;

char BNum[20];

char CNum[20];

int choice=10;

while(choice!=0)

{

system("cls");

Menu();//显示菜单

scanf(" %d",&choice);

switch(choice)

{

case 1://采编入库

printf("请输入入库的书的书号:");

scanf(" %s",BNum);

Buy(Bo,BNum);

system("pause");

break;

case 2://清空库存

printf("请输入想要清除的书的书号:");

scanf(" %s",BNum);

Delete(Bo,BNum);

system("pause");

break;

case 3://借阅

printf("请输入想要借阅的书的书号:\n");

scanf(" %s",&BNum);

printf("请输入图书证号:");

scanf(" %s",&CNum);

Borrow(Bo,Lin,BNum,CNum);

system("pause");

break;

case 4://归还

printf("请输入想要归还的书的书号:\n");

scanf(" %s",&BNum);

printf("请输入图书证号:");

scanf(" %s",&CNum);

Return(Bo,Lin,BNum,CNum);

system("pause");

break;

case 5:

Search();

system("pause");

break;

case 0://退出系统

exit(0);

break;

default:printf("输入错误!\n");exit(0);break;

}

}

}

SQL数据库图书管理系统(完整代码)

作品设计报告书题目:《图书管理系统》 班级网络2012-1班 学号 姓名 课程名称数据库应用技术 指导教师

目录

数据库课程设计报告书 一、设计目标 1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织 和实施。 2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试 运行等工作。 3.培养把所学知识运用到具体对象,并能求出解决方案的能力。 二、数据库存储设计指导思想 在数据库存储设计的无数选择中,简单是系统架构师和DBA 的秘密武器。 简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O 特性,总有这么一种可能,一个富有经验的DBA 拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存储。然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。 三、任务 角色:读者、图书馆馆员、系统管理员;基础数据:读者信息、图书信息、操作员信息;业务数据:借还书记录登记、罚款登记;统计数据:书籍借阅情况统计或读者借阅情况统计。基本要求:利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语言及查询结果。 2.上机实现。

1.问题描述 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。 5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。 9.还书信息的输入,包括借书证编号、书籍编号、还书日期。 10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。 11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

(完整word版)图书馆管理系统数据流程图及数据字典

图书馆管理系统 1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。我校也是一所发展中的高校,近儿年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。 图书馆借书流程 1、图书管理员1录入图书清单并保存图书信息 2、读者根据自己列出的带借书清单,查看图书借阅状态,并得到图书索引表 3、图书管理员2扫描一卡通查看读者信息,得到读者已借图书清单,并审核借书权限 若是有效权限单,则进行接触操作并更新读者与图书信息 若是无效权限单,则返给读者 已下是业务流程图

图书馆管理系统数据流程图及数据字典

一.图书采编系统流程图 图书采编系统流程图 数据流编号:D01 数据流名称:图书采编信息 简述:图书采编信息 数据流来源:图书购买后,由图书馆采编人员整理后,输入计算机 数据流去向:采编管理模块。图书采编信息将采编数据存入数据库(图书表)数据流组成:图书编码,图书类别,书名,作者,出版社,出版日期,单价,购买数量 数据流量:300本/日 高峰流量:800本/日 二.图书管理系统零层数据流程图

图书管理系统功能模块-完整

图书管理系统功能模块 一.系统功能模块 1.登录 2.改密 3.日志管理 (1)、日志生成 (2)、日志查询 4.卡信息管理 (1)、空白卡管理 (2)、卡发放 (3)、卡挂失 (4)、卡补办 5.用户信息管理 (1)、学生 (2)、老师 6.门禁点阅读器管理 二.图书信息管理模块 1.图书编号生成(自动生成) 录入时自动生成, 对于新书的编号,显示添加图书完成后的页面中 2.图书信息修改(即对该类图书总量能修改,包含图书的编号)

数据库操作,根据数据库显示修改之前,后的页面 3.注销(破损图书) 数据库操作,注销页面 唯一编号——检索出先关书籍信息——删除 4.查询 简单查询(直接查询) 书名,作者构成搜索页面 组合查询(模糊查询) 书名、作者、内容、类别构成搜索页面 分类查询 图书分类页面 该模块包括自动完成添加图书后图书总数更新、借出和归还后图书总数更新 三.图书借阅管理模块 1.信息登记 借书前利用卡号查看信息,包括用户身份信息以及借阅图书情况:①已借图书数量;②可借图书数量;③以往借书情况。(该条信息可能表述不清楚,带有时间一起讨论的时候具体给你们讲解一下) 2.外借 a、正常外借 借出后图书剩余数修改,借阅日志(管理员操作) b、借书时间长短:学生:3个月老师:半年

c、借书数量:学生:3本老师:5本 d、还书时间 b、续借 续借延期时间 3.归还 a、到期提醒(短信发送) b、正常归还 修改书籍状态,用户可外借书数量修改 C、异常归还 ①超期 计算超期天数 计算罚款 用户可借阅图书数修改 书籍状态修改 ②破损 破损程度:一般破损,严重破损(破损赔偿方式未定) 计算罚款 用户可借阅图书数修改 书籍状态修改 注销严重破损图书信息 ③丢失

数据库图书管理系统

create database 图书管理系统 on ( name = 图书管理系统, filename ='c:\图书管理系统.mdf', size = 10 , maxsize =20 , filegrowth=5) log on ( name = lib_log, filename= 'c:\lib_log.ldf', size = 5, maxsize = 25 , filegrowth =5 ) Create table 管理员信息表 ( 工作号varchar(10) primary key not null, 姓名varchar(10) , 性别varchar(10), 电话varchar(10) ); (2)书籍信息表的建立 drop table 图书信息表 create table 图书信息表 ( 图书编号varchar(20) primary key not null, 书名varchar(50) not null, 主编varchar(20) not null, 出版社varchar(20) not null, 作者varchar(20) not null); (3)读者信息表的建立 create table 读者信息表 ( 读者学号varchar(10) primary key not null, 读者姓名varchar(10) not null, 联系电话varchar(10) not null, 读者性别varchar(5) not null, 所在院系varchar(10) ) (4)借阅关系表建立 drop table 借阅表 create table 借阅表

图书管理系统数据库设计-MYSQL实现(2)

图书管理系统数据库设计 一、系统概述 1、系统简介图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 6.管理员可以注销学生信息。 通过需求定义,画出图书管理系统的数据流图:

数据流图 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。student :

book: book_so比 borrow:存储学生的借书信息

return_table: 存储学生的归还信息 存储学生的罚单信息 man ager:

3、设计索引 给出在各表上建立的索引以及使用的语句。student : 1. 为stu_id 创建索引,升序排序sql:create index index_id on student(stu_id asc); 2. 为stu_name 创建索引,并且降序排序sql:alter table student add index index_name(stu_name, desc); 插入索引操作和结果如下所示: mysql> create index index_id on student(stu_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> book: 1. 为book_id 创建索引,升序排列sql:create index index_bid on book(book_id); 2. 为book_record 创建索引,以便方便查询图书的登记日期信息,升序:sql:create index index_brecord on book(book_record); 插入索引的操作和结果如下所示: mysql> create index index_bid on book(book_id);

图书管理系统-java代码Word版

import java.awt.*; import java.awt.event.*; import java.sql.*; import java.util.*; import javax.swing.*; // --------------------------------------------------------------------------------------------------------- class Tsgl { public static void main(String args[]) { dbframe db = new dbframe("图书管理程序"); } } // 图书管理系统主界面 class dbframe extends Frame implements ActionListener { MenuBar daohang = new MenuBar(); // 建立菜单栏 Menu mfile = new Menu("功能"); // 建立“功能”菜单组 Menu mhelp = new Menu("帮助"); // 建立“帮助”菜单组 MenuItem mdenglu = new MenuItem("登陆"); MenuItem mchaxun = new MenuItem("查询"); MenuItem mtianjia = new MenuItem("添加"); MenuItem mshanchu = new MenuItem("删除"); MenuItem mexit = new MenuItem("退出"); MenuItem mhelpp = new MenuItem("关于"); Denglu pdenglu=new Denglu(); Ptianjia ptianjia = new Ptianjia(); Pmain pmain = new Pmain(); Pchaxun pchaxun = new Pchaxun(); Pshanchu pshanchu = new Pshanchu();

数据库图书管理系统含代码范文

数据库图书管理系 统含代码

目录 一.需求描述和系统边界 ........................................ 错误!未定义书签。二.需求分析 ............................................................ 错误!未定义书签。 1.业务需求 .............................................................. 错误!未定义书签。 2.功能需求及数据需求分析 ................................... 错误!未定义书签。 3.业务规则分析....................................................... 错误!未定义书签。三.实体集及属性 .................................................... 错误!未定义书签。四.联系集及E-R图................................................. 错误!未定义书签。五.逻辑数据库设计 ................................................ 错误!未定义书签。六.数据库编程 ........................................................ 错误!未定义书签。 1.创立表 .................................................................. 错误!未定义书签。 2.创立触发器 .......................................................... 错误!未定义书签。 3.管理员操作 .......................................................... 错误!未定义书签。 4.读者操作 .............................................................. 错误!未定义书签。 5. 管理员对借阅关系的操作 .................................. 错误!未定义书签。七.代码实现 ............................................................ 错误!未定义书签。 1.输入数据设计.................................................... 错误!未定义书签。 2.完成借阅、续借、归还的操作设计 ................... 错误!未定义书签。八.模式求精 ............................................................ 错误!未定义书签。九.小结.................................................................... 错误!未定义书签。

图书管理系统的C#代码(完整版).docx

. C# 代码清单 共 1 个项目,包含 5 个类。 项目: librarysystem 类 :Program.cs Readers.cs Manage.cs Menu.cs Publications.cs 主类代码: namespace librarysystem { ///

///类名: Program ///功能:项目主类 ///时间: 2015-11-19 /// class Program { static void Main( string [] args) { Menu meu = new Menu (); meu.ShowMainMenu(); Console .ReadLine(); } }

} 出版物类代码: namespace librarysystem { ///

///类名: Publications ///功能:馆藏出版物信息 ///时间: 2015-11-19 /// class Publications { /* 出版物编号 */ private string PublicationISBN; public string PublicationIsbn { get { return PublicationISBN; } set { PublicationISBN =value ; }

} /* 出版物名称 */ public string PublicationName; /* 出版物作者或出版机构*/ public string PublicationAuthor; /* 出版物在架状态 */ public bool PublicationStatus; /* 出版物类型 */ public string PublicationType; public Publications() { } public Publications( string PublicationISBN, string PublicationName, string PublicationAuthor,string PublicationType, bool PublicationStatus) { this . PublicationISBN = PublicationISBN; this .PublicationName = PublicationName; this .PublicationAuthor = PublicationAuthor; this .PublicationType = PublicationType; this .PublicationStatus = PublicationStatus; } }

图书管理系统数据库详细设计

图书管理系统数据库设计 图书管理系统数据库设计 项目名称:图书管理系统指导老师: 姓名:

目录 一、需求分析 (2) 二、概念设计 (5) 三、逻辑设计 (8) 四、物理设计 (10) 五、实施阶段 (16) 六、运行和维护 (18)

一、需求分析 1.1 系统目标 图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 系统开发的总体任务是实现各种信息的系统化,规范化和自动化。 1.2 需求定义 图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效

的实施。 1.3 功能需求 (1)有关读者种类标准的制定、种类信息的输入、包括种类编号、种类名称、借书数量、借书期限等。 (2)读者有关信息的修改、查询等。 (3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。 (4)读者基本信息的查询、修改 (5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格 (6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额 (7)图书管理书籍号、管理员编号、销书数量、销书日期。

图书管理系统的C#代码(完整版)

C#代码清单 共1个项目,包含5个类。 项目:librarysystem 类: Program.cs Readers.cs Manage.cs Menu.cs Publications.cs 主类代码: namespace librarysystem { ///

///类名:Program ///功能:项目主类 ///时间:2015-11-19 /// class Program { static void Main(string[] args) { Menu meu = new Menu(); meu.ShowMainMenu(); Console.ReadLine(); } } } 出版物类代码: namespace librarysystem { /// ///类名:Publications ///功能:馆藏出版物信息 ///时间:2015-11-19 /// class Publications { /*出版物编号*/ private string PublicationISBN; public string PublicationIsbn { get { return PublicationISBN; }

{ PublicationISBN = value; } } /*出版物名称*/ public string PublicationName; /*出版物作者或出版机构*/ public string PublicationAuthor; /*出版物在架状态*/ public bool PublicationStatus; /*出版物类型*/ public string PublicationType; public Publications() { } public Publications(string PublicationISBN,string PublicationName,string PublicationAuthor,string PublicationType,bool PublicationStatus) { this. PublicationISBN = PublicationISBN; this.PublicationName = PublicationName; this.PublicationAuthor = PublicationAuthor; this.PublicationType = PublicationType; this.PublicationStatus = PublicationStatus; } } } 读者类代码: namespace librarysystem { ///

///类名:Readers ///功能:已获取权限读者的信息 ///时间:2015-11-19 /// class Readers { private string ReaderID; public string ReaderId { get { return ReaderID; } set

图书管理系统数据库设计

工程技术学院 数据库课程设计 题目:图书管理系统数据库设计 学号: 专业班级: 姓名: 指导老师: 完成日期:

目录 一、需求分析 二、概念结构设计 三、逻辑结构设计 四、物理结构设计 五、数据库的构建和数据装入 六、数据库的功能实现 七、总结

1.需求分析 系统现状及主要解决问题 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题: (1)检索速度慢、效率低。因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。 (2)借书、还书工作量大。借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。 (3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。 因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。使图书管理者便于对图书和读者的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 能解决的问题 (1) 在读者信息管理部分要求: a.可以查询读者信息。 b.可以对读者信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求

图书管理系统数据库设计(DOC)

软件工程(课程设计)题目:图书管理系统-数据库设计 学院工商学院 学科门类工科 专业软件工程 学号2012484156 姓名文鹏 指导教师王思乐 2014年12月7日

河北大学学年论文(课程设计)任务书 (指导教师用表) 指导教师签字:

河北大学学年论文(课程设计)成绩评定表 学院:工商学院

数据库设计说明书大纲 1 引言 随着计算机技术的不断应用和提高,计算机已经深入到当今每个学生学习生活的各个角落。而对于学校的图书馆仍采用管理员管理书籍基本信息、书籍借还信息的形式,不仅效率低,而且手续繁琐。为了满足其学生自行对图书馆书籍,借还书等进行高效的查询使用,在学生具备一定的计算机操作能力的前提下,此图书管理系统软件力求提高其图书馆使用效率。 1.1 编写目的 本文档的编写是为了熟悉SQL Server数据库的数据库管理(数据库的创建、备份与恢复、函数与存储过程的应用、数据导入导出、作业的调度等)、表的设计(表的创建、修改、删除,字段的默认值、约束及关系等)、数据的查询处理(insert、update、delete、select语句的应用)等技术;完善图书管理系统软件的开发途径和应用方法。以求在最短的时间高效的开发图书管理系统。 预期读者是“软件工程”教师,及从事“图书管理系统”开发的相关人。 1.2 背景 待开发的数据库的名称:Library Management System(LMS) 使用此数据库的软件系统的名称:图书管理系统。 随着图书馆图书种类、数量的不断扩大,图书检索速度慢、统计工作量大,难以满足图书馆现代化管理的要求。因此,建立一套图书馆管理软件,科学的对图书馆数据进行管理,方便图书的检索和读者借阅工作。 本项目的提出者及开发者是软件工程专业图书管理系统开发小组(高彦昭、甄朝霞、李茹枫、孙华芬、陆叶倩、秦薇),用户是学校图书馆。 图书管理系统软件LMS V1.0是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。除此以外,LMS V1.0可通过访问权限控制以及数据备份功能,确保数据的安全性。

图书馆管理系统word版

数据库设计(大作业) 题目:图书馆管理系统 一、数据库需求分析 系统简介 郑州大学北校区图书馆现需要更新图书馆管理系统,根据具体要求使用SQLserver2005编辑出合理的图书馆管理系统。 要求实现功能: 1:将图书按照一定的规则分门别类。 2:本校师生根据师生的身份不同可以借阅一定量的书籍。 3:各师生必须按照图书馆规定按时还书逾期还书将受到一定的处罚。 4:…… 本系统将会改变以前图书馆管理的状况,提高工作效率。希望能为员工和学校的工作带来便利。 一:系统数据字典 经过对汽车租赁系统业务处理过程的调研,得到系统的数据字典如下所示: a)数据项:图书号; 含义说明:每本书籍的唯一标识 别名:书籍编号 类型: int型 长度: 8 取值范围: 00000000至99999999 取值含义:前两位标别该书籍的分类,后六位按照汉语拼音排序 数据项:书名; 含义说明:书籍代号 别名:无 类型:字符型 长度: 8 取值范围: 00000000至99999999 取值含义:作者为本书所起的名字,简要的说明了这本书的内容是描写那个方面的。

b)数据结构:读者 含义说明:读者是图书馆管理子系统的主体数据结构,定义了一个读者的有关信息 组成:读者编号号,姓名,性别,年龄,联系方式,可借阅数量. c)数据流:借阅书籍 说明:读者借阅书籍所需遵守的规则 数据流来源:借阅书籍 数据流去向:允许借阅 组成:读者,管理员,书籍, 平均流量:30次 高峰期流量:50次 d)数据存储:读者信息表 说明:记录读者的个人基本信息 流入数据流:读者个人信息采集表 流出数据流:读者个人信息正式表 组成:读者编号,姓名,性别,年龄,联系方式,可借阅书籍量。 数据量:每年5000张 存取方式:随机存取 二、概念模型设计

图书管理系统数据库设计-MYSQL实现

图书管理系统数据库设计-M Y S Q L实现 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

图书管理系统数据库设计 一、系统概述 1、系统简介 图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 6.管理员可以注销学生信息。 通过需求定义,画出图书管理系统的数据流图:

数据流图 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍。系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。student:

book: book_sort: borrow:存储学生的借书信息 return_table:存储学生的归还信息 ticket:存储学生的罚单信息 manager:

3、设计索引 给出在各表上建立的索引以及使用的语句。 student: 1.为stu_id创建索引,升序排序 sql:create index index_id on student(stu_id asc); 2.为stu_name创建索引,并且降序排序 sql:alter table student add index index_name(stu_name, desc); 插入索引操作和结果如下所示: mysql> create index index_id on student(stu_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> book: 1.为book_id创建索引,升序排列 sql:create index index_bid on book(book_id); 2.为book_record创建索引,以便方便查询图书的登记日期信息,升序:

图书管理系统[完整版]

河北科技大学 课程设计报告 学生姓名:候成龙学号:14L0752077 专业班级:软件工程L142班 课程名称:项目管理与案例分析 学年学期: 2 016 — 2 017学年第2学期 指导教师:王会勇

2015 年11 月课程设计成绩评定表

目录一、设计题 (1)

二、设计目的及要求 (1) 三、设计任务 (4) 四、项目估算与进度计划 (3) 五、成本计划 (1) 六、质量计划 (4) 七、配置计划 (5)

图书馆管理系统课程设计报告 一、课设题目 图书馆管理系统 二、目的与要求 随着经济的发展和社会信息化进程的进一步推进,各行各业各领 域都在不同程度上应用信息化手段来提高自身的工作效率和市场竞 争力。近些年来,随着学院的办学规模的不断扩大,学生和教师的数量 在不断的增加,图书馆规模也随着不断增加,对于图书的管理工作变得 日益复杂起来。随着高校信息化的建设的全面开展以及学院信息化 工作的展开,图书馆信息管理系统的建设也成为学院信息化建设中非 常重要的一部分,图书馆管理信息系统的开发与建设势在必行。本课 题主要是结合学院图书馆信息管理的相关需求并实地进行调研。本 项目所设计的软件方便了图书馆信息的管理,提高了图书馆管理工作 效率,实现了图书管理的“集中管理,分布存放,实时使用,高效可靠”要求。

目前该系统已经通过了试运行,功能方面和性能方面均能很好的满足用户的需求,系统运行可靠、准确、方便,能够很好的为读者和图书管理员服务。 三、项目的功能 (1)图书管理 ①图书类别管理:增、删、改等管理。 ②图书信息管理:新书入库,图书购入后由图书管理人员将书籍编码并将其具体信息录入书籍信息表,及删改功能。 (2)读者管理 读者信息管理:录入,修改,删除,查询读者信息。 (3)流通管理 ①图书借阅:读入借阅者证号,然后通过扫描读入所需借阅的图书编号。 ②图书归还:通过扫描读入图书编号,自动识别图书证号。同时提示读者已借书数、超期图书应缴罚款等参考信息。自动计算罚金。 ③图书丢失、损坏处理:如果图书丢失或者损坏,根据罚款规则计算罚款,同时记录需要出库的图书信息。 (4)统计管理:按类别统计借还信息。 (5)查询管理:管理员按不同方式查询,读者按不同方式查询。 四、需求分析及项目功能

数据库课程设计图书管理系统

XXXXXX大学 计算机科学与技术学院 课程设计报告 20 11 — 20 12 学年第一学期 课程名称数据库课程设计 设计题目图书管理系统 学生姓名XXX 学号 专业班级 指导教师 2012 年 1 月 9 日 目录 1.需求分析............................. 错误!未定义书签。 1.1背景.............................. 错误!未定义书签。 1.2数据需求 ...................... 错误!未定义书签。 1.3功能需求 ...................... 错误!未定义书签。2.概念结构设计.................... 错误!未定义书签。 2.1 E-R图 .......................... 错误!未定义书签。 3.逻辑结构设计...................... 错误!未定义书签。 3.1 E-R图向关系模式转化 . 错误!未定义书签。 3.2数据字典 ...................... 错误!未定义书签。

4.数据库实现 ......................... 错误!未定义书签。 4.1 表结构截图.................. 错误!未定义书签。 4.2表间关系截图 ............... 错误!未定义书签。 5.数据库功能模块图 .............. 错误!未定义书签。 5.1 数据库功能模块图....... 错误!未定义书签。 5.2 功能模块窗口截图....... 错误!未定义书签。 5.3 数据库具体代码 .......... 错误!未定义书签。 6.课程设计心得...................... 错误!未定义书签。 1.需求分析 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过 多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制 管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中 统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息 管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好 的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。

图书信息管理系统(WORD文档)

一、系统设计 (2) 1、系统背景 (2) 2、系统功能要求及模块分析 (2) 3、系统开发具体研究分析 (4) 4、图书管理系统数据流图 (5) 5、MSC (8) 6、图书管理系统的E-R图 (9) 7、图书管理系统数据字典 (10)

一、系统设计 1、系统背景 图书管理系统的主要用途是完成读者的登记,图书的登记,图书的征订,图书的借阅,图书的归还,图书的清单,以及图书的罚款等,更进一步有的图书管理系统还可以包含读者管理子系统,图书管理子系统,流通管理子系统等. 读者管理子系统负责完成对读者基本信息的管理.当有新的读者来注册时,可完成读者基本信息的登记工作,对于登记后的读者信息还提供了修改的界面.对读者的信息还可通过设置不同的查询条件进行查询;还负责完成对读者的类型的管理,可完成读者类别的登记工作,对于登记后的读者类别信息还提供了修改的界面,对读者的类别信息还可通过设置不同的查询条件进行查询. 图书管理子系统负责完成对图书基本信息的管理.当有新的图书来注册时,可完成图书基本信息的登记工作,对于登记后的图书信息还提供了修改的界面.对图书的信息还可通过设置不同的查询条件进行查询. 还负责完成对图书的类型的管理,可完成图书类别的登记工作,对于登记后的图书类别信息还提供了修改的界面,对图书的类别信息还可通过设置不同的查询条件进行查询. 流通管理子系统负责完成图书的征订,图书的借阅,图书的归还,图书的清单,以及图书的罚款的管理,当有新的读者来征订图书,借阅图书以及归还图书..时,对其进行登记注册.另外,流通管理子系统还应该讲图书的情况及时传给数据库. 2、系统功能要求及模块分析 根据图书管理的基本需求,图书管理系统需要完成以下的任务: 1.管理读者的基本信息资料,包括读者编号,读者姓名,读者性别,出生日期,发证日期,有效期至,读者类型, 身份证号,是否挂失等.可以添加,修改,删除这些读者的信息. 2.管理读者的类别信息资料,包括读者类型,可借图书册数,允许续借次数等,可以添加,修改,删除这些读者 的类别信息. 3.管理图书的基本信息资料,包括图书编号,书名,类型名称,作者,出版社,页码,价格,是否注销等,可以添加, 修改,删除这些图上的基本信息. 4.管理图书的类别信息资料,包括图书编号,可借天数,类型名称等.可以添加,修改,删除这些图书的类别信 息. 5.记录图书的征订,图书的借阅,图书的归还,图书的清单,图书的罚款,通过它们所对应的征订编号,借阅的 编号,归还编号,清单编号,罚款编号,从数据库中查询该图书的情况,根据图书的情况对其相对应的读者进行其对应的操作. 6.管理员需要通过身份验证才能登录系统 根据上面的分析,可以得出系统应该包括读者管理,图书管理,流通管理等,一些模块又包含许多子功能模块如

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