【java毕业设计】基于JAVA+JSP的企业合同管理系统设计与实现(毕业论文+程序源码)——企业合同管理系统

基于JAVA+JSP的企业合同管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于JAVA+JSP的企业合同管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 论文详细论述了公司合同管理系统的开发设计过程。软件采用JSP开发技术,Tomcat作容器, SQL Server 2000作数据库管理系统,实现了创建合同、修改合同、删除合同、合同收款提醒、合同时间管理、合同查询等几大功能。软件符合公司合同管理的需求,能够帮助公司切实提高工作效率。软件的开发符合一般管理软件的开发流程,对开发其他类似的管理软件具有相当的参考价值。

  2. 论文组织如下:首先阐述了该系统的开发背景、意义;其次介绍了相关的理论基础;接着对系统的需求进行了分析,并提出了具体的设计方案;然后展现了系统各功能模块的实现;最后对该软件进行了严格的测试。

  3. JAVA_JSP企业合同管理系统主要用于实现企业合同的管理,
    基本功能包括:修改个人密码、合同信息管理、收款提醒模块、安全退出系统等。本系统结构如下:
    (1)修改个人密码模块:
    修改个人密码:实现修改个人密码功能;
    (2)合同信息管理模块:
    合同信息管理:实现合同信息的展示、删除、添加功能;
    合同信息录入:实现合同信息的添加功能;
    合同信息查询:实现合同信息的查询功能;
    (3)收款提醒模块:
    添加收款提醒: 实现收款提醒的添加功能;
    添加收款管理: 实现收款提醒的展示、删除功能;
    (4)安全退出系统模块:
    安全退出系统: 实现安全退出系统功能;


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:14586个字24页
包含内容:整套源码+完整毕业论文+答辩PPT


3、关键词:

合同管理;JSP;Tomcat;SQL server 2000

4、毕设详解:

提示:以下为毕业设计的简略介绍,项目源码及完整毕业论文下载地址见文末。

1、引言
1.1 开发背景
在人类的文明历史中,一直以来合同管理都是手工作业,由于涉及部门众多,需要管理的合同要素也各不相同。因此造成信息不集中,实时性不强,不断的出现各个部门间合同流转时间过长,监督制度执行方面效率不高,并且容易出错的一系列费时费力问题。

1.2 课题研究的意义
在背景里已经合同管理的现状,在这种大环境下,公司对合同管理也变的十分重要了,怎么提高管理效率,实现员工的工作智能化,成为迫切需要解决的问题,而此管理软件正是为满足公司的管理而出现的。

1.3 发展趋势
现在主流的数据库就三种:Access, Oracle和SQL Server。Access短小精干,操作方便,是开发小型系统的首选;Oracle功能强大,适合开发大型系统;但是我们选择SQL Server,它兼备Access和Oracle优点,强大的可视化操作和不亚于Oracle的功能是我们选择它的理由。

1.4 系统开发方法
本系统是以Browser/Server(浏览器/服务器)结构和JSP语言及SQL Server2000数据库和TOMCAT作为服务器开发的管理系统。首先,使用JSP具有较好的安全性和可移植性,具有动态页面和静态页面分离,能够脱离硬件平台的束缚,而使用Browser/Server结构是因为这种结构可以减少客户端很大维护工作量,且具有很强的使用范围的伸缩性,客户端通过浏览器统一界面,就可以完成内部的信息处理和外部环境的信息查询,而使用SQL Server2000主要是由于它有快捷而健全的数据库查询引擎,能够保护数据库以防止不合法的使用所造成的数据泄露,更改或破坏,SQL Server提供多层用户身份验证的安全保证,其次,公司要求用JSP来实现系统功能,基于以上两方面的原因,采用了JSP来实现系统的建设。

1.6 可行性研究
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。

1.6.1 经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。

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

1.6.3运行可行性
本系统的开发,是典型的Mis开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。采用流行的JSP+SQLSERVER 2000体系,已无技术上的问题。

1.6.4 时间可行性
从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。

1.6.5 法律可行性
① 所有技术资料都为合法。
② 开发过程中不存在知识产权问题。
③ 未抄袭任何网站,不存在侵犯版权问题。
④ 开发过程中未涉及任何法律责任。
综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。

2、相关技术简介
2.1 JSP技术简介
JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(.htm,.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。

在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。

2.2 JSP工作原理
省略

2.3 JSP体系结构
JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。

模式一:JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。

模式二:JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。

从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。

2.4 JSP的特点

  1. 简化的页面生成技术。
    JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。

  2. 与Java平台有机集成。
    JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。

  3. 硬件平台和服务器无关性。
    JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。

  4. 功能可扩展性。
    如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。
    JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接。
    JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。

2.5 SQLSERVER 2005
简略

2.6系统数据库连接
JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。

简单地说,JDBC能完成下列三件事:

  1. 同一个数据库建立连接;
  2. 向数据库建立连接;
  3. 处理数据库返回的结果。

数据库访问的三层结构如图5.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。
在这里插入图片描述

图5.1 使用中间件的数据库访问三层结构

在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图5.2所示。
在这里插入图片描述

图5.2 JDBC的三层模型

因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。

JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。
数据库连接如图5.3所示:
在这里插入图片描述

图5.3 数据库的连接处理

数据库的连接处理具体实现如下:

//建立JDBC——ODBC桥
sun.jdbc.odbc.JdbcOdbcDriver;
//桥建立不成功时的错误处理
catch(ClassNotFoundException event){}
//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中
	Con=建立JDBC——ODBCSql=SQL查询语句
	执行查询
	Rs=返回结果
//SQL出错处理
  	catch(SQLException e1){}

简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例:

Connection con = DriverManager.getConnection("jdbc:odbc:wombat""login""password"); 
Statement stmt = con.createStatement(); 
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); 
while (rs.next()) { 
int x = rs.getInt("a"); 
String s = rs.getString("b"); 
float f = rs.getFloat("c"); 
} 

上述代码对基于JDBC的数据库访问做了经典的总结。

2.7 BS模式与C/S模式的比较分析
省略

3、需求分析和设计方案
3.1 需求分析
根据客户的需要,本软件系统是公司合同管理系统,用户仅限于公司内部员工,需求功能主要是员工或者公司的管理层能通过软件系统,进行一系列的操作,从而实现管理公司的目的,下面是具体的需求:
(1)既然软件系统的用户仅限于公司内部的员工,所以就必须要有判断是否内部员工的功能。
(2)员工应该能从软件系统上查看合同,管理合同
(3)有一些突发事件随时有可能发生,如地址和联系方式的变化,这就要求员工能通过系统对自己的一些资料进行修改。
(4)员工不可能记的住公司所有合同等,所以要有通过查询得知一些合同的具体资料的功能。
(5)公司随时都可能根据合同的变化,删除,废止,修改合同。

3.1 功能模块图
需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,而设计方案则是根据需求分析,规划出系统的功能模块,具体的划分如下:

编写企业合同管理系统,让其能创建合同、修改合同、删除合同、合同变更标识、合同收款提醒、合同时间管理、合同废止标识、结束合同、合同统计、合同查询等几大功能。
(1) 创建合同
管理人员将签订后的合同的各项信息存入数据库中,使合同进入开始执行的状态。
(2) 修改合同
让管理的人员能对数据库里的合同的各项信息进行修改。
(3) 删除合同
管理人员能对无用的合同,进行删除。
(4) 合同变更标识
合同被修改后,系统会有标识指明合同曾被修改。
(5) 合同收款提醒
系统会标识到期收款的合同,方便用户对合同的收款。
(6) 合同查询
以合同的各项信息为关键字来对数据库进行查询。如图1所示:
在这里插入图片描述

图1 合同管理系统功能模块示意图

3.2 处理流程设计
3.2.1 系统操作流程图

在这里插入图片描述

3.2.2 数据增加流程
添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程图:

在这里插入图片描述

图3.2 数据增加流程图

3.2.3 数据修改流程
在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.3所示。
在这里插入图片描述

图3.3 数据修改流程图

3.2.4 数据删除流程
当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.4所示。
请添加图片描述

图3.4 数据删除流程图

4、数据库设计
4.1 数据库的概念设计
数据库的概念结构设计是反映全组织信息需求的整体数据库概念结构(概念模式)。概念模式必须是独立于计算机硬件和具体数据库管理系统,不受特定DBMS(数据库管理系统)的限制,不考虑计算机软硬件技术细节。在需求分析阶段得到的数据流程图对数据的动态运动轨迹进行了描述,数据库需求分析定义了数据本身的静态特征,但他们反映的仅是应用需求,并无反映出数据之间的本质联系(即数据的内在特征)。他们之间存在着数据关联并且靠数据库关键字段进行索引,建立表关联。
E-R图如下:
请添加图片描述

4.2 数据库逻辑结构设计
本网站采用MYSQL数据库它是由Microsoft公司开发。对于它的安全性和易操作性来说是开发者首选。

4.3 数据库物理结构设计
数据库在整个进销存管理系统中占据重要的地位,数据库结构设计的好坏直接影响系统和实现的效果。好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度。本系统采用MYSQL 的数据库,根据分析阶段对实体和联系的分析结果,进行表结构设计,可以得到以下数据表。

表4-1 管理员信息表(t_admin)
在这里插入图片描述

表4-2 合同信息表(t_hetong)
列名 数据类型 字段大小 必填字段 默认值 说明
id int 20 是 无 合同编号(主键)
Mingcheng varchar 50 是 无 合同名称
jiafangfuzeren varchar 50 是 无 甲方负责人
yifangfuzeren varchar 50 是 无 乙方负责人
kaishishijian varchar 50 是 无 开始时间
jieshushijian varchar 50 是 无 结束时间
jine Int 20 是 无 金额
beizhu varchar 50 是 无 备注

表4-3为合同提醒信息表,记录系统中已有合同提醒的信息。
在这里插入图片描述

4.4 输入输出设计
本管理系统输入设计数据根据输出的要求来选择。输出类型设计是根据需求设计为打印输出,这是用户通常要求的最主要的形式。输入内容设计主要是根据数据库设计和输出设计的结果来确定的。外部输入主要是键盘输入,内部输入只要是数据库中调用的信息,如会员资料信息的注册,在后台对帖子管理,用户信息,重要通知的添加。

4.5 代码设计
设计代码的目的是为了便于计算机和人识别和处理,更方便的进行分类和排序,使计算机对数据进行快速的查询。对客观实体,通过代码进行识别、分类。从计算机信息处理而言,使用代码节省处理时间与空间,提高处理速度与效率。代码设计在系统中,它是人与计算机的共同语言,起着沟通人与计算的作用。采用代码,可以使数据表达标准化、简化程序设计、加快输入、减少出错率、节省存储空间、提高处理速度。代码设计是一项重要的基础工作。因此,代码设计有他特有的意义。

5、系统模块设计
5.1 登陆模块
登录模块图示如图5-1所示:
在这里插入图片描述

图5-1 系统登录界面
页面程序说明,如表5-1所示:
表5-1页面程序说明
请添加图片描述

5.2 系统主界面
在这里插入图片描述

5.3 合同管理模块设计
5.3.1 合同管理
在这里插入图片描述

5.3.2 合同添加
在这里插入图片描述

5.4 合同收款提醒模块设计

在这里插入图片描述

5.5 合同查询模块设计
在这里插入图片描述

5、系统调试与测试
5.1 程序调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。

5.2 程序的测试
5.2.1 测试的重要性及目的
省略

5.2.2 测试的步骤
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。因此,大型软件系统的测试基本上由下述几个步骤组成:
(1)模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。
(2)系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
(3)验收测试 在这个测试步骤中发现的往往是系统需求说明书中的错误。

5.2.3 测试的主要内容
为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。
(1)单元测试
单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。
(2)集成测试
集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。
(3)确认测试
确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。
(4)系统测试
软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。
单独对系统的测试主要从以下几方面入手:
① 功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。
② 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。
③ 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。
经过上述的测试过程对软件进行测试后,软件基本满足开发的要求,测试宣告结束。

结束语
省略

致谢
省略

参考文献
[1] BruceEckel.《JAVA编程思想》. 机械工业出版社,2003年10月:1-378
[2]赛奎春.《JAVA工程应用与项目实践》. 机械工业出版社, 2002年8月:23-294
[3]FLANAGAN.《JAVA技术手册》. 中国电力出版社,2002年6月:1-465
[4]孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210
[5]LEE ANNE PHILLIPS.《巧学活用 JSP》.电子工业出版社,2004年8月:1-319
[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月:32-300
[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354
[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月:1-246
[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月:3-460
[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月:1-268
[11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月:1-410
[12]朱红,司光亚.《JSP编程指南》.电子工业出版


5、源码下载:

本项目源码及论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于JAVA+JSP的企业合同管理系统设计与实现(源码+文档)_JAVA_JSP_struct_合同管理系统.zip
  • 0
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值