欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程实验课题.doc

    • 资源ID:12973486       资源大小:436KB        全文页数:21页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程实验课题.doc

    . .图书管理系统组长:晓华组员:巴雅尔图、那日、天、牛莉、宇婷作业提交日期:二一五年十月3三十日. .word.zl. .作者简介组长:晓华 学号:120714241 学院:经济管理学院组员:巴雅尔图 学号:110412185 学院:生态环境学院 那日 学号:111710874 学院:兽医学院 天 学号:120714242 学院:经济管理学院 牛莉 学号:120714767 学院:经济管理学院 宇婷 学号:120715553 学院:经济管理学院. .word.zl. .图书管理系统摘要简单介绍了图书管理系统数据库的设计和系统功能的实现过程。该系统是运行在学校网络上的网络图书管理系统,由图书编目,图书管理,读者管理,资料管理, Web查询等几个子系统组成,实现了图书资料的计算机网络管理和Web查询功能。计算机技术的迅猛开展,特别是随着网络技术的出现标志着信息时代已经降临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和效劳式已不能适应读者对日益增长的文献信息的需求,建立图书馆信息网络系统,是图书馆现代化建立的客观要求。建立以计算机为核心的图书馆信息网络,实现图书馆管理和效劳的自动化,更好地为科技工作效劳,是图书馆开展的必由之路。目前,国大局部高校图书馆都实现了网络管理,目前图书馆都在在朝着这个向开展。关键词:图书, 网络, 数据库,管理系统, VC一、 系统可行性分析1.总体功能设计根据高校图书馆的实际情况和校园网网的现状,我们确定了网络图书系统应该具备8个面的功能,它们是图书编目,图书采购,图书管理,读者管理,标准管理,资料管理,系统维护,Web查询。其中Web查询是该系统突出的特点,它的实现是因为有学校校园网的支持。系统组成和功能框图见图1。图书位置书名书号ISBN数量作者价格图2 业务流程图读者编号地址XX性别图3 读者名字地址联系人图4 管理员生日名字地址性别编号图5 管理员读者号借书日期书号管理员号还书日期借阅图6 借阅图书图7 借阅关系表1 读者信息说明读者信息系统名高校图书系统别名无描述每一位读者具体信息定义读者信息=读者学号+XX+学院+专业+年级位置读者目录文件简要说明:学号是学生唯一识别码修改记录: 编写: 日期:表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.数据库设计在图书管理系统中,数据库设计占有重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丧失等问题。图书管理系统数据库常常要设计含有如下数据项:借书证号、XX、单位、馆藏号(馆藏号为每本书上的条形码号)、书名、分类号、作者、价格等。下面以图书流通模块所涉及的数据库为例来说明模式的设计。先设计图书流通的实体关系图(E-R图)。E-R图由3个相关联的局部构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书与“读者之间的关系是借阅和被借阅的关系,实体“读者与“单位之间的关系是属于和被属于的关系,“图书的属性有“馆藏号 ,“书名 ,“分类号 、“作者 、“价格 ,“读者的属性有“借书证号 、“XX 、“性别 ,“单位的属性有“单位编号和“单位名称 ,“借阅属性“借书日期 ,由此得出E-R图如图4。3.概念设计图 书读 者借阅借阅时间馆藏号书名分类号作者价格学号XX性别 图书流通的E-R图属于单 位单位名称单位编号图12 图书流通的E-R图4.逻辑设计(1)导出初始关系模式book(图书编号#,入库时间,图书名称,作者,出版日期,价格,数量,图书状态)bookuser(借阅者的图书证号#,学号,XX,性别,出生年月,民族,系别)worker(用户名,密码)borrow(图书编号#,图书名称,借阅者XX,借阅数量,借阅时间,归还时间,过期天数,归还标志位)(2)产生子模式子模式是用户所用到的那局部数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。借书子模式(借阅者的图书证号群,XX,图书编号#,图书名称,借阅时间)五、实现与测试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-d<0)return TRUE;return FALSE;b.读者构造,包含有XX、借书证号、性别与类别,小于号的重载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_type<r.m_type)return TRUE;if(m_certificateNo<r.m_certificateNo)return TRUE;if(m_name<r.m_name)return TRUE;if(m_sex<r.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()ar<<m_serialNumber<<m_category<<m_title<<m_auther<<m_press<<m_price;ar<<m_lender.m_name<<m_lender.m_certificateNo<<m_lender.m_sex<<m_lender.m_type;ar<<m_publicDate.m_year<<m_publicDate.m_moth<<m_publicDate.m_day;ar<<m_lendDate.m_year<<m_lendDate.m_moth<<m_lendDate.m_day;ar<<m_returnDate.m_year<<m_returnDate.m_moth<<m_returnDate.m_day;ar<<m_purchaseDate.m_year<<m_purchaseDate.m_moth<<m_purchaseDate.m_day;elsear>>m_serialNumber>>m_category>>m_title>>m_auther>>m_press>>m_price;ar>>m_lender.m_name>>m_lender.m_certificateNo>>m_lender.m_sex>>m_lender.m_type;ar>>m_publicDate.m_year>>m_publicDate.m_moth>>m_publicDate.m_day;ar>>m_lendDate.m_year>>m_lendDate.m_moth>>m_lendDate.m_day;ar>>m_returnDate.m_year>>m_returnDate.m_moth>>m_returnDate.m_day;ar>>m_purchaseDate.m_year>>m_purchaseDate.m_moth>>m_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;i<num;i+)CBooks*p=(CBooks*)m_listi;delete p;m_list.RemoveAll();void CManager:Serialize(CArchive&ar)m_list.Serialize(ar);void CManager:Delete (void*para)void CManager:Sort()int CManager:Find(void*para,CobArray&list)return 1;CManagerTitle:public CManagerpublic:CManager* m_pParent;CManagerTitle();int Find(void*para,CobArray&list);void Delete (void*para);void Sort();:CManagerTitle:CManagerTitle():m_pParent(0)int CManagerTitle:Find(void*para,CobArray&list)if(!m_pParent)return;CString*pStr= (char*)para;int i,value=-1,num=m_pParent->m_list.GetSize();for(i=0;i<num;i+)CBooks*p=(CBooks*) m_pParent->m_listi;if(p->m_title=pStr)list.Add(p);if(value<0)value=i;return value;void CManagerTitle:Delete (void*para)if(!m_pParent)return;CString pStr= (char*)para;int i=0;while(i< m_pParent->m_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;i<num;i+)CBooks* b1=(CBooks*) m_pParent->m_listi;for(j=i+1;j<num;j+)CBooks*b2=(CBooks*) m_pParent->m_listj;if(b2->m_title<b1->m_title)m_pParent->m_list.RemoveAt(i);m_pParent->m_list.InsertAt(i,b2);m_pParent->m_list.RemoveAt(j);m_pParent->m_list.InsertAt(j,b1);b1=b2;3.完成主界面的设计与实现class CMenuA public:void ShowMain();void ShowSort();void ShowFind();void ShowDelete();.CMenuA();virtual CMenuA();六、设计体会计算机具有强大的功能,它现已应用于各行各业,在人们生活的各个领域起着非常重要的作用。它的高速运算能力极大的提高了工作效率,把人们从浩瀚的计算中解放出来,并且在高、尖的大型科学计算和大型信息处理及运算需求高的领域发挥着重要的作用。因此学习vc语言就显得更为重要,vc语言作为国际上广泛流行的通用程序设计语言,在计算机的研究和应用中已展现出强大的生命力。vc语言兼顾了诸多高级语言的特点。通过此次图书管理系统的设计,使我对VC+程序设计有了深一步的了解,对系统设计及开发有了比较全面的思路。首先,通过对系统进展需求分析,确定各个功能函数;然后一个个具体地对他们进展编程,并且仔细检查看是否有错;在完成这一步之后才开场构造主函数,通过主函数把各个功能函数联系起来,编译修改错误和缺乏之处在实际编程过程中会遇到很多不同的错误,有时候是一些很明显很细节的语法错误,这些可以通过编译来查找错误的所在,然而那些并不明显难以查找的隐性错误却真让人头痛。同时我翻阅了大量的书籍,也在网上查了很多资料。. .word.zl.

    注意事项

    本文(软件工程实验课题.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开