软件工程实验课题.doc_第1页
软件工程实验课题.doc_第2页
软件工程实验课题.doc_第3页
软件工程实验课题.doc_第4页
软件工程实验课题.doc_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_图书管理系统组长:杨晓华组员:巴雅尔图、那日苏、张天、牛莉、杨宇婷作业提交日期:二一五年十月3三十日精品资料作者简介组长:杨晓华 学号:120714241 学院:经济管理学院组员:巴雅尔图 学号:110412185 学院:生态环境学院 那日苏 学号:111710874 学院:兽医学院 张天 学号:120714242 学院:经济管理学院 牛莉 学号:120714767 学院:经济管理学院 杨宇婷 学号:120715553 学院:经济管理学院图书管理系统摘要简单介绍了图书管理系统数据库的设计和系统功能的实现过程。该系统是运行在学校网络上的网络图书管理系统,由图书编目,图书管理,读者管理,资料管理, Web查询等几个子系统组成,实现了图书资料的计算机网络管理和Web查询功能。计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。目前,国内大部分高校图书馆都实现了网络管理,目前图书馆都在在朝着这个方向发展。关键词:图书, 网络, 数据库,管理系统, VC一、 系统可行性分析1.总体功能设计根据高校图书馆的实际情况和校园网网的现状,我们确定了网络图书系统应该具备8个方面的功能,它们是图书编目,图书采购,图书管理,读者管理,标准管理,资料管理,系统维护,Web查询。其中Web查询是该系统突出的特点,它的实现是因为有学校校园网的支持。系统组成和功能框图见图1。 图书出版社位置书名书号ISBN数量作者价格出版社图2 业务流程图 读者编号地址姓名性别图3 读者出版社电话名字地址联系人图4 出版社管理员生日名字地址性别编号图5 管理员读者号借书日期书号管理员号还书日期借阅图6 借阅图书图7 借阅关系表1 读者信息说明读者信息系统名高校图书系统别名无描述每一位读者具体信息定义读者信息=读者学号+姓名+学院+专业+年级位置读者目录文件简要说明:学号是学生唯一识别码修改记录: 编写: 日期:表2 图书信息说明图书信息系统名高校图书系统别名无描述每一本图书的详细信息定义图书信息=分类目录号+流水号+书名+作者+内容摘要+价格+购书日期位置图书目录文件简要说明图书条形码是图书唯一识别信息修改记录: 编写: 日期:表3 借书信息说明借书信息系统名高校图书系统别名无描述每一本所借图书的具体信息定义借书信息=读者学号+流水号+图书分类号+借阅日期+归还日期位置借书文件简要说明所借图书条形码是图书唯一识别信息修改记录: 编写: 日期:Web查询功能应该能够查询图书,期刊和读者等信息,因此我们在查询系统中设计了以下主要功能:图书查询、期刊查询、读者信息查询,图书推荐。“图书查询”主要查询在图书库中现有的资料,让用户了解是否有其需要的图书、有哪些图书,它包括按书名查询图书、按索书号查询和按作者查询图书等。“期刊查询”主要查询期刊的情况,包括按刊名查询出版物信息、按索书号查询连续出版物信息和按编辑部查询连续出版物信息等。“读者信息查询”主要查询读者的图书借阅情况,包括读者借阅记录查询和读者超期借阅记录查询等。“图书推荐”是让读者推荐图书,作为工作人员采购新书的参考。二、 需求分析1.运行环境规定联网的微型计算机立足于校园实际,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统是一 种基于集中统一规划的数据库数据管理新模式。在对图书、读者、出版社信息的管理,其实是对图书、读者数据出版社信息的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销、图书归还中的问题;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况,还可以根据图书类别查询图书,可以查询出版社的信息,以及某出版社的图书在本校的借阅情况和平均价钱等信息。 图书管理系统,最主要处理两个过程,借书与还书。借书之前先看看是不是有借书的资格。还书时,检查一下书是否过期等如有进行相关的处理。其他的一些功能主要是围绕这两个功能展开。图书模块的功能应包括:图书信息的添加、删除、修改、编辑、并可以根据图书类别查询图书。管理员,出版社等信息查询与图书相类似。用vc作为前台的开发工具,定义Cdatabase、CRecordset建立与数据库的连接。要求应前台用程序和后台数据库在数据类型方面要统一,否则会出现插入和更新异常等,导致系统异常,不利于使用。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施三、系统设计1.总体设计运行系统:Linux,Unix,Windows2000、WindowsXP及其以上操作系统。2.功能(1)图书编目子系统:实现编目处理、查重、馆藏管理等功能。其中编目处理包括原始编目、书目记录、数据维护、各类输出等项;馆藏管理包括馆藏数据维护、丢剔处理、馆藏统计、报表输出等项。(2)图书采购子系统:实现预订查询、新书订购、验收记到、资金管理、统计报表处理等功能。(3)图书流通子系统:实现出纳管理、读者管理、查询及统计打印功能模块。其中出纳管理包括借书、还书、续借、预约、罚款等项;读者管理包括读者登记、借书证挂失、读者数据维护等项;查询包括是查书去向、查读者借书情况、查总体借还情况等;统计打印则是打印图书借阅和读者情况的统计报表以及打印催还单等。(4)期刊管理子系统:实现期刊查缺、采购、编目、记到、典藏、流通、统计等功能。(5)标准管理子系统:实现期刊查缺、采购、编目、记到、典藏、流通、统计等功能。(6)资料管理子系统:实现资料查缺、采购、编目、记到、典藏、流通、统计等功能。(7)系统维护子系统:实现操作员库、读者库、单位库维护,权限设置等功能。(8)Web查询子系统:实现网上查询(图书、期刊查询和读者查询)、读者荐书、意见反馈等功能。图8 系统结构图四、详细设计1.算法设计图9 工作人员流程图图10 普通学生流程图图11 借阅者流程图2.数据库设计在图书管理系统中,数据库设计占有重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丢失等问题。图书管理系统数据库常常要设计含有如下数据项:借书证号、姓名、单位、馆藏号(馆藏号为每本书上的条形码号)、书名、分类号、作者、价格等。下面以图书流通模块所涉及的数据库为例来说明模式的设计。先设计图书流通的实体关系图(E-R图)。E-R图由3个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书”与“读者”之间的关系是借阅和被借阅的关系,实体“读者”与“单位”之间的关系是属于和被属于的关系,“图书”的属性有“馆藏号” ,“书名” ,“分类号” 、“作者” 、“价格” ,“读者”的属性有“借书证号” 、“姓名” 、“性别” ,“单位”的属性有“单位编号”和“单位名称” ,“借阅”属性“借书日期” ,由此得出E-R图如图4。3.概念设计图 书读 者借阅借阅时间馆藏号书名分类号作者价格学号姓名性别 图书流通的E-R图属于单 位单位名称单位编号图12 图书流通的E-R图4.逻辑设计(1)导出初始关系模式book(图书编号#,入库时间,图书名称,作者,出版社,出版日期,价格,数量,图书状态)bookuser(借阅者的图书证号#,学号,姓名,性别,出生年月,民族,系别)worker(用户名,密码)borrow(图书编号#,图书名称,借阅者姓名,借阅数量,借阅时间,归还时间,过期天数,归还标志位)(2)产生子模式子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。借书子模式(借阅者的图书证号群,姓名,图书编号#,图书名称,借阅时间)五、实现与测试1.控制台应用程序a.日期结构,包含有年、月、日,以及减法与小于号的重载struct Dateint m_year;int m_moth;int m_day;int operator (const Date&d)int days=365*(m_year-a. m_year);days+=30*(m_moth-d.m_moth)+m_day-d.m_day;return days;BOOL operator (const Date& d)if(*this-d0)return TRUE;return FALSE;b.读者结构,包含有姓名、借书证号、性别与类别,小于号的重载struct ReaderCString m_name;CString m_certificateNo;BOOL m_sex;/1-male,0-femaleint m_type;/0-student,1-graduate,2-teacherBOOL operator (Reader &r)if(m_typer.m_type)return TRUE;if(m_certificateNor.m_certificateNo)return TRUE;if(m_namer.m_name)return TRUE;if(m_sexr.m_sex)return TRUE;return FALSE;c. CBooks类class CBooks : public CObject DECLARE_SERIAL(CBooks)public:CString m_serialNumber;/编号CString m_category;/类别CString m_title;/书名CString m_auther;/作者CString m_press;/出版社Date m_publicDate;/出版日期double m_price;Date m_purchaseDate;/购书时间Reader m_lender;/借阅者Date m_lendDate;/借书日期Date m_returnDate;/还书日期CBooks();virtual CBooks();void Serialize(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;m_publicDate.m_year=0;m_publicDate.m_moth=0;m_publicDate.m_day=0;m_lendDate.m_year=0;m_lendDate.m_moth=0;m_lendDate.m_day=0;m_returnDate.m_year=0;m_returnDate.m_moth=0;m_returnDate.m_day=0;m_purchaseDate.m_year=0;m_purchaseDate.m_moth=0;m_purchaseDate.m_day=0;CBooks:CBooks()void CBooks:Serialize(CArchive&ar)if(ar.IsStoring()arm_serialNumberm_categorym_titlem_autherm_pressm_price;arm_lender.m_namem_lender.m_certificateNom_lender.m_sexm_lender.m_type;arm_publicDate.m_yearm_publicDate.m_mothm_publicDate.m_day;arm_lendDate.m_yearm_lendDate.m_mothm_lendDate.m_day;arm_returnDate.m_yearm_returnDate.m_mothm_returnDate.m_day;arm_purchaseDate.m_yearm_purchaseDate.m_mothm_serialNumberm_categorym_titlem_autherm_pressm_price;arm_lender.m_namem_lender.m_certificateNom_lender.m_sexm_lender.m_type;arm_publicDate.m_yearm_publicDate.m_mothm_publicDate.m_day;arm_lendDate.m_yearm_lendDate.m_mothm_lendDate.m_day;arm_returnDate.m_yearm_returnDate.m_mothm_returnDate.m_day;arm_purchaseDate.m_yearm_purchaseDate.m_mothm_purchaseDate.m_day;2.建立管理图书的类首先建一个基类class CManagerCObArray m_list;public:void AddTail(CBooks*pBook);/在链表尾部放书籍void AddHead(CBooks*pBook); /在链表头部放书籍void Add(CBooks*pBook,int index);/将书籍放到index处void Delete(int index);/删除index处的书籍void Fit(int index);/修改index处的书籍CBooks* GetBook(int index);/获取index出的书籍CManager();virtual CManager();virtual int Find(void*para,CobArray&list);virtual void Delete (void*para);viraul void Sort();void Serialize(CArchive&ar);friend ostream & operator (ostream& os,CManager &mg);其实现文件类似于CManager:CManager()CManager:CManager()int num=m_list.GetSize();for(int i=0;im_list.GetSize();for(i=0;im_listi;if(p-m_title=pStr)list.Add(p);if(value0)value=i;return value;void CManagerTitle:Delete (void*para)if(!m_pParent)return;CString pStr= (char*)para;int i=0;while(im_list.GetSize()CBooks*p=(CBooks*) m_pParent-m_listi;if(p-m_title=pStr)delete p;m_pParent-m_list.RemoveAt(i);elsei+;void CManagerTitle:Sort() if(!m_pParent)return;int i,jfor(i=0;im_listi;for(j=i+1;jm_listj;if(b2-m_titl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论