图书信息管理系统的开发.docx
《图书信息管理系统的开发.docx》由会员分享,可在线阅读,更多相关《图书信息管理系统的开发.docx(17页珍藏版)》请在冰豆网上搜索。
![图书信息管理系统的开发.docx](https://file1.bdocx.com/fileroot1/2022-12/12/226d52d7-46fe-422e-ad0f-ff5ae70738e1/226d52d7-46fe-422e-ad0f-ff5ae70738e11.gif)
图书信息管理系统的开发
******学院
毕业论文
题目:
图书信息管理系统的开发
姓 名:
***
学号:
080*******
专业:
计算机应用技术
年级:
20**级
指导教师:
***
2010年12月15日
摘要
计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。
因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可花更多的时间在选择书和看书上。
从而使人们有更多时间来获取信息、了解信息、掌握信息。
然而,对于管理的重要性,人们往往认识不足。
不能真正认识到管理工作的重要和艰难,所以对管理工作未能认真对待、认真研究、认真措置。
本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、详细设计、以及系统的实现等全过程。
本系统以WindowsXP为平台,选用了易学易用的C++语言为开发工具,结合实际,利用软件工程化思想。
在程序设计与调试上采用了自上而下。
逐步细化,逐步完善的原则。
采用结构化的功能模块设计系统功能,可读性好,操作方便,可进行图书资料管理、读者资料管理、借书操作、还书操作、查询处理,收集、整理、存储信息等工作,有效提高了图书馆工作的准确率和效率。
关键词:
图书管理系统MISC++语言
Abstract
Therapiddevelopmentofcomputertechnology,makeallwalksoflifeincomputertechnologyhasbeenwidelyappliedinthepopularizationanduse.Therefore,thebooksmanagementsystemmanagementsystemalsowithconvenient,quickandlowcostadvantageisslowlyintopeople'slife,thetraditionalbooksmanagementwaythoroughliberation,improveefficiency,reducethepersonneleverbusyjob,reducetheerrorprobability,sothatreaderscanspendmoretimeinchoosingbooksandreading.Sothateveryonehasmoretimetoobtaininformationandunderstandingtheinformation,tograsptheinformation.However,fortheimportanceofthemanagement,peopleofteninadequateunderstanding.Cannottrulyrealizethemanagementworkofimportantanddifficultsoonmanagementworknottakenseriously,researchcarefullyandseriouslygra.Basedontheuniversitylibrarymanagementsystemmanagementsystemdevelopmentprocessasabackground,itcontainsdirectory,needsanalysis,generaldesign,detaileddesign,andtherealizationofthewholesystem.ThissystemwithWindowsXPastheplatform,choosetheyi-ologyeasy-to-usec++languageasadevelopmenttool,andcombiningwithactual,usingthesoftwareengineeringthoughts.Inprogramdesignanddebugusedonthetop-down.Graduallythinning,graduallyperfectprinciples.Usingstructuralfunctionmoduledesignsystemfunction,readable,convenientoperation,canundertakebooksdatamanagement,readerborrowbooksdatamanagement,operation,returnthebookoperation,queryprocessing,collecting,sortingandstoreinformationetc,andimprovesthelibraryworkofaccuracyandefficiency.
Keywords:
booksmanagementsystemmanagementsystemMISthec++language
前言1
第一章系统调查规划2
1.1系统调查2
1.2系统可行性分析3
第二章系统需求分析3
2.1业务分析4
2.2代码编译5
第三章详细设计6
3.1程序代码的编译6
3.2物理配置方案16
第四章系统实现概况16
4.1编程软件的特点16
4.2系统具体实施方案16
第五章系统设计总结17
5.1系统的功能17
5.2系统的改进17
结束语18
致谢19
参考文献20
前言
随着人们生活水平的提高和消费观念的更新,图书需求市场不断发生变化,分析和研究读者,把握读者图书需求的产生及规律,从图书市场总体把握基础上,对图书市场的现状,图书需求情况和发展趋势进行分析。
我们应优化对图书的管理。
图书管理系统是一种基于集中统一规划的数据库数据管理新模式。
在对图书、读者的管理,其实是对图书、读者数据的管理。
本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。
使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
管理信息系统是先进的科学技术和现代管理相结合的产物,建立以计算机为主要手段的管理信息系统,已成为现代企业、政府部门等各类组织提高自身素质、实现组织的战略目标。
因此,为满足图书馆业务发展的需要,提高竞争能力,图书馆决定利用计算机化来提高管理水平和工作效率,成立一个工作小组来负责图书借阅管理系统的开发。
根据业务的需要,确定新系统要实现五个基本功能:
图书资料管理、读者资料管理、借书操作、还书操作、查询处理。
同时该系统具有强大的查询功能和可靠性。
第一章系统调查规划
1.1系统调查
商丘职业技术学院图书馆下设一室四部:
馆长,副馆长,办公室,流通部,采编部,阅览部,技术部。
图书馆建筑面积24155平方米,各类藏书88万余册。
现开设有社会科学书库两个、自然科学书库两个、工具书库一个、市直机关书库一个、教工阅览室一个、电子阅览室三个、报刊阅览室两个、过刊阅览室一个和自修大厅等阅览座位共计3200多座。
图书馆信息处理状况:
1.业务管理工作缺乏规范性,随意性很大,对人的经验水平很
大的依赖性。
2.资料多次手工处理,如逾期通知等,出错率高,完全可以用数据库检索自动生成。
3.数据重复率高,有些地方人员多次使用相同数据,有些信息完全可以归类。
4.缺乏统计工作。
1.2系统可行性分析
发现了问题,我们就可行性进行分析。
可行性分析对系统的开发至关重要,可以大幅减少不必要的损失,保证系统开发的顺利进行。
因此要对系统进行技术可行性、经济可行性、营运可行性三方面的系统可行性分析:
1.系统开发技术可行性:
近几年来计算机技术发展异常迅猛,高速度大容量的电脑已成为许多公司日常工作必不可少的设备,推动办公自动化的软件不断涌现,微机的普及为该系统的开发奠定了坚实的基础。
编制软件采用VFP编程语言,VFP是面向对象程序开发的理想语言,开发接口好,适合非计算机人员使用
2.系统开发经济可行性:
一方面,新系统的开发不需要额外增加设备购置费、软件开发费、管理和维护费用,且人员培训过程简单费用不多。
另一方面,新系统的开发可以较好地解决图书馆因业务繁杂而造成的处理效率低,出错率偏高的局面,并可以及时了解各项业务的进展情况,为及时调整经营决策提供可靠的数据支持,从而提高经济效益,同时还可以减少人工劳动、提高工作效率、扩大业务量和竞争能力。
3.系统营运可行性:
计算机以强大的信息处理能力作为人类脑力劳动的有利助手登上历史舞台后,以渗透到社会生活的各个领域,使现代社会组织、特别是企业的信息处理能力适应现代化管理的要求,且系统逐步从单项事务信息处理系统迅速向综合服务(决策支持系统)的管理信息系统发展。
本系统使用界面良好,易于操作。
图书馆拥有一批较高素质的员工,只需进行短期的培训,就可熟练操作本系统了。
4.社会可行性:
1.法律方面可行性:
新系统开发,不会侵犯他人,集体,国家的利益;
2.使用方面的可行性:
新系统开发是根据管理者人员的具体要求,量身定做的,能满足用户的需要;
通过以上分析,图书馆信息管理系统的开发在经济上、技术上、营运上都是可行的。
1.3系统设计目标:
按照管理信息系统的管理和开发方法,采用先进的信息技术和手段,支持并规范图书和读者资料的管理,借还书和查询操作的全过程,并加强上述过程中各种信息资源的管理和应用,提高各部门管理工作的现代化水平,实现各部门信息的准确、及时处理和沟通及共享,为图书馆业务决策提供有利的支持和反馈信息,以实现图书馆的总体目标。
第二章系统需求分析
需求分析阶段的根本任务是要明确图书馆在决策和业务上的信息需求,以便提出整个系统的总体方案。
在需求分析中,主要采用业务流程图,数据流程图和数据字典来描述。
2.1业务分析
首先,我们应该对图书管理做一次清晰分析,以便于我们的管理系统更加完善的制作。
通过对图书馆的领导与相关业务人员的多次联系和调查,大致了解了图书馆的日常的业务流程。
1.图书资料的管理
图书采购员将图书采购清单及书籍交于图书保管员,保管员审
核采购单和书的名称、数量是否一致。
不合格则退还给供书商,合格则给供书商采购回单,并将采购单汇总。
图书入库分类处理,同时建立该批图书资料信息。
如果该书已有,则现有书数等于原有书数加新增书数。
保管员也将办公室审核的图书报废单及图书交回收站报废处理,将报废单汇总,同时修改图书资料库,如有图书损坏及罚款处理,也修改图书资料库。
2.读者资料管理
读者将填有自身姓名、地址、联系电话等信息连同办证费交管理员,注册管理员经审核无误后办理读者借阅证,给读者编号,并将原始信息留底后,在读者资料中新增该户信息。
如果读者更改地址等个人信息,则在相应的读者资料中进行修改。
如果读者要求撤消借阅证,则审核该读者是否有逾期书籍和损坏,如无,则办理撤消业务,同时在读者资料库中删除该读者。
3.借书操作
读者把借阅证及借书信息交给图书管理员,图书管理员进行审核,如该读者有未还图书及其他原因,则通知该读者。
否则查该书是否还在书库,如未借则图书保管员书库取书,交给读者。
并修改图书、读者及读者借阅库。
如读者逾期则可电话联系。
如该书已借出则在图书资料库中记录读者编号及联系电话给予预订。
如读者续借,则延长读者还书日期。
将每日借书信息存档。
4.还书操作
读者把借阅证及书交给图书管理员,图书管理员进行审核,如该书有逾期或破损,则通知该读者按比例罚款。
否则书交图书保管员放回书库。
并修改图书、读者及读者借阅库。
读者遗失书本则给予原价五倍赔偿。
将每日还书信息存档。
5.查询处理
读者到查询处查询图书是否未借,图书是否逾期,近期图书排行榜。
咨询查询员可在图书到期前一天打印逾期清单,电话联系读者,以方便读者借阅。
并将查询结果告知读者。
将每日查询信息存档。
6.系统维护
如图6-1
(6-1图)
2.2代码编译
本系统共采用二种编码形式:
1.对读者编号,为了便于查找采用层次码
如031001001
顺序编号
年月
2.图书编号,为了便于得到有关信息采用层次码
如TP311101
编号
类别
[备注:
]内部编号:
同时采购了五本相同的图书,在类别和编号相同的时候,用01,02,03,04,05分别代表这五本相同的图书。
类别:
TP:
计算机类V:
艺术类O:
数理化
I:
文学类H:
英语类
第三章详细设计
3.1程序代码的编译
//#include"Student.h"
istream&operator>>(istream&in,CStudent&stu)
{
charszName[STR_MAX_SIZE]="";
charszPass[STR_MAX_SIZE]="";
charszCollege[STR_MAX_SIZE]="";
in>>stu.m_nID>>szName>>szCollege>>stu.m_nMaxBorrow;//>>stu.m_pBorrowID;
stu.m_strName=szName;
//stu.m_strPass=szPass;
stu.m_strCollege=szCollege;
returnin;
}
ofstream&operator<<(ofstream&out,CStudent&stu)
{
out<<returnout;
}
CStudent:
:
CStudent()
{
m_nID=0;
m_nMaxBorrow=0;
}
CStudent:
:
~CStudent()
{
}
intCStudent:
:
GetStuID()
{
returnm_nID;
}
stringCStudent:
:
GetStuName()
{
returnm_strName;
}
voidCStudent:
:
InputStudent()
{
cout<<"学号:
";
intnum=1;
cin>>num;
m_nID=num;
cout<<"姓名:
";
charStrName[30]="";
cin>>StrName;
m_strName=StrName;
cout<<"院系:
";
charStrCollege[30]="";
cin>>StrCollege;
m_strCollege=StrCollege;
cout<<"最大借阅量";
intNUM;
cin>>NUM;
m_nMaxBorrow=NUM;
}
voidCStudent:
:
ShowStudent()
{
cout<:
left)<cout<:
left)<cout<:
left)<cout<:
left)<//cout<:
left)<}
//#include"WorkerCmd.h"
CWorkerCmd:
:
CWorkerCmd()
{
m_sysName="欢迎进入工作人员界面!
";
m_strCmdUI="工作人员";
InitCmd();
}
intIsInputInt(int*p);
CWorkerCmd:
:
~CWorkerCmd()
{
}
voidCWorkerCmd:
:
InitCmd()
{
m_vCmd.push_back(_COMMAND(2,"添加图书的信息",AddBookInfo));
m_vCmd.push_back(_COMMAND(3,"修改图书的信息",ModifyBookInfo));
m_vCmd.push_back(_COMMAND(4,"删除图书的信息",DelBookInfo));
m_vCmd.push_back(_COMMAND(5,"查看图书的信息",ShowBookInfo));
m_vCmd.push_back(_COMMAND(6,"添加学生的信息",AddStuInfo));
m_vCmd.push_back(_COMMAND(7,"修改学生的信息",ModifyStuInfo));
m_vCmd.push_back(_COMMAND(8,"删除学生的信息",DelStuInfo));
m_vCmd.push_back(_COMMAND(9,"查看学生的信息",ShowStuInfo));
m_vCmd.push_back(_COMMAND(1,"显示命令信息",Help));
m_vCmd.push_back(_COMMAND(0,"退出工作人员界面",Exit));
}
boolCWorkerCmd:
:
CallCmd(const_COMMAND&c,intnID)
{
if(0==nID)
{
cout<returnfalse;
}
(this->*c.pFun.pwCmdFun)();
returntrue;
}
voidCWorkerCmd:
:
Exit()
{
cout<<"CWorkerCmd:
:
Exit()"<}
voidCWorkerCmd:
:
Help()
{
CCmdProc:
:
Help();
}
voidCWorkerCmd:
:
AddStuInfo()
{
CStudentstudent;
student.InputStudent();
m_file.GetStudent().push_back(student);
}
voidCWorkerCmd:
:
ModifyStuInfo()
{
intn_id;
cout<<"请输入要修改的学生的学号:
";
cin>>n_id;
vector:
:
iteratoritem=m_file.GetStudent().begin();
for(;item!
=m_file.GetStudent().end();item++)
{
if(n_id==item->GetStuID())
{
item->InputStudent();
break;
}
}
if(item==m_file.GetStudent().end())
{
cout<<"该学号不存在!
"<}
}
voidCWorkerCmd:
:
DelStuInfo()
{
intn_id;
cout<<"请输入要修改的学生的学号:
";
cin>>n_id;
vector:
:
iteratoritem=m_file.GetStudent().begin();
for(;item!
=m_file.GetStudent().end();item++)
{
if(n_id==item->GetStuID())
{
m_file.GetStudent().erase(item);
break;
}
}
if(item==m_file.GetStudent().end())
{
cout<<"该学号不存在!
"<}
}
voidCWorkerCmd:
:
ShowStuInfo()
{
vector:
:
iteratoritem=m_file.GetStudent().begin();
for(;item!
=m_file.GetStudent().end();item++)
{
item->ShowStudent();
}
}
voidCWorkerCmd:
:
AddBookInfo()
{
CBookbook;
book.InputBookInfo();
m_file.GetBook().push_back(book);
}
voidCWorkerCmd:
:
ModifyBookInfo()
{
intflag=0;
cout<<"请输入要修改的图书编号:
";
cin>>flag;
vector:
:
iteratoritem=m_file.GetBook().begin();
for(;item!
=m_file.GetBook().end();item++)
{
if(flag==item->GetBookID())
{
//cout<GetBookID()<item->InputBookInfo();
break;
}
}
if(item==m_file.GetBook().end())
{
cout<<",修改失败!
输入的图书编号不存在!
"<}
}
voidCWorkerCmd:
:
DelBookInfo()
{
intflag=0;
cout<<"请输入要删除的图书编号:
";
cin>>flag;
vector:
:
iteratoritem=m_file.GetBook().begin();
for(;item!
=m_fil