图-书-馆-管-理-系-统.doc_第1页
图-书-馆-管-理-系-统.doc_第2页
图-书-馆-管-理-系-统.doc_第3页
图-书-馆-管-理-系-统.doc_第4页
图-书-馆-管-理-系-统.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

本科生课程设计图 书 馆 管 理 系 统院 系:计算机科学与技术学院 专 业:计算机科学与技术 班 级:09应本一班 学 号:1101090103 学 生 姓 名: 指 导 教 师: 职称:讲 师 2011 年 12月独 创 性 声 明本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。签名: 年月日授权声明本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。本人论文(设计)中有原创性数据需要保密的部分为:。 签名: 年月日指导教师签名: 年月日摘 要本文介绍了图书馆管理系统的程序设计和功能实现,通过分析创建了用于使用计算机管理图书馆信息的系统。本文主要分析了系统的四个部分:图书馆管理系统的系统分析部分,包括可行性分析、需求分析等;系统设计部分主要介绍了系统结构设计、功能设计、数据库设计及主要模块设计;系统实现部分说明了几个主要模块的功能和实现;系统的测试部分,主要有测试方法、测试用例、测试总结。本系统操作简单,比较实用。关键字:图书馆管理系统;系统开发;JAVA;目 录第1章 引 言11.1 研究背景11.2 系统简介11.3 系统开发方法1第2章 系统分析42.1可行性分析42.2 需求分析42.2.1 数据库需求分析42.2.2 功能需求分析5第3章 系统设计73.1 系统结构设计73.2 系统功能设计83.3数据库设计93.3.1数据库概要设计93.3.2数据库详细设计103.4主要模块设计12第4章 系统具体实现154.1公共模块154.2系统的实现16第5章 系统软件测试205.1测试方法205.2测试用例205.3测试总结28结 束 语29参 考 文 献30致 谢31附 录 部 分 源 代 码32第1章 引 言1.1 研究背景在学校的日常管理中,图书管理是一项非常重要的内容。随着学校规模的不断的扩大,图书数量会急剧增加。采用传统的手工图书管理方式,管理过程繁琐而复杂,执行效率低,并且易于出错。在这种情况下,就需要开发一套图书管理系统来提高图书管理工作的效率和质量。1.2 系统简介一处理的信息主要有四大类:图书信息、用户信息、读者信息、借阅信息。 图书信息,对图书编号,图书名称,出版日期等信息的增加、删除、修改、查询,然后将信息录入数据库的图书查询表。用户信息,对用户编号,用户名称,用户密码等信息的增加、删除、修改、查询,然后将信息录入数据库的用户查询表。读者信息,对读者编号,读者名称,读者性别等信息的增加、删除、修改、查询,然后将信息录入数据库的读者查询表。借阅信息,对借阅的图书编号,借阅的读者编号等信息的增加、删除、修改、查询,然后将信息录入数据库的借阅查询表。二本系统的系统设置:用户:可以添加、删除,但只有管理员有删除权限,用户可以注册,管理员也可以添加用户,用户密码是000000,用户只可看到自己的借阅记录管理员设置:只有一个,对图书,用户,读者的添加、修改、删除,查询;可以查看借阅记录。1.3 系统开发方法 软件开发方式:采用面向对象技术面向对象方法是利用抽象、封装等机制,借助于类、对象、继承、消息传递等技术进行系统构造的软件开发方法。它使我们认识一个问题的过程和方法与我们分析、设计和实现一个系统的过程和方法尽可能地一致,在一定的时间和空间上为我们提高了效率,更加全面的认知了事物,这样面向对象方法较为自然地模拟了人类认识世界的方式,让我们从最本质的出发点开发我们的系统,得到了更好的思维方式。 开发工具:Eclipse 3.2Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。 Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。 Eclipse 插件开发环境虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。Eclipse的主要组成Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。 Eclipse SDKEclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。3.2是Microsoft公司开发的一种可视开发工具。它采用了全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了可视化、面向对象、事件驱动方式的结构化高级程序设计语言。Eclipse技术的众多优点使得它成为国内、外流行的应用开发技术,对于用户来说,简单易学,选择学习Eclipse开发技术是非常明智的一种选择。 数据库:MySqlMySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。第2章 系统分析2.1可行性分析1技术可行性。在Eclipse的开发平台下,实现对图书馆管理系统中的用户信息和图书信息,借阅信息的添加、删除、查询和修改等操作完全可以实现。所以开发风险的问题很小。2财务可行性。在整个项目中,可以开发出这个实用的系统.它能够在很多方面进行图书的管理,所以它也是很有开发前景的。3组织可行性。制定合理的项目实施进度计划、设计合理的组织机构、选择经验丰富的管理人员、建立良好的协作关系、制定合适的培训计划等,保证项目顺利执行。4经济可行性。主要从资源配置的角度衡量项目的价值,评价项目在实现学校图书馆发展目标、有效配置资源、增加供应、创造方便快捷的借阅环境等方面的效益。2.2 需求分析2.2.1 数据库需求分析数据库结构设计的第一阶段也是主要的一个阶段是数据库的需求分析。在这个阶段我根据了解掌握的用户需求,进行了数据的采集和对数据的处理操作,以确保数据采集的详细准确,理清数据库中各个数据项的关系,这将为系统的设计打基础。在数据库分析阶段要做到两点:应用系统用户所需要操作的数据决定在数据库中存储什么数据。应用系统用户要求对数据进行什么样的处理,理清数据库中各个数据项的关系。据此,可归结出车辆系统所需完成的主体任务:信息的添加:包括图书信息、读者信息、借阅信息、用户信息的添加。信息的查询:包括图书信息、读者信息、借阅信息、用户信息的查询。信息的修改:包括图书信息、读者信息、借阅信息、用户信息的修改。信息的删除:可以删除所有图书信息、读者信息、借阅信息、用户信息。2.2.2 功能需求分析一在对整个系统进行需求分析的基础上,此系统功能分为面向用户和面向管理员两部分,系统主要功能:用户端的功能:可以查询图书信息可已查询读者信息可以查询个人借阅记录可以修改个人密码可以注册新用户管理员端的功能:可以删除,修改和增加图书可以删除,修改和增加读者可以向用户办理借书业务可以向用户办理还书业务可以查询图书信息可以查询读者信息可以查询借阅信息可以更改个人密码二根据以上的分析定义,系统模块可以分为五大部分:基础维护、借阅管理、查询管理、系统管理、注册新用户。主要设计目标就是实现对信息的添加、查询、删除和修改。用模块化设计方法设计图书管理系统,可以使那些繁琐、复杂的功能变成一个简单易实现的小模块,从而使设计工作事倍功半。系统功能用例图 基础维护借阅管理查询管理(个人查询借阅管理员不可用)系统管理管理员读者注册新用户图2-1 系统用例图 第3章 系统设计3.1 系统结构设计系统结构图:图书管理基础维护借阅管理查询管理系统管理注册新用户图书信息维护读者信息维护用户信息维护借书还书借阅查询图书信息查询读者信息查询个人借阅查询密码维护退出系统 图 3-1 系统结构图数据流图通过分析系统功能、调查用户需求,得到本系统的数据流程图,如下:注册新用户用户管理员用户信息读者信息图书信息借阅记录反馈信息图书管理系统修改密码 图 3-2 顶层数据流图 数据源或终点 数据的处理 数据流 3.2 系统功能设计系统主要功能:根据用户需求将用户,图书,借阅,读者等进行添加、查询、修改、或删除。基础维护:该模块包含图书信息维护,读者信息维护和用户信息维护三个子模块。其中,图书信息维护子模块用于维护图书信息,包括图书的添加修改删除操作;读者信息维护子模块用于维护读者信息,包括读者添加修改删除操作;用户信息维护子模块用于维护用户信息,包括用户的查询删除操作。借阅管理:该模块包含借书,还书和借阅查询三个子模块。其中,借书子模块用于实现读者借书操作;还书子模块用于实现读者还书操作;借阅查询子模块用于实现借阅记录查询操作。查询管理:该模块包含图书信息查询,读者信息查询和个人借阅记录查询三个子模块。其中,图书信息查询子模块用于查询所有图书信息,并且可以指定查询条件进行查询;读者信息查询子模块用于查询所有的读者信息,并且可以指定查询条件进行查询。系统管理:该模块包含密码修改和退出系统两个子模块。其中,密码修改子模块用于对当前用户的登录密码进行修改操作;退出系统子模块实现系统退出功能注册新用户:该模块用于新建用户3.3数据库设计3.3.1数据库概要设计数据库中的表及表中字段本系统中使用到的数据表主要有读者表、图书表、用户表、借阅记录表这四个表,组成了名为tsgl的数据库。借阅记录表是本系统主要的一张表,借阅查询信息都是根据这张表进行有关的操作,主要的字段有:借阅流水号、图书编号、读者编号、借出时间、到期时间、是否归还。其中借出时间和到期时间的数据类型为日期型,图书编号和读者编号的数据类型是String,借阅流水账号和是否归还的数据类型是Int。图书表中字段为:图书编号、图书名称、图书类型、作者、译者、出版社、出版时间、库存类型、价格。用户表中字段为:用户编号、用户名称、用户密码、是否为管理员。读者表中字段为:读者编号、读者名称、读者类型、读者性别、最大可借数、可借天数。数据源的链接本系统数据源的链接采用的是JDBC方法。打开MySql,输入你设置的密码,进入mysql。然后导入数据库,导入.sql文件命令为 mysqluse database; mysqlsource 路径;再用grant设置权限,如果没有设权限会出现“java.sql.SQLException: Access denied for user rootlocalhost (using password: YES)”这样的错误,初次连接以后如果不断开会出现连接8小时空闲后连接超时问题的现象,如果出现这样的现象,则可以把Mysql完全卸载后(包括注册表中的相关东西,网上查得到),再重新安装,然后再重新导入数据库,并做如下图3-4所示设置: 图3-3 导入数据库图3-4 设置参数3.3.2数据库详细设计用户表结构:表3-1 用户表表 名user(读者表)列 名数据类型是否空PKFK说明idlongnot nulltrue用户编号namevarchar(50)null用户名称passvarchar(50)null用户密码is_adminsmallint(1)null是否为管理员读者表结构:表3-2 读者表表 名reader(读者表)列 名数据类型是否空PKFK说明idlongnot nulltrue读者编号namevarchar(50)null读者名称typevarchar(20)null读者类型sexchar(2)null读者性别max_numint(3)null最大可借数days_numint(11)null可借天数 说明:读者表和用户表中的名称和编号是相同的,在注册用户时,读者中的表也会加入记录。在删除用户时,读者表中也会删除记录,修改,添加,删除读者时用户表中记录也会相应变动。图书表结构:表3-3 图书表表 名book(图书表)列 名数据类型是否空PKFK说明idvarchar(32)not nulltrue图书编号namevarchar(100)mull图书名称typevarchar(50)null图书类型authorvarchar(50)null作者translatorvarchar(50)null译者publishervarchar(50)null出版社Publish_timedatenull出版时间stockint(11)null库存类型pricedoublenull价格借阅表表结构:表3-4 借阅表表 名borrow(可借表)列 名数据类型是否空PKFK说明idintr(32)not nulltrue借阅流水号book_idvarchar(50)null图书编号reader_idvarchar(50)null读者编号borrow_datedatenull借出时间back_datedatenull到期时间is_backsmallint(1)null是否归还3.4主要模块设计下面对系统的各个子模块做简要描述。图书维护读者维护用户维护基础维护修改删除增添删除修改增添查询删除基础维护管理,如下图所示:图3-5 基础维护借阅管理,如下图所示:借阅管理n借书还书借阅查询n 图3-6 借阅管理查询管理,如下图所示:查询管理图书查询读者查询个人借阅记录图3-7 查询管理系统管理,如下图所示:系统管理退出修改密码图3-7 系统管理注册新用户 注册新用户 图3-8 注册新用户帮助帮助 图3-9 帮助第4章 系统具体实现4.1公共模块在系统开发的过程中,经常需要设计一些模块提供系统中其他模块共同调用。本系统的公共模块主要由db,util和entity三个包来实现。下面对其进行介绍。entity包entity包主要用于存放系统的实体类,包括图书,读者,借阅记录,用户。db包db包主要用于存放数据库操作数。系统与数据库的交互都是通过调用db包中的相应关系来实现的。表4-1 db包序号类名标识实现功能1BaseDaodb_BaseDao基础数据库操作类2BookDaodb_BookDao图书数据操作类3ReaderDaodb_ReaderDao读者数据操作类4BorrowDaodb_BorrowDao借阅记录操作类5UserDaodb_UserDao用户数据操作类BaseDao类用于完成最基本的数据库操作,执行sql语句的查询与更新等。BookDao类用于对图书信息数据进行数据库操作,该类提供了两个方法。其中,selectBook()用于根据图书编号,获得单个图书实体;selectBookList()方法用于满足sql语句的图书实体列表。这两个方法对数据库查询结果进行了封装,将信息以图书实体的形式还回。ReaderDao类用于对读者信息数据进行数据库操作,该类提供了两个方法。其中,selectReader()用于根据读者编号,获得单个读者实体;selectReaderList()方法用于满足sql语句的读者实体列表。这两个方法对数据库查询结果进行了封装,将信息以图读者实体的形式还回。BorrowDao类用于对借阅记录信息数据进行数据库操作,该类提供了两个方法。其中,selectBorrow()用于根据借阅流水号,获得单个借阅实体;selectBorrowList()方法用于满足sql语句的借阅记录实体列表。这两个方法对数据库查询结果进行了封装,将信息以借阅记录实体的形式还回。UserDao类用于对用户信息数据进行数据库操作,该类提供了两个方法。其中,selectUser()用于根据用户编号,获得单个用户实体;selectUserList()方法用于满足sql语句的用户实体列表。这两个方法对数据库查询结果进行了封装,将信息以用户实体的形式还回。util包util包主要用于存放一些使用的工具类。系统中所有模块中经常需要使用的一些工具类或系统常量等都在该包内定义。表4-2 util包序号类名标识实现功能1Constantutil.Constant系统常量类2DateUtilsutil.DateUtils日期工具类3GlobalVarutil.GlobalVar全局变量类4Iconutil.Icon图片添加类Constant类用于定义系统常量,在本系统中将图书类别,读者类别,性别,权限都作为常量进行定义。DateUtil类是日期工具类。在系统实现中,经常碰到一些信息需要用日期型进行表示,如图书的出版时间,读者借书时间,还书时间等。对于日期型数据,还会经常对其进行各种运算操作,如转换特定格式,返回指定天数后的日期等。DateUtil类定义了各种日期的操作方法,所有方法都是Static类型的。因而方便了对日期型数据操作时的直接调用。GlobalVar类用于定义系统中的全局变量。在GlobalVar类中定义全局变量的方法就是定义的变量被声明为public和Static属性。目前该类只定义了一个全局变量login_user,用于记录登录系统的当前用户。Icon类用于定义图片的添加路径。4.2系统的实现window包window包用于存放系统的使用工具类,window包包含的类如下图所示:图4-1 window包1) Login类:是登录模块,用于实现系统登录功能,也是进入系统的入口。进行系统登录时,需要输入用户密码和姓名。系统会查询数据中的user表,验证用户名和密码是否正确。当注册新用户会调用UserAdd类。登录界面如下图所示图4-2 登录界面2) Main类:成功登录系统后即进入系统的主界面。系统会根据登录的用户的权限进入不同的主界面。管理员登录界面:图4-3 管理员界面用户界面登录:(用户不具有基础维护,借阅管理等功能)guest不是读者,只是用户图4-4 用户界面3) 基础维护模块中包括图书信息,读者信息维护和用户信息维护三个子模块。其中,图书信息维护子模块用于维护图书信息,包括图书的添加修改删除操作;读者信息维护子模块用于维护读者信息,包括读者添加修改删除操作;用户信息维护子模块用于维护用户信息,包括用户的查询删除操作。基础维护模块包含有BookAdd类,BookDelete类,BookUpadte类和ReaderAdd类,ReaderDelete类,ReaderUpdate类以及UserDelete类,UserQuery类。4) 借阅管理模块包含借书,还书和借阅查询三个子模块。其中,借书子模块用于实现读者借书操作;还书子模块用于实现读者还书操作;借阅查询子模块用于实现借阅记录查询操作。借阅管理模块包含有Back类,Borrow类,BorrowText类。借书产生的记录会被保存并在借阅查询显示中,以供管理员查询,当还书时借书记录会在借阅查询中删除。读者只能借4本书,期限为30天。5) 查询管理模块包含图书信息查询,读者信息查询和个人借阅记录查询三个子模块。其中,图书信息查询子模块用于查询所有图书信息,当添加,删除或修改图书时,都会在此窗口中显示,并且可以指定查询条件进行查询;读者信息查询子模块用于查询所有的读者信息,当添加,删除或修改图书时,都会在此窗口中显示,并且可以指定查询条件进行查询。个人借阅记录查询管理员不能运用此功能,读者的借阅记录会被显示在此窗口。查询管理模块包含有BookQuery类,ReaderQuery类和QianFei类,6) 系统管理模块包含密码修改和退出系统两个子模块。其中,密码修改子模块用于对当前用户的登录密码进行修改操作;退出系统子模块实现系统退出功能。系统管理模块包含UpdatePassword类和UIUtil类。7) ReaderAdd类同于实现注册新用户8) Help类用于实现帮助作用。第5章 系统软件测试5.1测试方法为了提高测试效率,降低测试成本,本测试方案采用黑盒法设计基本的测试方案,再用白盒法补充一些方案。在黑盒法测试方案中,采用等价划分技术,把所有可能的数据划分成几个等价类.5.2测试用例 1)测试登录模块:表5-1 登录模块测试表测试用例测试结果用户名admin密码123可以登录用户名或密码有误出现错误提示如图5-1用户名为空出现错误提示如图5-2 图5-1 错误提示图5-2 错误提示2)测试注册新用户模块表5-2 注册新用户测试表测试用例测试结果注册新用户白亚楠,密码baiyanan ,性别:女,读者类型:学生可以在用户查询,读者查询中看到记录,注册的新用户可以登录 图5-3 用户查询中的记录图5-4 读者查询中的记录图5-5 注册的新用户登录3)基础维护测试表5-3 基础维护测试表测试用例测试结果添加,删除,修改图书(用例如图中所示)产生的记录会在图书查询中显示添加,删除,修改用户(用例如图中所示)产生的记录会在读者查询,用户查询中显示删除,查询用户(用例如图中所示)删除的记录会在用户查询记录中删除,读者查询,查询用户的功能正常 图5-5 添加图书后的图书查询记录图5-6 修改图书类别后的记录删除图书:输入图书号,点击查询,图书的信息会显示图5-7 删除图书操作图5-8 添加读者后用户查询记录图5-9 添加读者后读者查询记录 删除与修改的记录(略)图5-10 用户的查询 用户删除的记录为用户查询的用例,图略。4)借阅管理的测试表5-4 借阅管理测试表测试用例测试结果借书(用例如图中所示)产生的记录会在借阅查询中显示还书(用例如图中所示)产生的记录会在借阅查询中显示借阅查询(用例如图中所示)可以查询记录 借书时,输入图书编号后需要按回车键,图书信息会自动显示,输入读者编号也要敲回车键。图5-11 借书图5-12 借书后的记录图5-13 还书后借阅查询的记录消失借阅查询的功能运行良好图(略)5)查询管理的测试表5-5 查询管理测试表测试用例测试结果读者查询(用例如图中所示)可以查询记录图书查询(用例如图中所示)可以查询记录个人借阅查询(用例如图中所示)可以查询记录 图5-14 图书查询 图5-15 读者查询图5-16 个人借阅查询6)借系统管理的测试表5-6 借系统管理的测试表测试用例测试结果修改密码可以运用修改的密码登陆退出系统正常 5.3测试总结 测试结果:1)登录测试中,没有发现什么错误。2)输入和输出测试中,对所有相同的输入都可以得出相同的输出。3)权限测试过程中,发现管理员的权限标记存在问题。4)管理员功能测试中,发现在权限测试窗体中删除用户时不能从数据库中删除代码测试反复修改后已基本没有问题结 束 语这个学期我旁听了Java课程,并看了清华大学出版社出版的Java从入门到实践,掌握了Java的基础知识,并经过半个月的努力,终于完成了这个图书馆管理系统。由于是初次开发软件,在知识和经验方面都存在着不足,所以软件还存在一些缺陷。另外,也让我感觉到了团队的重要性,因为一个这样的不太大的工程一个人做起来很不轻松。这次课程设计让我收获很多,有几点感想,归纳如下。1. 扎实的理论基础。如果不掌握它们,很难写出高水平的程序。而这一点又是我所缺乏的。 2. 不钻牛角尖。当遇到障碍的时候,暂时远离电脑,当重新开始工作的时候,也许会发现那些难题现在竟然可以迎刃而解。3. 多与同学交流。三人行必有我师。4. 以后会重视同别人合作的重要性。参 考 文 献1刘升华Java从入门到实践清华大学出版社,20092朱庆生,古平Java程序设计清华大学出版社,20113王国辉,吕海涛,李钟蔚等Java数据库系统开发案例精选人民邮电出版社,20054敬 铮数据库开发与专业应用国防工业出版社,20065温贤发数据库程序设计高手科学出版社,20046唐耀明,翟振兴Mysql深入浅出人民邮电出版社,2006致 谢非常感谢我们的指导老师徐尽,感谢他给予我们的教导与培养。在这里我还要感谢我的同学,在开发过程中,他们热心的帮助使得我的设计目标得以实现。我很高兴能在这样有凝聚力和好学上进的氛围中学习和工作,是大家的支持和帮助让我的课程设计和课程论文能够顺利完成!附 录 部 分 源 代 码登录界面源代码package window;import java.awt.BorderLayout;import java.awt.Font;import java.awt.Color;import java.awt.Dimension;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.Checkbox;import java.awt.CheckboxGroup;import javax.swing.plaf.FontUIResource;import javax.swing.ButtonGroup;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JRadioButton;import javax.swing.JTextField;import javax.swing.SwingConstants;import javax.swing.border.EmptyBorder;import java.sql.ResultSet;import util.GlobalVar;import db.BaseDao;import db.ReaderDao;import entity.Reader;import util.Icon;public class Login extends JFrame private JLabel lb_user;private JTextField tf_user;private JLabel lb_pass;private JPasswordField pf_pass;private JButton btn_ok;private JButton btn_cancel;private JButton btn_add;private ButtonGroup bg ; private JRadioButton r1; private JRadioButton r2;public Login() UIUtil.setUIFont(new FontUIResource(宋体,Font.PLAIN,15);initComponents();/初始化组件private void initComponents() lb_user = new JLabel();tf_user = new JTextField();lb_pass = new JLabel();pf_pass = new JPasswordField();btn_ok = new JButton();btn_cancel = new JButton(); bg=bg = new ButtonGroup(); r1 = new JRadioButton(管理员); r2 = new JRadioButton(读者); btn_add = new JButton();/= this =final BorderLayout borderLayout = new BorderLayout();borderLayout.setVgap(10);getContentPane().setLayout(borderLayout);setTitle(图书馆管理系统登录);setBounds(150, 150, 260, 200);setResizable(false);final JPanel panel = new JPanel();panel.setLayout(new BorderLayout();panel.setBorder(new EmptyBorder(0, 0, 0, 0);getContentPane().add(panel);final JPanel panel_2 = new JPanel();final GridLayout gridLayout = new GridLayout(3, 2);gridLayout.setHgap(5);gridLayout.setVgap(8);panel_2.setLayout(gridLayout);panel.add(panel_2);/- lb_user -lb_user.setHorizontalAlignment(SwingConstants.CENTER);lb_user.setPreferredSize(new Dimension(0, 0);lb_user.setMinimumSize(new Dimension(0, 0);panel_2.add(lb_user);lb_user.setText(用 户 名:);/- lb_pass -tf_user.setPreferredSize(new Dimension(0, 0);panel_2.add(tf_user);lb_pass.setHorizontalAlignment(SwingConstants.CENTER);panel_2.add(lb_pass);lb_pass.setText(密 码:);pf_pass.setEchoChar(*);/设置密码框的回显字符pf_pass.addKeyListener(new KeyAdapter() public void keyPressed(final KeyEvent e) if (e.getKeyCode() = 10)btn_ok.doClick(););panel_2.add(pf_pass);final JPanel panel_1 = new JPanel();panel.add(panel_1, BorderLayout.SOUTH);btn_add.setText(注册新用户);btn_add.setSize(40,20);panel_1.add(btn_add);btn_add.addActionListener(new ActionListener() public void actionPerformed(ActionEvent

温馨提示

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

评论

0/150

提交评论