图书管理系统论文MVC模式下的书店维护系统

本文由用户“2009_小草莓”分享发布 更新时间:2020-02-16 11:05:15 举报文档

以下为《图书管理系统论文MVC模式下的书店维护系统》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

XX信息***

Harbin Institute of Information Technology

Java程序设计课程设计总结

/

课程设计题目:MVC模式下的书店维护系统

学生姓名: 刘某某

学生学号: ***08

专 业: 软件工程

指导教师: 夏某某,王晶

学院(系): ***

MVC模式下的书店维护系统

摘 要

随着网络技术的发展、计算机应用水平广泛提高,原来系统的时效性、数据的正确性、操作的方便性上都存在不足,已影响到系统的正常使用。经过考察比较,决定自己对图书管理系统重新设计,使系统能利用软件开发技术的成果,方便图书的管理。系统介绍了图书维护系统的开发过程,设计中遇到的问题及解决方法以及提高当前应用程序或系统开发进度和改善工作性能。利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。本次课程设计采用了MVC模式进行开发并利用JAVA开发工具和MySQL数据库,通过Swing图形界面设计来开发这个书店维护管理系统。该系统要解决书店管理所要解决的问题,可以满足书店维护管理的基本要求,包括添加、管理等功能。

关键词:书店维护系统;数据库支持;MVC模式

目 录

摘 要 2

第一章 课程设计介绍 1

1.1 设计背景及意义 1

1.2课题内容 1

1.3本论文的研究内容 1

1.4程序功能模块图 2

1.5可行性分析 3

1.5.1经济可行性 3

1.5.2技术可行性 3

第二章 关键技术 4

2.1 Java技术 4

2.1.1 Java主要特性 4

2.1.3 Java优点 6

2.2 相关技术 7

2.2.1 MVC开发模式 7

2.2.2 JDBC技术 7

2.3数据库设计 8

2.3.1数据库设计概述 8

2.3.2 MySQL 8

2.4 GUI图形界面化设计 9

2.5特殊语法 10

第三章 课程详细设计 11

3.1数据库设计 11

3.2 Java层次分析 12

3.3程序流程图 15

3.4小结 15

第四章 程序具体实现 16

4.1系统功能的实现 16

参考文献 21

致 谢 22

第一章 课程设计介绍

1.1 设计背景及意义

因为书店的图书种类多、数量多,将图书准确地分门别类,快速检索,手工进行是非常困难的,尤其是书店的规模越大,这个问题越突出。而且在平时进行图书的统计与图书信息的更新时,面对种类繁多,图书更是数量众多。.图书统计工作难、藏书更新不能及时完成,书店的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制[1]。

1.2课题内容

书店维护系统的主要功能是实现书店对图书的快速管理的自动化。围绕这一主要功能,本系统涉及到一下两个核心功能模块:图书类别管理模块,图书管理模块。

1.3本论文的研究内容

主要的研究内容有:

建立书店维护系统数据库管理图书和用户;

完成菜单栏,有基本数据维护,帮助选项;

基本数据维护下的图书类别管理能够实现图书类别添加,图书类别描述,模糊查询图书类别功能;

基本数据维护下的图书管理能够实现图书的增删改查和添加描述、价格等,尤其是使用了模糊查询方法。

1.4程序功能模块图



图1-1 功能模块图

1.5可行性分析

1.5.1经济可行性

由于书店维护管理系统是作为课程设计由我们自己开发的,在经济上的投入甚微,系统建成之后将为今后图书维护管理提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,对今后使用十分有利[2]。

1.5.2技术可行性

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本书店维护管理系统用的是Java开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

第二章 关键技术

本系统采用面向对象的软件开发方法,以Java开发环境作为主要开发工具,使用MySQL作为关系数据库,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能[3]。

2.1 Java技术

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE,JavaME,JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广~泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景[4]。

2.1.1 Java主要特性

Java语言是面向对象的程序设计语言,Java语言最明显的优点是功能强大和使用简单,集合百家优点的基础上,还支持并发程序设计、网络通信、和多媒体数据控制等,所以在软件编程方面应用十分广泛。拥有许多的优点:

1.Java语言是易学的

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

2.Java语言是强制面向对象的

Java语言提供类、接口和继承等原某某,为了简单起见,只支持类之间的单某某,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。总之,Java语言是一个纯的面向对象程序设计语言。

3.Java语言是分布式的

Java语言支持Intermet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括RL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4.Java语言是健壮的

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮生。

5.Java语言是安全的

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防悉意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安金防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类ScurityManagr)让Java应用设置安全哨兵。

6.Java语言是体系结构中立的

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

7.Java语言是可移植的

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。

8.Java语言是解释型的

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

9.Java是性能略高的

与那些解释型的高级脚本语言相比,Java的性能还是较优的。

10.Java语言是原生支持多线程的

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程;其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

11.Java语言是动态的

Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了子应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise?APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库[5]。

2.1.3 Java优点

Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。Java适合团队开发,软件工程可以相对做到规范。由于Java语言本身的极其严格语法的特点,Java语言无法写出结构混乱的程序。这将强迫程序员的代码软件结构的规范性。这是一个很难比拟的优势。

2.2 相关技术

2.2.1 MVC开发模式

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

根据天极网资料显示:基于Web的MVC framework在J2EE的世界内已是空前繁荣,TTS网站上几乎每隔一两个星期就会有新的MVC框架发布,比较好的MVC,老牌的有Struts、Webwork。新兴的MVC框架有Spring MVC、Tapestry、JSF等。这些大多是著名团队的作品,另外还有一些边缘团队的作品,也相当出色,如Dinamica、VRaptor等,这些框架都提供了较好的层次分隔能力,在实现良好的MVC分隔的基础上,通过提供一些现成的辅助类库,同时也促进了生产效率的提高。?

如何选择一个好的框架应用在项目中,将会对项目的效率和可重用是至关重要的[10]。

特点:

耦合性低、重用性高、生命周期成本低、部署快、可维护性高、有利软件工程化管理。

2.2.2 JDBC技术

JDBC(Java?Database?Connectivity)提供连接各种关系数据库的统一接口,作为数据源,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成[6]。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。

2.3数据库设计

2.3.1数据库设计概述

数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。

数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统[8]。

数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。

设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度[9]。

2.3.2 MySQL

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[7]。

2.4 GUI图形界面化设计

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户介面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。如Windows是以图形界面方式操作的,因为你可以用鼠标来点击按钮来进行操作,很直观。而DOS就不具备GUI,所以他只能输入命令。DOS的这种界面叫CUI (Command line User Interface )命令行模式的人机接口。GUI是Graphical User Interface的简称,即图形用户界面,通常人机交互图形化用户界面设计经常读做“goo-ee”,准确来说 GUI 就是屏幕产品的视觉体验和互动操作部分。GUI是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。GUI即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际***早已意识到 GUI在产品方面产生的强大增值功能,以及带动的巨大市场价值,因***内部设立了相关部门专门从事 GUI的研究与设计,同业间也成立了若干机构,以互相交流 GUI设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。

特点:

GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可用用通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。

2.5特殊语法

模糊查询:

在SQL结构化查询语言中,LIKE语句有着至关重要的作用。

LIKE语句的语法格式是:select?from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。

在本系统中多次运用了模糊查询方法:

图书信息查询

public ResultSet list(Connection con,Book book)throws Exception{

StringBuffer sb=new StringBuffer("select * from t_book b,t_bookType bt where b.bookTypeId=bt.id");

if(StringUtil.isNotEmpty(book.getBookName())){

sb.append(" and b.bookName like '%"+book.getBookName()+"%'");

}

if(StringUtil.isNotEmpty(book.getAuthor())){

sb.append(" and b.author like '%"+book.getAuthor()+"%'");

}

if(book.getBookTypeId()!=null && book.getBookTypeId()!=-1){

sb.append(" and b.bookTypeId="+book.getBookTypeId());

}

PreparedStatement pstmt=con.prepareStatement(sb.toString());

return pstmt.executeQuery();

}

第三章 课程详细设计

3.1数据库设计

整个系统所包含的信息有图书类别信息,图书信息,用户信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:

图书信息(图书号,图书名,作者,性别,价格,图书描述)

用户信息(用户名,密码)

图书类别信息(图书类别号,图书类别,图书类别描述)

数据库表的建立如表3-1,表3-2,表3-3所示。

表3-1 t_use用户信息表

列名

数据类型

长度

主键



id

int

11

是



username

varchar

20





password

varchar

20





表3-2 t_bookType图书类别管理表

列名

数据类型

长度

主键



id

int

11

是



bookTypeName

varchar

20





bookTypeDesc

varchar

1000





表3-3 t_book图书信息管理表

列名

数据类型

长度

主键



id

int

11

是



bookName

varchar

20





author

varchar

20





sex

varchar

20





price

float









续表3-3

列名

数据类型

长度

主键



bookTypeId

int

11





bookDesc

v 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 程某某[M].清华大学出版社, 2002-8.

[4] 张某某.软件工程[J].清华大学出版社,2003-11.

[5] 李刚.疯狂Java讲义[M].电子工业出版社,2012-01:50-110.

[6] 张帆.java范例开发大全.清华大学出版社,2010-6:66-80.

[7] (美)Paul DuBios著|译者:杨某某,王某某,杨涛[J].MySQL技术内幕.

[8] 王某某,萨师煊.数据库系统概论[M].高等教育出版社, 2006-5:200-230.

[9] Stephens.数据库设计[M].机械工业出版社, 2009-10:300-312.

致 谢

在不知不觉中,我们的大学生活已将走完大二的上学期了,从初入大学的懵懵懂懂已经见识到了许多,也学到了许多,从专业知识到生活经验,我们在学习中渐渐成长。我们的茁壮成长,离不开父母、老师、同学等许多关心我们,帮助我们的人。我在此感谢那些曾经帮助过我的人。

最后,在题目设计过程中,我借鉴了大量前面学者总结的资料,对我的帮助很大,有你们的根基,我才能设计出更好的作品来。谢谢你们,谢谢百忙之中的老师们,你们的付出,我都会记得!

[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《图书管理系统论文MVC模式下的书店维护系统》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览