酒店管理系统java

2022-10-09 版权声明 我要投稿

第1篇:酒店管理系统java

基于Java的酒店管理系统设计

【摘要】 基于Java的酒店管理系统完成了电子化和网络信息化,以及酒店办理的自动化,提高酒店客房等各个模块的功能协调,为酒店的服务质量给予了保证。用户也能够依据实际需求进行选择。体系功能主要包含查询客户,客房计费信息,留言板等基本办理体系是依据酒店客房办理实际情况,是为了酒店对房间进行集中办理和查询作用,以改善酒店工作人员的工作效率。

【关键词】 Java 酒店管理 数据库

引言:中国经济的飞速发展带动旅行水平的迅速前进,目前中国旅游出行的人数不断增加,商务活动也越来越活跃,人们对酒店服务提出更高、更多样性的需求。如何把酒店在有限的财力、人力、物力及信息資源情况下更好的服务于酒客户,是一切酒店公司所要面临首要的问题。

一、系统介绍

基于Java的酒店管理系统是一个采用java+mysql+web的模式订制的小型电子信息管理平台。系统功能完备以Web界面与用户交互,为用户提供信息并接受其操作,同时通过数据库管理系统来存储信息数据,实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作。系统采用模块化程序设计方法,根据用户的需求及程序的应用与维护的易用性将各个部分置于不同的模块当中,便于程序的扩展与维护。系统基本上满足客房管理、预订管理、特色服务管理等方面的需求,界面美观清晰、操作简单易用。

二、系统设计

基于Java的的酒店管理系统是以Mysql建立数据库而生成的酒店办理体系。系统操作简单、界面明晰,直观对相应的功能进行设计。

2.1系统功能模块划分

(1)系统用户管理:主要负责对管理员信息的修改等;(2)会员信息管理:主要负责对客户信息的增加、删除、修改;(3)房间信息管理:主要负责房间类型的增加、删除、修改,以及房间的管理;(4)预订信息管理:主要负责客户预订、入住等功能实现,实时更改房间的状态;(5)入住信息管理:主要负责顾客入住酒店、离店结账、更新入住信息操作;(6)留言信息管理:主要负责顾客对酒店服务的评价操作;(7)站内新闻管理:主要负责酒店最近新闻的添加管理操作。

2.2系统结构划分

系统采用最为常用的MVC架构实现,模型层(Model)、视图层(View)、控制层(Controller)三层结构。模型(Model):业务规则的制定和处理业务流程/状态;业务流程的处理是对于其它层才说是黑箱操作,接受模型查看所请求的数据,并返回最终的结果;业务模型的设计可以说是MVC最主要的核心。视图(View):使用JSP页面显示数据,与用户交互的页面。控制器(Controller):控制(Controller)是从用户接收请求,模型和视图匹配在一起,以完成用户的请求;划分控制层的影响是显而易见的,它是一个调度器,选择什么样的模式,什么样的视图的选择可完成什么样的用户请求。

三、数据库设计

3.1逻辑模型设计

逻辑结构设计是把概念结构设计阶段设计的E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。管理员(ID,用户名,密码);客房(ID,房间号,客房类型,价格,客房信息等);用户(ID,用户名,密码,性别,年龄等);预定(ID,客房号,预定时间,入住日期,押金等);入住(ID,客房号,用户名,身份证,费用等);留言(ID,用户名,留言内容,留言时间等)。

3.2物理模型设计

管理系統物理存储在名为db_jiudian的Mysql的数据库中,所涉及的表如下:

1.管理员表。用于存放操作员的信息,例如:管理员员的用户名,密码,ID。

2.客房表。用于存放客房的信息,例如:客房的ID,房间号,房间介绍,房间类型,房间,日金额等。

结语:为了提高酒店的作业效率,酒店管理系统的科学化、信息化、体系化建设将变的尤为重要。基于Java的酒店管理系统是依据酒店对客房办理的实际情况而进行设计的,完成客户对酒店中的客房查询和预定,便利酒店管理人员对客房的实际情况而进行集中查询办理作业。

参 考 文 献

[1]王菁.酒店管理系统设计[J].办公自动化:综合月刊.2010,(2):23-27

[2]栾阳.Java技术在图像处理领域的应用研究.电脑学习.2009,(5):105-106

[3]刘雁.客房管理系统的设计与实现.消费电子.2014,(18)

作者:万岩 史爱雯 张岳

第2篇:Java课程体系本体系统构建探索

摘要:针对高校Java课程设置存在的课程结构不紧密、知识点衔接不连贯等问题,文章提出引入本体技术解决Java课程体系建立过程中存在的上述情况。通过分析Java体系中相关课程的特点以及各个知识点之间的联系,提出以Java课程体系为例的课程本体构建方法。通过搭建课程本体系统,对课程之间的知识点进行有效的管理和规划,体现各个课程之间的关系和内在联系,为学生推荐科学合理的学习安排,提高教学质量和学生学习效率。

关键词:Java课程体系;本体推理;大数据课程;安卓课程;J2EE课程;Android

1Java课程体系现状

Java语言是一种典型的面向对象的程序设计语言,具有高效、安全、能在不同平台之间移植的优秀特性。依照2016年2月最新的TIOBE编程语言排行榜公布的结果,Java语言位居榜首,占有率达21.145%。

鉴于Java语言的普及程度,国内外很多高校已将其作为计算机专业学生必须掌握的编程语言。根据教育部计算机基础课程教学指导委员会最新制定的白皮书,Java语言课程已经被列为计算机专业核心课程。与Java语言配套的相关课程也在不断跟进,如Java数据库管理、J2EE框架、安卓开发以及基于Java的大数据分析架构平台等,这些课程的出现也在推动着Java课程体系的进一步形成和完善。但是由于传统教学课程体系设置的滞后,存在课程结构不够分明、授课联系不够紧密等问题,课程之间各个知识点的衔接不够明确和恰当,使学生在学习过程中存在一定的迷茫和阻碍。例如,很多学生想要系统地学习Java相关内容,但是由于Java涉及的课程和技术非常多,学生不知道如何开始打基础,也不知道下一步该学习什么,甚至经常本末倒置难以系统地掌握Java技术及其相关技能的精髓和发展趋势。

2本体及课程本体

在哲学领域方面,本体定义的解释为:本体是有关物体客观存在的,是对客观存在事物的合理性解释和说明,它注重的是客观现实存在的抽象本质。1998年,Studer等学者对其内涵进行了细致的探索,他们普遍相信本体是“共享概念模型的明确形式化规范说明”。不同的应用系统运用各自的术语或词表来描述信息资源,因此在不同的系统间共享知识变得十分艰难。所以,本体可以成为一种纽带,将实际的语法表达形式和这种表达的抽象概念模型联系起来。

课程本体则是与课程概念有关的一个基本框架。对课程本体的探索其实是对它所包含的知识点进行内在分析以及关系探索。一般来讲,课程本体是由课程中存在的定义、定义之间的关系以及形式化描述语言构成的,其构建目标是形成对课程内部知识点层次的共同理解。课程本体具有描述特定课程中概念间联系的功能。

从本体角度可以将课程结构划分为3层,分别是课程概念、章节概念和知识点概念。因为课程概念包含章节概念,章节概念包含知识点概念,因此定义上下层概念之间的关系为:contain_with和belong_to,即包含和属于关系。在课程体系中,各课程的知识点之间还存在着前导、后续和相关关系,所以知识点之间的另外三种关系定义为:prerequisite_for、follow_up和related_to。借助本体构建工具Protege创建本体关系如图1所示。

3Java课程体系构建

如前所述,当前高校课程设置存在着诸多问题,学生在学习Java的过程中也遇到了课程联系不够紧密、知识点过于分散、理论与实践脱离等实际问题。而且,由于Java相关领域技术发展非常迅猛,目前很多高校的教学安排难以满足学生对学习Java及其相关技术的所有需求。因此,应对当前的Java课程进行合理的规划和调整,以满足学生的学习需求和市场上人才培养的要求,则变得至关重要。

通过查阅大量关于Java教学计划的资料,在文献提出的Java体系结构方案的基础上,我们扩展引入了最新的大数据和数据科学课程内容,将其作为所要构建Java本体系统的课程体系结构参考。该Java体系结构以Java开发语言为整个课程体系的核心,以c语言和C++语言为基础,并将数据结构和算法设计作为辅助课程。在掌握Java语言课程之后,可以进行高级开发部分的学习,如选择具有实际应用意义的J2EE和Android开发作为教学实践部分。与此同时,在高级课程部分还融入了数据库理论和软件工程两部分内容,帮助学生在项目驱动的理念下,更好地掌握Java及其相关技术。为了培养学生的实际动手能力,除了必要的理论课程教学外,还添加了一些实践课程和具体的课外培养计划。考虑到大数据和数据科学的快速发展,Java在云计算、Hadoop等相关方向的技术发展也越来越受到人们的关注和重视,因此在文献的Java课程体系中扩展了云计算和Hadoop两门课程作为Java在大数据技术方面的扩展。构建Java本体系统参照的Java课程体系结构如图2所示。

4课程本体构建

4.1Java课程体系本体系统构建

参照图1的Java课程体系,可以将以下课程安排作为构建本体系统的基础:算法分析与设计、数据结构、c语言程序设计、c++程序设计、Java程序设计语言、JavaEE架构与程序设计、Android开发、软件工程、云计算技术、Hadoop等。依照前述定义的3种概念(即课程概念、章节概念和知识点概念),借助本体构建工具Protege对Java课程本体进行创建。具体的课程概念及其实例表示的示例如图3所示。

在导入3种概念对应的实例之后,再通过已经定义各个概念之间的contain_with和belong_to,将课程实例、章节实例以及知识点实例联系起来。以Java程序设计语言为例,该课程的概

4.2课程本体概念之间的关系

以上只是定义了上下级概念之间的两种关系,实际上同—概念中的多种实例之间也存在很多关联。例如我们学习的每门课程本质上都是由知识点构成的,而知识点之间则存在多种联系。通过整理总结这些知识点间蕴含的内在联系,构建本体概念联系,可以推导出课程体系中全部课程的先后排列顺序;进而,利用这些推导结果更好地为学生提供准确的学习指导。

使用前面定义的知识点间3种关系(prerequisite_for、follow_up和related_to),可念结构图如图4所示,圆点表示contain_with,菱形表示belong_to。其中列出了Java课程实例、所有章节实例以及第一章Java语言概述包含的知识点实例。

以在知识点这一层次上建立概念间的关系作为课程本体推理的基础,帮助推导课程概念之间的隐含联系。

为了更好地说明Java课程体系中各个课程之间的关系,可以选取Android开发、Java程序设计语言、数据库原理、数据结构、算法分析与设计等部分课程本体中的知识点概念来说明课程本体之间的关系,如图5所示。

Android开发课程的第一章主要介绍了Android的基础知识,主要包含了Android概述、特点、简单示例、搭建环境等内容。在学习这些知识点之前,学生需要有Java语言相关的知识点为基础,因此,Java程序设计语言这—课程中存在着Android开发课程的前导知识,即prerequisite_for关系。

在实际的Android项目开发中,除了Java语言基础,还需要数据库技术的支持。在学习完数据库原理课程的所有知识点之后,可以继续对Android开发课程中有关可持续化存储的知识进行研究。所以,Android开发课程中关于数据库应用部分的知识点是数据库原理课程中部分知识点的后续知识,即follow_up关系。

数据结构和算法分析与设计是计算机专业的学习必须掌握的基础课程。在数据结构这门课程中,讲述数据结构基础知识的同时也对算法时间复杂度和空间复杂度知识点进行了介绍。而在算法分析与设计课程中,在学习具体的算法知识之前,也需要掌握一些基本的数据结构知识,这些知识点之间并没有明确的先后关系。因此,将它们定义为相关关系,即related_to关系。

5课程体系本体在学习中的应用

Java课程体系中包含了与Java技术相关的多种课程,这为Java学习者提供了一个较为全面的课程学习体系,也为培养掌握Java多项技术的全面型人才奠定了基础。文中所构建的课程体系本体能够很好地解决教学上出现的问题,建立起能够对知识点进行有效管理的本体知识库。在以往的学习过程中,学生总是对先学习哪门课程或是后学习哪门课程存在疑问,而教师也仅能凭借自己的教学经验为学生进行指导。然而,文中建立的课程体系本体能够帮助学生进行更加系统的学习安排,为学生提供一个较为合理的学习规划。Java课程体系本体系统的查询界面及查询效果示例如图6和图7所示。

该本体构建策略同样可以作为其他课程体系的有力参考。在未来的工作中,可以将整个计算机学院课程导人课程本体,构建出面向全计算机学科的知识参考模型.。另外,目前3层概念之间的关系都是人工定义的,当课程数量非常多的时候,这些对应关系不仅仅可以人工提供,还可以通过数据挖掘手段来获取,比如MOOC笔记、各种课程网站的内容分析等。这两方面的工作将会使整个计算机课程本体更具有合理性,也为学生的学习过程提供极大的帮助。

6结语

文中系统可以有效指导学生对Java及其相关技术进行系统的学习;同时,文中系统也适合推广到其他课程的本体构建中作为参考,使学生可以更为科学合理地安排自己想要学习的课程,并事半功倍地达到学习目的。

作者:王岩 欧歌 向健 黄岚

第3篇:基于Java的学生信息管理系统设计与实现

摘要:为规范高校学生信息管理,提高管理人员的工作效率与质量,采用目前流行的Java技术,结合SQL Server 2000数据库,开发了与平台无关化的学生信息管理系统。该系统实现了学生和相关教师的信息添加、修改、删除与查询功能,有效完善了学生信息管理工作的质量。

关键词:信息管理系统;Java;SQL Server;数据库连接

Design and Implementation of the Student Management System Based on Java

YANG Yang1, LI Hai-ge2

(1. Computing Center, Henan University,Kaifeng 475004, China;2. Kaifeng Architecture Design Institute Co., Ltd., Kaifeng 475004, China)

Key words: information management system; Java; SQL Server; database connection

高校招生规模日益扩大,纯人工完成学生信息管理,不规范,效率低,容易出错,不能满足现代信息快速管理、更新的需要,并且管理上还造成了人力、物力的浪费。因此数字化的信息管理系统亟待出现。计算机的普及使数字化信息管理系统得以实现,学生信息的检索更快速,查找更方便、可靠,存储量更大,保密性更好。因此规范的学生信息管理系统,不但减轻了管理人员的工作负担,提高了工作效率,避免了不规范的操作,更有利于院校及时掌握学生的信息,加强学生的管理,使得高校在学生信息管理方面的技术水平会更高、更科学、更专业。

1开发工具

1.1 JBuilder

Java语言简单、稳定,Java的虚拟机成功地实现了程序与平台无关,一次开发,任意平台运行,符合网络需求。支持多线程,Java提供了对线程管理、协调的功能,提高程序执行效率。Java的强类型机制、不支持指针、单元自动收集、异常处理机制使得Java更加安全可靠。Java可轻松捕捉和处理错误,当错误发生时,由检测错误的代码直接抛出一个异常,不需要手动补捉。

JBuilder是Borland公司开发的Java开发工具,有效开发各类Java应用程序,JBuilder的VCL核心技术,使Java程序条理清晰,易于编写。JBuilder拥有专业的图形界面,提供了强大的组件库,还提供了与数据库产品的连接,使得数据库开发变得更快捷、高效。

1.2 SQL Server 2000

SQL Server 2000是客户机/服务器关系型数据库管理系统,客户机组织与用户的交互,服务器负责数据处理,高性能设计,系统管理先进,支持本地和远程的系统管理和配置。SQL Server具有很强的伸缩性和可用性,支持复杂的数据处理,可管理多个并发用户并产生较小的开销,减少内存需求,提高吞吐量。SQL Server的分布查询可以引用不同数据源的数据,保护分布式数据更新的完整性。客户端可分别或同时向多个SQL Server服务器存取数据,减少单个服务器的负担,提高执行效率。在Web应用程序中包含了用户友好的查询和强大的搜索功能,允许互联网用户访问服务器。SQL Server的电子商务、数据仓库、增强的在线商务等功能均具有很强的优越性。

2系统设计

2.1需求分析

针对高校教育管理的特点,考虑学生信息管理的实用性、科学性、高效性和可操作性,该学生信息管理系统设计完成后达到的目标是:界面设计友好、美观大方,便于管理员操作,数据录入方便,查询功强大、灵活,实现教师与学生信息增加、修改、删除,课程管理中包含了增加、修改、删除课程,成绩管理中增加、修改、删除成绩。信息查询可高效完成各类相关信息的检索。系统管理模块中用户维护中权限设置保证数据的安全性和可靠性。帮助文件可为系统使用提供实时帮助。

3.2系统模块

本学生信息管理系统是对学生及相关教师信息进行管理,主要包括添加、修改和删除学生和教师的基本信息,添加、修改和删除学生学习课程,对学生成绩进行添加,修改和删除,查询模块完成学生、教师、选修课程,考试成绩的查询操作,从而实现学生信息的自动化管理。本系统包括五大模块,功能结构图1所示。

图1学生信息管理系统功能结构图

1)用户登录模块:该模块用于校验管理员信息,当用户名和密码正确时,成功登陆。用户输入用户名后,系统核对该用户是否存在。在公共方法中,定义String类型的变量用来生成SQL查询,再定义一个公共类的变量,调用该变量的getObjectRow()方法,来检查用户是否存在。若用户存在,输入的密码正确,单击“登陆”,可进入学生信息管理系统。

2)学生信息模块、教师信息模块、课程管理模块及成绩管理模块:这些模块均提供了各类信息的添加、修改、删除子功能。每个子功能都有不同的数据界面,数据添加或修改时,系统倾向于提供可供选择的控件让管理员操作,避免了不规范数据的输入。在这些模块中会对数据表进行操作,为保证数据操作的准确性,编写一个私有的类方法,通过数据表的主键判断要添加的数据是否重复。

3)信息查询模块:数据的检索在整个学生信息管理系统中占有重要地位,系统中所有查询都是通过公共类文件实现的。公共类通过传递查询语句调用相应的类方法,查询满足条件的数据。以下代码用来查询满足条件的数据。

Public Vector getObjectRow(String sqlStr){ Vector qdata=new Vector();

con=CommonaJdbc.connection;

try{

cx=con.prepareStatement(sqlStr).executeQuery();

cxquery=cx.getMetaData();

while(cx.next()){

for(int i=1; i<=cxquery.getColumncount(); i++){

qdata.addElement(cx.getObject(i));

}

}

}catch(java.sql.SQLException sql){

Sql.printStackTrace();

Return null;

}

Return qdata;

}

4)系统管理模块:用户维护子模块可以添加、修改和删除能进入学生信息管理系统的用户账号和操作权限。当用户对此系统使用遇到问题时还可进入帮助文件子模块进行查阅。

2.3 Swing界面设计

Swing组件是Java中重要的窗口工具组,可在程序运行时指定组建的外观风格。采用了MVC(Model-View-Controller)设计模式,可用模型来保存内容,视图来显示内容,控制器用于控制用户输入。使用Swing组件可以设计很多功能强大Java应用程序,并且对于组件外观和行为的修改可以很方便地操作。学生信息管理系统采用Swing组件开发用户界面,因Swing组件大部分是由纯Java程序写成,因此,该学生信息管理系统可跨平台使用。

2.4数据库设计

学生信息管理系统数据库由SQL Server 2000数据库设计,数据库名称为Stu_data,包括学生表,教师表,课程表,成绩表,院系表,用户表,帮助表。数据表中的加下滑线的字段为各表的主键。数据库中各表结构如下:

学生(学号,姓名,性别,出生日期,照片,学院编号,家庭住址,联系电话)教师(工号,姓名,性别,职称,工作简历)

课程(课号,课名,类别,学分)

成绩(学号,课号,分数,班级)

院系(学院编号,系名,联系电话,联系人)

用户(编号,口令)

帮助(帮助信息)

2.5数据库连接

JDBC是一种可用于执行SQL语句的JavaAPI接口,程序员可以使用纯Java语言来连接SQL Server 2000数据库,并进行操作。使用JDBC连接数据库,定义静态类型的类变量con1来建立数据库连接,核心连接代码如下:

private Connection getCon(){

try{

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”); Con1=

DriverManager.getConnection(“jdbc:Microsoft:sqlserver://127.0.0.1:1433; DatabaseName=Stu_data”,“admin”,“stu_db”);

}catch(java.lang.ClassNotFoundException classnotfound){

classnotfound.printStackTrace();

}catch(java.sql.SQLException sql){

sql.printStackTrace();

}

return con1;}

3结论

本学生信息系统采用人性化操作方式,使用方便,易于管理和数据维护,实现了学生信息高效管理。Java程序文件与SQL Serv? er数据库各自独立,采用JDBC将二者相连,Java程序中的SQL语句自动进入数据库中检索。Java和JDBC的结合实现了学生信息管理系统应用时“一次开发,到处运行”,使系统达到较高的可靠性和扩展性。经过需求分析和编码测试,此学生信息管理系统符合高校学生管理业务流程需求,能够完成学生信息的添加、更新、查询等功能,在学生管理工作上起到了至关重要的作用。

参考文献:

[1]萨师煊,王珊.数据库系统概论[M].4版.北京:高等教育出版社,2006.

[2]郑晓艳.数据挖掘技术在大学生专业方向指导中的应用[J].天津工程师范学院学报,2006(10):25-29.

[3]顾晓燕.网络管理信息系统安全隐患和应对策略[J].网络安全应用技术,2006(6):35-37.

[4]裘昌利.基于网络B/S结构的学生信息管理系统的设计与实现[J].现代情报,2009(4):85-86.

[5]朱强,赖云灵.基于B/S结构的二级学院学生信息管理系统[J].现代计算机,2007(2):91-93.

[6]李斌,刘运,刘荣,等.基于C/S和B/S混合模式的高校二级学院学生信息管理系统的设计[J].陕西科技大学学报,2006,24(6):90-93.

[7]陈豫,杨世清.基于Internet/Intranet的学生信息管理系统若干关键技术的研究[J].武汉理工大学学报,2004(28):614-617.

[8]陈磊松.高等学校教学管理信息化系统研究[J].漳州师范学院学报,2005(4):29-32.

作者:杨扬 李海歌

第4篇:JAVA酒店管理系统

摘要

该酒店客房管理系统是基于JAVA的Application模式,运用JAVA语言开发技术和Mysql数据库原理开发的。在该系统中, 操作人员可通过房态查看或客房查询来进行住宿登记,也可通过追加押金使房客继续入住,可方便有效的对客房信息及住宿信息进行统计或设置,宿费提醒及挂帐退房功能可使酒店损失降低至最低点,操作员管理功能可实时地对操作人员进行有效地管理从而使酒店在客房管理上分工明确。该系统的合理运用能使得酒店提高其客房管理效率并节约管理成本。

该系统遵循软件工程中的开发规则。本文介绍了酒店客房管理系统的开发过程,详尽论述了需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。

关键词

客房;JAVA;JDK;SQL

参考文献

[1]夏昕著. 深入浅出Hibernate北京:电子工业出版社,2005

[2] 强锋科技著 . Java开发利器:Hibernate开发及整合应用大全 北京:清华大学出版社 出版日期: 2006-2-1

[3] :邹竹彪 . JSP宝典北京:电子工业出版社, 2006

[4] (美)Hessert著 . STRUTS 2003北京:机械工业出版社,2006

[5] :朱敏 朱晴婷 李媛媛著 . JSP Web应用教程北京:清华大学出版社,北京交通大学出版社, 2004

[6] Matt Raible 著 . Spring Live北京:电子工业出版社, 2006

[7] Rod Johnson / Juergen Hoeller(英)著 . Expert One-on-One J2EE Development without EJB北京:机械工业出版社原出版社:Wrox, 2003

[8] Bruce Tate / Justin Gehtland著 . Spring北京:清华大学出版社, 2006

第5篇:JAVA物业管理系统

本系统的意义

新的世界已经到来,在电子计算机技术发展日新月异的今天,计算机软件的应用早已深入到了各行各业,并发挥着它们巨大的潜力。随着企业,房户等一系列的改革,一切都在潮向社会化发展,管理体制也由过去的全承包向现在的一体化,专门化发展。为了人员的安全,社会的稳定,国家的持续发展,物业管理在起着举足轻重的作用。本物业管理系统提供对人员,住房,房产和收费信息的管理。为了有效管理和社会人员的方便,系统为管理员用户和普通用户提供了不同的功能。本系统具有一定的实用性。

本物业管理系统是在服务器上先安装Windows NT操作系统,并在NT系统下安装数据库系统SQL Server 7.0和建立人员、住房、房产、收费四个数据库。然后在NT操作系统下用Java编写不同的系统用户界面,后用JDBC/ODBC桥实现服务器上数据库和前端界面的连[文章来源: 计算机毕业论文网]接。连接成功后,将Java编写的用户界面移植到客户端的Linux操作系统下,并用这个界面试图实现与服务器上NT系统下的数据库SQL连接。以达到在不同的操作系统下可以互相调用的目的,实现Java的重要特性:可移植性。

二.设计思想

2.1 当前数据库实现中存在的问题:

2.1.1 目前存在的问题----数据库的实现面向单一应用

在目前开发的一部分数据库应用软件中,程序员的主要任务是编写高质量的程序,对所使用的软件及数据库很少关注,这就面临数据库单一应用的问题。

2.1.2 数据库设计中存在数据完整性问题

数据库应用所提供的功能一般都比较安全,往往自成一个系统。但是当数据库不同后系统数据就会产生问题。

2.2 工具软件的介绍

2.2.1 Java语言的介绍

Java是一个由SUN公司开发成功的新一代编程语言,它的最大特点就是:使用它可在各式各样不同种机器,不同种操作平台的网络环境中开发软件,即SUN公司所宣扬的一次编写,到处运行 。

在SUN公司的Java白皮书中对Java有如下的定义:

Java: A simple, Object-oriented, distributed, robust, secure, architecture-neutral, portable, High-performance, multi-threaded, and dynamic language.(Java: 一种简单的,面向对象的,分布式的,健壮的,安全的,结构中立的,可移植的,高效性的,多线程和动态的语言)。

这个定义充分地表现了Java语言的特点。

1. 简单性

Java是一种简单的语言。Java取消了其它的许多编程语言中十分繁琐的和难以理解的内容,例如C/C++中的指针,C++中类的多重继承等。Java语言在外观上让大多数程序员都感到很熟悉,这样程序员不需要经过长时间训练就能够学会使用这种新型的程序开发工具。Java要求的基本解释器约为40KB ,若加上基本的程序库,约为215KB。由于Java程序很小,因此在小型机上Java程序也能够很好地执行。

2. 面向对象

Java是一种面向对象的语言。这里的对象是指应用程序的数据及其操作方法。Java程序的设计思想不同于C语言基于过程的程序设计思想。设计面向对象的程序需要将编程重点放在资料和接口上。

3. 分布式特性

Java是一种分布式的语言。Java有一个很周全的程序库,且很容易与HTTP和TCP/IP通信协议相配合。Java应用程序能在网络上开启并连结使用对象,就如同透过URL链接使用一个本地文件系统。利用Java来开发分布式的网络程序是Java的一个重要应用。

4. 健壮性

用Java编写的程序在多种情况下都能稳定地执行。Java与C/C++最大的不同点是在于Java有一个专门的指针模型,它的作用是排除内存中的数据被覆盖和毁损的可能性。

5. 安全性

Java是一种安全的网络编程语言。Java是被设计用于网络及分布的环境中的,所以Java程序的安全性自然是非常重要的。Java拥有数个阶层的互锁保护措施,能有效地防止病毒的侵入和破坏行为的发生。

6. 结构中立性

众所周知,网络是由很多不同机型的计算机组合而成的。这些计算机的CPU和操作系统体系结构均有所不同。因此,要使一个应用程序可以在每一种计算机上都能够执行是很难的。

所幸的是,Java的编译器能够产生一种结构中立的目标文件格式,这使得编译码能够在多数的处理器中执行。

7. 可移植性

Java的源代码和C/C++的源代码一样具有可移植性,而且Java的可移植性在相比之下还要更强一些。只要有对应系统的解释器,Java程序就可以在所有的系统上执行。Java的原始资料形式的大小是被指定的,例如Java之所以一直用float来表示一个32位字节的IEEE754的浮点运算数字,正是因为绝大多数的CPU都有此共同特征。Java自带的程序库定义了一些可移植的程序接口,这使Java语言具备了很好的可移植性。

8. 解释型语言

Java的源程序首先由编译器编译成字节码,之后再由解释器解释执行。Java解释器能直接在任何机器上执行Java字节码(Byte Codes),因此在进行程序链接时节省了时间,这对于缩短程[文章来源: 计算机毕业论文网]序的开发过程有极大的帮助。

9. 高效性

Java字节码能迅速地转换成机器码(Machine Code)。Java的这种效能几乎与C/C++没有分别。用Java编制的Java小应用程序可以取代部分CGI脚本(CGI Scripts)的功能,但是考到效率方面的问题,在大多数的情况下很多客户端的基本操作还是由脚本语言来完成的。涉及到复杂算法的计算以及一些特别的效果,就可以由Applet或者ActiveX来完成。

10. 多线程性

Java语言具有多个线程,这对于交互回应能力和即时行为是有帮助的。

11. 动态性

联系购买

(0)1594335582

5528311109 345608595

345608595@qq.com

帮助中心

付款方式 购买流程 常见问题

定做论文 常见问题 友情提醒

我们的优势

权威机构 我们具备深厚行业背景。

技术领先 最新软件编程技术和权威合作伙伴。

良好声誉 广泛知名度、满意度,众多新老客户。

随机推荐

121J2ME手机射击游戏_JAVA()

原文出处:

第6篇:java管理系统项目总结

篇一:java管理系统项目总结

期末将至,怕没有时间再去写这篇不成器的文章,所以早早写完,早早留给时间去复习。随着期末的临近,java课程也结束了,距离之前写过的“java-象棋设计心得”有差不多过了2个月了。我们的java课程主要做全班选出来的两个项目,一个是象棋,一个就是人事管理系统。做完都要通过答辩才能评分,以此两次来作为整个java学期的成绩。快走题了,就在这里止步回头!

这一次的主要通过 问题->理解->修改->添加 的步骤讲解,跟java-象棋设计心得的讲解思路基本上差不多。

----问题篇

一开始着手这个java-人事管理系统项目的时候就感觉到这比之前的java-象棋项目难了,知识明显不够,需要边看书本源代码边查看API文档和通过网上来解惑。就这样,一周的时间就过去了,当然一周里还有很多课程需要跟上,所以并不是把一周的所有时间都花在项目设计上。

这里介绍一下我项目中遇到的一些“坎”: 1.布局管理器

GridBagLayout

的使用和GridBagConstraints类的使用

类和DefaultMutableTreeNode类和其他类的使用

面板和JSplitePane面板和其他面板

4.设计的界面的还原

5.数据库如何实现数据的保存

可见,问题多多,解决起来又会出现其它的问题,但我知道每一个项目必定存在多个类和面板的设计,设计的过程也是一个不断自我矛盾和自我更正的过程,只有这样设计出来的产品才符合我们的要求。其中首先要说问题的是界面的还原是比较耗费时间的,但这也是任何软件设计的第一步,所以必须理解透!其次就是数据库和SQL语言的学习,因为数据库是新知识,还没有可以通过课程来学习的,这就意味着只能通过自己学习新知识,这又是一个新问题的开始,但我知道必须要克服。最后就是动作的实现问题,例如:点击了这个节点,相应的功能是如何实现,是通过什么来实现的,这些问题也必须理解,因为是答辩问的最多问题。好了,问题篇就到这里了。

----理解篇

理解的基本条件就是问题的产生,上篇说的就是问题篇,那么这里说的就是理解。或许这里有一些东西会跟java-象棋设计心得有些相同,所以会提醒一下就过了,理解是理解软件制作的必要过程,重要性可想而知了,在java-象棋设计心得里,有些理解的方法这里就不在重复了。那么这里要讲的东西不多,主要讲的是功能的实现过程,书本中人事管理系统的功能有,如下:

1.基本信息管理--添加人员信息、修改人员信息、删除人员信息、查询人员信息、部门管理;

2.人员调动管理--人员调动、调动历史查询;

3.人员考核管理--人员考核、考核历史查询;

4.劳资管理--劳资分配管理、劳资历史查询

因为基本上以上的所有功能的实现基本相同,所以这里通过其中一个功能的实现来粗略理解其它功能的实现吧,说的不好请谅解!

那么就说“人员调动管理--人员调动”这个功能的实现,从点击叶子节点人员调用后,调用了人员调用的实现类,在右面板显示相应的人员调用面板,由图可知面板里的放了“人员调动”的JLabel、数据显示的表单Jtable、一些文本框TextField和Jabel,还有下拉菜单JComboBox,以及三个按钮。主面板里使用默认的BorderLayout布局,可以看下图来知道该功能布局的实现:图片的大小和真实的有差别,只作为理解而用。

接下来说如何通过点击面板上的调入新部门的按钮来实现与数据库的连接,当正确操作后,按调入新部门按钮后,调用与数据库连接的实现类的相应方法,来对数据库存放数据的相应表进行修改和给存放历史数据的表进行调动历史添加。这样就完成以一个调用人员功能的实现了,类似的功能也可以参照次步骤来理解。

除了理解好这些功能的实现外,我还应该要是自己来实现一个功能,作为真正理解好一个功能实现的动手机会,这个会在添加功能里详解。好了,理解篇就到这里了!

----修改篇

修改、添加也是在理解的基础上才能对代码进行改进和添加,这里是修改篇,下一篇就是理解篇。可以说书本上的每一项目的代码都存在不足和缺陷,可以运行但运行起来其中总是存在不少的缺陷和矛盾,所以就需要修改,那么在实际开发过程中,修改和添加就相当于软件的后期维护了,这是一个永远也完成不了的功能,要做到软件的完美,是不可能的!只能不断的修改,添加,再修改,再添加。。。

在书本的人事管理系统代码,只代表本人的观点下,进行了一些修改,这里就不一一说明了。

----添加篇

因为人事管理系统的庞大,其功能也可以有相当多,之前就说过,功能的实现都是差不多的,而且考虑到作业提交和答辩的时间,所以只添加了一个功能 “加班信息管理--添加人员加班信息、人员加班信息查询”,请看下图:

总结:虽然java课程随着人员管理系统的完成而结束了,但java的学习还会继续,这是一个厉害的技能,不是说课程教完就结束了,老师只能带领我们进门,但java提升是靠自己的努力的,有不少人说java作为一个谋生的技能很不错,我想我会在边学习java之余边体会java的魅力。

篇二:java管理系统项目总结

这个学生管理系统相对来说比较简单,主要就是复习下java怎么连接数据库,然后你怎么来实现这个功能,我简单的说下思路吧。

首先你要构思好这个界面,他包括增删查改这些基本功能,然后你去分析这些功能都能怎么实现,对于查找,应该是比较简单的,这里连接数据库就不详述了,导jar包,设置三个变量,然后传固定的参数进去,查询你应该单独写一个类,在这个类里面你要做的就是传入sql语句,利用executeQuery返回的结果集存放在一个向量里面,然后返回给java界面里面JTabel的参数,同样增加一条记录,你可以自定义java界面,从键盘读入数据,然后将数据返回给你自定义的add类里面,在这个类里,主要处理sql增加语句,所以语句将被使用,这里还是要注意下防止sql注入。修改操作和增加操作类似,这里因为主键的特殊性,所以你需要把他设为不可修改,当然你也可以选择不。对于删除操作,因为不需要特别的界面为他服务,所以你大可以在Main函数里面进行操作,除非你觉得有必要整理下长的吓人的代码,其实删除操作也就是获取你指定的主键,然后在sql里面执行操作。大概也就是这些了,有些细节地方要注意下,很多参数里面的下标要千万小心,不然很痛苦的,连接sql文件后记得关闭,弹出界面自己要加些异常处理,每次操作完后,要记得及时更新界面。另外对于MVC模式,你可以在写完后,想想,其实很多代码都有其复用性,你可以分几层来操作啊,业务层就专门提交具体操作,也就是contral啊,然后增删查改界面可以全放在view里面,model就专门处理和数据库的衔接,反正mvc模式你会觉得代码非常清晰,后续你还可以增加分页操作啊,分页操作其实很简单,上一次sql里面测试了下,对于百万级的数据,分页操作跑了三到五秒,或许我的本本真该换了。想说的也就是这么多了,另外鉴于昨天晚上发生的一些事情,后续不打算再更新任何东西了,也许这两者没任何关联,于我而言,结局早已注定。

第7篇:java书店管理系统源代码

Java 源代码

public class loaduser { public String user; public String password; boolean b1; loaduser(String s1,String s2){

user=s1;

password=s2; } void load(){

System.out.println(" 书店管理销售系统");

System.out.println("**************************************"); System.out.println("

1、登录系统"); System.out.println("

2、退出系统");

System.out.println("**************************************"); System.out.println("请选择:");

int m; Scanner s=new Scanner(System.in); m=s.nextInt();

if(m==1){

for(int i=0;i<3;i++) {

System.out.println("请输入账户名和密码");

String s3,s4;

Scanner ss=new Scanner(System.in);

s3=s.next();

s4=s.next();

if(user.equals(s3)&&password.equals(s4)) b1=true ;

else b1=false;

if(i==0&&b1==false)System.out.println("用户名或密码输入错误一次,还有两次机会!");

if(i==1&&b1==false)System.out.println("用户名或密码输入错误两次,还有一次机会!");

if(i==2&&b1==false){System.out.println("三次输入错误,退出系统!");System.exit(0);}

if(b1==true) {

System.out.println("登录成功!");

break; } } }

if(m==2)System.exit(0); }

package manger; import java.util.ArrayList; import java.util.Scanner; import manger.vip; import System.menu; public class vipmanger { static ArrayList vipgroup=new ArrayList(); public vipmanger(){

vipgroup.add(new vip("001","王芳",100));

vipgroup.add(new vip("002","李娜",60));

vipgroup.add(new vip("003","杨丽",50));

vipgroup.add(new vip("004","孙洁",150));

vipgroup.add(new vip("005","肖青",300)); } static void addd(){ System.out.println("请一次输入编号,姓名,积分");

String S1,S2;

int A;

Scanner s=new Scanner(System.in);

S1=s.next();

S2=s.next();

A=s.nextInt();

vip v1=new vip (S1,S2,A); vipgroup.add(v1); }

static void delete(){ System.out.println("请输入要求删除的会员编号:"); String s; Scanner me=new Scanner (System.in); s=me.next();

boolean b1=true;

for(int i=0;i

if(s.equals(vipgroup.get(i).ID)) {vipgroup.remove(i); b1=false; }

if(b1)System.out.println("查无此会员!"); } static void correct(){ System.out.println("请输入要修改信息的会员编号:"); String sss; Scanner s=new Scanner(System.in); sss=s.next();

boolean b1=true;

for(int i=0;i

if(sss.equals(vipgroup.get(i).ID)){

b1=false;

System.out.println("请输入新的姓名和积分:");

String ss1; Scanner s7=new Scanner(System.in); ss1=s7.next(); vipgroup.get(i).name=ss1; int b;

Scanner s8=new Scanner(System.in);

b=s8.nextInt();

vipgroup.get(i).score=b; }

if(b1==true)System.out.println("查无此会员!"); } static void select(){ System.out.println("请输入要查询的会员编号:"); String s; Scanner me=new Scanner(System.in); s=me.next();

boolean b1=true ;

for(int i=0;i

if

(s.equals(vipgroup.get(i).ID)){System.out.println(vipgroup.get(i).ID+" "+vipgroup.get(i).name+" "+vipgroup.get(i).score); b1=false ; }

if(b1==true)System.out.println("查无此会员!"); } static void show(){

for(int i=0;i

System.out.println(vipgroup.get(i).ID+" "+vipgroup.get(i).name+" "+vipgroup.get(i).score); } public static void exchange(String s1,int a,int b){

boolean b1=true;

for(int i=0;i

if(s1.equals(vipgroup.get(i).ID))

{if(vipgroup.get(i).score<(a*b))System.out.println("积分不足,不能兑换!");

else vipgroup.get(i).score-=a*b;

b1=false;

} if(b1==true)System.out.println("查无此会员,不能兑换!"); } public static void shop(String s1,int a,int b){

boolean b1=true;

for( int

i=0;i

if(b1==true)System.out.println("查无此会员,不能购买!"); } public static boolean start(){ menu m=new menu(); m.vip();

int x; Scanner me= new Scanner(System.in); x=me.nextInt();

switch(x){

case 1:show();break;

case 2:delete(); break;

case 3:addd();break;

case 4:correct();break;

case 5:select();break;

case 6:return false; }

return true; } }

public class book {

public String number;

public String name;

public int price;

public int jf; book(String s1,String s2,int a,int b){

number=s1;

name=s2;

price=a;

jf=b; }

}

package manger; import java.util.ArrayList; import java.util.Scanner; import System.menu; public class bookmanger {

static ArrayList bookgroup=new ArrayList(); public bookmanger(){ bookgroup.add(new book("001","c语言",20,20)); bookgroup.add(new book("002","大学英语",22,22)); bookgroup.add(new book("003","高等数学",28,28)); } static void show(){ for(int i=0;i

for( i=0;i

return a; } public static String name(String s1){ String a = "无此书"; for(int i=0;i

return a; } public static boolean start(){ menu m=new menu(); m.bookmanger(); int x; Scanner me= new Scanner(System.in); x=me.nextInt(); switch(x){ case 1:show();break; case 2:delete();break; case 3:addd();break; case 4:return false; } return true; } }

public class gift { public String number; public String caption ; public int costjf; gift(String s1,String s2,int a){ number=s1; caption=s2; costjf=a; } }

package manger; import java.util.ArrayList; import java.util.Scanner; import manger.vipmanger; import manger.vip; import System.menu; import manger.gift; public class giftmanger { static ArrayList giftgroup=new ArrayList(); public giftmanger(){

giftgroup.add(new gift("001","鼠标垫",100));

giftgroup.add(new gift("002","书夹子",50));

giftgroup.add(new gift("003","中性笔",30)); } static void show(){ for(int i=0;i

System.out.println("请输入要删除的礼品编号:");

String s;

Scanner ss=new Scanner(System.in);

s=ss.next();

boolean b1=true;

for(int i=0;i

if(s.equals(giftgroup.get(i).number))

{giftgroup.remove(i);

b1=false;

}

if(b1)System.out.println("查无此礼品!"); } static void addd(){

System.out.println("请输入要添加的礼品编号,名称,所需积分:");

String s1,s2;

int a;

Scanner me=new Scanner(System.in);

s1=me.next();

s2=me.next();

a=me.nextInt();

gift g1=new gift(s1,s2,a);

giftgroup.add(g1); } static void exchange(){

String s1,s2,c="无此礼品";

int a,b=0;

giftmanger.show();

Scanner me=new Scanner(System.in);

System.out.println("请输入您的会员编号:");

s1=me.next();

System.out.println("请输入您要兑换的礼品编号:");

s2=me.next();

System.out.println("请输入您要兑换的礼品数量:");

a=me.nextInt();

boolean b1=true;

for(int i=0;i

{b=giftgroup.get(i).costjf;

c=giftgroup.get(i).caption;

b1=false;

}

if(b1==true)System.out.println("查无此礼品!");

else vipmanger.exchange(s1, a, b);

System.out.println("兑换结果:");

System.out.println("礼品名称"+" "+"礼品积分"+" "+"礼品数量"+" "+"消耗积分");

System.out.println(c+" "+b+" "+a+" "+(a*b)); } public static boolean start(){

menu m=new menu();

m.gift();

int x;

Scanner me= new Scanner(System.in);

x=me.nextInt();

switch(x){

case 1:show();break;

case 2:delete();break;

case 3:addd();break;

case 4:exchange();break;

case 5:return false;

}

return true; } }

public class shoping { static void shop(){ bookmanger.show(); String s1,s2,s3;

int a,b=0; Scanner me=new Scanner(System.in); System.out.println("请输入您的会员编号:"); s1=me.next(); System.out.println("请输入书籍编号:"); s2=me.next(); System.out.println("请输入购买数量:"); a=me.nextInt(); b=bookmanger.price(s2); s3=bookmanger.name(s2); System.out.println("书名"+" "+"单价"+" "+"数量"+" "+"总价"); System.out.println(s3+" "+b+" "+a+" "+(a*b)); vipmanger.shop(s1, a, b); } public static boolean start(){ menu m=new menu();

m.shopping();

int x;

Scanner me= new Scanner(System.in);

x=me.nextInt();

switch(x){

case 1:shop();break;

case 2:return false;

}

return true; } }

public class menu {

void mainmenu(){

System.out.println("

书店管理系统");

System.out.println("****************************");

System.out.println("书店管理系统");

System.out.println("

1、会员管理");

System.out.println("

2、书籍管理");

System.out.println("

3、购物结算");

System.out.println("

4、积分兑换礼品");

System.out.println("

5、注销");

System.out.println("****************************");

}

public void vip(){

System.out.println("书店管理系统>会员管理:");

System.out.println("****************************");

System.out.println("

1、显示会员信息");

System.out.println("

2、删除会员");

System.out.println("

3、添加会员");

System.out.println("

4、修改会员信息");

System.out.println("

5、查询会员");

System.out.println("

6、返回上层菜单");

System.out.println("****************************");

}

public void bookmanger(){

System.out.println("书店管理系统>书籍管理:");

System.out.println("****************************");

System.out.println("

1、书籍信息查询");

System.out.println("

2、删除书籍");

System.out.println("

3、添加书籍");

System.out.println("

4、返回上层菜单");

System.out.println("****************************");

}

public void shopping(){

System.out.println("书店管理系统>购物结算:");

System.out.println("****************************");

System.out.println("

1、购物");

System.out.println("

2、返回上层菜单");

System.out.println("****************************");

}

public void gift(){

System.out.println("书店管理系统>礼品兑换:");

System.out.println("****************************");

System.out.println("

1、礼品信息");

System.out.println("

2、删除礼品");

System.out.println("

3、添加礼品");

System.out.println("

4、兑换礼品");

System.out.println("

5、返回上层菜单");

System.out.println("****************************");

}

public static void main(String[] args) {

loaduser u1=new loaduser("manger","416426");

u1.load(); menu m1=new menu();

vipmanger vip=new vipmanger(); bookmanger book=new bookmanger(); giftmanger gi=new giftmanger();

while (true){

m1.mainmenu();

int x;

Scanner me=new Scanner(System.in);

x=me.nextInt();

switch(x){

case 1:while( vipmanger.start());break ;

case 2:while(bookmanger.start());break;

case 3:while(shoping.start());break;

case 4:while(giftmanger.start());break;

case 5:u1.load();

}

}

} }

第8篇:Java图书管理系统实习报告

陕西科技大学毕业实习(专业实习)报告

一、 实习目的

本次实习的目的主要有2个:

(一) 通过亲手对计算机硬件的拆卸,对计算机的硬件要有更深刻的认识和理解。

(二) 通过设计图书管理系统,对相关编程知识有了更进一步的运用,以及其具体实现的细节也有了更深刻的认识。

二、 实习单位及岗位介绍

本次实习在陕西科技大学理学院的综合实验室进行。

三、 实习安排

本次实习的时间是三周:前一周进行硬件实习,后两周进行软件实习。

四、 实习内容

(一) 硬件实习:

2月23日开始了为期1周的硬件实习,在这段时间里,主要是进行了对计算机主机进行了装卸,通过装卸让我们对计算机内部各个部件的协同工作有了更深的认识。 (二) 软件实习:

3月1日开始了为期2周的软件实习。我选择的题目是“图书管理系统”, 对于这个题目,整个系统是由3个数据表,3类用户,以及4类动作。 1. 配置数据库

在SQL Server2000中创建图书管理系统的数据库demo,创建3个数据表books,bookBrowse,UserTable。

2. 生成配置文件hibernate.cfg.xml.文件如下:

1

陕西科技大学毕业实习(专业实习)报告

3. 创建持久化对象以及创建映射文件:

4.Hibernate操作数据库的方法(HibernateUtil.java)。

2

陕西科技大学毕业实习(专业实习)报告

5. 系统主界面(LibraryWindow.java)。 6. 用户管理:

1) 用户登录(UserLogin.java) 2) 添加用户(UserAdd.java) 3) 修改用户(UserModify.java) 4) 删除用户(UserDelete.java) 7. 书籍管理模块:

1) 书籍添加(BookAdd.java)

2) 书籍信息修改(BookModify.java) 3) 书籍删除(BookDelete.java) 4) 书籍列表(BookList.java) 8. 借书管理模块:

1) 借阅图书类(BorrowBook.java) 2) 修改出借图书信息(BorrowInfo.java) 9.

还书管理模块:

1) 书籍还入(ReturnBook.java) 2) 还书信息类(ReturnInfo.java) 10. 部分运行效果图如下:

3

陕西科技大学毕业实习(专业实习)报告

4

陕西科技大学毕业实习(专业实习)报告

五、 实习总结和体会

通过这次实习,我对计算机的软件和硬件有了全面的了解。

拿硬件来说吧,以前也就是听说过什么总线,cpu,主板,硬盘这些概念,通过实习我真实的接触了这些部件,对其内部的安装有了直接的认识。 拿软件来说,这次我做这个系统只要是应用java语言的AWT元件和swing组件,以及hibernate实现从对象到关系的映射,其实我做的时候对hibernate也不是很了解,但是做的过程发现了困难就会主动的去找各种资源寻求解答,当然这个过程就是成长的过程。软件架构或者语言有很多很多,所以,我还得好好努力啊。

5

第9篇:人事管理系统Java课程设计报告

湖南科技大学计算机科学与工程学院

数据库课程设计报告

题目:人事管理管理系统

学 号:1005030221 姓 名:艾向兵 指导教师:张黎

完成时间:2012年1月4日 组员:苏勇,成佳裕,艾向兵

企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配 1.1系统功能需求分析

人事管理系统主要有以下几项功能要求: .新员工资料的输入。

.自动分配员工编号,并且设置初始的用户密码: .人事变动的记载,包括岗位和部门的调整。 .员工信息的查询和修改,包括员工个人信息和密码 1.2 系统功能模块设计

根据系统功能要求,可以将系统分解成几个模块来分别设计应用程序界面,如图,

人事资源管理 包括:新员工档案输入,人事变更,员工档案查询

1.3 与其它系统的关系

本关系是公司管理信息系统的基础部分,为其他子系统,如考勤管理系统,工资管理系统和员工培训系统,提供员工的基本信息。同时为其他系统提供了员工登录的密码认证和权限分配。 1.4数据库设计 数据库需求分析:

员工信息:员工号,密码,权限,姓名,性别,生日,专业,通讯地址,电话,Email,当前状态,其他。

人事变动:记录号,员工,变动,详细描述

部门设置:部门编号,名称

员工变动代号表

员工信息表

员工职位代码表

管理员登陆界面

信息查询,修改,删除主界面

查询单个员工的界面

总 结

这次的课程设计,是在学习了Java以后通过阅读课本及在图书馆借阅相关书籍同严景、孟珍三人共同完成的。在开发这个系统的过程中,碰到很多或大或小的问题,我们一起思考,一起努力,最后大部分都解决了,得到了现在的这个简单的人事管理系统。

在编制过程中,我们首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。一开始我们是想做个登录界面,实现用户的登录权限管理,但试了几次都没有达到预期的效果,最后不得不放弃。

通过这次课程设计,我知道了什么事情都不那么简单,只有努力去做了,你才会有收获,不管收获大小,付出的过程总是有的。有些事情只有亲身感受,你才知道它的价值有多大。同时在遇到困难的时候要沉着冷静,首先要冷静分析问题,对于很难解决的问题要学会请教他人,还可以与别人合作。

在这次数据库系统课程设计中,我主要进行的是界面的设计,以及进行进行整合操作,界面是我学习Java以来第一次做,以前不怎么用的JTabel等,现在都已经熟练的应用了,特别是这次的弹出窗口,我在做这个的时候可谓是一窍不通,因为把按钮JButton定义为了局部变量而在时间响应中而得不到另一个窗口的弹出。

还有就是在整个过程中的ID传递让我不知怎么办,一个简单的参数传递才得以搞定,基础知识还是不够牢靠。在得到修改表的数据库内容后未把值传给表格。

虽然这次课程设计付出了大量的时间,但是我知道我得到的收获远远不是这些时间可以衡量的,它将给我今后的学习和工作带来更多的收益。通过对此课题的开发,使我对用Java开发系统有了一个比较清楚的认识,体会到理论和实践的重要性。由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如没有设置登录界面,没有考虑到异常等多方面问题,这些都有待进一步完善和提高。对于文中出现的不足和系统中出现的问题敬请老师指导。

弹出登录程序的界面程序

public void actionPerformed(ActionEvent e){

if(e.getSource()==okButton){

String userID=text.getText(); String passWD=String.valueOf(passwd.getPassword()); if(userID.equals("1")&&passWD.equals("1")){

JOptionPane.showMessageDialog(null, "登陆成功!", "消息", JOptionPane.INFORMATION_MESSAGE);

new UserWindow2().userWindow2();//弹出第二个窗体

} else{

JOptionPane.showMessageDialog(null, "对不起您的用户名或密码错误!", "错误",JOptionPane.ERROR_MESSAGE);

text.setText(""); passwd.setText(""); } } if(e.getSource()==deleButton){

text.setText(""); passwd.setText(""); }

} 进行信息查询,修改,删除的程序响应代码:

public void actionPerformed(ActionEvent e){

if(e.getSource()==button1){

new UserWindow3();

} if(e.getSource()==button2){

UserWindow7 u= new UserWindow7(); u.userWindow7(); } if(e.getSource()==button3){ UserWindow5 u=new UserWindow5();

u.userWindow5(); }

public void actionPerformed(ActionEvent e){

if(e.getSource()==button){ int id= Integer.parseInt(text0.getText());//得到用户编号

String name=text1.getText();//得到用户姓名

String sex=text2.getText(); //得到性别

String birthDay=text3.getText(); //得到生日 String department=text4.getText();//得到所在部门 String job =text5.getText();//得到职位

String education=text6.getText();//得到教育程度 String spcialty=text7.getText();//专业技能 String address=text8.getText();//得到地址 String tel=text9.getText();//得到电话

String email=text10.getText();//得到电子邮箱 String state=text11.getText();//得到员工状态 String remark=text12.getText();//得到备注 Insert in=new Insert();//

boolean b;

b=in.insert(id,name,sex,birthDay,department,job,education,spcialty,address,tel,email,state,remark); if(b){ JOptionPane.showMessageDialog(null, "数据保存成功!", "消息", JOptionPane.INFORMATION_MESSAGE); }

} }

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

id = Integer.parseInt(text.getText());

if(e.getSource()==button){ UserWindow8 us = new UserWindow8(); us.userWindow8(id);

}

Container container=this.getContentPane(); container.setLayout(new BorderLayout());

JPanel pan =new JPanel(); JLabel lab = new JLabel("请输入工号:"); JTextField text=new JTextField(10); JButton button =new JButton("查询"); JButton button1=new JButton("删除"); pan.add(lab); pan.add(text); pan.add(button); pan.add(button1); container.add(pan);

String []titles={"员工编号","姓名","性别","生日","部门","职务","教育程度","专业技能","家庭住址","联系电话","电子邮箱"};

String [][]userInfo={};

JTable table =new JTable(userInfo,titles); table.isCellEditable(2,2); JScrollPane scrollpane

=new

JScrollPane(taboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo......................le);

container.add(scrollpane,BorderLayout.SOUTH);

上一篇:中国电影市场营销下一篇:英语个人教研活动计划