1、摘要摘 要合同管理系统克服手工管理合同采用集中的数据管理,可以有效地改变企业信息分布比较散乱的现状。避免了繁琐的手工管理合同,利用审批流管 理,可以方便、快捷地处理企业管理事务;预警平台可以协助合同管理人员更轻 松地应对日常管理事务;报表管理的灵活定义,为管理部门的统计分析提供强大 的技术支持。合同管理系统通过全局设置和权限分配,可以由公司制订统一采用 的管理标准,比如,由公司设置业务单据必填字段,信息录入必须填写这些信息; 数据字典可以为某些信息项提供标准的选择项,防止录入人员的录入随意性;设 置统一的报表格式,信息输出时可以保证一致性。同时,系统也允许用户根据自 身的实际情况采取个性化的措
2、施,比如网格的列显示、自定义报表等。利用互联 网,领导可以在任何时间、任何地方进入系统,随时查阅与合同管理相关基本信 息,准确定位下属人员的工作情况,掌握合同执行现状,并方便地生成各种数据 报表或图表。同时,系统还提供强大的管理工具模块供客户选择,对这些信息进 行深入分析,为公司决策人员提供更多的智力支持。合同管理系统与企业管理咨 询相结合,可以为客户提供全面的合同管理解决方案。比如,通过系统的开放性 和灵活性,可以有效地固化专业咨询的工作成果,这就为客户合同管理能力及水 平的提升提供足够的平台支持。总之,通过合同管理系统的应用和实施,可以为 合同管理信息化和合同管理能力提升提供一个最佳的结合
3、点,切实打造企业核心 竞争力。关键词:数据管理;管理事务;报表管理;34 -目录目 录摘 要I目 录II第一章 绪论11. 背景介绍12. 企业合同管理的现状及发展前景13. 业务流程介绍2第二章 开发工具41. 开发平台41.1 J2EE介绍41.2 SQL SERVER 2000简介61.3 SQL简介8第三章 系统设计需求分析91. 软件设计的目与背景92. 软件设计的思想与目标93. 用户简介94. 系统功能介绍105. 系统用例图示10第四章 企业合同管理系统设计151. 总体设计的任务与原理151.1 实用为主151.2 实用可靠151.3 维护扩展方面152. 系统设计方案153
4、. 系统方案性能介绍163.1 功能强大163.2 性能稳定163.3 易于扩充16第五章 企业管理系统的实现171. 系统整体设计171.1 需求规定171.2 概念设计及流程171.3 结构设计182. 数据库设计192.1 建库分析192.2 系统数据流程图202.3 关系模式设计20第六章 企业合同管理系统的测试311. 测试目的312. 测试方案313. 测试用例323.1 管理员登陆测试323.2 修改密码测试323.3 修改查询部门测试324. 测试结果33结 论34参考文献35JavaEE框架与程序设计第一章 绪论1. 背景介绍随着经济的发展,企业正向着大型化、规模化发展,而对
5、大中型企业而言,随着规模的扩大,所签定的合同数量也急剧增加,在这种情况下单靠人工来处理、计算这些合同不但显示力不从心,而且极容易出错。开发任务就是制作一个企业合同管理系统。由计算机来代替人工执行一系列诸如新增合同、删除合同、修改合同、查询、打印等操作。这样就使办公人员可以轻松快捷地完成对合同管理任务,而且避免出错。企业合同管理系统以企业合同为主线,同时支持其他各类合同的管理。系统围绕企业合同的整个生命周期,将合同签约前评审、合同签定、合同执行、合同变更、合同付款等纳入科学化规范化管理,从而提高合同的管理效率和管理质量,全程跟踪合同执行过程,为企业控制成本、指定资金计划、洞察资金进度等提供强有力
6、的辅助工具,同时也为企业管理者对企业的成本核算提供了科学有效的依据,辅助极其及时发现管理上存在的主要问题,寻求到降低商业往来成本的有效途径,增强企业的市场竞争力。2. 企业合同管理的现状及发展前景采用手工管理合同,由于涉及的部门众多,需要管理的合同要素也各不相同,因此造成信息不集中,实时性不强,导致各部门协作,业务流程组建,监控制度执行方面效率不高,费时费力等问题,具体表现在如下方面:文档管理困难:传统纸质合同与电子版合同共存,但对于不同的人员想阅读参考合同时,存在查找不方便的问题。尤其是领导需要了解合同文本时需要耗费很多时间。进度控制困难:由于合同数目多,参与人员多,合同进度的控制基本靠手工
7、和普通word、excel管理已很难满足公司发展需要,并且当领导想全局或全程了解合同情况时存在很大障碍。财务人员的付款依据也与进度密切相关,但同样存在障碍。信息汇总困难:采用手工或EXCEL管理时,由于不同部门的数据格式不统一,采集也不能够及时继续,汇总工作需要耗费大量时间还不一定准确。对于领导的决策时间有一定的影响。缺少预警机制:缺少对合同进度、结款等关键节点的预警,不能准确地预测近期可能的收支项目,不能帮助公司进行财务规划,掌控现金流,更好地发挥资金运作。业务管理是合同管理的核心需求,合同管理软件必须解决实际业务管理中的问题,专注于合同管理的动态化、智能化、网络化,为企业提供合理的流程和业
8、务约束以及全方位的合同管理功能,包括合同起草、合同审批、文本管理、履约监督、结算安排,、智能提醒合同收付款、项目管理、合同结款情况统计分析、报表输出和决策支持等。合同管理系统可以为企业管理带来如下价值.规范基础数据管理。合同管理系统采用集中的数据管理,可以有效地改变企业信息分布比较散乱的现状。同时,系统提供自定义字段功能,可以为企业实现完整、规范的数据管理提供一个良好的平台支撑。总之,通过合同管理系统的应用和实施,可以为合同管理信息化和合同管理能力提升提供一个最佳的结合点,切实打造企业核心竞争力。合同管理系统客户信息:主要对客户号、单位名称、单位地址。联系人、联系电话、开户行、银行账号、税号、
9、电子邮件等的确认。进行编辑。客户信息维护:主要是在合同管理客户信息里的信息进行修改以及删除。合同信息:主要是对新合同的添加、客户名称、项目名称、合同生效时间及结束时间、成交金额及合同的内容。以及修改。合同的执行控制:对客户信息、合同信息、项目信息、合同执行、控制以及操作的详细内容进行完善。3. 业务流程介绍商务调查:资信、主体资格、不良记录等文书准备国家范本:定性审查、倾向审查,必须改造企业范本:立场审查、交易个案信息审查主动起草相对公平起草模式(常规合同:业务起草、法务人员翻译,非常规、重大合同:法务人员参与谈判,法务起草)文本审核:避免流转混乱,只能在上一个流转环节文本之上修订,避免文本混
10、乱文本签署:后盖章、两页以上骑缝章履约管理:要处处看合同、时时要谨慎、往来有痕迹;绝对避免单方对外出具(除非解约通知等法定或约定义务),最好对方单方承诺、申请,退而是双方备忘、纪要等;多主体之间的承接转合风险防范。争议解决:诉讼仲裁的选择;出现纠纷后的防范与补救(准备材料;分析利弊;虚假协商;最后的协商;是否保全;时机的把握;时效的把握;证据规则的改革及对举证技术的影响;权利用尽:管辖、反诉、上诉、申诉。)档案管理:业务部门保管、合同专门管理部门的保管、财务部门的保管分工、对接。培训管理:合同是业务、法务的融合,是业务素材的法律翻译,需要经常进行培训,尤其法务的技术培训。制度建设:合同管理办法
11、、印鉴管理办法、印鉴保管协议、印鉴管理协议、廉洁协议等,与公司其他制度衔接匹配(财务制度,授权制度等)。合同管理中业务和法务的关系:一致性:法务服务于业务。对立性:最坏思维、最优思维。 风险不一定是现实:不能不听不能全听,所以业务总要冒风险。法务的责任是预测风险、控制风险。是建议而不是决策。第二章 开发工具1. 开发平台1.1 J2EE介绍J2EE ( Java 2 Platform Enterprise Edition)是一套面向企业应用的体系结构,它是由Sun公司和多家公司共同参与制定的一个企业级的分布式应用规范。Java不仅仅是一门编程语言,随着其不断的发展,Java已经成为一门非常庞大
12、的技术体系。这个体系是以Java为核心的,它还包括JavaApplet、RMI-IIOP、JavaIDL/CORBA、JavaBeans、servlet、JSP、JSTL、JDBC、JNDI、EJB等等,而J2EE正是在Java的基础上整合了这些关键的技术而形成的一个新平台。Java2是Sun公司推出的第二代Java,为了将Java2推广应用到各个领域中,Sun公司先后推出了多个版本的Java2应用平台,分别为:袖珍版(J2ME)、标准版(J2SE)和企业版(J2EE)。Sun公司就是通过这三个版本的Java2平台,使Java的应用得到了极大的扩展。从家电设备中的嵌入式芯片、手机和掌上电脑,到
13、各种应用服务器现在都可以使用Java 2进行开发。在JaVa2以前,Java一直定位为一种语言,到Java2时,Sun公司实际上已经将Java定位成一种平台。由于包含了Java虚拟机(JVM)和Java运行环境(JRE),Java几乎是不依赖于任何操作系统的。例如,如果在Pentium处理器中嵌入JVM,那么Java语言就可以像汇编语言一样直接运行在处理器上了。Java平台使得用户可以直接在平台上进行开发,并在平台上运行。整个平台可以很容易地从一台机器移植到另一台机器上,而不用做任何更改。J2EE制定了一组规范,将J2EE的平台责任划分成七大部分以实现软件开发的分工。每个部分都由独立的供应商或
14、专业人员来完成,从而大大提高了开发效率。这七部分是:平台供应商:主要提供J2EE平台,包括组件容器、平台APIs等;组件供应商:负责提供应用程序组件,包括HTML教程页面设计人员、JSP程序员、EJB开发人员等等;组件装配人员:组装由组件供应商提供的组件,最后形成EAR(EnterPrise Archive)文件;部署人员:将装配好的组件部署到容器上;系统管理员:管理和维护部署好的系统;工具供应商:提供开发组件所使用的工具;系统组件供应商:提供系统组件。J2EE ( Java 2 Platform Enterprise Edition)是一套面向企业应用的体系结构,它是由Sun公司和多家公司共
15、同参与制定的一个企业级的分布式应用规范。Java不仅仅是一门编程语言,随着其不断的发展,Java已经成为一门非常庞大的技术体系。这个体系是以Java为核心的,它还包括JavaApplet、RMI-IIOP、JavaIDL/CORBA、JavaBeans、servlet、JSP、JSTL、JDBC、JNDI、EJB等等,而J2EE正是在Java的基础上整合了这些关键的技术而形成的一个新平台。Java2是Sun公司推出的第二代Java,为了将Java2推广应用到各个领域中,Sun公司先后推出了多个版本的Java2应用平台,分别为:袖珍版(J2ME)、标准版(J2SE)和企业版(J2EE)。Sun公
16、司就是通过这三个版本的Java2平台,使Java的应用得到了极大的扩展。从家电设备中的嵌入式芯片、手机和掌上电脑,到各种应用服务器现在都可以使用Java 2进行开发。在JaVa2以前,Java一直定位为一种语言,到Java2时,Sun公司实际上已经将Java定位成一种平台。由于包含了Java虚拟机(JVM)和Java运行环境(JRE),Java几乎是不依赖于任何操作系统的。例如,如果在Pentium处理器中嵌入JVM,那么Java语言就可以像汇编语言一样直接运行在处理器上了。Java平台使得用户可以直接在平台上进行开发,并在平台上运行。整个平台可以很容易地从一台机器移植到另一台机器上,而不用做
17、任何更改。J2EE制定了一组规范,将J2EE的平台责任划分成七大部分以实现软件开发的分工。每个部分都由独立的供应商或专业人员来完成,从而大大提高了开发效率。这七部分是:平台供应商:主要提供J2EE平台,包括组件容器、平台APIs等;组件供应商:负责提供应用程序组件,包括HTML教程页面设计人员、JSP程序员、EJB开发人员等等;组件装配人员:组装由组件供应商提供的组件,最后形成EAR(EnterPrise Archive)文件;部署人员:将装配好的组件部署到容器上;系统管理员:管理和维护部署好的系统;工具供应商:提供开发组件所使用的工具;系统组件供应商:提供系统组件。1.2 SQL SERVE
18、R 2000简介SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT。系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或M
19、S SQL Server。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000 的特性Microsoft SQL Server 2000 的特性包括:Internet 集成。 SQL Server 2000 数据库引擎提供完
20、整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功能。可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL S
21、erver 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。企业级数据库功能。 SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱
22、接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。易于安装、部署和使用。SQL Server 2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。数据仓库。 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理
23、 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发。sql server 2008是微软出的SQL系列最新版本。其主要特点如下:高性能设计,可充分利用WindowsNT的优势。系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。强壮的事务处理功能,采用各种方法保证数据的完整性。支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。SQL Server以其内置的数据复制功能、强大的管理工具、与In
24、ternet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。1.3 SQL简介SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多
25、数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT。系统上专注于开发推广SQL Server 的Wi
26、ndows NT 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。SQL Server 2000 是Microsoft公司推出的SQL Server数据库管理系统的最新版本该版本继承了SQL Server 7. 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用。
27、第三章 系统设计需求分析1. 软件设计的目与背景中国企业面临巨大挑战和机遇,利用合同管理系统为企业服务将员工从繁琐 的手工合同管理中解放出来,不仅减少了员工的工作量而且提高了员工的工作效 率和质量,从而增强了企业的竞争力和效益。在这个知识爆炸的年代,各种管理 软件层出不穷,日新月异,国内外聚焦企业管理软件,方便企业管理,以提高企 业办公效率和竞争力,因此企业合同管理系统应运而生,适应国内外企业软件开 发潮流。软件的好坏直接影响企业的办公效率从而制约企业的效益,因此本合同 管理系统本着最大方便企业办公的原则进行开发设计。2. 软件设计的思想与目标深入到企业单位进行详尽调研,与用户交流清楚了解用户
28、需求,设计整体方案。 采用SQL server 2005数据库系统作为企业合同管理系统的后台数据库,SQL server 2005数据库与WindowsXP有良好的兼容性容易安装,采用图形化的方式对数据 库进行管理与操作,大大简化了用户的开发与维护工作,另外SQL server 2005数据库 的方便性、灵活性、安全性为数据库编程提供了良好的条件。 由于J2EE具有功能强大的组件和可视化面向对象编程的特点,是开发 WindowsXP应用程序最简便、最快捷的工具之一,它是集先进性、实用性于一体的现代 化软件开发工具,因此采用J2EE为开发工具。3. 用户简介毕业设计选题系统主要针对董事长、总经理
29、和部门经理。董事长具有最高权限相当于本管理系统的超级管理员,具有添加删除用户的功能而总经理和部门经理没有此项功能。总经理和部门经理都只具有有限的权限,在各自权限范围内进行操作。每个用户都可以通过系统提供的修改密码模块修改自己登陆系统时的密码。该系统支持的用户完全符合实际中的用户权限使该系统更加人性化。4. 系统功能介绍本系统由5个模块组成,分别是系统管理功能模块,数据管理功能模块,往来单位信息功能模块,基础信息功能模块和签订合同功能模块。董事长功能:董事长可以添加修改删除用户。董事长可以查询添加修改删除往来单位信息董事长可以查询添加修改删除合同基础信息董事长可以查询修改添加删除部门信息董事长可
30、以查询修改添加删除签订合同信息总经理功能:总经理可以查询添加修改删除往来单位信息总经理可以查询添加修改删除合同基础信息总经理可以查询修改添加删除签订合同信息部门经理功能:部门经理可以查询添加修改删除往来单位信息部门经理可以查询添加修改删除合同基础信息部门经理可以查询修改添加删除签订合同信息5. 系统用例图示签约前合同评审项目名称项目国别项目业主合同额审批签名审评地点审评时间单位币种谈判日期谈判问题及解决方案实施方案概要其他评审主持人评审参加人评审汇报人审评意见填表人编号填表时间图3-1 合同评审实体图部门信息负责人设备员联系电话说明图3-2 部门实体图合同签订项目编号部门编号合同包号甲方名称详
31、细地址运输方式合计金额开户银行交货地点甲方电话甲方传真邮编结算方式详细信息签订日期包装办法甲方代表编号乙方代表图3-3 合同签订实体图违约索赔记录编号合同号问题内容问题日期负责人交涉结果索赔情况图3-4 违约索赔实体图合同更改记录抄送日期合同编号号合同签署人更改内容主办部门合同更改生效日期合同更改签署人编号图3-5 合同更改实体图支付手续表编号合同编号用途业务部经理审阅问题及处理支付日期支付次号图3-6 支付手续图用户密码类型用户名图3-7 用户实体图第四章 企业合同管理系统设计1. 总体设计的任务与原理一个好的管理系统,在开发之前必定有一个好的的开发方案和设计思想,方案是开发前的指明灯,思想
32、是开发软件的大方向,如果方案模糊或不清楚就会开发的一塌糊涂不能方便用户使用,如果没有一个好的开发思想那么开发的软件就会不完善或开发周期过长,因此在开发软件之前先就设计思想作了一个详尽的描述。 1.1 实用为主一个好的管理软件最重要的是什么呢,我想当然要算是使用了,如果一款软件不实用或使用不方便,那么即使它设计的再好界面再漂亮开发周期再长耗费资本再多功能再强大我想也都是徒劳无益的,所以该软件设计时本着实用为主的思想进行开发设计,把方便用户的使用放在首位。1.2 实用可靠其次该系统的设计思想是稳定可靠,在运行中不能光出错或被搞死,这体现了软件的严密性和开发的态度,开发者一定要认真负责,对用户负责严
33、格要求自己让软件即方便又稳定可靠。 1.3 维护扩展方面一款好的软件光具有方便用户使用和稳定可靠是不够的,还要易于维护和扩展才行,所以该系统本着方便用户使用、稳定可靠和维护扩展方便的目的进行开发设计,使开发出来的软件最具有价值。2. 系统设计方案本系统采用周期开发模式逐层扩展,在实现一定功能基础上逐渐添加新功能,软件的设计要实现用户所需要的全部功能,通过需求分析详尽了解用户需求,把开发中的难点和亮点一一列出方便软件开发进行下去。通过数据流图和程序设计流程图概括出该软件的框架,相当于建立软件的模型,有了模型开发起来就会方便许多。开发中要特别注重方便用户操作和维护方便在此前提下降低投入成本。用户操
34、作方便:用户使用此软件要容易上手才行,非专业用户打开本系统就可以对系统进行管理操作使用该系统进行工作,系统界面友好简单易懂一看即知道怎么操作,方便的同时还要稳定可靠,即无论怎么操作都不会出现错误或把软件搞死,这就需要设计程序时把所有情况都考虑到。管理维护方便:非专业的用户也可以对该系统进行管理维护,即管理维护操作简单易行。投入成本低:该系统是一款对企业合同的管理软件,主要对合同的一系列流程产生的数据进行管理操作,因此开发成本低开发周期不会太长。3. 系统方案性能介绍3.1 功能强大该系统主要对合同产生的一系列数据进行管理,覆盖了系统管理、数据管理、基础信息、往来单位信息和签订合同等模块,具有强
35、大的管理功能。可以对其中的数据查询打印导出。利用JavaEE提供的开发环境使系统功能更加强大,使用SQLServer2005为该系统提供强大方便的数据库操作。该系统提供的功能可以让非专业操作人员就可以利用该系统实现,所以该系统不仅功能强大而且操作极其方便简单一看即会。3.2 性能稳定该系统在Windows NT/XP、Vista或Win7下运行的软件系统,其性能极其稳定,在开发设计时考虑了所有要发生的情况并逐一作了处理保证系统安全稳定的运行。3.3 易于扩充本系统的设计采用标准的周期开发模式,其不论在功能上还是在程序代码上都极其易于扩充,采用的是螺旋模式逐层扩充,模块独立性高,完全符合软件工程
36、提倡的高内聚低耦合开发要求,扩充起来极其容易,各模块之间互不影响。第五章 企业管理系统的实现1. 系统整体设计1.1 需求规定本系统根据不同的用户权限不同做了不同的详尽的需求分析,把各用户所具有的权限和可以进行的操作一一列举了出来,这样既方便程序开发时对不同用户进行不同的限制,也使该系统功能层次分明,提高了软件的质量和文档的可读性。该系统具有五大主要模块,其中董事长权限最高可以对所有模块进行访问操作,总经理和部门经理只有其中有限的权限对部分模块可以进行访问操作。下面把他们具有的功能权限一一列举了出来:董事长功能:董事长可以添加修改删除用户。董事长可以查询添加修改删除往来单位信息董事长可以查询添
37、加修改删除合同基础信息董事长可以查询修改添加删除部门信息董事长可以查询修改添加删除签订合同信息总经理功能:总经理可以查询添加修改删除往来单位信息总经理可以查询添加修改删除合同基础信息总经理可以查询修改添加删除签订合同信息部门经理功能:部门经理可以查询添加修改删除往来单位信息部门经理可以查询添加修改删除合同基础信息部门经理可以查询修改添加删除签订合同信息1.2 概念设计及流程本系统设计了三种用户,分别为董事长、总经理和部门经理。针对不同用户设计了相关功能所涉及到的流程。设定唯一系统最高权限拥有者董事长adminastrator,当董事长使用adminastrator帐户登录后,可以查看系统中所有
38、模块信息,对系统中所有数据进行操作,董事长可以通过系统管理模块添加修改删除用户,可以通过数据管理模块添加修改删除部门信息,可以通过往来单位信息模块添加修改删除往来单位信息,可以通过基础信息模块对合同签订、合同修改、签约前合同评审分别进行添加修改删除操作,还可以打印导出,可以通过签订合同模块添加修改删除支付手续和违约索赔信息。总经理和部门经理具有部门董事长的操作权限,在这儿就不一一列举了。通过对系统需求规定的分析,可以看出,系统各个功能处理数据主要就是信息的添加、删除和修改。即:向数据库表中写入新数据,从数据库表中删除数据,更新数据表中的数据。做系统业务流程分析不仅要分析系统业务流程,还要考虑数
39、据之间的关系。 1.3 结构设计“企业合同管理系统”设计采用分层管理,分为三层,结构如下:工具计算器记事本往来单位信息基础信息签订合同添加查询修改合同签订合同更改支付手续违约索赔数据管理添加部门删除部门系统管理修改密码添加用户企业合同管理系统图5-1业合同管理三层结构2. 数据库设计2.1 建库分析在选择数据库时,考虑到SQL Server 2005 Express数据库的灵活性和以下功能,采用了SQL Server 2005 Express作为系统数据库:数据库中包含多个表,每个表可以分别表示和存储不同类型的信息。通过建立各个表之间的关联,从而将存储在不同表中的相关数据有机的结合起来。用户可
40、以通过创建查询在一个表或多个数据表中检索,更新和删除记录,并且可以对数据库中的数据进行计算。通过创建联机窗体,用户可以直接对数据可中的记录执行查看和编辑操作。在建立数据库时,将系统连接的数据库命名为企业合同管理系统,通过对系统的需求分析和流程分析,2.2 系统数据流程图懂 返事 回 长 操 操 作作 信信 息息 部门经理总经理总经理操作信息 部门经理操作信息返回操作信息 返回部门经理操作信息数据库企业合同管理董事长图5-2 毕业设计企业合同管理系统顶层图2.3 关系模式设计部门信息:(编号,名称,负责人,电话)签约前合同评审表:(编号,项目名称,项目国别,项目业主,合同额,单位币种,谈判日期,
41、谈判问题及解决方案,实施方案概要,其他,评审汇报人,评审主持人,评审参加人,审评意见,审批签名,审评地点,审评时间,填表人,填表时间)往来单位信息:(编号,联系人,传真,电话,地址,简称,名称,联系人电话,邮箱)用户:(用户名,密码,类型)项目信息:(编号,名称,修理费用,单位,修理情况)办理违约索赔记录:(编号,合同号,问题日期,问题内容,交涉结果,负责人,索赔情况)合同更改记录:(编号,合同编号,项目编号,更改内容,合同签署人,主办部门,合同更改生效日期,抄送日期)合同签订:(编号,部门编号,项目编号,合同包号,甲方名称,甲方电话,甲方传真,开户银行,详细地址,邮编,合计金额,签订日期,运
42、输方式,包装办法,结算方式,甲方代表,乙方代表,交货地点,详细信息)支付手续表(编号,合同编号,业务部经理审阅,支付次号,用途,支付日期,问题及处理)。登录界面如图5-3:图5-3 登陆界面代码:void CLoginDialog:OnOK()BOOL bLogin=false;CLoginSet *m_recordset = new CLoginSet(&m_database);CString strSQL;int type=0;UpdateData(true); if(m_usertype=0) /获取登录类型,即登陆职称type=1;elseif(m_usertype=1)type=2;
43、elseif(m_usertype=2)type=3;strSQL.Format(select * from YONGHU where USER_ID=%s AND USER_PASSWORD=%s AND USER_TYPE=%d,m_userID,m_userpassword,type);m_recordset-Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); /打开并连接数据库if(m_recordset-GetRecordCount()=0)if(count3)MessageBox(用户名或密码错误);count+;elseMessageBox(错误次数达三次
44、以上!,本窗口即将关闭);EndDialog(IDCANCEL);else m_ID=m_userID; /记录登录编号以便后面操作模块使用 usertype = m_usertype; /记录登录类型以便后面操作模块使用 bLogin=true;if(bLogin)MessageBox(欢迎进入企业合同管理系统);EndDialog(IDOK);m_database.Close();修改密码界面如图5-4:图5-4 修改密码界面代码:void CUserChange:OnOK() UpdateData(true);CLoginSet m_recordset(&m_database);CRec
45、ordset cr;CString strSQL;strSQL.Format(select * from YONGHU where USER_ID =%s and USER_PASSWORD=%s,m_ID,m_old);m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);if(m_recordset.GetRecordCount()=0)MessageBox(旧密码不正确,请重新输入!);m_old=;UpdateData(false);Else if(strcmp(m_new,m_new_sure)=0)strSQL.Format(update YONGHU set USER_PASSWORD=%s where USER_ID=%s,m_new,m_ID);m_database.ExecuteSQL(strSQL);MessageBox(密码已修改成功!);EndDialog(IDOK);elseMessageBox(两次输入密码不一致,请重新输入!);m_new=;m_new_sure=;UpdateData(false);修改查询部门信息如图5-5:图5-5 修改查询部门信息代码:void CBuMenXinXi:Onchaxun()CDBVari