基于web技术的合同管理系统的设计和实现.doc
- 文档编号:1233193
- 上传时间:2023-04-30
- 格式:DOC
- 页数:36
- 大小:411KB
基于web技术的合同管理系统的设计和实现.doc
《基于web技术的合同管理系统的设计和实现.doc》由会员分享,可在线阅读,更多相关《基于web技术的合同管理系统的设计和实现.doc(36页珍藏版)》请在冰点文库上搜索。
北京大学 基于web的合同管理系统的设计和实现
基于web技术的合同管理系统的设计和实现
摘要
文章介绍了采用流行的B/S模式开发的一个组合是合同管理系统。
对于关键技术:
用Apache建立Web站点、MySQL建库策略、PHP编程与应用进行了深入分析。
合同管理系统的设计采用了PHP语言,smarty模板等技术开发,在WindowsXP操作系统,Apache服务器和Mysql5.1数据库系统的支持下运行。
首先说明了开发合同管理系统的目的,分析并说明了系统的需求,然后应用面向对象模型对系统的各个子模块、系统流程、组件、类库、数据库和编码等部分进行了分析和设计。
该合同管理系统能够实现数据的输入、删除、修改、查询、日志和统计等基本功能,适用于中小型企业的合同管理。
关键字:
Web,Apache,MySQL,PHP,合同管理
DesignofWeb-BasedContractManagementSystem
ABSTRACT
ThispaperintroducestheuseofthepopularB/Smodeldevelopedbyacombinationofacontractmanagementsystem.Thekeytechnologies:
WebsitesetupbyApache,MySQLbuildingadatabasestrategy,PHPprogrammingandapplicationofin-depthanalysis.ContractmanagementsystemwasdesignedwithPHPlanguage,smartytemplates,andothertechnologydevelopment,intheWindowsXPoperatingsystem,ApacheserveranddatabasesystemsupportMysql5.1run.Theoutsetthatthepurposeofcontractmanagementsystemdevelopedtoanalyzeandexplainthesystemrequirements,thentheobject-orientedmodelofeachmoduleofthesystem,thesystemprocesses,components,libraries,databasesandcodingpartsoftheanalysisanddesign.Thecontractmanagementsystemtoinputdata,delete,modify,query,logsandstatisticsandotherbasicfunctions,thecontractformanagementofsmallandmediumenterprises.
Keywords:
Web,Apache,MySQL,PHP,ContractManagement
目 录
ABSTRACT 2
1.相关技术 4
1.1PHP介绍 4
1.2数据库MYSQL 7
1.3APACHE介绍 8
1.4B/S架构介绍 10
2.系统分析与设计 12
2.1系统的功能设计 12
2.2系统的流程设计 12
2.3系统流程图和功能图 14
2.4系统功能结构分析 15
2.4.1添加合同 15
2.4.2修改合同 15
2.4.3停用/启用合同 15
2.4.4打印合同 16
2.4.5查看日志 16
2.5数据库设计 16
2.5.1数据库的设计 17
2.5.2合同信息表contract_order的设计 17
2.5.3合同日志表log_order的设计 18
2.5.4管理员表member的设计 18
2.5.5合同信息表和合同日志表的关系 19
3.系统实现 19
3.1系统运用的技术 19
3.1.1JQUERY的Ajax技术 19
3.1.2PHP+SMARTY让你的开发更简单 21
3.2系统功能模块 22
3.2.1用户管理 22
3.2.2合同管理 23
3.3系统前台页面 29
3.3.1合同列表页ContractList.php 30
3.3.2合同详细页ContractManage.phpaction为view 30
3.3.3合同搜索页ContractSreach.php 31
4.结束语 33
致 谢 35
参考文献 36
1.相关技术
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们的政治、经济、工作甚至日常生活等各个方面发挥着重要的作用。
合同管理是指对合同以及相关资源进行简单而且科学完善的管理,它是企业管理中不可缺少的重要组成部分。
该合同管理系统为企业合同管理找到一种便捷、有效、实用的方法和途径,编制这样一套合同管理系统软件有着尤为重要的意义。
同时合同管理作为企业管理中的重要一环,对合同数据的准确性、数据传输的安全性和业务处理的规范性有很高的要求.也正因如此,合同管理工作中繁琐的业务流程限制了管理人员工作效率的提高;另外,如何有效地利用庞大的合同历史数据,为合同管理人员提供必要的决策支持也成为一项新的课题.
随着我国企业信息化水平的提高,合同管理已逐步由传统的手工作业转化为计算机管理.初期的合同管理系统为文档管理系统,实现合同生命周期的过程记载,而后发展为数字化合同模型,对合同实行元素化管理,形成了规范的数据结构,可方便进行数据统计、比较和查询分析。
所以合同管理系统也就自然而然的成为公司企业的首选。
本文介绍的合同管理系统就是基于中小型企业的合同管理方面的一个应用程序。
PHP技术为开发B/S结构的应用程序提供了高效的平台。
同时编写PHP语言的开发工具也有很多供选择。
PhpMyAdmin3.10是对Mysql数据库进行操作的辅助软件。
用这个软件可以很快捷的对数据库操作。
所以,在这些系统支持下运行应用系统数据通信快,兼容性好,运行效率高,并且还可以提高系统的开发效率,缩短开发周期。
1.1PHP介绍
PHP,是英文超级文本预处理语言HypertextPreprocessor的缩写。
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。
(1)PHP语言简介:
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
它可以比CGI或者Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
(2)PHP的发展:
PHP于1994年由RasmusLerdorf创建,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。
后来又用C语言重新编写,包括可以访问数据库。
在1995年以PersonalHomePageTools(PHPTools)开始对外发表第一个版本。
在1995年中,PHP2.0发布了。
第二版定名为PHP/FI(FormInterpreter)。
PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。
到了1996年底,有15000个网站使用PHP/FI;1997年中,使用PHP/FI的网站数字超过五万个。
而在1997年中,开始了第三版的开发计划,开发小组加入了ZeevSuraski及AndiGutmans,而第三版就定名为PHP3。
2000年,PHP4.0又问世了,其中增加了许多新的特性。
2008年PHP5成为了PHP唯一的有在开发的PHP版本。
将来的PHP5.3将会加入Latestaticbinding和一些其他的功能强化。
PHP6的开发也正在进行中,主要的改进有移除register_globals、magicquotes和Safemode的功能。
(3)PHP的特性
1、开放的源代码:
所有的PHP源代码事实上都可以得到。
2、PHP是免费的。
3、PHP的快捷性
4、跨平台性强。
由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。
5、效率高:
PHP消耗相当少的系统资源。
6、图像处理:
用PHP动态创建图像
7、面向对像:
在php4,php5中,面向对象方面都有了很大的改进,现在PHP完全可以用来开发大型商业程序。
8、专业专注;PHP支持脚本语言为主,同为类C语言。
(4)PHP的技术应用:
伪静态,静态页面生成,数据库缓存,过程缓存,DIV+CSSw3c标准,大负荷,分布式,JQUERY框架集成,flex,桌面程序应用
(5)PHP语言的优势。
我个人认为PHP有以下的几点优势:
1.PHP脚本程序的速度相对于ASP是很快的因为ASP是建立在COM体系结构之上的。
当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。
这些COM对象的使用使运行速度下降。
在PHP代码中,所有的工作都运行在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运行速度会快一些。
2.高级内存管理在IIS4下,一个ASP脚本header.asp,如果被20个页面所包含,那么运行的时候,在内存当中会保留这20个header.asp的编译副本,IIS5解决了这个问题,但只有windows2000才支持IIS5,由于这种IIS5的不能向下兼容的原因,许多服务器仍然要使用IIS4下的低级的内存管理。
而在PHP中,不会存在这种问题,只有当require时,才会调用某个include文件
3.MySQL使PHP更精彩PHP与MySQL的组合既简单又精彩。
PHP有许多管理和维护MySQL的工具,对MySQL的支持是最全面的。
许多有用的函数如mysql_insert_id和MySQL_affected_rows等,其他的数据库则没有。
ASP和PHP都是中型网站的较理想的解决方案,但PHP与MySQL的紧密结合使PHP更加优越。
MySQL的虚度比MicrosoftACCESS速度快,Mssql和Oracle速度比MySQL要快,可是费用较高。
4.Java和C++的变成风格这个优点只是一个看法。
我知道你不会相信一个VisualBasic程序员会因为PHP有Java和C++的编程风格而转向使用PHP,但你会相信有许多人还是喜欢Java和C++的,PHP是一种具有这两种语言的编程风格的较容易学习的语言。
PHP支持结构化编程,在VB因为他的继承性使用类还是较少的。
而PHP的像Java和C++一样的继承性使一个大型的程序中到处都充满了类的影子。
5.Bug的处理。
你是否曾经要求Microsoft修改ASP的一些Bug呢?
如果你不是一个像Boeing一样的组织,你无法获得迅速而恰当的修改,那么当你遇到Bug而停止工作时,如果这个Bug不修改,你将无法继续你的工作的。
PHP,当你发现Bug时,你可以修改他,如果你没有专家的水平,你可以请专家修改,并且你的修改会得到开放代码组织的接受和认可。
6.PHP代码可以再WINDOWS,LINUX下运行,直接复制代码就可以。
方便快捷。
综上这些优点所有选择了PHP语言进行开发。
1.2数据库MYSQL
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
(1)MYSQL的特性:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
8.提供用于管理、检查、优化数据库操作的管理工具
9.可以处理拥有上千万条记录的大型数据库
(2)MySQL的应用:
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。
由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。
1.3APACHE介绍
Apache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛
ApacheServer配置界面
使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。
Apache取自“apatchyserver”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。
Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。
Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个ApacheWeb站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。
世界上很多著名的网站如A、Yahoo!
、W3Consortium、FinancialTimes等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。
当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。
就这样,诞生了ApacheGroup,后来这个团体在NCSA的基础上创建了Apache。
Apacheweb服务器软件拥有以下特性:
支持最新的HTTP/1.1通信协议
拥有简单而强有力的基于文件的配置过程
支持通用网关接口
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
提供用户会话过程的跟踪
支持FastCGI
通过第三方模块可以支持JavaServlets
APACHE有名的几个项目介绍:
1.HTTPServer
2.Jakarta
3.Struts
4.Tomcat
1.4B/S架构介绍
B/S架构软件的优势与劣势
(1)、维护和升级方式简单。
目前,软件系统的改进和升级越来越频繁,C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。
B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。
对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。
如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。
(2)、系统的性能
在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。
任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。
不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。
采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。
而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。
而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。
比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
(3)、系统的开发
C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。
这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。
这使得应用程序的维护、移植和互操作变得复杂。
如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。
但是,与B/S结构相比,C/S技术发展历史更为“悠久”。
从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。
2.系统分析与设计
2.1系统的功能设计
合同管理系统的主要功能包括合同的录入,合同修改,合同的查询功能,按合同名称、签订合同的单位、合同的有效期合同到期后可邮件通知,合同到期后的停用,启用功能,合同的详细信息并且可以打印的功能,合同日志的查看,打印功能。
系统功能具体如下:
(1)录入功能:
允许管理员添加新的合同,包括合同的基本信息和乙方的信息。
(2)修改功能:
允许管理员对合同的基本信息和乙方信息进行修改。
(3)查询功能:
允许管理员对所有合同进行查询。
查询方式按合同名称,合同状态,签订合同的单位以及合同的有效期来查询。
另外还有可以按升序降序的排列。
(4)邮件功能:
合同到期时,向合同乙方的管理员发送邮件提醒。
(5)停用/启用功能:
合同到期后可以选择停用合同,续费后可以继续启用。
(6)打印功能:
在合同的查看详细页面里设有打印按钮,可以打印此页面的合同内容。
2.2系统的流程设计
对此系统使用了控制权限,在页面开始加载的时候会判断是否登录,如果没有登录直接访问页面的会一律的跳转回登录页面。
这样来可以提高系统的安全性。
具体流程如下图所示:
返回
添加合同
返回
访问页面时候判断是否有登录用户
返回
验证用户身份
登录
登录失败 登录成功
没有 有
2.3系统流程图和功能图
由于目前考虑到系统就是一个管理员操作的所以没有设定多用户的程序。
网站管理员首先进行系统登录,登录进来以后,可以对合同进行添加,修改,查看等操作。
网站的系统流程图如下:
管理员登录
数据库
输
合同添加
入
密
合同日志查看
合同搜索查看
合同停用/启用
合同修改
登录成功
码
读
取
数
据
前台html模板
前台PHP程序
系统流程图
下面为系统的功能图:
停用
合同添加
启用
合同停用/启用
数据库
乙方
合同修改
合同名称
合同搜索查看
合同有效期
合同状态
合同日志查看
2.4系统功能结构分析
根据客户的需求本系统一共分为合同的添加,合同的修改,合同的打印,合同的停用/启用以及合同的搜索查询和查看合同的日志这六个功能模块。
管理员登录系统后便可以对这六块进行相应的操作。
2.4.1添加合同
该模块主要是对合同的添加进行的操作。
管理员点击创建合同即可进入合同添加的前台页面,该页面主要需要管理员填写合同的基本信息,比如合同名称,乙方等等。
还会填写乙方的一些信息比如管理员的联系方式等等。
另外页面还做了一些效果比如合同日期的选择,不会让管理员自己输入。
填写合同费用后,系统自动会填写数字的大写汉字。
加入这些可以更好的提高用户体验。
为管理员带来方便。
2.4.2修改合同
该模块主要是对合同的修改进行的操作。
管理员点击合同详细的后可以进入详细的页面,在页面最下端有一个修改的按钮,管理员可以点击按钮进入修改页面,对合同的每个信息进行修改,然后点击提交完成操作。
不想修改的信息就保留不动。
这块也有一个JAVASCRIPT的用法,就是点击修改后带有文本框可以修改的表格显示,之前的表格隐藏
2.4.3停用/启用合同
该模块主要对合同的标识进行的操作。
分为过期停用和已签订启用这两个状态。
系统会根据签订的有效期来判断合同的过期时间。
管理员可以把过期的合同置为停用的状态表明合同暂时为不可用,当乙方续费成功后管理员可以把合同的状态置为启用来表明合同从新生效。
这样避免了删除合同后在想查询此合同数据库里没有的问题。
2.4.4打印合同
该模块主要对合同的打印进行了操作。
在合同的详细页面最低端有打印的按钮,管理员点击此按钮可以出发JAVASCRIPT的打印功能,从而打印页面显示合同信息的表格。
2.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 技术 合同 管理 系统 设计 实现