下一章 上一章 目录 设置
9、Java程序设计 ...
-
第一章 概述
一、概述
本系统是一个面向学生的Java图书馆自习室座位预约程序,主要实现对图书馆自习室座位预约的管理。
其中主要管理读者个人信息、图书管理员(职工)信息,座位预约等等。
二、项目背景
近年,面对高校扩招的形势,在校生就业压力增加,她们对考研,考证需求日益增长,因此导致图书馆自习室座位资源紧缺。排队,占座现象也引起诸多矛盾。
对此,我们提出基于java图书馆自习室座位预约系统。为了实现占座公平,让每位学生合理利用图书馆自习室资源。尤其是考试周期,使用预约系统更能提高学生们的学习效率。
三、相关技术简介
1、Java技术简介
Java技术是一门编程语言,也是一个平台
2、JavaFX技术简介
JavaFX脚本是一种声明式、静态类型编程语言。它具有一等函数(first-class functions)、声明式的语法、列表推导(list-comprehensions)及基于依赖关系的增量式求值(incremental dependency-based evaluation)等特征。”
JavaFX脚本为多种多样的操作提供了声明式、无中间程序逻辑的语法。
这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。
三、MYSQL数据库技术
数据库技术是研究、管理和应用数据库的一门软件科学。数据库技术研究和管理的对象是数据。
所以数据库技术所涉及的具体内容主要包括:通过对数据的统一组织和管理,按照指定的结构建立相应的数据库和数据仓库;
利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统;并利用应用管理系统最终实现对数据的处理、分析和理解。
4.HTML,CSS,JP技术
html是超文本标记语言,通俗的说就是你现在看到的这个网页的源代码,不同的浏览器都会对这个html文本解析,得到一个网页呈现在浏览器中。
xml 可为扩展的标记语言,就是可以自定义DOM节点,现在用XML用来支持异步数据传输较多,比如JSON,很多原生的API也都是XML格式的。
CSS(Cascading Style Sheets)是层叠样式表,用来表现HTML文件样式的标准语言。CSS用于定义网页的样式,包括针对不同设备和屏幕尺寸的设计和布局,描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被渲染的问题,通常保存在外部.css文件中。
目前广泛使用的是CSS3jsp 是一种服务器编程技术,主要用java写服务器页面,这些页面支持java语义的标记,到时候都会通过http传输到用户的浏览器解析为标准的html页面。
JavaScript(简称“JS”)是一种解释性脚本语言,JS主要用来向HTML页面添加交互行为,通常通过嵌入HTML中来实现自身功能,但写成独立的JS文件更有利于结构和行为的分离。完整的 JavaScript包括以下三部分:ECMAScript,描述了该语言的语法和基本对象,JavaScript的语法标准,比如ES5、ES6、ES7等。
文档对象模型(DOM),描述处理网页内容的方法和接口,比如HTML各类标签。浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口,比如浏览器前进、后退、刷新、关闭等。
HTML、CSS和JavaScript三者被称为前端三要素,在一个基本的网站中包含许多网页,每个网页都是由HTML、CSS和JavaScript组成,三者相辅相成。
HTML是结构层,从语义的角度去搭建网页结构;CSS是样式层,从美观的角度去修饰页面样式,JavaScript是行为层,从交互的角度去描述页面行为。
举个栗子:HTML就像是一扇粗加工之后的门,CSS的作用是给门上油漆图案,JavaScript的作用是给门上锁和门把手。
第二章 系统分析
一、系统设计分析
21世纪以来,现代通讯技术得到了良好的发展,为图书馆自习室预约程序提供了良好的技术条件。再加上互联网的发展、政策扶持与社会需要,让越来越多的学校意识到图书馆自习室预约程序的重要性。图书馆自习室预约程序在一定程度上简化了占座流程,也推动图书馆良好发展。
二、系统可行性分析
1.技术可行性分析
(1)硬件:计算机硬件设备质量良好,再加上现代通讯技术相对成熟,硬件设施方面基本能满足系统需要。
(2)系统软件:Java拥有独特的特性,它是一种优秀的编程语言,比C++语言更能变出“无误代码”;Windows操作系统接口能力强,与Navicat for MySQL的功能配套使用足够
(3)有专门的开发应用软件:安装运行Java的软件,比如IDEA、Navicat for MySQL(数据库可视化操作软件)或者Pycharm。
2、经济可行性分析
在经济方面,投资图书馆自习室预约程序小于预期资金,图书馆决策者可能运用此方案。
在用户方面,图书馆自习室预约程序可帮助学生查询座位情况,有利于学生预约座位。
3、发展可行性分析
图书馆自习室预约程序的用户群体逐渐多元化,不再局限于学生群体。目前,学生用户群体不断扩大,有望成为新的主力军
4.业务流程分析
图1 业务流程图
5.数据流程分析
图2 数据流程图
6、系统功能需求分析
1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然后对登录进来的用户判断身份信息,判断是管理员用户还是普通用户。
2.学生信息管理:管理员发布学生信息后,普通用户便可以查询到该学生信息,用户选择某个学生信息,查询学生信息,管理员审核添加,或删除学生信息。
3.预约信息管理:管理员发布预约信息后,普通用户便可以查询到该预约信息,用户选择某个预约信息,查询预约信息,管理员审核添加,或删除预约信息。
4.图书馆座位管理:管理员发布图书馆座位后,普通用户便可以查询到该图书馆座位,用户选择某个图书馆座位,查询图书馆座位,管理员审核添加,或删除图书馆座位。
5.离开信息管理:管理员发布离开信息后,普通用户便可以查询到该离开信息,用户选择某个离开信息,查询离开信息,管理员审核添加,或删除离开信息。
6.系统用户管理:不管是超级管理员还是普通管理员都需要管理系统用户,包括普通管理员的添加、删除、修改、查询,修改管理员的登录密码,新添加的管理员用户可以登录系统。
7.普通用户管理:管理员可以管理系统的其他普通用户的账号,包括录入新用户,删除现有的普通用户,修改现有的普通用户的信息,并可以通过用户名和姓名等关键字搜索普通用户,打印用户列表页面,导出用户列表至excel中。
8.修改密码:系统所有用户(管理员和普通用户)应该都要能修改自己的登录密码,修改后需要重新登录。
9.个人资料管理:由普通用户使用,普通用户登录系统后,可以修改个人原始信息,如修改电话号码、邮箱等,用户的用户名是无法修改的。
第三章系统设计
一、系统总体设计
二、数据库设计
三、概念模型设计
1.E-R图设计
本系统的数据库实体有“管理员”、“用户”、“座位”等等。
它们之间对应着一对多、多对多的联系。图书管理员与座位可以是一对多的联系;用户与座位之间的关系是一对一的关系。
2.分E-R图设计
图1 用户E-R图
图2 管理员E-R图
图3 座位E-R图
图4 总体E-R图
3.数据库逻辑结构设计
E-R图转换为关系模型:
自习者(账号,密码,姓名,联系电话)
座位(座位编号,座位状态)
管理者(账号,密码)
4.数据库的实现
建立数据库
(1)使用sql sever进行数据库的建立
(2)使用sql语言建立数据表,过程如图:
第四章 代码实现与界面展示
一、代码实现
项目搭建
(1)建一个普通的JavaFX项目,按照要求建文件,并输入下面代码。其中tools包下的一个类能直接导入使用。
(2)在view包下建名为logupFrame .fxml文件,该文件是登录界面的视图文件,具体代码如下
(3)在controller包创建一个LogupFrameController.java文件,输入代码如下
(4)接着在BookManageSystem目录下创建MainApp.java文件,输入代码如下
(5)在LogupFrameController.java添加如下代码,该类是初始化启动登录界面的。
(6)在logupButtonEvent内些代码处理登录事件,代码如下:
(7)重置按钮的事件处理代码,点击重置按钮即会清空用户输入框的内容。
二、部分界面展示
图4-1 项目文件搭建
图4-2 图书管理系统登录界面
图4-3 图书管理系统界面
第五章 系统测试
一、测试目的
二、界面测试
三、功能测试
四、测试结果
第六章 实训总结
在实训中,我更加深入地了解到何为Java,在提高了我独立思考的水平与锻炼我做项目能力的同时,也让我认识到什么是学习精神。
以下是我收获的心得
一、打好基底,由点到面
学习Java,我们需要了解关于Java的基本知识点,如Java的八种数据基本类型,面向对象三要素封装、继承、多态,和基本类型的包装类等等。
二、理论结合,实践到底
在了解Java的重点后,学会理论结合实践。
第一步,安装运行Java的软件,比如IDEA或者Pycharm。
第二步,配置电脑的环境变量,将JAVA_HOME:jdk路径,Path:要把jdk的bin目录路径,添加到path变量,这段代码添加进电脑环境配置里。接下来通过往命令提示符窗口输入Java,一键回车后,检验Java是否安装成功。
最后一步,把学习到的Java知识点罗列为一个个完整的代码,并将其放进idea中运行出来。
三、目标明确,完善总结
学习Java知识点后,我们要完善总结重点。
了解什么是集合、异常,接口。
比如,接口只能定义常量、定义抽象方法与继承接口,而不能继承普通的类和抽象类,甚至没有构造方法。
值得注意的是,在接口中定义常量时,可以不用final static修饰,因为编译器在编译时会自动加上。而在接口中定义抽象方法时可以省略abstract关键字,编译器在编译时同样会加上。
四、运用得当,融会贯通
学习了Java这门课程,我们能运用Java的相关知识与能力,发展更好的未来,努力做到活到老学到老。
最后简单总结以下,Java实训让我认识到了一个崭新世界,通过这次Java实训,我独立思考与实践操作的能力得到了很大程度的提升,也为未来就业提供了一个很好的方向。