软件工程实验课题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

图书管理系统组长:杨晓华组员:巴雅尔图、那日苏、张天、牛莉、杨宇婷作业提交日期:二О一五年十月3三十日作者简介组长:杨晓华学号:120714241学院:经济管理学院组员:巴雅尔图学号:110412185学院:生态环境学院那日苏学号:111710874学院:兽医学院张天学号:120714242学院:经济管理学院牛莉学号:120714767学院:经济管理学院杨宇婷学号:120715553学院:经济管理学院软件工程课程——图书馆管理系统1图书管理系统摘要简单介绍了图书管理系统数据库的设计和系统功能的实现过程。该系统是运行在学校网络上的网络图书管理系统,由图书编目,图书管理,读者管理,资料管理,Web查询等几个子系统组成,,实现了图书资料的计算机网络管理和Web查询功能。计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。目前,国内大部分高校图书馆都实现了网络管理,目前图书馆都在在朝着这个方向发展。关键词:图书,网络,数据库,管理系统,VC软件工程课程——图书馆管理系统2一、系统可行性分析1.总体功能设计根据高校图书馆的实际情况和校园网网的现状,我们确定了网络图书系统应该具备8个方面的功能,它们是图书编目,图书采购,图书管理,读者管理,标准管理,资料管理,系统维护,Web查询。其中Web查询是该系统突出的特点,它的实现是因为有学校校园网的支持。系统组成和功能框图见图1。图2业务流程图图3读者读者编号地址姓名性别图书出版社位置书名书号ISBN数量作者价格出版社软件工程课程——图书馆管理系统3图4出版社图5管理员图6借阅图书读者号借书日期书号管理员号还书日期借阅管理员生日名字地址性别编号出版社电话名字地址联系人软件工程课程——图书馆管理系统4图书读者管理员借阅NMQ图7借阅关系表1读者信息说明读者信息系统名高校图书系统别名无描述每一位读者具体信息定义读者信息=读者学号+姓名+学院+专业+年级位置读者目录文件简要说明:学号是学生唯一识别码修改记录:编写:日期:表2图书信息说明图书信息系统名高校图书系统别名无描述每一本图书的详细信息定义图书信息=分类目录号+流水号+书名+作者+内容摘要+价格+购书日期位置图书目录文件简要说明图书条形码是图书唯一识别信息修改记录:编写:日期:表3借书信息说明借书信息系统名高校图书系统别名无描述每一本所借图书的具体信息定义借书信息=读者学号+流水号+图书分类号+借阅日期+归还日期位置借书文件简要说明所借图书条形码是图书唯一识别信息软件工程课程——图书馆管理系统5修改记录:编写:日期:Web查询功能应该能够查询图书,期刊和读者等信息,因此我们在查询系统中设计了以下主要功能:图书查询、期刊查询、读者信息查询,图书推荐。“图书查询”主要查询在图书库中现有的资料,让用户了解是否有其需要的图书、有哪些图书,它包括按书名查询图书、按索书号查询和按作者查询图书等。“期刊查询”主要查询期刊的情况,包括按刊名查询出版物信息、按索书号查询连续出版物信息和按编辑部查询连续出版物信息等。“读者信息查询”主要查询读者的图书借阅情况,包括读者借阅记录查询和读者超期借阅记录查询等。“图书推荐”是让读者推荐图书,作为工作人员采购新书的参考。二、需求分析1.运行环境规定联网的微型计算机立足于校园实际,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者、出版社信息的管理,其实是对图书、读者数据出版社信息的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销、图书归还中的问题;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况,还可以根据图书类别查询图书,可以查询出版社的信息,以及某出版社的图书在本校的借阅情况和平均价钱等信息。图书管理系统,最主要处理两个过程,借书与还书。借书之前先看看是不是有借书的资格。还书时,检查一下书是否过期等如有进行相关的处理。其他的一些功能主要是围绕这两个功能展开。图书模块的功能应包括:图书信息的添加、删除、修改、编辑、并可以根据图书类别查询图书。管理员,出版社等信息查询与图书相类似。。用vc作为前台的开发工具,定义Cdatabase、CRecordset建立与数据库的连接。要求应前台用程序和后台数据库在数据类型方面要统一,否则会出现插入和更新异常等,导致系统异常,不利于使用。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施软件工程课程——图书馆管理系统6三、系统设计1.总体设计运行系统:Linux,Unix,Windows2000、WindowsXP及其以上操作系统。2.功能(1)图书编目子系统:实现编目处理、查重、馆藏管理等功能。其中编目处理包括原始编目、书目记录、数据维护、各类输出等项;馆藏管理包括馆藏数据维护、丢剔处理、馆藏统计、报表输出等项。(2)图书采购子系统:实现预订查询、新书订购、验收记到、资金管理、统计报表处理等功能。(3)图书流通子系统:实现出纳管理、读者管理、查询及统计打印功能模块。其中出纳管理包括借书、还书、续借、预约、罚款等项;读者管理包括读者登记、借书证挂失、读者数据维护等项;查询包括是查书去向、查读者借书情况、查总体借还情况等;统计打印则是打印图书借阅和读者情况的统计报表以及打印催还单等。(4)期刊管理子系统:实现期刊查缺、采购、编目、记到、典藏、流通、统计等功能。(5)标准管理子系统:实现期刊查缺、采购、编目、记到、典藏、流通、统计等功能。(6)资料管理子系统:实现资料查缺、采购、编目、记到、典藏、流通、统计等功能。(7)系统维护子系统:实现操作员库、读者库、单位库维护,权限设置等功能。(8)Web查询子系统:实现网上查询(图书、期刊查询和读者查询)、读者荐书、意见反馈等功能。高校图书管理系统图书管理读者管理系统维护图书编目图书采购资料管理标准管理WEB查询图8系统结构图软件工程课程——图书馆管理系统7四、详细设计1.算法设计开始登陆界面通过身份验证图书馆工作人员进行借书、还书等管理结束失败图9工作人员流程图开始图书图书查询页面图书名称结束作者否出版社否查询所输图书名称的相关馆内书籍是查询所输作者的相关馆内书籍是查询所输出版社的相关馆内书籍图10普通学生流程图软件工程课程——图书馆管理系统8开始借阅查询页面身份验证通过查询借阅者自己的借阅信息结束失败图11借阅者流程图2.数据库设计在图书管理系统中,数据库设计占有重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丢失等问题。图书管理系统数据库常常要设计含有如下数据项:借书证号、姓名、单位、馆藏号(馆藏号为每本书上的条形码号)、书名、分类号、作者、价格等。下面以图书流通模块所涉及的数据库为例来说明模式的设计。先设计图书流通的实体——关系图(E-R图)。E-R图由3个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书”与“读者”之间的关系是借阅和被借阅的关系,实体“读者”与“单位”之间的关系是属于和被属于的关系,“图书”的属性有“馆藏号”,“书名”,“分类号”、“作者”、“价格”,“读者”的属性有“借书证号”、“姓名”、“性别”,“单位”的属性有“单位编号”和“单位名称”,“借阅”属性“借书日期”,由此得出E-R图如图4。3.概念设计图12图书流通的E-R图图书读者借阅借阅时间馆藏号书名分类号作者价格学号姓名性别图书流通的E-R图属于单位单位名称单位编号软件工程课程——图书馆管理系统94.逻辑设计(1)导出初始关系模式book(图书编号#,入库时间,图书名称,作者,出版社,出版日期,价格,数量,图书状态)bookuser(借阅者的图书证号#,学号,姓名,性别,出生年月,民族,系别)worker(用户名,密码)borrow(图书编号#,图书名称,借阅者姓名,借阅数量,借阅时间,归还时间,过期天数,归还标志位)(2)产生子模式子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。借书子模式(借阅者的图书证号群,姓名,图书编号#,图书名称,借阅时间)五、实现与测试1.控制台应用程序a.日期结构,包含有年、月、日,以及减法与小于号的重载structDate{intm_year;intm_moth;intm_day;intoperator–(constDate&d){intdays=365*(m_year-a.m_year);days+=30*(m_moth-d.m_moth)+m_day-d.m_day;returndays;}BOOLoperator(constDate&d){if(*this-d0)returnTRUE;returnFALSE;}};b.读者结构,包含有姓名、借书证号、性别与类别,小于号的重载structReader{CStringm_name;CStringm_certificateNo;BOOLm_sex;//1--male,0--femaleintm_type;//0--student,1--graduate,2--teacherBOOLoperator(Reader&r){软件工程课程——图书馆管理系统10if(m_typer.m_type)returnTRUE;if(m_certificateNor.m_certificateNo)returnTRUE;if(m_namer.m_name)returnTRUE;if(m_sexr.m_sex)returnTRUE;returnFALSE;}};c.CBooks类classCBooks:publicCObject{DECLARE_SERIAL(CBooks)public:CStringm_serialNumber;//编号CStringm_category;//类别CStringm_title;//书名CStringm_auther;//作者CStringm_press;//出版社Datem_publicDate;//出版日期doublem_price;Datem_purchaseDate;//购书时间Readerm_lender;//借阅者Datem_lendDate;//借书日期Datem_returnDate;//还书日期CBooks();virtual~CBooks();voidSerialize(CArchive&ar);};CBooks类具有所需要的数据成员外,需要注意到首先,它是由CObject派生的,CObject是绝大部分MFC类的基类;其次,类中有一个宏DECLARE_SERIAL(CBooks),其作用就是为了实现文件的序列化与类的动态创建。相应的,在此类的实现文件中必定要有宏IMPLEMENT_SERIAL(CBooks,CObject,1)。最后,CBooks应重载CObject虚拟函数Serialize(CArchive&ar)。CBooks类的实现文件类似于:IMPLEMENT_SERIAL(CBooks,CObject,1)CBooks::CBooks(){m_price=0.0;m_lender.m_sex=TRUE;m_lender.m_type=2;软件工程课程——图书馆管理系统11m_public

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功