* * * * *学院
毕 业 论 文
题目:图书信息管理系统的开发
姓 名:***
学 号:080*******
专 业:计算机应用技术
年 级:20**级
指导教师:***
20xx年12月15日
摘要
计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。因此,图书管理系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底的解脱出来,提高效率,减轻工人人员以往繁忙的工作,减小出错的概率,使读者可花更多的时间在选择书和看书上。从而使人们有更多时间来获取信息、了解信息、掌握信息 。然而,对于管理的重要性,人们往往认识不足。不能真正认识到管理工作的重要和艰难,所以对管理工作未能认真对待、认真研究、认真措置。本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、详细设计、以及系统的实现等全过程。本系统以Windows XP为平台,选用了易学易用的C++语言为开发工具,结合实际,利用软件工程化思想。在程序设计与调试上采用了自上而下。逐步细化,逐步完善的原则。采用结构化的功能模块设计系统功能,可读性好,操作方便,可进行图书资料管理、读者资料管理、借书操作、还书操作、查询处理,收集、整理、存储信息等工作,有效提高了图书馆工作的准确率和效率。
关键词: 图书管理系统 MIS C++语言
Abstract
The rapid development of computer technology, make all walks of life in computer technology has been widely applied in the popularization and use. Therefore, the
books management system management system also with convenient, quick and low cost advantage is slowly into people's life, the traditional books management way thorough liberation, improve efficiency, reduce the personnel ever busy job, reduce the error probability, so that readers can spend more time in choosing books and
reading. So that everyone has more time to obtain information and understanding the information, to grasp the information. However, for the importance of the management, people often inadequate understanding. Cannot truly realize the management work of important and difficult so on management work not taken seriously, research carefully and seriously gra. Based on the university library management system management system development process as a background, it contains directory, needs analysis, general design, detailed design, and the realization of the whole system. This system with Windows XP as the platform, choose the yi-ology easy-to-use c + + language as a development tool, and combining with actual, using the software engineering thoughts. In program design and debug used on the top-down. Gradually thinning, gradually perfect principles. Using structural function module design system function, readable, convenient operation, can undertake books data management, reader borrow books data management, operation, return the book operation, query
processing, collecting, sorting and store information etc, and improves the library work of accuracy and efficiency.
Keywords: books management system management system MIS the c + + language
前 言 .......................................................................................................................................... 1
第一章 系统调查规划 ............................................................................................................ 2
1.1系统调查 ...................................................................................................................... 2
1.2 系统可行性分析 ......................................................................................................... 2
第二章 系统需求分析 ............................................................................................................ 3
2.1业务分析 ..................................................................................................................... 3
2.2代码编译 ................................................................................................................... 5
第三章 详细设计 .................................................................................................................... 6
3.1程序代码的编译 ....................................................................................................... 6
3.2物理配置方案 ............................................................................................................ 11
第四章 系统实现概况 ............................................................................................................ 11
4.1编程软件的特点 ........................................................................................................ 11
4.2系统具体实施方案 .................................................................................................... 11
第五章 系统设计总结 ............................................................................................................ 12
5.1 系统的功能 ............................................................................................................... 12
5.2 系统的改进 ............................................................................................................... 12
结束语 ...................................................................................................................................... 13
致谢 .......................................................................................................................................... 14
参 考 文 献 ............................................................................................................................. 15
前 言
随着人们生活水平的提高和消费观念的更新,图书需求市场不断发生变化,分析和研究读者,把握读者图书需求的产生及规律,从图书市场总体把握基础上,对图书市场的现状,图书需求情况和发展趋势进行分析。我们应优化对图书的管理。 图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
管理信息系统是先进的科学技术和现代管理相结合的产物,建立以计算机为主要手段的管理信息系统,已成为现代企业、政府部门等各类组织提高自身素质、实现组织的战略目标。因此,为满足图书馆业务发展的需要,提高竞争能力,图书馆决定利用计算机化来提高管理水平和工作效率,成立一个工作小组来负责图书借阅管理系统的开发。根据业务的需要,确定新系统要实现五个基本功能:图书资料管理、读者资料管理、借书操作、还书操作、查询处理。同时该系统具有强大的查询功能和可靠性。
第一章 系统调查规划
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.读者资料管理
读者将填有自身姓名、地址、联系电话等信息连同#b@2费交管理员,注册管理员经审核无误后办理读者借阅证,给读者编号,并将原始信息留底后,在读者资料中新增该户信息。如果读者更改地址等个人信息,则在相应的读者资料中进行修改。如果读者要求撤消借阅证,则审核该读者是否有逾期书籍和损坏,如无,则办理撤消业务,同时在读者资料库中删除该读者。
3.借书操作
读者把借阅证及借书信息交给图书管理员,图书管理员进行审核,如该读者有未还图书及其他原因,则通知该读者。否则查该书是否还在书库,如未借则图书保管员书库取书,交给读者。并修改图书、读者及读者借阅库。如读者逾期则可电话联系。如该书已借出则在图书资料库中记录读者编号及联系电话给予预订。如读者续借,则延长读者还书日期。将每日借书信息存档。
4.还书操作
读者把借阅证及书交给图书管理员,图书管理员进行审核,如该书有逾期或破损,则通知该读者按比例罚款。否则书交图书保管员放回书库。并修改图书、读者及读者借阅库。读者遗失书本则给予原价五倍赔偿。将每日还书信息存档。
5. 查询处理
读者到查询处查询图书是否未借,图书是否逾期,近期图书排行榜。咨询查询员可在图书到期前一天打印逾期清单,电话联系读者,以方便读者借阅。并将查询结果告知读者。将每日查询信息存档。
6. 系统维护
如图6-1
(6-1图)
2.2代码编译
本系统共采用二种编码形式:
1. 对读者编号,为了便于查找采用层次码
如 0310 01001
2. 图书编号,为了便于得到有关信息采用层次码
如 TP 3111 01
[备注:] 内部编号:同时采购了五本相同的图书,在类别和编号相同的时候,用01,02,03,04,05分别代表这五本相同的图书。
类别: TP:计算机类 V:艺术类 O:数理化 I:文学类 H:英语类
第三章 详细设计
3.1程序代码的编译
//#include "Student.h"
istream& operator>>(istream &in, CStudent &stu)
{
char szName[STR_MAX_SIZE] = "";
char szPass[STR_MAX_SIZE] = "";
char szCollege[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;
return in;
}
ofstream& operator<<(ofstream &out, CStudent &stu)
{
out<<"";
return out;
}
CStudent::CStudent()
{
m_nID = 0;
m_nMaxBorrow = 0;
}
CStudent::~CStudent()
{
}
int CStudent:: GetStuID()
{
return m_nID;
}
string CStudent::GetStuName()
{
return m_strName;
}
void CStudent::InputStudent()
{
cout<<"学号:";
int num = 1;
cin>>num;
m_nID = num;
cout<<"姓名:";
char StrName[30] ="";
cin>>StrName;
m_strName = StrName;
cout<<"院系:";
char StrCollege[30] = "";
cin>>StrCollege;
m_strCollege = StrCollege;
cout<<"最大借阅量";
int NUM ;
cin>>NUM;
m_nMaxBorrow = NUM;
}
void CStudent::ShowStudent()
{
cout<
cout<
cout<
cout<
//cout<
}
// #include "WorkerCmd.h"
CWorkerCmd::CWorkerCmd()
{
m_sysName = "欢迎进入工作人员界面!";
m_strCmdUI = "工作人员";
InitCmd();
}
int IsInputInt(int *p);
CWorkerCmd::~CWorkerCmd()
{
}
void CWorkerCmd::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)); }
bool CWorkerCmd::CallCmd(const _COMMAND &c, int nID)
{
if(0 == nID)
{
cout<
return false;
}
(this->*c.pFun.pwCmdFun)();
return true;
}
void CWorkerCmd::Exit()
{
cout<<"CWorkerCmd::Exit()"<
}
void CWorkerCmd::Help()
{
CCmdProc::Help();
}
void CWorkerCmd::AddStuInfo()
{
CStudent student;
student.InputStudent();
m_file.GetStudent().push_back(student);
}
void CWorkerCmd::ModifyStuInfo()
{
int n_id;
cout<<"请输入要修改的学生的学号:";
cin>>n_id;
vector::iterator item = 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<<"该学号不存在!"<
}
}
void CWorkerCmd::DelStuInfo()
{
int n_id;
cout<<"请输入要修改的学生的学号:";
cin>>n_id;
vector::iterator item = 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<<"该学号不存在!"<
}
}
void CWorkerCmd::ShowStuInfo()
{
vector::iterator item = m_file.GetStudent().begin();
for(; item != m_file.GetStudent().end(); item++)
{
item->ShowStudent();
}
}
void CWorkerCmd::AddBookInfo()
{
CBook book;
book.InputBookInfo();
m_file.GetBook().push_back(book);
}
void CWorkerCmd::ModifyBookInfo()
{
int flag = 0;
cout<<"请输入要修改的图书编号:";
cin>>flag;
vector::iterator item = 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<<",修改失败!输入的图书编号不存在!"<
}
void CWorkerCmd::DelBookInfo()
{
int flag = 0;
cout<<"请输入要删除的图书编号:";
cin>>flag;
vector::iterator item = m_file.GetBook().begin(); for(; item != m_file.GetBook().end(); item++)
{
if(flag == item->GetBookID())
{
m_file.GetBook().erase(item);
break;
}
}
if( item == m_file.GetBook().end())
{
cout<<"删除失败,要删除的图书编号不存在!"<
}
void CWorkerCmd::ShowBookInfo()
{
vector::iterator item = m_file.GetBook().begin(); for(; item != m_file.GetBook().end(); item++)
{
} } item->ShowBookInfo();
3.2物理配置方案
本系统使用C++语言进行软件设计编程,对计算机的要求如下:
硬件环境
内存:16MB以上
处理器:486-66MHZ/更高档计算机
软件环境
操作系统:Windows95/98/NT或更高版本
第四章 系统实现概况
4.1编程软件的特点
本系统利用C++语言进行软件设计。C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。
4.2系统具体实施方案
系统实施这一个阶段的主要步骤由编码、系统测试、系统安装和系统维护。
1.编码
在系统的详细设计,选用了设计的方法后,就开始实施具体程序代码的编码工作。编码阶段的主要任务是选用适当的程序设计语言,把经过概要设计和详细设计所确定的信息处理过程转换成可在计算机系统上运行的程序源代码。本系统所采用C语言软件工具。C语言软件方便灵活的开发功能,其可视化的开发界面及事件驱动的性能,为编码工作提供了很大的便利,因此很容易为用户接受和使用。
2.测试
设计测试方案时,不仅要包括确定的输入数据,而且应包括从系统功能出发预期的测试结果,测试用列不仅要包括合理、有效的输入数据,还要包括无效的或不合理的输入数据。
3.系统安装与维护
新系统正式投入运行后,为了保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态,必须加强对管理信息系统运行的日常管理。软件维护是系统投入生产性运行以后的日期中,为了纠正错误或满足新的需要而进行修改软件的过程,即是软件维护也是为软件的升级提供详细的资料。
第五章 系统设计总结
5.1 系统的功能
1. 工作人员登陆后,可以进行的操作
(1)添加学生的信息(学号,姓名,院系,最大借阅的图书数量等);
(2)修改学生的信息(学号,姓名,院系,最大借阅的图书数量);
(3)删除学生的信息(学号,姓名,院系,最大借阅的图书数量),如果某个学生退学,就要清除他的信息;
(4)查看学生的信息;
(5)添加图书的信息(图书号,书名,作者,出版社,数量等);
(6)修改图书的信息(图书号,书名,作者,出版社,数量等);
(7)删除图书的信息(图书号,书名,作者,出版社,数量等);
(8)查看图书的信息;
2.学生登陆后,可以进行的操作
(1)查看学生自己借阅的数目信息;
(2)借阅图书;
(3)归还图书;
5.2 系统的改进
虽然本系统在整体开发和设计上尚属成功,由于系统开发时间的仓促,对软件开发工具认识的水平有限,本软件仍存在一些不如人意的地方,还有待进一步改进。
结束语
经过一个多月的设计和开发,图书信息管理系统基本开发完毕。系统具备了图书资料管理,借还书操作,信息查询等功能。系统便于管理和维护,操作方便,使用性强,应用前景广阔。此软件用Visual C++编写,核心采用C++语言!通过此次活动使我们进一步加深多对C++语言的了解,同时也让自己在C++编写方面注意良好的编程习惯,一个好的代码是仍然易懂的,清晰可见的!总之,收获颇多!
但该系统只是一个比较简单的信息管理系统,功能不够完善,安全方面也有待考虑。在实际中,可以根据具体要求进行扩展。可以开发更深层次的管理系统,使图书管理实现真正的计算机自动管理,这样就会节约更多的人力资源和物力资源。
致谢
本次毕业设计是在**老师的悉心指导和热心帮助下完成的。指导老师认真负责的工作制度,严谨的治学精神和深厚的理论水平都使我收益匪浅。无论在理论上还是在实践中都给我很大的鼓励和指导,使我得到不少的提高,这对于我以后的工作和学习都有很大的帮助。**老师不仅在学业上给我支持,在生活上也给了我深切的关怀,这也是我一生中最难忘的事情。没有老师的关心和帮助,我的课题是不可能顺利完成的,特此对周老师表示真诚的感谢。
另外,在论文设计和完成过程中,学院和其他同学都给了我很多帮助,在此我向他们表示衷心的谢意。
参 考 文 献
1.《信息系统开发》………甘刃初 经济科学出版社 1996
2.《管理信息系统》…… 黄梯云 经济科学出版社 1997
3.《软件开发工具》…… 陈禹、方美琪 经济科学出版社 1996
4.《毕业论文指导资料》 复旦计算机科学与工程系 2002
5.《现代软件工程》 周之英 编著. 科学出版社. 2000
6.《面向对象程序设计》……谭浩强 清华大学出版社 2006 15