图书管理系统设计实习报告
图书管理实验报告001

<<图书馆管理管理系统程序设计>>实习报告(2013年)实习题目:设一本书的基本资料由以下数据项来描述:1.书号(设为一个无符号长整型);2.书名(设为不超过30个字符的字符串);3.作者名(设为不超过20个字符的字符串);4.出版社(设为不超过30个字符串的字符串);5.关键词(最多5个,每个关键词为不超过10个字符的英文单词);其中,设每本书的书号,书名,作者名和出版社均是唯一的.请用类形式来构造一个小型图书资料整理系统(模拟).该系统应能提供以下功能:1.图书资料库:从键盘输入各图书资料,建立图书资料库;设图书依书号从小到大次序组织存放;2.查询图书功能:1)读书可通过提供书名查询,若该书仍在库中,则列出该书资料;2)读者可通过提供书号查询,若该书仍在库中,则列出该书资料;3)读者也可以通过提供关键词查询(最多5个:一般情况下,读者提供用于查询的关键词个数都不会超过在书库中登记的图书原有的关键词个数),若提供的关键词和原书中关键词相匹配,则列出所有符合要求的所有图书资料个读者选择;读者可从系统所列出可供选择的图书资料信息中,通过书号来办理借阅的手续;3.借书功能:当锁查询的图书的确在库内时,读者可采用提供书号形式来办理借阅手续(每次操作只能借一本书);1)登记借阅人的姓名(不超过20个字符的字符串),电话(无符号长整型整数),借阅日期(年,月.日,均是整形量);4.还书功能:1)删去图书中该书借阅人的资料;2).将该书资料归入”该图书仍在库内”状态;5.催还功能:管理人员定期列出借书人借阅图书资料,以便检查是否有超期借阅者,若有则发通知催还.说明:1. 理论上,图书资料库书量应没有限制(实际上是受硬件资料所限)2. 图书资料库可以采用以下组织形式:)1)每本图书的资料有基本资料和借阅人资料组成,所有图书资料由一个链表链接在一起;2)每本图书的资料也由基本资料和借阅人资料组成,但所有图书资料分别由未借出链表和已借出链表在一起;3.请先确定好图书资料组织形式,然后再考虑设计功能的实现.4.模拟图书资料系统工作的主函数基本要求如下:1) 在键盘上输入每本图书资料,在储存区建立图书资料库.因无法预知图书册数,考研题设当输入书号为0时表示输入结束.图书资料库正常工作期间追加新入库图书时也如此办理;2)输出图书库中所有在库图书资料清单,此操作只由管理人员使用;3)输出图书库中已被借出的天数资料清单,此操作只由管理人员使用;4).查询图书.借阅图书.归还图书.追加图书;5)每借出一本图书或归还一本图书之后,输出书库内图书情况或借书人登记资料,以便可对操作是否完成;6)书库内没有登记的图书,不能办理借阅手续.当然,不是在改图书库借出的图书业不能在此处办理还书手续.源程序代码:#include<iostream.h>#include<stdio.h>#include<conio.h>#include<string.h>#include<stdlib.h>struct Date //日期数据结构{int year;int month;int day;};struct Person // 个人信息数据结构{char name[20];longtele; // the telephone numberDate dateb; //声明dateb是struct Data成员};struct Book // 图书资料信息数据结构{long ISBN; // 书号char Bname[31]; // 书名char Bwrite[20]; // 作者名char Bprint[31]; // 出版社名char *Bkeyword[5]; // 关键词Book *link; // 指向下一连节点Person message; //声明message是struct Person 类型)};class Library // 图书馆类{ protected:Book* librin; // 在书库链Book* libout; // 借书链public:Library(); // 构造函数~Library(); // 析构函数void creat(); // 创建图书馆void print1(); // 输出在书库图书void inquire1(); // 书号查询void inquire2(); // 书名查询void inquire3(); // 关键词查询void borrow(); // 借书void print2(); // 输出借出图书void invert(); // 还书void urge(); // 催还图书void deleter(); // 删除图书void insert(); // 增加新书};Library::Library() // 构造函数{ libout=NULL;}Library::~Library() // 析构函数{ ; }intdayth(intY,intM,int D) //计算某年某月某日是当年第几天{intdy=0;M=M-1;while(M>0){do{if(M==2){if(((Y%4==0)&&(Y%100!=0))||((Y%400==0)))dy=dy+29;elsedy=dy+28;}else{if(((M<=7)&&(M%2==1))||((M>=8)&&(M%2==0)))dy=dy+31;elsedy=dy+30;}M=M-1;}while(M>0);}dy=dy+D;returndy;}intYmday(intY,int M) //判断某年某月有几天{if(M==2){if(((Y%4==0)&&(Y%100!=0))||(Y%400==0)) return 29;else return 28;}else{if(((M<=7)&&(M%2==1))||((M>=8)&&(M%2==0))) return 31;else return 30;}}intYeardays(int y) //判断某年有几天{if((y%4==0&&y%100!=0)||(y%400==0)) return 366;else return 365;}long Leapdays(int yy1,int yy2) //计算某年两年之间相距多少天{longy,m,d=0;while(yy1<yy2){m=Yeardays(yy1);d=d+m;yy1++;}return d;}void Library::creat() //创建图书资料函数{Book *h,*q,*p,*temp,*k;inti=1,j;h=NULL;p=new Book;if( p==NULL ) { cout<<"\n\t Eorror ! "; exit(1); }q=p;cout<<"\n\t ---The Book Infornation---\n";cout<<"\n\nNO."<<i;do{cout<<"\n\tInput the ISBN(0 to end):";cin>>p->ISBN;if(p->ISBN < 0)cout<<"\n\tThe ISBN illedal!";if(p->ISBN==0) break;}while(p->ISBN <= 0);if(p->ISBN > 0){cout<<"\n\tInput the Bname:";gets(p->Bname);cout<<"\n\tInput the Bwrite:";gets(p->Bwrite);cout<<"\n\tInput the Bprint:";gets(p->Bprint);cout<<"\n\tInput the Bkeyword:( Input the NULL to end )"; for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):";p->Bkeyword[j]=new char[20+1];gets(p->Bkeyword[j]);if(strcmp(p->Bkeyword[j],"")==0)break;}q->link=NULL;}while( p->ISBN!=0 ){ i++;if(h==NULL) h=p;if(i>2){ temp=h;while( p->ISBN > temp->ISBN && temp->link!=NULL ) {k=temp;temp=temp->link;}if ( p->ISBN <= temp->ISBN ){if(temp==h){ p->link=temp;h=p;}else{k->link=p;p->link=temp;}}else{temp->link=p;p->link=NULL;}}p=new Book;cout<<"\n\nNO."<<i;do{cout<<"\n\tInput the ISBN( 0 to end ):";cin>>p->ISBN;if(p->ISBN < 0)cout<<"\n\t The ISBN illegal!";}while(p->ISBN < 0);if ( p->ISBN > 0 ){cout<<"\n\tIput the Bname:";gets(p->Bname);cout<<"\n\tInput the Bwrite:";gets(p->Bwrite);cout<<"\n\tInput the Bprint:";gets(p->Bprint);cout<<"\n\tInput the Bkeyword:( Input the NULL to end )";for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):";p->Bkeyword[j]=new char[20+1];gets(p->Bkeyword[j]);if(strcmp(p->Bkeyword[j],"")==0) break;}}q=p;}librin=h;} // creat endvoid Library::print1() //输出在书库图书资料函数{ int j; Book *p;p=librin;if(librin==NULL ) cout<<"\n\t The list is NULL!";elsedo{if ( p->ISBN == 0 ) continue;cout<<"\n_______________________________________________________\n";cout<<"\n NO."<<p->ISBN<<"\n Bname:"<<p->Bname;cout<<"\n Bwrite:"<<p->Bwrite<<"\n Bprint:"<<p->Bprint;cout<<"\n Bkeyword:\n";//getch();for(j=0;j<5;j++){if(strcmp(p->Bkeyword[j],"")!=0)cout<<"\t"<<p->Bkeyword[j];else break;}// getch();p=p->link;getch();} while( p!=NULL );cout<<"\n_______________________________________________________\n";} // print1 endvoid Library::inquire1() //书号查询函数{ longnum; int j;Book *temp;temp=librin;if(librin==NULL){ cout<<"\n\t This list is NULL!";getch();exit(1);}else{cout<<"\n\t Input you need seek ISBN:"; cin>>num;while(num!=temp->ISBN&&temp->link!=NULL)temp=temp->link;if(num==temp->ISBN ){ cout<<"\n\t Your need result is:";cout<<"\n____________________________________________________ ___\n";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n____________________________________________________ ___\n";}elsecout<<"\n\t Sorry,Seek Failure!";getch();}} // inquire1 endvoid Library::inquire2() //书名查询函数{ char name[30+1]; int j;Book *temp;temp=librin;if(librin==NULL){ cout<<"\n\t This list is NULL!";getch();exit(1);}else{cout<<"\n\t Input you need seek Bname:"; gets(name);while((strcmp(temp->Bname,name)!=0)&&temp->link!=NULL)temp=temp->link;if(strcmp(name,temp->Bname)==0 ){ cout<<"\n\t Your need result is:";cout<<"\n____________________________________________________ ___\n";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n____________________________________________________ ___\n";}elsecout<<"\n\t Soory,Seek Failure!";getch();}} // inquire2 endvoid Library::inquire3() //关键词查询函数{ char *keyword[5]; inti=0,j,d,ct=0,k=0;Book *temp;temp=librin;if(librin==NULL){ cout<<"\n\t This list is NULL!";getch();exit(1);}else{ cout<<"\n\tInput you need Seek Bkeyword:( Input the NULL to end )";for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):";keyword[j]=new char[20+1];i++;gets( keyword[j] );if(strcmp( keyword[j],"")==0 )break;}d=i;while(temp!=NULL){ct=0;for(j=0;j<d;j++){ for(i=0;strcmp(temp->Bkeyword[i],"")!=0&&i<5;i++)if(strcmp( keyword[j],temp->Bkeyword[i] )==0 ){ ct++;break;}if(strcmp(temp->Bkeyword[i],"")==0||i>=5) break;}if(ct==(d-1)){ k++;cout<<"\n\t Your need result is:";cout<<"\n____________________________________________________ ___\n";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n____________________________________________________ ___\n";}temp=temp->link;}if(k==0)cout<<"\n\t Soory,Seek Failure!";getch();}} // inquire3 endvoid Library::borrow() // / 借书函数{ Book *p,*temp,*h,*st; long num;if(librin==NULL){ cout<<"\n\t The library is NULL!"; return ;}temp=librin;p=libout;cout<<"\n\t Input your need the ISBN:";cin>>num;while(temp->ISBN!=num&&temp->link!=NULL){ st=temp; temp=temp->link; } // Scanningif( temp->ISBN==num ){ if( temp==librin ) librin=librin->link;elsest->link=temp->link;cout<<"\n\tInput the Your name:";gets( temp-> );cout<<"\n\tInput the telephone number:";cin>>temp->message.tele;do{ cout<<"\n\tInput the year(1900<=y<=2100):";cin>>temp->message.dateb.year;}while(temp->message.dateb.year<1900||temp->message.dateb.year>2100); do{ cout<<"\n\tInput the month(1<=m<=12):";cin>>temp->message.dateb.month;}while(temp->message.dateb.month<1||temp->message.dateb.month>12); cout<<"\n\tInput the day:";cin>>temp->message.dateb.day;if(libout==NULL ){ libout=temp; temp->link=NULL; }elsewhile( temp->ISBN>p->ISBN&&p->link!=NULL ){ h=p; p=p->link; }if( temp->ISBN<p->ISBN ){ if( p==libout ){ temp->link=p; libout=temp; }else { h->link=temp; temp->link=p; }}elseif( p->link==NULL ){ p->link=temp; temp->link=NULL; }cout<<"\n\t Borrow Success!";}elsecout<<"\n\t Soory,Borrow Failure!";} // borrow endvoid Library::print2() //输出借出图书资料{ Book *p;int j=0;p=libout;if(libout==NULL )cout<<"\n\t Hasn't person borrow!\n";{ cout<<"\n\t ------The borrow book infornation---------";do{cout<<"\n_______________________________________________________\n";cout<<"\n NO."<<p->ISBN<<"\n Bname:"<<p->Bname;cout<<"\n Bwrite:"<<p->Bwrite<<"\n Bprint:"<<p->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(p->Bkeyword[j],"")!=0)cout<<"\t"<<p->Bkeyword[j];else break;}cout<<"\n\t --------------------------------------- ";cout<<"\n Person name:"<<p-><<"\n Tele:"<<p->message.tele; cout<<"\nDate:"<<p->message.dateb.year<<"/"<<p->message.dateb.month<<"/"<< p->message.dateb.day;p=p->link;getch();} while( p!=NULL );cout<<"\n_______________________________________________________\n";}} // print2 endvoid Library::invert() //还书函数{Book *temp,*p,*h,*st; int j; long num;temp=librin;p=libout;if(libout==NULL ){ cout<<"\n\t Hasn't person borrow the book!"; getch(); return; }cout<<"\n\t Input your invert ISBN of the book:";cin>>num;while( p->ISBN!=num&&p->link!=NULL ){ st=p; p=p->link; }if( p->ISBN==num ){ cout<<"\n\t ------The invert book infornation---------";;cout<<"\n_______________________________________________________\n";cout<<"\n NO."<<p->ISBN<<"\n Bname:"<<p->Bname;cout<<"\n Bwrite:"<<p->Bwrite<<"\n Bprint:"<<p->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++)if(strcmp(p->Bkeyword[j],"")!=0)cout<<"\t"<<p->Bkeyword[j];else break;}cout<<"\n Person name:"<<p-><<"\n Tele:"<<p->message.tele; cout<<"\nDate:"<<p->message.dateb.year<<"/"<<p->message.dateb.month<<"/"<< p->message.dateb.day;cout<<"\n_______________________________________________________\n";if( p==libout )libout=libout->link;else st->link=p->link;p->[0]='\0';p->message.tele=0;p->message.dateb.year=0;p->message.dateb.month=0;p->message.dateb.day=0;if(librin==NULL ){ librin=p;p->link=NULL;}elsewhile( p->ISBN>temp->ISBN&&temp->link!=NULL ){ h=temp; temp=temp->link; }if( p->ISBN<=temp->ISBN ){ if( temp==librin ){ p->link=temp;librin=p;}}else{ h->link=p;p->link=NULL;}cout<<"\n\t Invert Success!";}else cout<<"\n\t Soory,The book isn't this library!";getch();} // invert endvoid Library::urge() //催还图书函数{ Book *temp; intj,ct=0,y1,m1,d1,y2,m2,d2,y3,m3,d3;long Dt,D1,D2,D3;temp=libout;cout<<"\n\t Plase input the date of today:\n";do{ cout<<"\n\tInput the year(1900<=y<=2100):";cin>>y2;}while(y2<1900||y2>2100);do{ cout<<"\n\tInput the month(1<=m<=12):";cin>>m2;}while(m2<1||m2>12);cout<<"\n\tInput the day:";cin>>d2;cout<<"\n\t The borrow over time is:";while( temp!=NULL ){ y1=temp->message.dateb.year;m1=temp->message.dateb.month;d1=temp->message.dateb.day;d3=d1+20;if( d3>Ymday(y1,m1) ){ d3=d3-Ymday(y1,m1);m3=m1+1;if( m3>12 ){ m3=1; y3=y1+1; }else y3=y1;}else{ m3=m1; y3=y1; }D1=Leapdays( y1,y2 );D2=dayth( y1,m1,d1 );D3=dayth( y2,m2,d2 );Dt=D1+D3-D2;if(Dt>20 ){ cout<<"\n ______________________________________________________";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n ------------------------------------------------------";cout<<"\n Person name:"<<temp-><<"\n Tele:"<<temp->message.tele;cout<<"\nDate:From-> "<<temp->message.dateb.year<<"/"<< temp->message.dateb.month<<"/"<< temp->message.dateb.day;cout<<"\n\t To->"<<y3<<"/"<<m3<<"/"<<d3;cout<<"\n_________________________________________________________";cout<<"\n\t The person Over time :"<<Dt-20<<" days";ct++;}temp=temp->link;}if(ct==0)cout<<"\n\t Hasn't person over time borrow the book!\n";getch();} // urge endvoid Library::deleter() //删除图书函数{ Book *st,*temp; long num;temp=librin;cout<<"\n\t Input your delete ISBN of book:";cin>>num;while(num!=temp->ISBN&&temp->link!=NULL ){ st=temp; temp=temp->link; }if(num==temp->ISBN ){ if( temp==librin )librin=librin->link;elsest->link=temp->link;delete temp;cout<<"\n\t The Node had deleted!\n";}elsecout<<"\n\t The Node isn't Exist!\n";getch();} // delete endvoid Library::insert() //新增图书函数{ Book *temp,*st,*p; int j;p=librin;cout<<"\n\t ---The new book infornation---";temp=new Book;if( temp==NULL ){ cout<<"\n\t Soory,Applicanta Failure!";exit(1);}cout<<"\n\tInput the ISBN:";cin>>temp->ISBN;cout<<"\n\tInput the Bname:";gets(temp->Bname);cout<<"\n\tInput the Bwrite:";gets(temp->Bwrite);cout<<"\n\tInput the Bprint:";gets(temp->Bprint);cout<<"\n\tInput the Bkeyword:( Input the NULL to end )"; for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):"; temp->Bkeyword[j]=new char[20+1];gets(temp->Bkeyword[j]);if(strcmp(temp->Bkeyword[j],"")==0)break;}if(librin==NULL){ librin=temp;temp->link=NULL;}elsewhile( temp->ISBN>p->ISBN&&p->link!=NULL ){ st=p; p=p->link; }if( temp->ISBN<p->ISBN ){ if( p==librin ){ temp->link=p;librin=temp;}else{ st->link=temp;temp->link=p;}}else{ p->link=temp;temp->link=NULL;}cout<<"\n\t Insert success!\n";getch();} // insert endvoid main() // 主函数{ Book *librin; int NO,NO2,ct=1; long PIN; char ch;Library obj; //chuangjian dui xiangclrscr();cout<<"\n\t ------The Libraly information------\n";cout<<"\n\t 1--Creat; 2--Print; 3--Urge; 4--Delete; 5--Insert;";cout<<"\n\t 6--Inquire; 7--Borrow; 8--Invert(return book); 0--exit;\n"; cout<<"\n\t Your need Function is:"; cin>>NO;while( NO!=0 ){ if( NO==1||NO==2||NO==3||NO==4||NO==5 ){ do{ cout<<"\n\t Please input the PIN (You only 3 time ):";cin>>PIN;if( PIN!=123456 ){ cout<<"\n\t Your PIN is error! You has "<<3-ct<<"time";ct++;}if(ct>3 ){ cout<<"\n\t GoodBye! "; exit(1); }}while(PIN!=123456);}if( NO==1 ){ clrscr();cout<<"\n\t Are you sure creat the library?(Yes--y/No--any):";cin>>ch;if(ch=='y' )obj.creat();}if( NO==2 ){ clrscr();do{ cout<<"\n\t 21--total Inquire; 22-borrow Inquire; 0--exit\n";cout<<"\n\t Your need Function is:"; cin>>NO2;if( NO2==21 ){ clrscr();obj.print1();}if( NO2==22 ){ clrscr();}}while( NO2!=0 );}if( NO==3 ){ clrscr();obj.urge();}if( NO==4 ){ clrscr();obj.deleter();}if( NO==5 ){ clrscr();obj.insert();}if( NO==6 ){ clrscr();do{ cout<<"\n\t 1--Seek the ISBN; 2--Seek Bname; 3--Seek Bkeyword;0--exit\n";cout<<"\n\t Your need Function is:"; cin>>NO2;if( NO2==1 ){ clrscr();obj.inquire1();}if( NO2==2 ){ clrscr();obj.inquire2();}if( NO2==3 ){ clrscr();obj.inquire3();}}while( NO2!=0 );}if( NO==7 ){ clrscr();obj.borrow();getch();}if( NO==8 ){ clrscr();}clrscr();cout<<"\n\t ------The Libraly information------\n";cout<<"\n\t 1--Creat; 2--Print; 3--Urge; 4--Delete; 5--Insert;";cout<<"\n\t 6--Inquire; 7--Borrow; 8--Invert(return book); 0--exit;\n";cout<<"\n\t Your need Function is:"; cin>>NO;}}仅供学习交流,禁止用于其它途径。
图书馆专业实习报告

图书馆专业实习报告图书馆专业实习报告3篇在经济发展迅速的今天,需要使用报告的情况越来越多,要注意报告在写作时具有一定的格式。
你知道怎样写报告才能写的好吗?下面是小编帮大家整理的图书馆专业实习报告3篇,欢迎大家借鉴与参考,希望对大家有所帮助。
图书馆专业实习报告篇1根据学院的安排,我班46名同学参加了此次学院组织的毕业实习。
根据同学们的不同要求,此次实习共划分了四个实习小组,分别由张小玲负责到中国科学院国家科学图书馆武汉分馆实习的17人,由马浩琴负责到深圳实习的8人,由刘晶晶负责自主实习的13人,由欧阳珊负责到武汉大学图书馆实习的8人。
其中前三组根据要求是定于暑期实习,最后一组根据高校图书馆特殊的情况,定于开学后实习。
根据学院的要求,毕业实习的主要目的在于促进同学们将所学专业知识运用于实践,并在实践中学习、检验与巩固理论知识,增强动手能力;熟悉图书馆与信息服务机构的工作流程,掌握各岗位的业务技能,尤其是熟练地运用计算机等现代化手段从事信息组织、信息检索、信息分析与评价以及信息资源开发与利用的能力;培养良好的职业道德、强烈的责任感、集体主义精神与协作精神;接触社会,了解社会,进一步培养人际交往的能力;逐步培养对图书馆与信息服务机构的组织与管理的能力。
通过对毕业实习情况的统计,基本达到了实习的目的,丰富了同学们的社会阅历,为今后的毕业工作作了预热,打下了基础。
根据同学们的小结和经验交流,此次毕业实习主要取得了以下感触,也获得了一些启发。
(1)当前我们自身的知识构成有待调整,单一的图书馆学、情报学知识背景已不能满足社会的需求,对其他学科背景知识的要求成为目前制约我们未来发展的一大因素。
完善自身的知识构成、调整自身的知识构架以成为应对激烈市场竞争的重中之重。
根据中科院的实习情况来看,中科院自20xx年开始实施学科馆员制度以满足用户开放式、深层次的信息需求,而对学院馆员最基本的要求则只具有相关学科背景,对于图书馆学、情报学领域的专门人才的需求大大降低,这一事实无疑将成为我们未来发展的一大瓶颈,使我们在未来竞争中处于相对劣势。
2024年大学毕业生图书馆实习报告范文(3篇)

2024年大学毕业生图书馆实习报告范文尊敬的导师:您好!感谢您给予我这次图书馆实习的机会。
通过这次实习,我对图书馆的管理和运作有了更深入的了解,也提升了我在信息管理和服务方面的能力。
下面是我对这次实习的总结和报告。
一、实习机构介绍我所实习的图书馆是一所大学图书馆,拥有丰富的图书资源和完善的信息服务体系。
图书馆分为多个功能区,包括阅览区、自习区、电子资源区、咨询服务区等。
实习期间,我主要在图书馆的阅览区和咨询服务区进行工作。
二、实习内容与工作安排1. 图书馆阅览区工作在阅览区的工作主要是协助图书管理员监督读者秩序,并维护图书馆的安静环境。
我负责检查读者证,处理借还书事务,恢复图书的摆放秩序等。
在此过程中,我学会了与读者进行良好沟通和合作,提高了自己的服务意识和观察力。
2. 咨询服务区工作在咨询服务区的工作主要是回答读者的咨询和疑问,提供图书馆的相关信息与服务。
我通过学习图书馆的资源和服务,了解了各类读者的需求,并及时给予他们解答和帮助。
这个环节提高了我的信息检索和问题解决能力。
三、实习心得与收获1. 提升了我的服务意识通过这次实习,我意识到作为一名图书馆实习生,提供良好的服务是非常重要的。
在阅览区,我学会了如何细心观察读者的需求,并帮助他们解决问题。
在咨询服务区,我学会了主动倾听读者的需求,并提供相应的建议和信息。
这些经历使我更加了解了读者的需求和期望。
2. 改善了我的沟通能力在图书馆的实习过程中,我经常需要与读者进行交流和沟通。
我学会了如何倾听,并用简洁明了的语言解释问题。
这些经历提高了我的沟通能力和表达能力,并锻炼了我的应变能力。
3. 加深了对图书馆事业的热爱通过这次实习,我深深感受到了图书馆事业的重要性和意义。
图书馆不仅是知识的存储和传播者,更是社会文明进步的推动者。
我为能够参与这一事业而感到骄傲和幸运。
四、问题与建议在实习中,我也遇到了一些问题和困惑。
有时候读者会提出一些复杂的问题,我无法给出满意的答案。
软件开发实习报告:面向对象编程的实践与总结

软件开发实习报告:面向对象编程的实践与总结1. 引言面向对象编程(OOP)是一种软件开发方法,它将程序组织成对象的集合,每个对象都有自己的状态和行为。
在本次的软件开发实习中,我有幸参与了一个采用面向对象编程的项目,下面我将分享我在实习中的实践经验和总结。
2. 实践过程2.1 项目背景本次实习项目是开发一个图书管理系统,主要功能包括图书的借阅、归还、查询等。
这是一个比较典型的应用场景,适合用面向对象的方法进行开发。
2.2 全局设计在开始编写代码之前,我们首先进行了全局设计。
根据需求,我们确定了几个类:图书、用户、图书管理员等。
每个类都有自己的属性和方法,它们通过交互实现系统的功能。
2.3 类的设计与实现在面向对象编程中,类是编程的基本单元。
我们首先根据全局设计确定了各个类的属性和方法,然后逐个实现。
在实现的过程中,我们充分运用了面向对象编程的特性,例如封装、继承、多态等,使得程序的结构更加清晰,代码的复用性更高。
2.4 单元测试与调试在实现每个类的时候,我们使用了单元测试的方法进行验证。
通过编写测试用例,我们可以验证代码的正确性,及时发现和修复潜在的bug。
此外,我们还使用了调试工具来辅助排查程序中的错误。
3. 实践总结3.1 优点面向对象编程具有很多优点,我们在实践中也感受到了它带来的好处。
首先,面向对象编程使得程序的结构更加清晰。
每个类都有自己的职责,通过类与类之间的交互,完成系统的功能。
这种分而治之的思想使得代码的逻辑更加清晰,可读性更高。
其次,面向对象编程提供了良好的代码复用性。
通过继承和多态,我们可以重复使用已有的代码,减少了代码的重复编写,提升了开发效率。
最后,面向对象编程使得代码更加容易维护。
由于代码的结构清晰,我们可以更快地定位和修复bug,同时也降低了修改代码带来的影响。
3.2 不足尽管面向对象编程有许多优点,但也存在一些不足之处。
首先,面向对象编程比较抽象和复杂,对于初学者来说学习成本较高。
毕业生图书馆实习报告6篇

毕业生图书馆实习报告6篇毕业生图书馆实习报告篇1“书中自有黄金屋,书中自有颜如玉”,能在知识的海洋中尽情徜徉,一直是我乐此不疲的事情。
当然,图书馆学生助理的工作也着实让我乐了一把,好好摸清楚图书馆的规矩和进书程序,我就可以“近水楼台先得月”了!怀着好奇和热情我去了图书馆面试,在经过一番问答,知道我对图书馆有如此深的归属感,他们放心的录用了我。
一切如愿以偿,我得以能在图书馆做学生助理了!开始,我对学生助理还没有太多的了解,之后在师兄师姐的热心帮助下,我渐渐知道应该做些什么。
虽然是很简单的事情,但做起来要特别讲究方法,比如你发现有同学胡乱的摆放图书,你一定要用委婉的语气好好跟他讲解如何合理用书,在讲话的过程中,要注意自己的用词和表情,不能用过激的语言来中伤读者,一定要好言相劝,循循善诱。
一上午坐在服务台,难免会有点无聊,所以,可以拿本自己喜欢的杂志放着来看。
但一定要把握时间,不时要在楼层走动一下,提醒个别读者的不良习惯,保持环境的清静。
维护学校的图书资源和馆内的清洁,认真地执行图书馆的规定。
对于一些顽固分子,自己一定要调节好自己的情绪,不要和读者有争吵,如果有不能好好理解你的人,可以把他请到一边,在不影响他人学习的情况下,好好地和他交流。
在图书馆工作的后期,我知道了图书是怎么排序的,这有便于我以后更懂得利用图书馆的藏书,顺利地找到我要看的书。
同时,在上书过程中,我更懂得了团队合作的重要性并且如何做一个让别人放心的人。
有些问题自己能解决的要靠自己去琢磨,不能一点小事都要麻烦别人来解决,这样才能给别人留下一个好印象。
事情看起来简单的,但只有你去做的时候本_资_料_来_源_于_淘-范-文- 你才会发现芝麻大小的事,其中也有很多学问。
终于懂得了什么叫做“生活处处是学问”这一道理。
最后,我还有一个很深的体会,那就是我们大学生一定要好好利用图书馆里的资源,当给你大把机会你好好学习你不学,你要等到你为生活奔波时才认真学习吗?图书馆是一个很好的知识库,特别是大学的图书馆。
宏梦银河有限公司图书销售管理信息系统(实习报告)

宏梦银河有限公司图书销售管理信息系统(实习报告)前言人类正走进以信息技术为核心的知识经济时代,信息化已成为推进国民经济和社会发展的助力器,信息化水平的高低,大而言之,不仅决定着一个国家地区的国际竞争力和经济社会发展水平,而且直接关系到国家兴衰和民族兴旺。
小而言之,更是一个企业发展的核心动力,对于当代新兴企业的前进起着决定性的关键作用。
实行计算机管理,是国内外现代化环境发展所提出的必然要求,谁主动适应这个大环境,谁在21世纪就会占领主动。
具体到营销企业而言,不仅可以提高管理水平,而且为销售的整体化管理也创造了有利条件。
实践表明,应用计算机管理使企业管理许多方面产生了质的变化,如促使管理体制的合理化、管理方法的科学化、管理效果的最佳化、管理数据的精确化、管理劳动的智能化、服务质量的标准化。
目前,中国拥有3.67亿少年儿童,超过全国人口总数的1/4,但是少儿图书的销售额尚不到全国图书销售总额的1/10。
可见,少儿图书的出版发行是一个朝阳产业,虽然竞争激烈,但是还有很大的市场潜力,前景看好。
展望少儿图书发行的未来趋势,要想在众多同行业竞争者中脱颖而出,做好有效的管理,提高服务质量,是至关重要的。
这就促成图书销售管理需要高效率和高质量,因此利用计算机管理图书销售也是势在必行,而采用计算机管理则可以大幅度提高日常业务操作的效率,每一册图书从入库开始就由计算机自动赋予唯一的编号,跟随该图书走完出货和销售的全过程。
在此过程,只需输入图书编号,即可显示图书的详细信息,不仅提高了工作效率,也大大减少了出错的可能,为经营决策提供了切实可靠的依据。
为了更好的管理图书销售的情况,本人决定设计图书销售管理信息系统。
本系统主要针对宏梦银河有限公司的具体情况,在Microsoft Windows XP下开发的,所采用的开发工具是Microsoft公司的Visual Basic 6.0企业版。
考虑到公司每天的数据处理量,在后台采用了SQL Server数据库。
图书管理系统实习报告

图书管理系统实习报告在实习开始时间至实习结束时间这段时间里,我在实习单位名称进行了关于图书管理系统的实习。
通过这次实习,我不仅对图书管理的流程和技术有了更深入的了解,还在实践中提高了自己的专业能力和综合素质。
一、实习单位及岗位介绍实习单位名称是一家在图书管理领域具有丰富经验和良好声誉的机构。
其图书管理系统涵盖了从图书采购、编目、借阅、归还到库存管理等一系列功能,为读者提供了便捷、高效的服务。
我所在的实习岗位是图书管理系统维护与优化。
主要职责包括协助处理系统日常运行中的故障,收集用户反馈并提出改进建议,参与系统的功能测试和优化工作。
二、实习内容及成果1、系统日常维护在实习初期,我主要负责协助处理图书管理系统的日常维护工作。
这包括监控系统运行状态,及时解决出现的小故障,如数据库连接异常、页面加载缓慢等。
通过对这些问题的处理,我逐渐熟悉了系统的架构和运行机制,掌握了一些基本的故障排查方法和工具。
2、用户反馈收集与分析随着实习的深入,我开始参与用户反馈的收集和分析工作。
通过与读者和图书馆工作人员的交流,我了解到他们在使用系统过程中的痛点和需求。
例如,有些读者反映借阅流程不够简洁,查找图书的功能不够智能;图书馆工作人员则希望系统能提供更详细的统计报表,以方便管理决策。
我将这些反馈进行整理和分类,并与团队成员一起分析,为系统的优化提供了有价值的依据。
3、系统功能测试为了确保系统的稳定性和可靠性,我们定期对系统进行功能测试。
我参与了测试用例的编写和执行,对系统的各个模块进行了全面的测试。
在测试过程中,我发现了一些潜在的问题,如数据一致性错误、权限控制漏洞等,并及时反馈给开发人员进行修复。
通过这些测试工作,不仅提高了我的细心和耐心,还让我对系统的功能有了更深入的理解。
4、系统优化与改进基于用户反馈和测试结果,我参与了系统的优化与改进工作。
例如,我们对借阅流程进行了重新设计,简化了操作步骤,提高了读者的借阅体验;对图书查找功能进行了优化,引入了更智能的搜索算法,提高了查找的准确性和效率;为图书馆工作人员提供了定制化的统计报表,满足了他们的管理需求。
图书馆实习报告范文4篇_实习报告_

图书馆实习报告范文4篇暑假,意味着课堂从教室搬到了社会。
社会就是一片苍穹,给我们提供了展翅翱翔的场地。
在这里,我们能够自由的选择与发挥。
对,就是自由的选择和发挥。
无数种类别可以选择,而每种类别又有无数种方法。
而每个人是不同的个体,有不同的世界观、人生观和价值观,不管是实践的目的和动机还是个人的思想都不同,所以选择也不一样。
上一次我尝试了找了一份话务员的兼职,但是我退出了。
实践是检验真理的唯一标准,由上次的失败,我用心的思考了退出的原因。
第一,话务员的工作并不是我想象中的那样做咨询工作,而是去推销。
这样的电话推销也就是我们平时说的骚扰电话。
每次在别人开车或者开的时候我打电话过去后,我都会感觉深深的歉意。
这样的工作是不好的,在我的大脑里,这样的工作属于失败的存在。
第二,话务员需要不停的说话,我有慢性咽喉炎,在做这项工作时办公室虽然贴着禁烟的告示,任然有很多人抽烟。
那些全职职工在办公室里有说有笑,甚至抽烟。
不帮忙且不说,还污染了工作环境。
退出并非觉得苦累,而是觉得这个地方不适合我。
尽管这里的报酬丰厚,我还是中途退出了。
这就是去年我的经历。
今年,我径直走向了图书馆。
实践也证明了,对于我来说,在图书馆的实践是成功的。
我在图书馆学到了很多,付出很多,也收获很多。
图书馆的员工我们都称为“老师”。
这让我觉得十分亲切。
而管理志愿者的老师是一位认真有思想的文艺青年。
我在做完志愿工作之余常常会和他聊天。
他给我很大的影响。
先说说志愿工作。
第一天我是在综合馆工作。
综合馆里的书籍类别非常多,只是专业书籍的数量没有其他馆多。
进去综合图书馆,就会发现这里宽敞明亮。
而且屋顶很高,一点也不压抑。
书架旁也会放盆景净化空气。
我穿上志愿服,推着放书的小推车便开始了我志愿者之旅。
第一天老师分配给我的工作就是将读者们还的书按照分类摆到架子上。
书上面会贴各种颜色的带子,而带子上又有各种各样的母作为标识。
按照这些分类我把书摆回书架上。
这都是十分简单的工作,但是这工作并不简单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实习报告专业软件工程2班姓名刘煜学号************指导教师王松时间 2010年10月8日目录一图书馆图书借阅管理系统规划1.1绪论 (3)1.2图书馆系统分析及功能论述 (3)1.3 图书借阅系统可行性分析 (4)二图书管理系统分析2.1 系统组织结构与功能分析 (5)2.2 业务流程分析 (5)2.3 数据流程分析 (6)三图书管理系统设计3.1 系统设计的任务及原则 (9)3.2 代码设计 (9)3.3 数据库设计 (10)3.4输入输出设计 (11)3.5物理配置方案设计 (13)四系统评价4.1图书管理系统系统优点 (14)4.2图书管理系统缺点 (14)五总结一图书管理系统规划1.1绪论2010年的今天是一个信息高度发达的时代,伴随着科技的进步,文化的汲取,人们对于图书信息的了解与掌握也达到了一定的高度。
尤其是学生对于知识的渴求更是与日俱增。
图书馆作为学生学习知识的重要场所,作为信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。
介于这一现象,我们对于图书馆的借阅管理系统进行了全面的分析处理,在信息高速发展的今天,促使图书馆管理运用网络技术,通过信息系统的开发,在图书馆之间互通有无,有利于提高图书的利用率。
本次系统分析设计以中国计量学院的图书馆为原型对其图书其中的借阅系统进行分析,逐步体现图书馆的信息管理现状,及其日后的改进方案的提供。
1.2图书馆系统分析“图书馆借阅管理信息系统”的主要功能有:读者登陆、图书借阅、图书采编、读者信息管理和系统维护。
系统功能如下图1.2.1:图书管理信读者登陆系统维护图书采编图书借阅用户管理口令修改图书编目图书典藏图书征订图1.2.1 系统组织结构图各子系统功能如下所述:读者登陆读者访问系统时系统将检验读者的名字和密码,经过注册的读者允许进入系统。
图书借阅系统读者查找到所需图书后,在图书保留期内到图书馆办理借阅手续。
图书借阅系统处理图书借阅、还书、续借等手续。
图书采编体统图书采购入库,经过编目等处理后,将其目录信息存入数据库,提供给读者检索适用。
目录信息包括图书编号、图书类别、书名、作者、出版社、定价、出版日期和数量等。
系统维护模块系统维护模块主要为图书馆管理人员提供图书统计信息和读者统计信息,以便于管理人员从宏观上掌握图书馆运行的总体情况。
1.3图书借阅系统可行性分析可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。
利用信息技术来解决解决图书馆面对日益增长的读者增加图书流通量的问题,提高运作效率与服务质量等已是当务之急。
图书馆的图书管理工作是否能用信息技术来解决,是否有必要用计算机来支持相关的管理,实施管理信息系统的成本及所能达到的效果怎样,以下从技术、经济、社会三个方面来对系统的可行性进行相关的叙述:(1)技术可行性技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。
图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。
这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。
计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
(2)经济可行性作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。
由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。
建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。
(3)社会可行性社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。
在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。
结论:本项目具有方便快捷等优势,投资回报利益大,使得图书馆管理实现电子化,符合社会信息化发展需要,技术,经济,社会方面都是可行的,可以开发本系统。
二 图书管理系统分析2.1 系统组织结构与功能分析为了对系统有一个全貌性的了解,首先我们对系统的内部人员结构、组织及用户情况进行了一定的了解。
图书馆系统的组织结构图如下:图2.1.1组织结构图其中,我们重点对于图书借阅室进行了深入的分析和了解,并制作了图书的借阅与归还业务流程图及其数据流程图。
2.2业务流程图分析系统的业务是系统要达到的业务目标,业务流程分析是系统分析中的基础环节。
图书馆里信息系统的借阅归还业务流程如图所示:馆长采编室学术论文室 办公室 财务室图书借阅室 电子阅览室 期刊阅览室 技术支持室图2.2.1业务流程图2.3数据流程分析数据流程图是全面描述信息系统逻辑模型的工具,它抽象概括地把信息系统中各种业务处理过程联系起来。
以下是图书馆借阅与归还管理信息系统的数据流程图:零层数据流程图:2.3.1 、第一层数据流程图2.3.2图2.3.1—2 数据流程图三图书管理系统设计3.1 系统设计的任务及原则管理信息系统处理的合理选择,就是一个处理过程的设计问题,选择处理方式实际上时根据系统的任务、目标和环境条件,合理地选择信息活动的形态及其方法。
程序流程图又称程序框图,表示方法简单,是用来描述程序执行的逻辑过程。
他把程序执行的步骤归纳为:处理、判断、输入、输出、起始和终结等几个基本功能,并用不同的记号加以表示,从而描述程序的执行过程。
信息管理系统的程序流程图元素如下所示:图3.1.1 程序流程图元素3.2代码设计为了和工作人员以往的图书管理方式相一致,物资信息编码以数字表示。
根据行业标准,所有图书分为6大类(两位字母),每大类又分为若干号码(三位数字)。
分类如表3.2.1所示:分类编号分类编号艺术YS 文学WX经济JJ 汽车QC管理GL 英语YY哲学ZX例如:YY001 代表英语类为001的图书。
001表示书名此外,为了使数据录入、图书信息管理、图书信息查询、统计的方便快速,我们还根据需要对图书的去向和来源进行了统计用信息编码。
3.3数据库设计(1)设计数据库本系统实现了系统登录功能, 而系统登录需要账号和密码, 这就需要创建一个“系统帐号”数据表, 用来存储系统登录用的账号和密码。
本系统要实现图书资料和学生资料的管理, 所以需要创建“学生信息”数据表和“图书信息”数据表。
“学生信息”数据表中包含了学生的“系别”信息, 在本系统中为了简化系别的管理, 另外创建了一个“系别”数据表用来存储系别的信息, 在“学生信息”数据表中只存储系别的编号。
由于系统要实现读者借还书功能、还要实现读者借还书记录的查看,所以还需创建一个“读者借书记录”数据表来保存读者的借阅记录。
(2)创建数据库“图书借阅管理系统”作为一个完整的数据库管理系统, 在创建阶段利用项目管理器可以更好组织管理各种格式的文件, 因此首先需要创建一个项目, 然后在项目管理器创建其他格式的文件。
在VFP 主窗口中选择“文件”菜单下“新建”子菜单, 在打开的“新建”对话框的“文件类型“区域中选中”项目”,然后单击右侧的”新建文件”按钮,打开”创建“对话框中的”项目文件“文本框中输入项目名称, 在此输入"图书”,单击“保存”按钮即创建了一个项目。
在项目管理器的“数据”选项卡中选中“数据库”单击右侧的“新建”按钮,在弹出的“新建数据库”对话框中单击“新建数据库”, 在弹出的“创建”对话框的“数据库名”文本框中输入数据库的名称, 在此输入“图书”作为数据库名, 单击“保存“按钮即创建了一个空的数据库。
在项目管理器的“数据”选项卡中打开刚才创建的“图书”数据库的目录树,选中“数据表”,单击右侧的“新建”按钮即可开始数据表的创建。
本系统中要用到的数据表的字段的属性设置分别设置如下:本系统中要用到的数据表的字段的属性设置分别设置如下:创建“系统账号”数据表后向数据库中添加一条记录作为系统的默认帐号。
“学生信息”数据表各字段的属性设置如表 3.3.1 所示。
图3.3.1学生E-R图字段名数据类型说明学号字符型字段宽度6,主索引字段,输入掩码为“999999”姓名字符型字段宽度10性别字符型字段宽度2系别字符型字段宽度4,为普通索引班级字符型字段宽度10地址字符型字段宽度30字段名数据类型说明图书编号字符型字段宽度6,主索引字段,输入掩码为“AA9999”图书类别字符型字段宽度10图书名称字符型字段宽度40图书作者字符型字段宽度20出版社字符型字段宽度40图书价格货币型字段宽度8借阅次数数值型字段宽度4,默认值0是否借出逻辑型字段宽度1,默认值“.F.”对“图书信息”(Book)数据表的字段属性设置需要说明的是“借阅次数”和“是否借出”字段的默认值一定要设置,因为对于新添加的图书,其一定是没有被借出的,而且其借阅次数一定是0,所以在表单中向数据表添加记录时,这两个字段应该是不需要添加的,可以由默认值生成。
图3.3.2 图书E-R图字段名数据类型说明姓名字符型字段宽度8,普通索引字段,输入掩码为“999999”号码字符型字段宽度6,普通索引字段,输入掩码为“9999”图书编号字符型字段宽度6,普通索引字段,输入掩码为“AA999”图书名称字符型字段宽度20,图3.3.3 图书馆总体E-R图3.5物理配置方案设计图书馆管理信息系统采用两台服务器构成双机备份结构,保证提供实时服务。
为保证较快的响应时间,选用处理速度较快的计算机系统,内存大小对数据库系统的响应速度影响较大,选择内存教大的系统。
网络通信速度选用100Mbit/s/1000Mbit/s。
为保证系统中的信息安全,配置必要的数据备份设备(采用外部备份方式)。
四.系统评价4.1图书管理系统系统优点图书馆管理系统可以有效的省去很多的人为登记错误,并且能够节省广大的师生的宝贵时间。
另外一方面,图书管理系统具有界面清晰,操作简单,功能少而实用,实现了图书馆理工作的自动化,减少了手工劳动量带来的数据遗漏,误报等人为因素,提高了工作效率。
另外,系统开发设计比较通用,此系统里面的数据都是从数据库中提出(包括图书名称、借阅者名称等),不受固定数据限制,增强系统的通用性。
一般的程序设计人员就可完成。
因此,这是推动资料室图书管理工作自动化的好方法。
4.2图书管理系统缺点尽管图书管理系统给广大的师生打来了不小的好处,但是在完善的系统也会有所敝处,有计算机操控的系统,一但计算机系统出现问题,整个图书馆的借阅系统就会跟着瘫痪,给我们的图书借阅带来麻烦。