图书资料信息管理系统.doc

上传人:asd****56 文档编号:93223337 上传时间:2023-06-30 格式:DOC 页数:20 大小:308.30KB
返回 下载 相关 举报
图书资料信息管理系统.doc_第1页
第1页 / 共20页
图书资料信息管理系统.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《图书资料信息管理系统.doc》由会员分享,可在线阅读,更多相关《图书资料信息管理系统.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、武汉理工大学工程硕士课程论文面向对象程序设计课程论文软件工程题 目: 图书资料信息管理系统 学院(系): 信息工程学院 专业班级: 通信工程学生姓名: 指导教师: 魏洪涛 2010年 11月 17日摘 要图书资料管理系统主要是以高校的系部或院部作为使用对象而开发的。其系统开发的任务主要包括数据库的设计与维护、客户端应用程序的开发等两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性如用户需要密码才能使用等,而对于后者则要求程序界面友好、功能完备等特点。经过详细的分析,选用Microsoft公司的Visual C+ 6.0作为前端开发工具。利用其提供的集成开发环境及各种

2、控件,尤其是对DAO的支持完成对数据库的各种操作,达到对图书资料管理的目的。设计时首先建立系统应用原型,然后对原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。关键词: 图书资料、管理、设计、程序设计AbstractLibrary data Management System, Department of the Ministry of mainly university or hospital department as developed using the object. The main task of system development including da

3、tabase design and maintenance, the client application development and other aspects. The former required the database has integrity and consistency, and has a data security such as user need a password to use, etc., while the latter claims process for the friendly interface, complete functions and s

4、o on. After detailed analysis, use Microsofts Visual C 6.0 as the front-end development tools. The use of its integrated development environment and a variety of controls, especially for DAO support to complete the various operations on the database to achieve the purpose of library information mana

5、gement. Design prototype application system first, and then prototype system needs to constantly revise and improve until users are satisfied with the practical system.Keywords: library, management, design, programming目录摘 要2Abstract31 绪论51.1 软件工程的概念51.2 图书资料信息管理的意义52 系统的设计62.1 系统需求分析62.2 功能需求描述63 概要

6、设计73.1项目采用的技术路线,支持软件73.2系统整体框架图73.3项目实现的功能点74 详细设计84.1类的原型描述84.2函数的描述165 测试分析165.1系统存在的问题165.2黑盒测试175.3白盒测试186 心得体会197 参考文献201 绪论1.1 软件工程的概念为了解决软件的开发和维护过程遇到的问题,人们提出了“软件工程”的思想。软件工程是一种层次化的技术(如图1-1所示)。任何工程方法必须以有组织的质量保证为基础。全面的质量管理理类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程的方法的不断出现。支持软件软件工程的根基就在于对质量的关注。软件工程的基层是过

7、程层。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够被合理地和及时地开发出来。过程定义了一组关键过程区域的框架,关键过程区域构成了软件项目的管理控制的基础,并确立了上下各区域之间的关系,其中规定了技术方法的采用,工程产品的产生,里程碑的建立,质量的保证以及变化的适当管理。软件工程的方法层提供了建造软件在技术上需要“如何做”方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。软件工程方法依赖于一组基本原则,这些基本原则控制了每一个技术区域,且包含建模活动和其他描述技术。软件工程的工具层对过程和方法提供了自动的或半自动的支持。当这些工具被集成起来使得一个工具产生的信息可被另一个

8、工具使用时,一个支持软件开发的系统就建立了,成为计算机辅助软件工程。图 1-1 软件工程层次图 1.2 图书资料信息管理的意义图书资料的管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使用传统的人工方式管理图书资料。这种管理方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必然增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。 经过详细的调查,目前我国各类高等院校中有相当一部分单位图书资料管理还停留在人工管理的基础上,尤其是中、小学的图书资料的管理更是如此,这样的管理机制已经不能适应

9、时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。 图书资料管理作为计算机应用的一个分支,有着手工管理所无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书资料管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的设计的题目,正好可以充分利用几年来在校所学的各种专业知识开发一个图书管理系统来帮助相关部门进行有效的资料管理。2 系统的设计2.1 系统需求分析该项目为图书资料信息管理系统。由于经济水平的不断提高,图书馆也逐渐增多,为方便用户借书

10、还书,图书资料信息管理系统的要求也在逐年提高。特此编写了一个图书资料信息管理系统的代码程序,它的功能主要是完成系统基本功能和要求,统计功能,查找功能。2.2 功能需求描述经过详细调查,并多次与负责图书管理的老师进行研讨后,加深了对现行图书资料管理业务的深刻了解,与此同时,将整个图书资料管理的业务流程抽象描述如下:新的图书购进后,分门别类地进行归并汇总,并加以编号。新书经过编号后,上到书架以备教师借阅。如某位教师需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。教师借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。3 概要设计3.1项目采用的技术路线

11、,支持软件该项目是在Visual C+ 6.0的平台下用c+语言实现,创建对象,程序运行开始,打开文件并将其分别链入链表之中;程序结束关闭并保存文件。整体系统功能全部由链表实现。在系统中,函数之间采用级联调用,即一个函数里调用另一个函数,每个函数实现一个单独的功能,可被一次或多次调用。整个系统采用的是多文件结构系统,文件结构框图设计。 3.2系统整体框架图 系统的整体框图如3-1所示图书资料管理系统源文件头文件主函数文件子函数文件头文件包含类定义定义函数声明结构定义图3-13.3项目实现的功能点基本功能(1) 系统必须是菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能

12、够灵活的切换。用户分三种权限:一般的读者用户,图书管理员。(2) 根据登陆方式,选择相应的操作方式;如果是图书管理员,除了可以查看数据外还能编辑图书数据以及修改图书数据等功能,同时可以维护图书的采购信息。如果是读者用户,可添加、删除、查看个人信息,能浏览图书信息。 (3) 能够对图书基本信息、图书采购信息、图书的借阅人信息进行统计,统计的结果能够以表格的形式来表示。 (4) 图书基本信息、图书采购信息、图书的借阅人信息存储在相应的文件中。数据的组织形式要求必须使用链表或者二叉树来实现。(5) 系统界面友好,易操作。统计功能(1)统计、已借出数据总数、在馆书籍数等。(3)统计借阅次数最多的10本

13、书。(4)图书资料信息其它方面的统计。(5)统计某个单位的借阅数目的情况查找功能(1) 可以根据图书的编号查找。(2) 可以根据图书的名称查找。(3) 可以根据读者的姓名来查找读者的信息。(4)可以根据读者的编号查找读者的信息。系统的操作(1) 有文件的保存和另存为(2) 有文件的打开和载入(3) 系统在退出时,要有相应的提示类的设计1.Reader读者类2.RDatabase 读者库类3.Book 图书类4.BDatabase 图书库类4 详细设计4.1类的原型描述class Reader/读者类 int tag;/删除标记1:已删0:未删 int no;/读者编号 char name10;

14、/读者姓名 int borbookMaxbor;/所借图书 public: Reader() char *getname() return name; /获取姓名 int gettag() return tag; /获取删除标记 int getno() return no; /获取读者编号 void setname(char na) /设置姓名 strcpy(name,na); void delbook() tag=1; /设置删除标记 void addreader(int n,char *na); /增加读者 void borrowbook(int bookid); /借书操作int ret

15、book(int bookid); /还书操作void disp(); /输出读者信息; void Reader:addreader(int n,char *na) /增加读者 tag=0; no=n; strcpy(name,na); for (int i=0;iMaxbor;i+) borbooki=0; void Reader:borrowbook(int bookid) /借书操作 for (int i=0;iMaxbor;i+) if (borbooki=0) borbooki=bookid; return; int Reader:retbook(int bookid) /还书操作

16、for(int i=0;iMaxbor;i+) if(borbooki=bookid) borbooki=0; return 1; else return 0; void Reader:disp() /输出读者信息 cout setw(5) no setw(10) name 借书编号:; for (int i=0;iMaxbor;i+) if (borbooki!=0) cout borbooki |; coutendl; class RDatabase/读者库类private:int top;/ 读者记录指针Reader readMaxr;/ 读者记录public:RDatabase()/构

17、造函数,将reader.txt读到read中Reader s;top=-1;fstream file(reader.txt,ios:in);while (1)file.read(char *)&s,sizeof(s);if (!file) break;top+;readtop=s;file.close();void clear()/删除所有读者信息top=-1;int addreader(int n,char *na) /增添读者信息Reader *p=query(n);if (p=NULL)top+;readtop.addreader(n,na);save();cout读者添加成功endl;

18、return 1;return 0;Reader *query(int readerid)/按编号查找for (int i=0;i=top;i+)if(readi.getno()=readerid&readi.gettag()=0)return &readi;return NULL;void disp()/输出所有读者信息for (int i=0;i=top;i+)readi.disp();int Readernum()return top;void readerdata();/读者库维护RDatabase()/ 析构函数,将read写入reader.txt文件中fstream file(re

19、ader.txt,ios:out);for (int i=0;i=top;i+)if(readi.gettag()=0)file.write(char *)&readi,sizeof(readi);elsefile.close();class Book /图书类 private:int tag;/删除标记1:已删0:未删 int no;/图书编号 char name20; /书名 int onshelf;/是否在架1:在架0:已借 public: Book() char *getname() return name; /获取姓名 int getno() return no; /获取图书编号 i

20、nt gettag() return tag; /获取删除标记 void setname(char na)/设置书名 strcpy(name,na); void delbook() tag=1; /删除图书 void addbook(int n,char *na)/增加图书 tag=0; no=n; strcpy(name,na); onshelf=1; int borrowbook()/借书操作 if(onshelf=1) onshelf=0; return 1; return 0; void retbook()/还书操作 onshelf=1; void disp()/输出图书 coutse

21、tw(6)nosetw(18)namesetw(10) (onshelf=1?在架:已借)endl; ; class BDatabase/图书库类private:int top;/图书记录指针Book bookMaxb;/图书记录public:BDatabase();/构造函数,将book.txt读到book中void clear()/全删 top=-1; int addbook(int n,char *na)/增加图书Book *p=query(n);if (p=NULL)top+;booktop.addbook(n,na);save();cout图书信息增添成功endl;return 1;

22、return 0;Book *query(int bookid)/查找图书for(int i=0;i=top;i+)if(booki.getno()=bookid &booki.gettag()=0)return &booki;return NULL;void disp()for(int i=0;i=top;i+)if(booki.gettag()=0)booki.disp();void bookdata();/图书库维护BDatabase() /析构函数,将book写入book.txt文件中fstream file(book.txt,ios:out);for (int i=0;i=top;i

23、+)if(booki.gettag()=0)file.write(char*)&booki,sizeof(booki);file.close();4.2函数的描述void MainMenuinterface();/主菜单void MainMenufun();/主菜单功能实现函数void Admininterface();/管理员界面void Adminfun();/管理员功能实现函数void Readerinterface();/读者信息界面void Readerfun();/读者功能实现函数void bookdatainterface();/图书信息界面char FunExit();/系统退

24、出函数Void setname(char na); /设置姓名Void addreader(int n,char *na);/增加读者Void delbook(); /设置删除Void borrowbook(int bookid);/借书操作Void retbook(int bookid); /还书操作Void RDatabase(); /构造函数void disp() /输出读者信息void clear() /删除所有读者信息Void Reader *query(int readerid); /按编号查找Void readerdata(); /读者库维护Void setname(char n

25、a); /设置书名 void addbook(int n,char *na) /增加图书Book *query(int bookid) /查找图书void bookdata(); /图书库维护BDatabase() /析构函数save();/文件的保存5 测试分析5.1系统存在的问题1) 未设登录密码保护系统,是整个图书管理系统失去了安全性;2) * 欢迎进入图书维护界面 1. 新增图书信息 2. 更改图书信息 3. 删除图书信息 4. 查找图书 5. 浏览图书信息 6. 删除全部图书信息 h. 返回上一级菜单 q. 退出 *此界面运行时选择4有时会出现内存读取错误;3)当输入错的数据类型时

26、可能导致内存错误;4)读者、图书信息不完善;5)命名不是很规范;6)信息存储有限;5.2黑盒测试目的本方案主要实施产品程序代码的黑盒测试。保证软件的功能能正常进行,保证用户可以安全、快捷进行操作测试项软件的登陆 查找 排序 统计 部分的功能测试步骤序号测试项测试内容质量保证标准问题属性出错频率T1登陆功能无T2查找功能根据软件说明书,实现查找图书的功能缺陷T4统计功能根据软件说明书,实现图书、读者信息统计的功能完备T5创建文件根据软件说明书,创建一个文件夹缺陷T6清除文件根据软件说明书,清除一个文件夹缺陷T7添加文件根据软件说明书,往文件夹中添加文件缺陷T8删除文件根据软件说明书,产出文件夹中

27、的文件缺陷问题:当输入错的数据类型时 可能导致内存错误解决方案:无5.3白盒测试目的本方案主要实施产品程序代码的白盒测试。使界面符合设计规范,适用于用户;保证程序创建的类与接口的完整与正确,以及程序模块单独正常运行。保证局部模块功能完备性,运行正确性与稳定性。测试项所要测试的类:Class Reader读者类Class RDatabase 读者库类Class Book 图书类Class BDatabase 图书库类所要测试的函数:void MainMenuinterface();/主菜单void MainMenufun();/主菜单功能实现函数void Admininterface();/管理

28、员界面void Adminfun();/管理员功能实现函数void Readerinterface();/读者信息界面void Readerfun();/读者功能实现函数void bookdatainterface();/图书信息界面char FunExit();/系统退出函数Void setname(char na); /设置姓名Void addreader(int n,char *na);/增加读者Void delbook(); /设置删除Void borrowbook(int bookid);/借书操作Void retbook(int bookid); /还书操作Void RDataba

29、se(); /构造函数void disp() /输出读者信息void clear() /删除所有读者信息Void Reader *query(int readerid); /按编号查找Void readerdata(); /读者库维护Void setname(char na); /设置书名 void addbook(int n,char *na) /增加图书Book *query(int bookid) /查找图书void bookdata(); /图书库维护BDatabase() /析构函数save();/文件的保存通过的准则1. 界面测试通过的标准:界面的样式、大小、整体布局的设置;各种标

30、签控件的使用及主题描述以及事件源控件的使用、快捷键使用。2. 程序代码通过的标准:创建的类、接口、方法、属性应与详细设计保持一致;程序的各种命名、注释、代码行的格式等应符合命名标准和编码规范;程序模块能独立稳定运行。6 心得体会时间飞逝,不知不觉间软件工程的学习已经接近尾声。在这将近半学期的学习中,虽然我不能说我将软件工程学习的有多么的好,但是通过学习,我还是受益良多。在以前,我一直对软件存在一些偏见或则是误解,认为软件就是程序,软件的开发就是编写程序,只要编完了程序,一切也就ok了,而且我还片面的认为只要我掌握了时下最新的语言和工具,那么我就能写程序了。但是通过了软件工程这门课的学习,使我认

31、识到了我以前的错误。软件其实不仅仅是程序,软件开发其实也不仅仅是编写程序,软件是思想在硬件上的载体和体现,处理的是逻辑和信息。唯有对软件和软件的开发过程,有充分的认识,才能更好的开发出,过程受控、质量受控的软件产品。经过这次的设计任务,深刻感受到我们所学到的c+语言到现在为止也只不过是冰山一角。我们所编程序极其简单,但出错率却极高,编程过程中经常因为自己的马虎大意使程序混乱且错误很多。对于c+的编程,我们还远达不到要求,以后我们会多加练习,在错误中吸取经验。7 参考文献张海藩,等.软件工程.人民邮电出版社,2002年3月.马垣.关系数据库理论.清华大学出版社,1999蔡希尧,陈平.面向对象技术.西安电子科技大学出版社,1997陈志华.Delphi案例教程.中科多媒体电子出版社,2001薛华成.管理信息系统,清华大学出版社,1999Ron Patton.软件测试.机械工业出版社,2002吴斌,赵有珍.SQL Server 7应用于提高.科学出版社,200019

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 项目管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁