合同管理系统(注:本系统可以使用WinForm,也可以使用Web完成)一.概述合同管理是企业管理中不可缺少的组成部分,完善的合同管理是企业健康运作的一个重要标志。由于合同形式的多样性和履行过程的多变性,许多企业对此很少有一个较好的办法来及时有效地实施合同的起草、修改、统计、监控等一系列管理工作。一个合格的合同管理信息系统应该包括签署合同方资料档案、合同资料档案的管理,合同付款处理、查询、汇总的管理,合同收款处理、查询、汇总的管理,以及合同到期未付完款、到期未收完款的全面跟踪监管控制,并具有严格的系统用户及分级权限控制,保证了企业合同数据的严格保密性。二.需求分析1.理解需求(1)在进入系统之后首先是登录系统,根据用户输入的内容判断用户的合法身份。合法用户分为经理和合同管理员,其中经理拥有所有的权限,而合同管理员没有用户管理权限。(2)允许有权限的用户进入员工管理界面可以录入所有员工资料,并能对其进行浏览、修改、删除、查询等操作。(3)进入客户管理界面可以录入所有客户资料,并能对其进行浏览、修改、删除、查询等操作。(4)进入项目管理界面可以录入所有项目资料,并能对其进行浏览、修改、删除、查询等操作。(5)进入合同信息维护界面可以录入所有与合同相关的明细资料,并能对其进行浏览、修改、删除、查询等操作。(6)进入合同执行控制界面可以实时处理所有合同,如分期经费注入,合同完成控制,合同终止控制,并能对其进行查询、预览等操作。(7)进入合同信息统计界面可以提供用户所有合同的统计功能,按项目、客户、完成状态等条件,统计相应条件下合同金额情况,到位金额情况,以及对每一则合同实施以来至当前的操作信息明细。(8)允许用户按组合条件方式查询所有到期未付完款或到期未收完款的合同报警资料,并能对其进行预览操作。(9)系统应该有很好的可扩展性。2.需求分析需求分析就是描述系统的需求,根本目的在于在开发者和提出需求的人之间建立一种理解和沟通的机制。需求分析的第一步是描述合同管理系统的功能,即定义用例,以此确定系统的功能需求。和用例相关的是一个系统的角色,合同管理系统的角色是经理和合同管理员,经理享有最高权限,可以使用合同管理系统所提供的所有功能,而合同管理员没有合同信息统计和用户管理的权限。本系统的用例包括:员工管理客户管理项目管理合同信息维护合同进展控制合同信息统计本系统主要实现8大基本功能:(1)员工管理管理所有参与合同管理运作的员工信息。包括添加、删除、修改、查找员工信息。各项操作按照员工的工作类别区别给予,系统分为两类权限:经理、合同管理员,权限分配在员工管理中实现,经理可以管理所有员工信息,合同管理员只负责对合同的相关管理。(2)客户管理管理所有的客户信息,包括添加、删除、修改、查找客户信息。客户管理在数据库管理系统中尤为重要,它是公司经营决策的出发点,对于合同管理系统本身,通过客户管理模块产生的客户信息将在合同管理模块中调用,是基础性的。(3)项目管理管理所有的项目信息,包括添加、删除、修改、查找项目信息。(4)合同信息维护维护所有的合同信息,包括添加、删除、修改、查找合同信息。(5)合同进展控制合同进展控制就是对生效合同的运作情况记录,合同在运作中必然产生一些状态的转移,比如说,一期钱款到位、合同由于某种原因被终止以及合同顺利完成等,合同进展控制担负起记录所有合同进展情况的任务。(6)合同信息统计为了及时反映公司合同的总体运作情况,对合同的执行情况进行汇总。合同信息统计模块将完成此功能,系统可按所属项目名称、签约客户名称、合同当前状态等几项内容或任意几项内容的组合来对所有合同运作情况进行统计,包括合同数量、到位金额、合同总金额量等,并提供给用户最为详细的合同资料以及合同进展情况记录。(7)用户帮助用户帮助的基本功能是给予用户必要的提示。(8)退出系统退出系统。三.系统建模1.合同管理系统的用例分析系统用例图:合同信息统计员工管理经理客户管理项目管理合同信息维护合同执行控制合同管理员该用例图标记了所有的用例,由用例图分析得知,合同管理系统的角色划分为两类:合同管理员:拥有所有权限经理:没有合同统计和员工管理的权限2.合同管理系统的设计设计的目的是产生一个可以使用的解决方案,并且可以比较容易地将解决方案转换成程序代码。将前面的模型进行扩展和细化,得到时序图。工作记录时序图:工作记录管理界面待解决问题的工作记录已解决问题的工作记录新的工作记录信息登录查看记录查看记录添加工作记录未解决问题解决至此,系统建模完成。四.数据库设计1.数据库选择用户(人)数据量(记录数)稳定性要求维护水平备选数据库个体企业(3~8)100~500低差Access小型企业(8~20)500~5000低差Access中型企业(20~100)5000~50000中一般SQLServer大型企业(100~1000)50000~200000较高较好SQLServer、Oracle大型企业(1000以上)200000以上高好Oracle出于对毕业设计的考虑,这里建议各位选择SQLServer。2.表与字段五张数据表:用户信息表、客户信息表、项目信息表、合同进展信息表、合同信息表(仅供参考)。(1)用户信息表(Users)字段名数据类型字段描述UIDvarchar(50)员工编号UPasswordvarchar(50)用户登录本系统时的密码UPowerint用户类型,1-经理,2-合同管理员USexbit员工性别UNamevarchar(50)员工姓名UAdressvarchar(50)员工住址UTelvarchar(50)员工电话UEmailvarchar(50)员工电子邮箱地址UDepartmentvarchar(50)员工所在部门(2)客户信息表(Clients)字段名数据类型字段描述CIDvarchar(50)客户编号CNamevarchar(50)客户名称CAddressvarchar(50)客户联系地址CContactPersonvarchar(50)联系人CTelvarchar(50)联系电话CEmailvarchar(50)联系电子邮箱地址CBankvarchar(50)客户开户银行CAccountvarchar(50)客户银行账号CTaxvarchar(50)税号(3)项目信息表(Projects)字段名数据类型字段描述PIDvarchar(50)项目编号PNamevarchar(50)项目名称PCharactervarchar(50)项目性质PManagervarchar(50)负责人PSumOfMoneyvarchar(50)项目投入金额PDescribevarchar(500)项目描述(4)合同信息表(Contract)字段名数据类型字段描述TIDvarchar(50)合同编号TCIDvarchar(50)客户标号TPIDvarchar(50)项目编号TBeginDatedatetime开始时间TEndDatedatetime终止时间TTotalMoneymoney合同总金额TReadyMoneymoney合同已到位金额TStateint合同当前状态,1-生效,8-完成TContentvarchar(5000)合同内容(5)合同进展信息表(ContractProgressInfor)字段名数据类型字段描述IIDint合同进展记录编号ITIDvarchar(50)合同编号IPaymoney该记录如有资金流动,其数额IDatedatetime登记日期IDescribevarchar(50)进展描述各表之间的关系:3.考虑是否创建必要的视图和存储过程五.界面设计、代码实现部分由各位独立完成。(要求:1.界面美观大方,不能和他人雷同,2.代码不能和他人一致,3.诚信为本,严禁上网下载他人的论文和程序。凡是违反了以上几点的,暂缓或者不予颁发毕业证)。