本科课程设计_第1页
本科课程设计_第2页
本科课程设计_第3页
本科课程设计_第4页
本科课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、大学本科课程设计题目基于java的图书管理系统设计与实现姓名学号专业年级指导教师职称2016年12月11日大学本科毕业论文(设计) iiiTOC o 1-5 h z HYPERLINK l bookmark4 1绪论1 HYPERLINK l bookmark6 1.1选课背景与意义1 HYPERLINK l bookmark8 1.2图书选课系统的发展和研究现状1 HYPERLINK l bookmark10 2系统的开发环境介绍1javaT背景知识简介2 HYPERLINK l bookmark12 java起源2 HYPERLINK l bookmark14 java的特点2 HYPER

2、LINK l bookmark16 2.1.3javaT技术简介3 HYPERLINK l bookmark18 3需求分析5 HYPERLINK l bookmark20 3.1项目目标5 HYPERLINK l bookmark22 3.2设计原则6 HYPERLINK l bookmark24 3.3性能限制6 HYPERLINK l bookmark26 4功能分析64.1分析具体功能64.2详细涉及64.3修改不足9 HYPERLINK l bookmark34 4.4页面展示9 HYPERLINK l bookmark36 5总结12 基于java的图书管理系统设计与实现1绪论1.

3、1选课背景与意义当今时代是飞速发展的信息时代,在各行各业中都离不开信息的处理。这正是计算机领域被广泛应用于信息管理系统环境的原因。计算机的最大好处在于利用它能够进行信息管理,使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息系统的开发密切相关,系统的开发是系统管理的前提。图书馆管理系统,能进行图书馆管理系统能实测国民经济和企业的各种运行情况;利用过去的数据预测未来;从企业全局出发辅助企业进行管理决策;利用信息控制企业的行为;帮助企业实现其规划目标。图书馆管理系统合运用了管理科学,系统科学,运筹学,

4、统计学,计算机科学等学科的知识。可以通俗的简化的描述图书馆管理系统的三要素:系统的观点、数学的方法以及计算机的应用。图书馆管理系统概念结构主要由四大部分组成即信息源、信息处理器、信息用户、信息管理者组成。1.2图书管理系统的发展和研究现状随着青少年群体的成长,以及中国教育水平的不断提高,各类型的图书管理系统都层出不群,大型的图书管理系统在网上更是随处可见。但是作为小型的学院或者私立学校来说,他们的使用群体比较窄,对于这种大型的管理系统虽然它可以在很大程度上释放更多的劳动力,但是用在这种情况下就显得有点大材小用了。并且每一个图书管理系统都存在其不足。2系统的开发环境介绍java背景知识简介jav

5、a起源Java是由SunMicrosystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的o1995年更名为Java,并重新设计用于开发Internet应用程序。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。J

6、ava自面世后就非常流行,发展迅速,对C+语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2010年Oracle公司收购SunMicrosystems。2.1.2java的特点Java的特点有以下几点:1)Java语言是易学的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。2)Java语言是强制面向对

7、象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3)Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手

8、段。4)Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5)Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。Java语言是体系结构中立的。Java程序(后缀

9、为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,

10、执行过程中需要的类在联接阶段被载入到运行环境中。Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性能还是较优的。Java语言是原生支持多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程

11、的活动由一组方法来控制Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用oJava对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一

12、个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。2.1.3java技术简介Java编程语言的风格十分接近C语言、C+语言。Java是一个纯粹的面向对象的程序设计语言,它继承了C+语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java1.5版本中,Ja

13、va又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的性能。编辑Java源代码可以使用任何无格式的纯文本编辑器,在Windows操作系统上可以使用微软记事本(Notepad)、EditPlus等程序,在Linux平台上可使用vi工具等。在记事

14、本中输入如下代码:publicclassHelloWorld/Java程序的入口方法,程序将从这里开始执行publicstaticvoidmain(Stringargs)/向控制台打印一条语句System.out.println(Helloworld!);编辑上面的Java文件时,注意程序中粗体字标识的单词,Java程序严格区分大小写。将上面文本保存为HelloWorld.java,该文件就是Java程序的源程序。编写好Java程序的源代码后,接下来应该编译该Java源文件来生成字节码了。3需求分析本图书馆管理系统适应于中小规模公共图书馆、中小学及各院校图书馆3.1项目目标本项目的设计目标旨在

15、方便图书管理员的操作,减少图书管理员的工作量并使其能更有效的管理书库中的图书,实现了传统的图书管理工作的信息化建设。本系统的服务对象为图书馆流通部门的工作人员,用户界面友好,不需计算机专业的专门训练即可使用本系统。3.2设计原则图书管理处理的信息量比较大。因此对于本系统的设计,需要采取以下一些原则:删除不必要的管理冗余,实现管理规范化、科学化。程序代码标准化,软件统一化,确保软件的可维护性和实用性3.3性能限制这是一个在微型计算机上开发的系统,在响应时间上无特殊的要求,但要求系统能处理大容量的各种信息。4功能分析这个图书馆管理系统是面向非计算机专业人员的,只要会进行简单电脑操作的人员,均可以使

16、用。41功能具体分析首先,对于小型的图书系统,在工作人员相对充足的情况下,需要人员手动将图书信息录入到系统中,书籍数量少,所以采用直接显示在屏幕上的方式,以便于没有明确自己想借书籍的同学找到自己想看的书。其次,图书管理必然会涉及到图书的增加,删除,给每一册图书一个编号,防止图书信息录入产生冲突,保证信息的可靠性。另外,图书管理系统,必然也会涉及到图书的借阅开始时间,归还时间等一系列相关信息。保障后台人员对于图书信息的及时了解。4.2详细设计1、首先展示图书管理系统的所有功能。功能表如表1-1所示表1-1系统功能表showMenu()查询所有的图书资料新增图书资料删除图书资料借出图书归还图书退出

17、系统2、创建Book()类,展示图书的所有信息如表1-2所示。表1-2图书信息展示Book()Stringid;Stringname;Stringtype;booleanstatus;DatelendTime;DatereturnTime;3、创建showinfo()类,展示我们要输出给用户看的信息如表1-3所示表1-3用户界面信息1-4所示表1-4图书管理的具体功能BookManage()deleteBook(Stringid)addBook(Bookbo)searchId(Stringid)queryAllBook()LendBook(Stringid)returnBook(Stringi

18、d)5、创建Test()类,测试所写程序是否有误,并修改其不足,测试的具体信息如表1-5所示表1-5测试包含的信息展示Test()Scannerinintchoice;in.nextInt()addBook(Bookbo)deleteBook(Stringid)searchId(Stringid)LendBook(Stringid)queryAllBook()returnBook(Stringid)showMenu()4.3需要注意的问题默认的时间月份和星期、时区是英文状态的,可能会给部分人造成一定的障碍,所以需要调节成中文且符合一般看时间的格式;修改前的显示信息如图1-1所示Hn半二.半斗孙

19、MnnHat1917;1J.fi一iti*孙ULnul1图1-1修改前显示的结果修改代码如下:SimpleDateFormatsdf=newSimpleDateFormat(yyyy年MM月dd日HH:mm:ssa);StringisLend;isLend=this.status?已借出:未借出;Stringbt;bt=this.lendTime=null?:sdf.format(this.lendTime);Stringrt;rt=this.returnTime=null?:sdf.format(this.returnTime);return编号+this.id+,书名名:+,类型:+thi

20、s.type+,状态:+isLend+,借出时间:+bt+,归还时间:+rt;修改后的显示如图1-2所示:状净:三吿出吿出廿月:201612冃12日17:06:45午图1-2修改后的显示4.4系统主页面展示系统主页面展示如图1-3所示:新增图书资料如图1-6所示: *寸煜艮运急*査弋所有的图寸瓷料于戈罔三蛋料汛衆图=5虫科吿出罔*归还罔孑氐运出弟统-11-6J:图1-3系统主页展示查询图书资料如图1-4所示:耀号D0O01jF?;S:(林拊右孚*”类灵:崎常状呑:未吿出吿出廿间=归还廿旬=續号CD0002jm;g:锻号00002咅:(叶问).穽旦:直史J状妄:未吿出皆出廿问匚J归还廿耳:.3A

21、VA),类员:舉百状左:未吿出吿出廿月;j归还廿闷:檢号CD0&斗夕;=(牴孕牙看、”生灵:牴学状占:未吿出_,吿出吁间=归还廿月=coee&Sj:(崙年文押、.穽灵:朿总状妄:未吿出_,吿出廿旬:归还廿旬:图1-4新增图书资料如图1-5所示為雜入匿三豹嗟号=匚D&06询睚入罔孑的帝宁=者寺三巨苣诵雜入艮三的規员=文学而坨成即*寸诅艮斗*M急学*査弋.科豹罔三蛋料子斗罔三蛋料汛罢罔m蛍料斗、吿出图芳5、归还罔F?&运出系统诵:titcl-6i=1檢号00001刁屯:射疝芋,.生5U芍活状妄:未吿出_,吿出吁闫:归还廿问=續号D00&2jm;g:to-问)”类员:匱決状奋:未吿出吿出廿旬;归还廿

22、月;耀号D00&MjF;g:OAVAS.:未吿出吿出廿月:归还廿旬=耀号D0004j;g:ti孕牙祈3.生灵:牴孕状净:未吿出_,吿出廿旬:归还廿旬:嗟号D000F5;g:请年気t、”生5U亲土状誉:未吿出_,吿出?tub归还汀问:ffiCDeOOSj:進诗三百生芽:文孕状奋:未甘出吿出廿辱_,归还才业图1-5新增图书显示 匚D0001昱卷成即*寸诅艮运总并*査社所有射图三蛋料于卫图三瓷料汛若罔m垂料4、吿出罔孑5、归还图三氐运出拆统C1-6J:10002:(叶问,.类员:直決状岳:未吿出_,吿出廿月;_,归还廿W=0003:HAVAS”生灵:腔隹状妄:未吿出吿出廿问;_,归还廿两=覘号CD0

23、004刁屯:t抵学并忻.規5!:牴孕状净:未吿出吿出廿旬:_,归还廿円=駁号CD0005刁;g:t斎年龙却9”穽曰:鎂;fej状左:未吿出吿出廿旬;_,归还吁闫;駁号0肠亦夕衽t雯诗三百苜)”生吴:文孕状离:未吿出吿出才业_,归还比耶图1-6删除图书展示借出图书如图1-7所示逋雜入$想买灌封艮=5豹駁兮:CD&2進出成功:*芽艮斗養M层*吉肉.阿豹罔m罢料与出艮=s归还匿*锻出至盏1、2,3,4,5,6,坤七Ul1-6=恢号匸0002月备續号00弓*三;6:锻号&4上三咅:檢号005*三;5=锻弓匚D&9丘上三右:址问).穽貝:直知状妄:三吿出_,闿出才业201612冃:L2E.JAVA)rj

24、ita:状拓:未答出吿出廿间:归还廿W:tsa堆肚忻i變员:S堆J状奇:未吿出皆出廿闷匚J归还廿闷匚谓年左”类灵:兔土状奋:未吿出吿出?1闷=归还?tl=匚考诗三百=J,穽员:文堆状左:未吿出吿出廿月=归还廿血17:30:57=午归还廿问=图1-7借出图书展示归还图书如图1-8所示匚D&3归还成即丰丰:*丰丰丰丰:*丰丰丰丰#匚三不二*M总结丰丰串丰丰丰丰丰丰丰丰丰:*丰丰丰査疋所有射国三瓷料于斗图芦蛍料汛卷gam蛍料4、吿出閒书5、归还图芦氐运出系盏诗童超C1-6J:1编号CD0003,书名:JAVA,类型:编程,状态:未借出,借出时间:2016年12月12日17:35:48下午,归还时间:2016年12月12日17:36:08下午图1-8归还图书展示退出系统如图1-9所示*力母艮斗曽室急律*1,査令所再封图芳聖料2,于斗罔F?进料斗吿出罔芦5、归还罔F?运出系统浦出fLl-65=6固谢空旳忸书”ByeBye!图1-9退出系统展示5总结本

温馨提示

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

评论

0/150

提交评论