




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图书馆管理系统开发毕业论文目 录前 言1第一章绪论2第一节图书管理系统开发的背景2第二节国内外发展现状2第三节图书管理系统开发的目的和意义3第四节论文主要结构4第五节本章小结4第二章开发工具及相关技术简介5第一节Visual C+ 6.0技术简介5第二节ACCESS技术简介6一、Access数据库安全方式6二、Access的优点7三、ODBC技术简介8第三节本章小结9第三章系统需求分析11第一节需求分析概述11第二节用户特点11第三节需求描述12一、数据流图12二、数据流图加工处理功能简单描述14第四节数据描述15一、E-R图15二、数据实体结构描述15第五节性能需求18一、数据的准确性18二、特性要求18第六节运行环境19一、硬件环境19二、软件环境19第七节接口19一、硬件接口19二、软件接口19第八节本章小节19第四章系统概要设计21第一节设计原理21一、模块化21二、抽象21三、逐步求精21四、信息隐藏和局部化22五、模块独立22第二节设计原则22第三节功能模块设计23一、管理员管理模块23二、用户查询管理模块23第四节数据库设计24第五节本章小节26第五章详细设计与实现27第一节登陆窗体的设计与实现27一、管理员登陆界面、代码设计27二、管理员登陆流程图27三、登陆核心代码如下28第二节图书管理系统主体窗口的设计与实现29第三节图书管理模块的设计与实现29一、图书管理界面、代码设计29二、图书出库入库流程图30三、图书管理的核心代码如下31第四节图书查询模块的设计与实现32一、图书管理界面、代码设计32二、图书查询流程图32三、图书查询的核心代码如下33第五节图书借还模块的设计与实现34一、图书管理界面、代码设计34二、图书借还流程图34三、图书借还的核心代码如下:35第六节读者管理36第七节读者查询系统36第八节本章小结37第六章系统测试运行38第一节测试的介绍38一、软件测试的目的38二、测试的原则38三、软件测试步骤38四、软件测试的方法39第二节测试概要40一、图书管理系统功能分解40二、测试内容41第三节测试用例41一、功能测试41二、运行时间测试43三、数据库操作测试43四、错误测试43第四节测试结果及基本功能44一、系统测试结果汇总44二、具有的基本功能45第五节本章小结45结 论46致 谢47参考文献48附 录49一、英文全文:49二、英文翻译:55 - 58 -第一章 绪论第一节 图书管理系统开发的背景在当今知识大爆炸的时代,图书作为信息的一种载体,仍是人们获得知识的一种重要途径,因而作为图书管理与借阅的图书馆,它的运行情况则关系到知识的传播速度问题。以往旧的图书馆管理模式完全是手工操作,从新书的购买、编码、入库、上架,到借阅、续借、归还、查询,无一不是人工处理,需要大量的劳动力与工作量,而且由于人为的原因造成一些错误,也是再所难免的。当读者想要借阅一本书时,首先要查询大量的卡片,而且要有一定的图书管理知识,才能很快的查到。自己想要的图书,在借阅过程中还要填写许多相关的卡片,使得图书馆的管理效率低下,图书流通速度较慢,因而从一定程度上也影响了知识的传播速度。信息技术发展日新月异,区域信息化建设如火如荼,作为信息资源基础建设主体的图书馆面临着前所未有的挑战和机遇。近几年随着计算机技术、网络技术的不断发展和普及,目前很多学校都建起了校园网,进一步推动了图书馆的信息化建设。正是基于这种现状,我们开发了这套图书馆管理系统,该系统充分发挥了计算机技术、网络技术的强大功能,从整体上改善了图书馆的管理工作,提高了图书馆服务的功能和质量,实现了图书管理的信息化、网络化、自动化。第二节 国内外发展现状从20世纪70年代末至90代初,是我国图书馆信息管理系统建设单机和局域网时期。虽然在这期间,个别院校开发过主机终端模式的系统,但这不是主流。1976年中国科学院计算机研究所研制成功计算机情报检索系统(QJ-111),1978年南京大学研制成功“西文图书检索系统(NTDS-78),1980年4月,清华大学在国产机DJ-130计算机上作了图书流通管理、多用户联机检索试验,这些标志着信息管理系统在我国的建设的正式开始。此后,我国的图书馆自动化建设经过了试验性分离式系统(1978-1986)、初步的集成系统(1986-1989)和实用集成系统三个阶段。一些系统在实际运行中根据用户意见多次改进,到1996年已经相当成熟和完善。然而这些系统都是针对在单个图书馆应用计算机而开发的,其功能总的说,是对传统图书馆业务手工操作的模拟和扩展。90年代中期以来,随着网络技术的迅猛发展,图书馆工作发生了一些根本性的变革,原来的集成系统不能适应我国图书馆新变化的情况日渐显露,于是,国内一些开发单位开始了新一代网络化图书馆信息管理系统的更新、升级和开发,并陆续开始推出比较成熟的客户机服务器模式的图书馆信息管理系统。比较有代表性的像北京丹诚责任有限公司推出的丹诚图书馆集成系统(有NT版和UNIX版)。还有息洋、深圳大学图书馆、同济大学等单位推出的集成系统。1996年至1999年间,北京大学图书馆和中国人民大学图书馆购买的由美国SIRSI公司推出的大型图书馆信息管理系统Unicorn,上海图书馆、上海交通大学、复旦大学、华南理工大学、上海大学等图书馆先后引进的美国HORIZON系统,清华大学、西安交通大学、华东师范大学图书馆引进的美国INNOPAC系统,也都是C/S模式二层结构的客户机服务器模式。就目前我国图书馆信息管理系统开发的能力和水平与欧美等先进国家相比,基本上差不多1。第三节 图书管理系统开发的目的和意义图书馆管理系统本着让图书馆管理做到快捷、方便、简单、摆脱用手工操作处理图书借阅的问题:工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了资源的略事而设计,它可以使管理员从繁重的手工操作中解脱出来,还可以使读者通过查询系统,了解图书的基本信息及借阅信息,这样可以迅速的掌握图书馆图书信息的动向。管理员通过本系统可以添加、修改、删除图书信息,可以添加用户信息,读者可以快速查找图书等,可以让用户方便的了解图书馆与图书的相关信息。图书馆管理系统是一项非常有意义的开发工作,其发展的潜力巨大,现今最好的办法就是使用计算机操作的图书馆管理系统来实现对图书馆的管理,这就为图书馆管理系统提供了市场需要,而图书馆管理系统在现代社会是最热门的行业,国际上图书管理系统前景看好,而国内的图书管理系统,数量上也有了新的增长。第四节 论文主要结构文章按照分析与设计的逻辑顺序分为六章。第一章为绪论,简要论述了图书管理系统,介绍了系统开发的背景与系统设计的目的与意义以及国际上发展情况;第二章是对图书管理系统所用的工具与技术作简要的分析与介绍;第三章是对系统进行需求分析,在功能上对系统进行划分,第四章为概要设计,是在第三章的需求分析的基础上说明系统的设计原理,功能模块设计和数据库设计;第五章是详细设计,该部分详细介绍了图书管理系统的设计与实现过程。第六章为系统测试,该部分详细介绍了系统的测试用例,测试结果,以及要此上得出的结论。第五节 本章小结 在第一章的内容中,简单的介绍了图书管理系统,分析了现在图书管理系统国外国内开发的趋势,阐述了系统开发的背景,明确了开发此系统的目标与意义熟悉了一些基本的概念,为后面的具体开发做好了准备。第二章 开发工具及相关技术简介本图书管理系统主要采用Visual C+ 6.0编程技术和Access2003数据库,分别Visual C+ 6.0从技术特点,应用范围,以及Access2003数据库的发展,特点和应用方面进行简述,以明确开发系统所使用的技术有足够的可行性和明显的针对性,并能满足系统移植性能的要求。第一节 Visual C+ 6.0技术简介Visual C+ 6.0是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+ 1.0后,随着其新版本的不断问世,Visual C+ 已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+ .NET(Visual C+ 7.0),但它的应用有很大的局限性,只适用于Windows2000,Windows XP 和Windows NT4.0。所以实际中,更多的是以Visual C+ 6.0为平台。Visual C+ 6.0不仅是一个C+编辑器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+ 6.0由许多组件组成,包括编辑器,调试器以及程序向导AppWizard,类向导Class Wizard 等开发工具。这些组件通过一个名为Developer Studio 的组件集成为和谐的开发环境。Visual C+ 6.0它大概可以分成三个主要的部分:Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C+”,所以很多人理所当然的诊断,那就是Visual C+了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual C+ Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+。它充其量只是Visual C+的一个壳子而已。这一点请切记!MFC。从理论上讲,MFC也不是专用于Visual C+,Borland C+,C+ Buider 和Symantec C+同样可以处理MFC。同时,用Visual C+来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C+而不用MFC就等于摒弃了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。Platform SDK。这才是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心,配合MASM,辅以其他一些工具和文档资料。上面说到的Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石2。第二节 ACCESS技术简介图书管理系统开发选择了Microsoft Access 2003数据库。Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序这些应用程序都利用ASP技术在Internet Information Services运行Access的最初名称是Cirrus。它开发于Visual Basic之前,当时的窗口引擎称作Ruby。比尔盖茨看过Ruby的原型后决定把这个基于Basic语言的组件作为一个独立的可扩展应用程序与Access联合开发。这个项目称作Thunder。Microsoft Access 1.0 版本在1992年11月发布。2003年微软正式发布了access 2003,这是继2002年后发布的最新版本,它在继承了以前版本的优点外,又新增了一些使用功能。一、 Access数据库安全方式1、 密码式给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。 2、 #式。在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名,直接请求的话,如:/access#.mdb,WEB服务器会认为请求的是access而不是access#.mdb,所以会提示找不到文件,但是很遗憾,URL中对于这些特殊的字符都会有一个特殊的表示方式,#的特殊表示就是%23,如/access%23.mdb,那么access#.mdb将会被下载。还有如果用FlashGet之类的下载工具也可以直接下载。3、 ASP式。 这种作法是比较专业但也是很安全的也是现在比较流行的作法,但是现在许多的人只是作了一半,只是将数据名改成ASP而以,这样的话直接用FlashGet之类的下载工具一样可以将数据库下载,这种方式的正确作法有两步: 首先在数据库内创建一个字段,名称随意,类型是OLE对象,内容设置为单字节型的 这段代码运行完之后将会在数据库内生成一个nodownload表,表内字段是notdown。如果数据库内已有同名的数据表存在请将代码内的nodownload改成自己想要的数据表名即可。 4、 asa式。这种方式的真谛是利用IIS对ASA文件的保护,从而使得数据库文件不能从URL上直接请求下载,但是这种方式被误解成只要将文件后缀改成ASA就可以了。要知道IIS只是对global.asa这个文件名有请求保护,所以这种方式只能将数据库名设置为global.asa,而且要注意的是,设置成global.asa之后最好不要将其放在主机或虚拟目录的根目录里,不然会被IIS当然正常的global.asa文件进行尝试运行的3。二、 Access的优点1、 存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。 2、 面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 3、 界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 4、 集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 5、 Access支持ODBC利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。三、 ODBC技术简介 ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。 一个完整的ODBC由下列几个部件组成:应用程序(Application)。ODBC管理器(Administrator)。该程序位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。驱动程序管理器(Driver Manager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。ODBC API。ODBC 驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。在访问ODBC数据源时需要ODBC驱动程序的支持。用Visual C+ 5.0安装程序可以安装SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驱动程序在缺省情况下,VC5.0只会安装SQL Server、 Access、 FoxPro和dBase的驱动程序如果用户需要安装别的驱动程序,则需要重新运行VC 5.0的安装程序并选择所需的驱动程序。 ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC 一经推出就获得巨大成功的重要原因之一4。第三节 本章小结 开发工具的选择,是关系到一个项目的开发的重要选择,选择较好的开发工具有帮于增强项目的认识程度和运行效率。在第二章的内容中,简单的介绍了开发图书管理系统,所用的工具及技术,增强了对所用工具的背景的了解,为后面的实际开发打下基础。第三章 系统需求分析第一节 需求分析概述需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题。需求分析就是给系统分析、设计人员一个和用户交流来理解问题的机会了解用户究竟需要什么。需求分析也是一个建模的过程,与在概要设计中建模不同在需求分析中建模是面向用户的过程。而在概要设计中的建模过程是面向开发人员的过程。这样两种建模的过程就会存在差异和不同,从而使用自然语言进行描述也就不同。在传统的软件工程中并不建议大量的使用自然语言对软件的需求进行描述,因为太多的自然语言会引发出很多问题。比如说,二义性即不同的人对自然语言的描述会有不同的理解,就是再好的文档编写人员也不会保证他的文档不存在二义性。毕竟我们不是语言学家。这样就引入了借用图示进行功能的描述和建模的过程。图示有其自己的优势比如,清晰,明确给人直观的感觉。无论是何种背景的人群都可以理解。这样就大大减少需求分析中的二义性。从而使系统设计人员和用户更加有效的沟通。这样也增加了软件的正确性。在传统的软件工程中提供了多种不同的图示,每一种都从不同的角度对同一个问题进行描述,之所以这样。可以使系统开发人员在不同的图示中挑出最适合他和他的团队进行问题详尽描述的一个或者一些图示。比如数据流图,在需求分析中使用数据流图,就充分体现了数据在软件系统中移动时被变换的逻辑过程。所以就是一个建立功能模型的最好图示;而实体关系图,就是描述数据对象以及他们之间关系的图示,所以就是一个建立数据模型的最好例子。状态转换图通过事件的外部作用从而对状态进行改变,这就是一个建立行为模型的例子6。第二节 用户特点本软件的最终用户是面向管理员(图书管理员和其它管理人员)、读者(老师和同学等),他们都具有一定的计算机应用基础,可以比较熟练操作计算机。管理员和读者都是经常性用户。系统维护人员为计算机专业人员,懂计算机基础知识、数据库与C+编程等相关知识,能熟练操作VC工具。维护人员为间隔性用户。本软件用于图书管理,使用频繁,要求长时间不间断运营,性能稳定。第三节 需求描述在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息,供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还图书时,输入图书号,系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪录,并改变图书的借阅状态。图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理,包括图书类别和出版社管理,图书管理员还可实现对数据备份等通用功能。一、 数据流图图3.1 顶层图图3.2 1层图图3.3 2层图(2书籍管理) 图3.4 2层图(3读者管理)图3.5 2层图(4借阅管理)二、 数据流图加工处理功能简单描述1. 书籍管理书籍类别管理:增、删除、改等管理。书籍信息管理:新书入库,图书购入后由图书管理人员将书籍编码并将其具体信息录入书籍信息表。书籍信息修改,书籍信息由于工作人员的疏忽而出现错误时,可修改其信息。管理员按不同方式查询、统计,读者按不同方式查询。2. 读者管理读者类别信息管理:增、删除、改等管理。读者信息管理:办理、挂失、暂停借、录入、删除读者信息。3. 借阅管理还书管理:根据借阅卡编号、图书ID等,在借阅信息表中找到相应的记录,将借书记录删除,更新该记录的相应数据(图书信息表)。根据违反规定情况计算和登记罚款记录。借书管理:根据借阅卡编号和图书编号,进行借书登记。在借阅信息表中插入一条借书记录,该记录包括读者ID、图书ID、借出日期、借阅编号、图书名等信息,更新该记录的相应数据(图书信息表)。并把读者借阅图书以列表的形式显示出来。第四节 数据描述通过对图书管理系统需求及其数据流图的分析,可以得出该系统涉及读者、书籍、借阅和还书信息表等数据实体。一、 E-R图图3.6 图书管理系统E-R图二、 数据实体结构描述表3.1 图书信息表功能名称:图书信息表存储位置:图书信息存储组织:一本图书一条记录主键:图书编号数据元素数据采集方式说明图书编号人工采集主键,必须输入图书名称人工采集必须输入作者人工采集译者人工采集单价人工采集出版社人工采集出版时间人工采集是否注销人工采集内容简介人工采集备注人工采集相关提供数据主要功能模块:书籍管理、借阅管理、注销管理数据输出接受主要功能模块:书籍管理、借阅管理、注销管理修改记录:表3.2 读者信息表功能名称:读者信息表存储位置:读者信息存储组织:一个读者一条记录主键:读者编号数据元素数据采集方式说明读者编号(借书证号码和用户名与此同)人工采集主键,必须输入读者姓名人工采集必须输入读者类别人工采集读者性别人工采集读者状态人工采集已借图书数量自动采集证件名称人工采集证件号码人工采集读者单位人工采集联系地址人工采集联系电话人工采集EMAIL人工采集用户密码人工采集相关提供数据主要功能模块:读者管理、借阅管理数据输出接受主要功能模块:读者管理、借阅管理修改记录:表3.3 借阅信息表功能名称:借阅信息表存储位置:借阅信息存储组织:一本借阅一条记录主键:图书编号数据元素数据采集方式说明图书编号人工采集主键,必须输入图书名称自动采集读者编号人工采集主键,必须输入图书价格自动采集借阅日期自动采集应还日期自动采集续借次数自动采集借阅操作员自动采集相关提供数据主要功能模块:借阅管理、续借管理数据输出接受主要功能模块:借阅管理、续借管理 修改记录:表3.4读者信息表功能名称:读者类别表 存储位置:读者类别存储组织:一类读者一条记录主键:读者类别编号数据元素数据采集方式说明读者类别编号人工采集主键,必须输入读者类别名称工人采集必宿输入可借书数量人工采集可借书天数人工采集可续借次数人工采集逾期缓冲天数人工采集逾期每天罚款金额人工采集丢失罚款倍数人工采集相关提供数据主要功能模块:读者类别管理 数据输出接受主要功能模块:读者管理、读者类别管理修改记录:第五节 性能需求一、 数据的准确性从数据库中提取数据时,要求数据定位准确。向数据库输入数据时,要求录入数据有校验准确。查询返回的信息均来源于数据库6。二、 特性要求由于此开发项目针对图书馆,使用频度较高,使用性要求比较高。为防止对信息资料和管理程序的恶意破坏,要求有较为可靠的安全性能。总之,要求稳定、安全、便捷,易于管理和操作。查询速度:不超过10秒;其它所有交互功能反应速度:不超过3秒;可靠性:平均故障间隔时间不低于200小时。第六节 运行环境一、 硬件环境 处理器(CPU):Pentium 900M (推荐Pentium 4 1.2G) 内存容量(RAM):至少256M(推荐 512M)二、 软件环境 操作系统:Windows 98/2000/2003/XP。 数据库管理系统:Access 2003,ODBC协议。 Visual C+ 6.0软件。第七节 接口一、 硬件接口 考虑到大量数据的备份等要求,需要保持与磁带机和光盘刻录机的接口,这较易实现。二、 软件接口 这里,主要考虑软件与操作系统、数据库管理系统的接口,以及局域网和互联网软件之间的数据交换。考虑到文档处理时有可能需要较常用的办公软件。例如Microsoft的Office系列,所以应尽量实现它们之间的数据格式的自动转换。第八节 本章小节一个好的项目,需求分析是相当关键了,只有充分的了解用户的需求才能被用户所接受,在激烈竞争的市场上才能得到用户的认可。本章重点对图书管理系统作了需求分析,站在用户的角度,了解用户所需的系统是什么样子,使其开发的系统不偏离市场。同时为后面的概要设计与实际开发打下基础。第四章 系统概要设计经过需求分析阶段的工作,图书管理系统必须“做什么”已经清楚了,现在决定“怎么做”的时候了。接下来主要说明该系统的设计原理,功能模块设计和数据库设计。第一节 设计原理这一节主要讲述图书管理系统在设计过程中遵循的基本原理。一、 模块化模块是构成程序的基本构件,模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户需求。采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。该系统正是采用模块化的原理,将整个系统分成几个主要模块,每个模块都有它独立的功能,整个图书管理系统结构清晰,用户容易理解和操作。二、 抽象当考虑对任何问题的模块化解法时,可以提出许多抽象的层次,系统设计过程的每一步都是对软件解法的抽象层次的一次精化,在可行性研究阶段,是对整个图书管理系统的抽象,在需求分析阶段,是对图书管理系统功能的抽象。三、 逐步求精逐步求精是对整个设计过程的细化,由可行性研究到需求分析,再到总体设计和详细设计,每一步都对图书管理系统进行了细化,这样图书管理系统的结构越来越清晰,功能越来越完善。四、 信息隐藏和局部化在图书管理系统的设计过程中,涉及到许多数据信息,有的信息对于不需要它的模块来说是不可能访问的,需要隐藏起来,而局部化有助于实现信息隐藏,该系统正是运用了这一原理来进行设计的。五、 模块独立该系统的各个模块之间没有过多的相互作用,每个模块的功能都比较独立,这样的软件容易开发出来。系统的各模块都相对独立,修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够插入模块,这样系统比较容量测试和维护7。第二节 设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则8:合法性原则:依据图书管理系统的工作规定以及要求,参照管理工作的实际情况,进行诸如借书,查询等工作。 实用性原则:适合图书管理系统工作的实际需求,并能够处理一些特殊情况要求,此外,尽可能预留空间,以便扩充功能。 准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,不能重复输入等)。 易操作原则: 要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。 源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。 优化原则:为了达到优化的目的,合理运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少了不必要的重复性代码,使程序简介明了,也方便了将来的维护。 安全性原则:可以为该系统的用户设置不同的权限,职能。第三节 功能模块设计模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块都按某种方法组织起来,成为一个整体,完成整个系统所要求的功能9。根据前面在需求分析阶段提出的系统功能需求,将系统结构分成两个大的模块:管理员管理模块,用户查询管理模块,每个模块的具体功能如下:一、 管理员管理模块实现对图书,读者等基本信息管理的功能,让管理员对整个图书馆的图书信息及读者信息有详细的了解,这个模块包括“用户管理”,“图书管理”,“借阅管理”,“数据库管理”,“读者管理”五个功能模块。用户管理,这个模块对图书管理员的密码进行管理,包括密码管理,注销,退出操作。图书管理,这个模块的主要功能是对图书管理系统的图书进行管理,包括新图书入库,无用图书出库,数据库中图书查询等操作。借阅管理,这个模块的主要功能是对读者进行借书,还书操作。数据库管理,这个模块的主要功能是对数据库进得备份和恢复操作。读者管理,这个模块的主要功能是新增读者,读者挂失,读者取消挂失操作。二、 用户查询管理模块该模块实现读者对图书的查询管理,让读者对所需相关书籍信息的了解,这个模块包括“用户管理”,“图书查阅”,“借还信息”三个功能模块。用户管理:这个模块对读者的密码进行管理,包括密码管理,注销,退出操作。图书查阅:这个模块主要完成读者对所需书籍信息的查询,用户可使用书名查询,编号查询,读者还可使用模糊查询。借还信息:这个模块主要列出读者所借书籍的信息。功能模块如图4.3-1所示:图4.1 图书管理系统功能模块图第四节 数据库设计数据库是信息管理的基础,其结构直接关系到各种功能的实现和程序运行的效率,进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)10。根据前面的需求分析,建立了一个名为:Manager的数据库,其中有五个数据表分别为:book(图书信息表),borrowinfo(读者借阅信息表),manager(管理员信息表),user(读者登陆表),userinfo(读者信息表)。图书信息表:此表中记录了图书的所有信息,管理员通过此表对图书进行出库,入库管理,也可通过此表查询某本书的信息,也可对图书进行模糊查询,此表的主键为book_no。其结构如下表所示。表4.1 图书信息表字段名数值类型(长度)是否允许为空说明book_no文本否图书编号book_name文本否图书名press文本是出版社author文本是作者price数字是价格press_data时间是出版时间is_borrow数字否是否借出读者借阅信息表:此表记录了图书管理系统中读者借阅的书籍,管理员通过此表对图书馆中的借阅情况进行管理,当读者借书时,管理员向表中插入数据,读者还书时,管理员从表中删除记录。此表的主键为user和 book_no。其结构如下表所示:表4.2 读者借阅信息表字段名数值类型(长度)是否允许为空说明user文本否用户编号book_no文本否图书编号name文本是用户姓名book_name文本是图书名borrow_time时间是借书时间return_time时间是还书时间管理员信息表:此表记录了图书管理员陆登信息,只有符合一定信息的管理员才能登陆管理员系统,对图书管理系统进行维护和读者管理。此表的主键为user。其结构如下表所示:表4.3 管理员信息表字段名数值类型(长度)是否允许为空说明user文本否管理员编号password文本否密码读者登陆表:此表记录了读者的登陆信息,只有拥有授权的编号和密码才能登录读者查询系统,查看记者的借书情况,并可通过编号或名字查询所需书情况。此表的主键为user。其结构如下表所示:表4.4 读者登陆表字段名数值类型(长度)是否允许为空说明user文本否用户编号sdept文本是用户专业name文本是用户姓名type文本是用户类型status数字否用户状态第五节 本章小节需求分析是决定系统“做什么”,而概要设计是决定“怎么做”。本章是在需求分析的基础上进一步分析图书管理系统的设计原理,区分出不同的功能模块,分析出各功能模块的关联耦合以及明确各功能模块该如何设计。同时,通过需求分析作好数据表的设计,分析出数据库中各表的关联关系。为后续的详细设计作好理论上的准备。第五章 详细设计与实现通过前面章节的分析与设计,接下来进行系统的详细设计,详细设计的根本目标是确定应该怎样具体地实现所要求的系统,主要任务是设计出程序的“蓝图”,再根据这个蓝图写出实际的程序代码11。第一节 登陆窗体的设计与实现一、 管理员登陆界面、代码设计为了提高系统的安全性,在图书管理系统的管理员登陆界面设置了用户名以及密码。管理员登陆窗体很简单,首先在用户名处输入,用户编号,再对应输入密码,程序将与管理员数据库连接,确认管理员身份,如用户名,密码正确,刚进入系统;否则出现出错提示。界面如下图所示:图5.1 管理员登陆界面二、 管理员登陆流程图图5.2 管理员登陆流程图三、 登陆核心代码如下strSQL.Format(user=%sandpassword=%s,m_strUser,m_strPassword);/进行数据查询的SQL语句user.m_strFilter=strSQL;user.Requery();if (user.IsEOF() /查询为空user.Close();MessageBox (输入有误, 重输 !);m_strUser= ;m_strPassword = ;m_ctrUser.SetFocus();UpdateData (FALSE);else /有相应的记录存在App-m_strUser = m_strUser;/记录用户user.Close();CDialog:OnOK();12第二节 图书管理系统主体窗口的设计与实现图书管理系统的主体窗口,是管理员正确登陆后进入的窗口,管理员可以通过不同的功能选择相应的操作,设用相应的窗体,实现对图书管理系统的管理。界面如下图所示:图5.3 图书管理系统主体图第三节 图书管理模块的设计与实现一、 图书管理界面、代码设计图书管理模块是管理员对图书馆中的图书进行管理,有新书买入后,由管理员对其进入入库操作,当图书信息要从系统中清除,由管理员对其进行出库操作。界面如下图所示:图5.4 图书入库示意图二、 图书出库入库流程图 图5.5 图书入库流程图 图5.6 图书出库流程图三、 图书管理的核心代码如下if (!user.Open() /连接数据库。MessageBox (数据库连接失败!, 数据库错误, MB_OK);return;strSQL.Format(book_no= %s,m_strBookNo); /入库时查询是否有相同编号书籍user.m_strFilter=strSQL;user.Requery();if (!user.IsEOF() /图书编号相同。user.Close();MessageBox (图书编号已存在!);m_strBookNo= ;m_ctrBookNo.SetFocus();UpdateData (FALSE);return;else user.AddNew(); / 向数据库是加入新的图书信息。user.m_book_no=m_strBookNo;user.m_book_name=m_strBookName;user.m_press=m_strBookPress;user.m_author=m_strBookAuthor;user.m_price=m_strBookPrice;user.m_press_date=m_strBookTime;user.m_is_borrow=0;user.Update();user.Close();Me
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 简述砌筑施工方案
- 2025年教师招聘之《小学教师招聘》预测试题附答案详解(能力提升)
- 2025年教师招聘之《幼儿教师招聘》题库必背100题及答案详解(真题汇编)
- 屋檐修缮工程施工方案
- 松江区庭院鱼池施工方案
- 中航工程集成设备有限公司招聘笔试题库2025
- 中共莆田市荔城区委组织部招聘笔试题库2025
- 复合材料加工技术探究-洞察及研究
- 3D打印墨水环保化-洞察及研究
- 2025至2030中国奶牛饲料行业发展分析及产业运行态势及投资规划深度研究报告
- 2025年新能源电动摆渡车景区运营绿色出行解决方案报告
- 安全素养提升培训考试题及答案解析
- 2025股权转让合同签订股权认购协议书
- 环卫工人防暑课件教学
- 华为投资控股有限公司2025年半年度报告
- 认识温度计课件
- 2025年6月仓储管理员(初级)复习题与参考答案
- 某小区改造配电室(电力)工程监理大纲
- 集团十五五规划编制工作方案
- Z20+名校联盟(浙江省名校新高考研究联盟)2026届高三第一次联考化学及答案
- 《ABB工业机器人虚拟仿真技术》(1+X) 课件全套 项目1-7 工业机器人仿真软件基本操作 -双机协同关节装配工作站虚拟仿真
评论
0/150
提交评论