合同管理系统分析与设计_第1页
合同管理系统分析与设计_第2页
合同管理系统分析与设计_第3页
合同管理系统分析与设计_第4页
合同管理系统分析与设计_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档精心整理精品文档可编辑的精品文档合同管理系统分析与设计目录:1、合同管理系统分析与设计2、合同管理系统课程设计目录前言 1第1章概述 2第1.1节课题背景 2第1.2节课题的目的和意义 2第1.3节可行性分行 3第2章系统分析 6第2.1节系统需求分析 6第2.2节业务流程分析 6第2.3节数据流程分析 8第3章系统设计 10第3.1节系统总体结构设计 103.1.1功能模块设计 103.2.2系统流程分析 11第3.2节代码设计 13第3.3节数据库设计 133.3.1数据库需求分析 133.3.2数据库概念结构设计(E-R图设计) 183.3.3数据库逻辑结构设计 203.3.4数据库物理结构设计 21第3.4节输入输出设计 213.4.1输入设计 223.4.2输出设计 22第4章系统实施 24第4.1节程序设计与调试 244.1.1程序设计语言的选择 244.1.2程序编写 274.1.3系统调试、运行及结果 34第4.2节系统运行环境 36第4.3节系统的运行管理及维护 364.3.1系统运行管理 364.3.2系统维护 37结论 38参考文献 39前言“财富的一半来自合同”。随着我国加入WTO,社会主义法治建设的逐步推进,企业依法经营决策问题必将更加突出地显现出来。合同是企业从事经济活动取得经济效益的桥梁和纽带,同时也是产生纠纷的根源。经营活动是风险与利益共存的活动,利益越大,风险也越大。企业在日常的经济交往中极易陷入不法分子设置的合同陷阱中,企业就可能因此蒙受巨大的经济损失。因而企业合同管理是企业管理的重要内容,搞好合同管理,是维护企业合法权益的最基本的要求。随着科学技术的不断提高,计算机科学日渐成熟,信息管理技术的强大的功能已为人们深刻认识;进入人类社会的各个领域并发挥着越来越重要的作用。合同管理信息系统的开发是为了大中企业省时省力地、轻松管理众多复杂的合同而设计的软件。这就需要有一个美观大方,操作尽量简单明了的系统。该系统就本着这一思想,使计算机的界面和操作方法适合人们的思维习惯,使用户能更快地熟悉和掌握。对于不懂计算机知识的用户也可以很快熟练掌握系统的操作,只有这样的系统才能更广泛地应用,才能有更好的发展前景。第1章概述第1.1节课题背景合同是企业从事经济活动取得经济效益的桥梁和纽带,同时也是产生纠纷的根源。经营活动是风险与利益共存的活动,利益越大,风险也越大。企业在日常的经济交往中极易陷入不法分子设置的合同陷阱中,企业就可能因此蒙受巨大的经济损失。因而企业合同管理是企业管理的重要内容,搞好合同管理,是维护企业合法权益的最基本的要求。企业往往会签订一系列的合同,并且会考虑如何去管理合同的进展,合同账款的收取和支付。完善的合同管理是企业健康运作的一个重要标志。然而,完善的合同管理需要占用企业许多的资源,如何简化合同的管理而不失其完整性、科学性对许多企业来说是棘手的问题。采用手工管理的方式当然可以,但费时费力,而且容易出错。也有许多公司的合同现在已经是采用电子文档如word格式保存了,但也仅仅是保存在计算机的某一个位置而已,查找起来非常不方便,更缺乏统计功能。安全性也不好,误操作有可能删除合同文档。第1.2节课题的目的和意义在信息化程度越来越高的当今社会,合同管理作为企业管理中的重要一环,随着公司签订合同数量的增多,对合同数据的准确性、数据传输的安全性和业务处理的规范性有很高的要求。也正因如此,合同管理工作中繁琐的业务流程限制了管理人员工作效率的提高;另外,为了有效地利用庞大的合同历史数据、为合同管理人员提供必要的决策支持,我们需要一种能对数据进行各种操作的工具——数据库管理系统。目前,合同管理已逐步由传统的手工作业转化为计算机管理。初期的合同管理系统为文档管理系统,实现合同生命周期的过程记载,而后发展为数字化合同模型,对合同实行元素化管理,形成了规范的数据结构,可方便进行数据统计、比较和查询分析。技术架构也由单机模式逐步向局域网环境下的客户端/服务器,浏览器/服务器结构过渡。因此,本论文的目标就是利用计算机软件实现合同的录入,查询,修改,管理等功能。使工作人员对合同的管理更加容易,提高工作效率,降低管理成本。本系统是通过ASP+SQLServer2000设计的B/S结构的软件。可以大大节省系统资源,还可以实现移动办公。第1.3节可行性分行可行性分析的任务是确定项目开发是否必要和可行。这项工作应建立在对系统初步调查的基础上,调查内容包括:系统的外部约束环境、规模、历史、主要业务流程、系统的资源情况,系统中信息处理的概况和各类人员对信息系统的态度。本系统可行性分析包括以下三方面内容:1.经济可行性。主要是对新系统的成本效益进行估算,一方面是系统支出的费用,其中包括设备购置费用、软件设计和开发费用、管理和维护费用、人员工资和培训费等。另一方面是取得的收益,估算是否会高于项目预期的全部经费,并分析系统开发是否会对其它产品或利润带来一定影响。本系统的直接效益是加强合同管理后,对合同管理员来讲将大大减少其日常对合同信息的维护工作,提高工作效率;对管理者或其它相关人员来讲,可以方便、快捷的查询到所需合同信息,及时跟踪合同执行情况,缩短合同执行周期,急时收回货款,加速资金周转率。经调查分析,开发该系统的预期收益将大于预期成本,在经济上是可行的。2.技术可行性。随着互联网在世界范围内的普及和信息技术的发展,基于Web的信息系统对传统管理信息系统的体系结构产生了巨大的影响。与C/S结构相比,基于Web的管理信息系统具有如下优势:开放性:基于Web的管理信息系统可以做到开放式的、跨平台的应用;易于维护和升级:采用分布式多层应用技术,大大节省了用于系统维护和升级的时间和费用,也改善了C/S结构的延展性问题;标准化:基于Internet上的公开协议和技术标准(如TCP/IP,,XML,SOAP等)可实现应用系统在Internet/Intranet上的集成,具有良好的扩展性。对于操作人员来说,客户端可使用标准化的浏览器软件,用户界面的操作简单易学;安全性:与传统的C/S结构相比,基于Web的管理信息系统在客户端与数据库服务器之间增加了Web层服务器和其他的中间层服务器,使客户端和数据库服务器不直接相连,可有效地防止用户的非法入侵。此外,中间层为系统提供了基本的安全保护,并支持软件开发人员使用SSL(SecuritySocketLayer)对传输的资料进行加密解密。3.管理可行性。主要是指管理人员对开发信息系统的态度和管理方面的基础工作。该公司主要领导非常支持新系统的开发工作并在多方面给予了大力配合,而且该公司已经历了几年的发展逐步走向成熟,管理制度和方法较科学合理,规章制度比较齐全以及原始数据准确齐全,有利于系统开发。

第2章系统分析第2.1节系统需求分析软件系统的设计与开发中,最重要是从用户的专业领域中整理出需要计算机处理的需求。通过对某公司进行调研,发现其公司规模大,地域分散较广。下属单位可能根据自身实际情况形成内部独立的合同管理工作模式,这对整个公司合同管理的标准化造成了困难;而且基础数据存留在基层部门,将形成信息孤岛现象,造成信息不准确,利用率低等问题,合同数据传输的滞后也会对企业决策层的决策产生影响。除此之外,软件应用存在跨地域实施的特点,使得软件开发人员必须要考虑应采用何种技术架构来解决软件系统与不同软件平台之间的兼容性问题,以及日后的升级、维护等问题。因此可以总结该公司跨地域合同管理的需求如下:1)实现信息处理的标准化和数据化,在公司内部建立标准的合同管理流程和内容规范;2)建立统一的数据库系统,实现全公司数据集中管理,避免信息孤岛的出现;3)在合同生命周期内,实现数据信息跟踪管理,包括基本信息和履行信息的管理;4)实现合同的归档管理,以及合同数据查询、统计等处理功能;5)确保合同管理工作的规范性和安全性。第2.2节业务流程分析调查管理业务流程应顺着原系统信息流动的过程调查,本例中业务流程为:首先销售员将拟好的合同提交销售部门经理进行审批,部门经理收到合同后对其内容,包括销售价格、付款条件、账期等进行审核。若审核未通过,则将合同返回销售员进行修改;若审核通过,则将合同转交给合同管理人员。随后合同管理员将合同信息录入系统。销售员未通过审核合同销售员未通过审核合同初拟合同销售部经理合同存档合同管理员通过审核的合同图2-1业务流程图实体表单业务流图2-2业务流程图图例说明第2.3节数据流程分析根据对现实系统的详细调查与分析,开发合同管理系统总体设想流程是:对销售员提供的信息进行人工审核,将通过审核的数据汇总录入计算机,进行数据录入处理程序,再将数据存储到相关信息文件中。系统的数据流程见图2-3:F4F4通过合同F2合同未通过合同F1F3销售员P2修订处理P3签定处理P1审核处理P4存储处理D1合同处理F5图2-3数据流程图图2-4数据流程图图例说明图实体处理存储数据流

第3章系统设计第3.1节系统总体结构设计3.1.1功能模块设计本合同管理系统主要实现如下功能:员工信息管理、客户信息管理、合同信息管理,合同执行情况的全面跟踪监管控制,并具有严格的系统用户分级权限控制,保证了公司合同数据的严格保密性。系统模块划分如图3-1所示,将系统分别5个模块,每个模块负责的功能相对专一。合同管理系统合同管理系统员工管理客户管理项目管理员工信息客户信息项目信息帐号管理添加用户修改密码合同管理合同添加合同执行合同分类合同统计合同查询图3-1模块划分图每个功能模块的功能描述如下:(1)员工信息管理管理所有参与合同管理动作的员工信息。包括员工编号、姓名、部门、电话等。(2)客户信息管理客户管理模块主要实现对客户的增、删、改、查等操作。客户分为两种类型,重要客户和一般客户。管理员可以添加客户、按照客户类型或者客户名称进行客户查询,通过查询条件的结果链接到客户的修改或者删除页面,对客户进行修改删除等操作。(3)合同管理合同管理模块主要实现对合同的增、删、改、查等操作。管理员可以添加合同,对合同进行查询,为了使查询更加简便。系统提供两种查询方式,一种是按照编号进行查询,另一种是按审核标志进行询,可以通过查询的结果链接到合同的修改或删除页面,对合同进行修改或者删除。(4)项目信息管理管理所有项目信息。项目信息包括项目编号、项目名称、联系人等。(5)使用权限管理本系统从合同信息的安全角度出发,将系统设计成具有严格的系统用户及分级权限控制。系统的员工分为两类用户:一般用户和合同管理员。使用不同用户名登录所具有的权限不同,保证了企业合同数据的严格保密性。3.2.2系统流程分析合同管理系统提供对公司内部合同的管理功能。使用本系统,可以完成合同的录入、修改以及维护等操作,同时对合同管理员进行权限控制,以满足安全性方面的要求。本系统分为合同管理员和经理(即系统管理员)2种用户。合同管理员默认可以添加、修改、删除和查询自己的合同;经理可以查看和管理所有合同,并对合同进行统计及管理用户信息。用户登录后自动读取该用户的操作权限,用户可以在导航栏中选择某一操作链接进入相应的操作页面。为了更清楚地说明系统框架,以便更好地设计该系统的解决方案,图3-2给出了系统流程图。系统流程图展示了该系统所有功能模块之间的逻辑关系,其中的各个功能模块基本上都代表了一个独立的页面,并将在下面的系统设计阶段得到体现。员工管理员工管理合同管理项目管理合同执行控制合同信息统计客户管理账号管理系统登录合同管理员经理图3-2系统流程图第3.2节代码设计代码是人为确定的代表客观事物(实体)名称、属性或状态的符号或者是这些符号的组合。在系统开发过程中设计代码作用是唯一化、规范化和系统化。在本系统中为了避免二义性,唯一地标识每一个人,因此编制了员工代码。编码原则和结构如下:(1)人员编号由3位数字组成,其排列顺序从左至右依次为:第1位数字表示地区号,第1位数字表示所在部门,第3位数字为员工顺序码。(2)人员编号的编码对象是企业的每一个正式职工。(3)合同管理系统软件是网络版,每一名正式职工在信息网络中确定一个编号,并只有一个编号。为保证人员编号的惟一性,员工在系统内调动,其编号不变;对调出人员,取消的人员编号再分配给新的正式员工。第3.3节数据库设计3.3.1数据库需求分析合同管理系统的主要目的就是利用软件实现合同的录入、查询、编辑等功能,使工作人员对合同的管理更加容易,提高工作效率、降低管理成本。具体分析如下:(1)员工管理浏览负责管理所有参与合同管理动作的员工信息。包括员工编号、姓名、部门、电话等。添加、删除、修改,查找员工信息。此权限只有经理(即系统管理员)具有。客户管理浏览所有客户信息。客户信息包括客户编号、客户名称、联系人等。添加、修改、禁用和查找客户信息。(3)合同管理合同分类管理:按采购类合同和销售类合同进行分类划分。浏览与合同相关的明细资料。合同信息包括合同编号、签订日期、客户名称、项目名称、货品名称、数量、单价、金额、合同执行状态等。分别按合同号、客户名称及项目名称查找合同信息。添加、修改、删除合同信息。对合同信息进行实时处理。如合同执行情况控制,包括已执行、执行中、未执行三个状态。按项目名称、客户名称、合同执行情况等几项内容或任意几项内容组合来对合同的执行情况进行综合查询。按项客户名称对所有合同运作情况进行统计,包括合同总金额,执行中合同数量,未执行合同数量等。(4)项目管理浏览所有项目信息。项目信息包括项目编号、项目名称、联系人等。添加、修改、禁用及查询项目信息。(5)账号管理公司信息设置。系统参数。添加操作员。修改密码。其中,系统参数和添加操作员两个功能,只有经理(系统管理员)具有此操作权限。(6)考虑到公司合同的保密性,对合同维护的各项操作需按照员工的工作类别区别给予。故对系统分为两类权限:合同管理员(级别为B)和经理(即系统管理员,级别为A)。他们所具有的操作权限如下:合同管理员所具有的操作权限:合同管理员可以录入新的合同,并对自己录入的合同进行查询,也可以进行合同修改、更新及删除操作,但不允许查看其他人所签的合同,也不允许修改或删除其他人的合同。经理所具有的操作权限:经理拥有对所有合同的添加、删除、修改、合同查询、统计的权限和账号权限的设置。数据字典表名属性名类型长度必填字段主键说明Empolyeeempl_idempl_nameempl_typeempl_depempl_diaempl_mpempl_emailcharvarcharCharCharCharvarcharvarchar10501010105050是是否否否否否主键员工编号姓名员工类别部门固话手机邮件Consumer_listConsumer_numconsumer_nameConsumer_lxrConsumer_diaconsumer_phonenumconsumer_addconsumer_emailconsumer_beizhustachatvarcharcharvarcharvarcharvarcharrvarcharvarcharchar105010505050505010是是否否否否否否否主键客户编号客户名称联系人电话手机联系地址邮件备注客户状态Order_listord_idord_noord_ddcus_numxm_idprd_nameqtyupamtnord_stbil_ddxinyongord_rtordertype_idjilurenadddateIntvarchardatetimeintintchardecimaldecimaldecimalCharcharCharcharintchardatetime45084410999101010104108是是否否否否否否否否否否否否否否主键外键外键序号合同编号签订时间客户编号项目编号项目名称数量单价金额执行情况账期信用额收款情况合同类别建立人系统时间Proj_infoproj_idproj_consproj_nameproj_lxrproj_msproj_stacharvarcharvarcharcharvarcharchar105050105010是否是否否否主键项目编号客户名称项目名称联系人项目描述项目状态AdminadminidadminpasswordNumericNvarcharNvarchar95050是是是主键ID号用户名密码3.3.2数据库概念结构设计(E-R图设计)数据库概念结构设计的目标是产生出一个能反映组织信息需求的概念模型。最广泛使用的概念模型是实体-联系(E-R)模型。对合同管理系统实体关系的设计是建立在需求分析、系统分析的基础上的。本系统的实体包括合同管理员、客户、合同、项目、账号、合同类别。下面分别对这6个实体做E-R图设计。一个合同管理员可以负责多个合同,所以员工和合同实体之间是一对多的关系,设计局部E-R模型如图3-3所示。维护1M维护合同管理员合同合同管理员合同图3-32)一个客户可以签订多份合同,所以客户与合同实体之间是一对多的关系,设计局部E-R模型如图3-4所示。制定1M制定合同客合同客户图3-4一个客户会签订多个项目的合同,所以客户与项目实体之间是一对多的关系,设计局部E-R模型如图3-5所示。签订1M签订项目客项目客户图3-54)一个项目隶属于一个合同,所以项目与合同实体之间是一对一的关系,设计局部E-R模型如图3-6所示。隶属11隶属合同项合同项目图3-65)一个员工拥有一个账号权限,所以员工与账号实体之间是一对一的关系,设计局部E-R模型如图3-7所示。拥有11拥有账号员工账号员工图3-7归纳上述5项,可以定义5个实体:员工、客户、合同、项目和账号,这些实体之间的相互联系见表3-1。实体联系实体合同管理员维护合同客户制定合同客户签订项目项目隶属合同员工拥有账号表3-1将局部E-R模型综合成整体E-R模型,如图3-9所示。签订员工签订员工合同客户项目维护制定隶属n111m1m1图3-8整体E-R模型3.3.3数据库逻辑结构设计逻辑结构设计是将概念模型(E-R模型)转换成关系数据库。按照3.3.2节介绍的转换规则,将E-R模型转换成关系数据库。员工信息表(员工编号,姓名,员工类别,部门,固话,手机,邮件)PK=员工编号NOTNULL。2)客户信息表(客户编号,客户名称,联系人,电话,手机,联系地址,邮件,备注,客户状态)PK=客户编号NOTNULL。3)合同信息表(序号,合同编号,签订时间,客户编号,项目编号,项目名称,数量,单价,金额,执行情况,账期,信用额度,收款情况,合同类别,建立人,建立时间)PK=合同编号NOTNULL。FK=项目编号,参照表是“项目信息表。FK=客户编号,参照表是“客户信息表”。4)项目信息表(项目编号,项目名称,联系人,项目描述,客户名称,项目状态)PK=项目编号NOTNULL。5)账号管理(ID号,帐号,密码)PK=ID号NOTNULL3.3.4数据库物理结构设计数据库的物理设计是对给定的逻辑数据模型选取一个最合适应用要求的物理结构。数据库的物理结构主要指数据库在物理设备上的存储结构和存取方法,它当然完全依赖于给定的计算机系统的DBMS以及存储设备等软件、硬件因素。本系统所采用的数据库是SQLServer,是由Microsoft开发和推广的关系数据库管理系统(DBMS),SQLServer2000是一款面向高端的数据库管理系统,提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许用户使用内置的存储过程以XML格式轻松存储和检索数据。用户还可以使用XML更新程序,容易地插入、更新和删除数据。第3.4节输入输出设计系统输入输出设计是一个在系统设计中很容易被忽视的环节,又是一个重要的环节,它对于用户和今后系统使用的方便和安全可靠性来说都是十分重要的。一个好的输入系统设计可以为用户和系统双方带来良好的工作环境,一个好的输出设计可以为管理者提供简捷、明了、有效、实用的管理和控制信息。下面就分别来讨论这两方面的问题。3.4.1输入设计输入界面是管理信息系统与用户之间交互的纽带,设计的任务是根据具体业务要求,确定适当的输入形式,使管理信息系统获取管理工作中产生的正确的信息。输入设计的目的是提高输入效率,减少输入错误。(1)用户界面:输入界面的风格统一,即美观、大方、便于用户填写。(2)输入方式:本系统菜用了填表式输入屏幕设计,以键盘输入和下拉框选择相结合的方式输入数据信息,最大程度上简化用户输入过程。(3)输入校验:以合同添加页面为例,页面所显示所有项目必需全部输入。输入后由计算机计算“数量”*“单价”并与所输入的“金额”值进行比较,若二者相等则校验通过,否则给出警告信息,由操作者进行修改。3.4.2输出设计输出是系统产生的结果过提供的信息。对于大多数用户来说,输出结果是系统开发的目的和评价系统开发成功与否的标准。尽管有些用户可能直接使用系统或从系统输入数据,但都要应用系统输出的信息。为了提高系统的规范化程度和编程效率,在输出设计上尽量保持输出流内容和格式的统一性,采用表格形式输出,方便用户的使用。

第4章系统实施第4.1节程序设计与调试4.1.1程序设计语言的选择本设计使用ASP+SQLServer2000实现。ASP:ASP是ActiveServerPages的缩写。是微软公司推出的一种Web应用程序开发技术。它不是一种语言,也不是一种开发工具,是一种未经编译的开放的应用软件。能使用户能够更好地利用HTML和ActiveX强大的功能创建功能强大、与应用平台无关的Web系统。简单来说ASP就是运行于Web服务器上的动态网页。ASP程序主要运行在Windows系列的操作系统上,例如Windows98、Windows2000、WindowsXP、WindowsServer2003等,通过PWS(PersonalWebServer)或IIS作为服务器软件来执行ASP程序。其中,PWS是指个人网络服务器,它只适用于Windows98的Web网络服务器,可以在Windows98的安装光盘中找到,也可以直接从网络上下载PWS服务器安装程序;IIS是一款功能强大的Web服务器,现在已发展到7.0版本,在Windows2000、WindowsXP中,默认安装的是IIS5.0。IIS的作用是实现客户端与服务器端之间的连接。当访问者在浏览器中发出一个请求时,这个请求通过网络路由到服务器端,然后服务器再将它交给IIS处理,IIS检索所请求的页面,并根据请求文件名对该页进行相应处理。ASP不仅可以在Windows平台的IIS环境下运行,同时也可以在非IIS环境下运行。ASP本身并不是一种语言,它的程序是通过HTML、VBScript或JavaScript等脚本语言来实现的,且不需要进行编译。实际上,ASP文件本身就是一个文本文件,因此,只要能够进行文本编辑的编辑器都能够用来开发ASP应用程序。目前比较流行的ASP开发工具有Dreamweaver、记事本VisualInterDev、ASPEdit、EditPlus、UltraEdit等。Dreamweaver本系统ASP程序编写使用的是Macromedia公司的MacromediaDreamweaver8工具进行的。MacromediaDreamweaver8结合了强大的可视化布局工具和稳定的基于文本的HTML编辑功能,能够方便地创建、管理和维护Web站点,是建立Web站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。从对基于CSS的设计的领先支持到手工编码功能,Dreamweaver提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。SQLServer大多数Web应用程序都需要后台数据库的支持,对于一些规模较小的Web应用程序可以使用Access,而要实现比较大型的Web应用系统则应该选择SQLServer。SQLServer2000是微软公司开发的大型数据库服务器,分为4个版本:企业版、标准版、个人版和开发版,安装不同的版本对计算机的硬件和软件都有些许差别,只有具备相应的条件后才可以正常安装。与其它大型数据库相比,SQLServer2000对硬件的需求非常低,对软件的要求则根据选择安装不同版本数据库来选定对软件的要求。SQLServer是可以使企业数据转变为竞争优势的强大工具,作为企业级的数据库系统,SQLServer在企业数据管理,开发人员生产力,和商务智能等方面拥有业界领先的支持,可以满足所有客户的应用需求,组织今天面临着许多数据方面的挑战;例如,需要根据数据做出更快、更多的决策,需要提高开发团队的生产力和灵活度,以及在减少总体信息技术(IT)预算的同时,扩展基础架构以满足更多要求的能力。SQLServer和前端平台连接最主要的是靠网络,所以网络设定必须正确,SQLServer才能正常运行。在网络协议方面,SQLServer可经由TCP/IP、Netware、NamePipe和NETBIOS等通过协议和前端平台相连。至于前端应用程序则是靠标准的ODBC或OLEDB数据库驱动程序和下层的DB-Library网络程序驱动和SQLServer相连。SQLServer是一关系数据库,它除了支持传统关系型数据库对象和特性外,另外也支持现今关系型数据库常用的对象和存储过程、视图等。另外,我们从它的产品名称就可以知道,它支持目前关系型数据库必定要支持标准查询语言——SQL(StructuredQueryLanguage)。SQLServer另外一个重要的特点是它支持数据库复制的功能,也就是当你在数据库上执行更新时,可以将其更新结果传到远程SQLServer相同的数据库上,让两边数据库的数据保持同步。SQLServer旨在帮助企业迎接这些挑战。这个下一代数据管理和分析解决方案将给企业数据和分析应用程序带来增强的安全性、可伸缩性和可用性,使得它们更易于创建、部署和管理。SQLServer提供了一个完整的数据管理和分析解决方案,它将会给不同规模的组织带来帮助:构建、部署和管理企业应用程序,使其更加安全、伸缩性更强和更可靠。降低开发和支持数据库应用程序的复杂性,实现了IT生产力的最大化。能够在多个平台、应用程序和设备之间共享数据,更易于连接内部和外部系统。在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本。SQL可以在以下三个重要方面改善数据基础架构:企业数据管理、开发人员效率和商业智能。4.1.2程序编写(1)登录程序一般情况下,公司的信息都具有保密性,只有相关人员才可以进行查看和管理。因此,在进入合同管理系统的主页前,首先要进行登录,如果输入的信息正确,则进入管理系统,否则系统提示“对不起,登录失败”,并重新调用登录页面,要求用户输入登录信息。在登录页面上,包含一个表单,在表单中输入用户名、密码和验证码,单击“进入系统”按钮,信息确认无误后登录系统。此时程序打开admin数据表,并判断输入的用户名与密码与admin数据表中的记录是否匹配,如果匹配就将用户名的值赋值给变量“shopxpadmin”。因考虑到用户权限的问题,如果登录的用户是以“admin”身份登录,则将“A”赋值给shopxpcla,否则shopxpcla的值为员工表中员工类别的值,以供后续程序使用。系统默认非系统管理员的员工类别为“B”级。图4-1系统登录页面(2)合同添加合同资料添加页面,如图4-2所示。该页面负责新合同信息的添加,其中合同分类、客户名称、项目名称、执行情况、结款情况均是通过下拉菜单选择添加,当用户单击“提交保存”按钮后触发添加新合同事件。在合同资料添加页面中,除了打开合同信息表进行数据添加外,还打开了客户信息表和项目信息表,分别用于在添加合同中选择客户名称和项目名称。当用户单击“保存提交”按钮后,系统会将一条合同信息插入到数据库表order_list中,页面返回到合同列表页面。图4-2合同添加页面(3)合同删除合同信息的删除是在合同管理系统主页中,通过合同信息列表体现的。在合同信息列表中通过“选择”复选框,将所要删除的合同选中,单击“删除”即可完成合同信息的删除操作。如图4-3所示。图4-3合同删除页面(4)合同修改合同信息修改页面,如图4-4所示。通过单击合同管理系统主页面中合同列表的合同号进入合同修改页面。此部分执行步骤如下:获取当前合同号码的id号。打开合同信息表(order_list),并将当前id号所指向的合同信息表的值赋给新指定的变量。打开合同信息表、客户信息表和项目信息表,并将当前表单更改的内容送入到相应的数据表中。图4-4合同修改页面(5)合同明细查询合同查询程序功能放在了合同管理系统的主页面上,进入合同管理系统主页面后,操作员即可按需求进行查询操作。查询条件有:按客户名称查询、按项目名称查询和按合同号查询。如图4-5所示,是按项目名称进行查询,查询结果如图4-6所示。因为考虑权限的问题,故在程序设计中,添加了cla变量,通过此变量的值在相应合同信息中查找符合条件的记录。系统中给经理的级别定义为A,当cla=A时,即经理可以对所有合同进行查询,否则只能对建立人自己录入的合同进行查询。图4-5合同查询页面图4-6合同查询结果(6)合同统计合同统计页面,功能只面对经理身份,必须对用户的权限作一个限制。这个限制是在用户登录系统时,通过chkadmin.asp文件判断登录者的身份后,由合同管理界面(index_ht.asp)就以设定好用户登录后所具有的功能,即如果是以经理身份登录,即可在合同管理页面中看到合同统计查询功能,否则将不显示此项功能。图4-7所示的是统计客户名称为“安徽实达”的合同执行信息和合同总金额信息。图4-7合同统计查询(7)合同执行查询合同执行情况查询是按合同当前状态的一种查询方式,此种查询方式是可以通过一个条件或多个条件同时查询满足条件的信息。该页面通过调用合同信息表、客户信息表和项目信息表,对满足条件的记录按合同执行情况进行。合同执行模块能为公司上层领导对合同执行状态的了解提供很好的平台,为综合评估客户的信用度提供了有效的依据。在模块的程序设计与合同查询模块设计相符,都是通过调用合同信息表、客户信息表和项目信息表进行关联查询。所不同的是此模块更重视所签合同的执行情况,而不仅仅是简单的字段查询。同样,此模块的查询也有权限控制,合同管理员只能查询自己维护合同的执行情况,而经理可以了解全部合同的执行情况。经理的级别定义为“A”级,合同管理员定义为“B”级。如图4-5中,合同管理系统主页面中有7条合同记录,如只查找合同执行状态为“已执行”的合同信息,即可通过合同执行查询模块进行查找。合同执行情况页面和查找结果见图4-8和4-9。图4-8合同执行情况查询页面图4-9已执行合同查询结果4.1.3系统调试、运行及结果系统测试是保证软件可靠性和软件质量的重要手段。在软件开发的每个阶段都有严格的技术审查,但要发现所有的错误是不可能的。因此,软件在投入运行之前,要尽量发现所有可能的软件差错,以提高软件的质量。【测试项目】系统环境模块测试模块测试是测试程序模块及其接口与设计说明的要求是否一致,目的是发现程序编写阶段的错误。系统测试系统测试是对该软件系统做整体测试,也称联系联合测试,目的在于发现设计阶段的结构错误。这一步常常和模块测试相连,有时是交替进行的。安装测试安装测试的目的不是检查程序的错误,仅仅检查软件安装时产生的问题,即程序和库、文件系统、配置管理系统的接口有什么问题。【结果分析】在对合同修改模块测试时,发现并没有对修改后的合同信息进行更新。『原因』表单中的myid号没有赋值给id,造成只能修改而无法进行更新。『解决方法』修改语句<formname="form1"method="post"action="edit_order.asp?action=save&id=<%=myid%>">在进行整体系统测试时,发现删除某一客户信息后,与此客户签订的所有合同信息将无法在合同列表中显示。『原因』因合同信息数据表中关联了客户信息表中的客户号,造成一旦删除客户信息,合同信息列表中将无法显示此客户的合同信息。『解决方法』在客户信息(consumer_list)表中增加状态(sta)属性;在“客户信息管理”模块中将“删除”操作改为“禁用”状态操作。程序通过判断sta的值,来识别客户是否已被禁用。被禁用的客户信息将不会在客户信息列表中显示,而与此客户签订的合同信息将会在合同信息列表中显示。被“禁用”的客户信息资料可以在“客户信息管理”模块中,通过按“已禁用的客户”条件查询出已被禁用的客户信息资料。在安装测试过程中,发现当把“合同管理系统”在另一台服务器上安装使用时,无法读取数据库信息。『原因』没有修改conn.asp文件中数据来源的机器名和数据库密码。『解决方法』修改程序。第4.2节系统运行环境(1)硬件环境CPU:建议使用Pentium1GHz以上CPU内存:至少64M硬盘空间:10G以上剩余空间光驱:CD-ROM驱动器等(2)软件环境操作系统:WINDOWSXP或Windows2000Server应用程序:SQLServer2000企业版数据库MicroSoftInternetExplorer5.5或以上MacromediaDreamweaver8应用组件:IIS5.0(Internet信息服务管理器5.0)以上第4.3节系统的运行管理及维护4.3.1系统运行管理对全体员工进行动员,有效地调动并组织相关人员参与系统开发,消除员工中的抵触情绪,激发员工积极参与的热情,提高开发成功率。由于合同本身的特征,决定了合同不同于企业内部的生产人事、财务等管理工作,已超越了企业自身的界限,使之成为一种受法律规范和调整的社会关系,涉及了大量的法律专业问题。所以,企业应专门成立法律顾问部门,来统一审核管理合同的签订和管理合同的履行4.3.2系统维护系统维护工作是技术性强的管理工作。系统投入运行后,由公司IT部门负责整个系统的维护和管理工作。在系统未暴露出问题时,就应着重于热悉掌握系统的有关文档,仔细研究系统的功能实现过程,一旦提出维护要求,立即高效优质地实施维护。

结论本次课题设计任务是开发基于WEB的合同管理信息系统,它是结合传统的合同管理模式,运用现在网络技术而开发的基于B/S结构的合同信息管理系统,主要实现了客户信息管理、项目信息管理、合同信息管理等一些基本的管理功能。系统界面友好,操作简单,易于使用,能够满足一般用户的需要。由于此次系统开发设计时间较短,所以本次课题设计的规模和功能有待增加和完善。比如上传合同附件,增加合同条款或查看客户付款信息等功能。另外,作为一项系统工程,合同管理系统设计过程中还会有许多问题需要我们研究与思考,其设计过程是一个通过不断地实践、总结经验、推进的过程。通过扩大合同管理的实施范围,不断扩大管理的服务人群,引导企业内部管理人员对合同管理的各类相关事务进行系统化的管理,从而带动整个合同签订信息管理化水平的提高,最终实现合同管理的信息化带动企业管理的战略目标,并为企业合理化管理做出贡献。这次设计采用的是ASP技术,数据库使用的是SQL。在此之前,我对相关技术,特别是ASP的开发环境并不是很熟悉,在设计之初有点力不从心,找不到重点,但在导师的耐心指导下,通过自己的努力学习和探索,已经可以使用ASP以及SQL独立地开发数据库应用程序。整个设计过程中是分模块完成的,把问题分散开来,各个击破,在解决了单个问题的基础上把问题抽象化,概括起来,得出解决问题的方法,从中吸取经验。经过这段时间的学习和锤炼,不但学会了一门新的技术而且也学到了很多学习的技巧。这将使我终生受益。精品文档精心整理精品文档可编辑的精品文档目录1.系统规划31.1可行性分析(简述)31.1.1运行可行性31.1.2技术可行性41.2任务规划41.3制定信息系统开发方案及日程安排41.3.1划分子系统41.3.2对各子系统的评价42.系统分析52.1需求确定52.1.1概念模型E—R图62.1.2客户用例图72.1.3系统中的类,以及各类之间的关系图72.2需求分析82.2.1数据流程图92.2.2数据字典103.系统设计113.1各主要功能的实现代码113.2数据库语言的程序语言设计和操作253.3系统运行环境314.系统实现335.系统实施374.2程序设计说明书374.3用户手册386.收获和体会38总结397.1个人总结397.2整体总结42参考资料43联系人客户地址1.系统规划联系人客户地址1.1可行性分析合同管理是商务运作中极其重要的一部分,其管理的优劣直接影响商务流程的顺畅。因此,充足的信息资源、便捷的功能操作是合同管理系统应提供的重要性能。目前,人们往往用传统的人工管理方式结合电子表格来进行合同管理,这种管理方式存在着诸多弊端,如:效率低、保密性差、电子表格容量小,关联性差

,不易于查询、更新和维护等。

如果合同的签订、履行、变更、终止等全过程完全靠人工进行跟踪管理,不仅工作量大,而且难度也非常大,特别是合同管理归口到计划管理科。计划管理科既不管资金的收入和支出也不管货物印发出和入库,所以对合同的履行情况计划管理科无法掌握,就更谈不上对合同进行监督和检查。计划管理科只了解合同的签订情况,要了解合同的履行情况非常被动,这种人工管理方式远远不能满足现代化管理的需要1.1.1运行可行性传统的合同管理效率低、保密性差、电子表格容量小,关联性差

,不易于查询、更新和维护等,如果合同的签订、履行、变更、终止等全过程完全靠人工进行跟踪管理,不仅工作量大,而且难度也非常大,特别是合同管理归口到计划管理科。但是建立数据库合同管理系统,我们只在数据库输入一次,随时随地只要鼠标一点击,我们说要查阅的信息几秒内就显示出来了,这种方法简单。快捷。省时。省力。大大的提高了人们的工作效率。常适合现在社会快节奏的生活方式。1.1.2技术可行性随着社会的快速发展,WIN7WIN8等先进系统和设备的出现以及数据库和一些高技术含量的软件的出现,就目前使用的新型合同管理系统来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。1.2任务规划组长:邱向荣组员:吕铜王哲赵志王腾飞郭超舵任务分配:邱向荣(2012050114):编写数据库程序和建立数据库,及输入子系统的设计与编写,并做最后完善吕铜(2012050118):负责建立用户登录界面,主界面和各信息子系统设计及程序编写王哲(2012050116)赵志(2012050117):负责删除信息子系统和添加信息子系统的设计及程序编写,实验报告的编写王腾飞(2012050113)郭超舵(2012050115):负责收集和整理资料,及输出信息子系统和查询信息子系统和设计及程序编写。1.3制定信息系统开发方案及日程安排1.3.1划分子系统合同管理系统划分为五个子系统分别是:输入、添加、查询、删除、输出。1.3.1对各子系统的评价输入:它是用VB语言开发的一个子系统,客户把自己的登录名和密码输入,进入我们的产品界面,就可以查看关于自己的合同和我们的产品信息,它实现了对客户个人信息的保护盒快捷查询,以及对我们新产品及时的了解。添加:工作人员对我们公司新产品信息的添加。使我们的产品及时更新,以供客户了解和购买。查询:顾客看中我们产品,对我们产品的信息进行进一步详细查询和了解,同时也方便我们工作人员对顾客信息的查询统计。删除:删除已些不用或旧的产品信息来节省内存,方便新信息的输入,达到节约的母的输出:显示出查询的信息2.系统分析2.1需求确定(1)在进入系统之后首先是登录系统,根据用户输入的内容判断用户的合法身份。

(2)允许有权限的用户进入合同管理界面,可以录入合同资料,并能对其进行浏览、修改、删除、查询等操作。

(3)进入项目管理界面可以录入所有项目资料,并能对其进行浏览、修改、删除、查询等操作。

(4)进入合同信息维护界面可以录入所有与合同相关的明细资料,并能对其进行浏览、修改、删除、查询等操作。

(5)进入合同执行控制界面可以实时处理所有合同,能对其进行查询、预览等操作。

(6)允许用户按组合条件方式查询已经签订的合同(7)系统应该有很好的可扩展性。2.1.1概念模型E—R图1-1.E—R图2.1.2客户用例图1-2客户角色与用例之间的关系2.13系统中的类,以及各类之间的关系图1-3类图2.2需求分析需求分析就是描述系统的需求,根本目的在于在开发者和提出需求的人之间建立一种理解和沟通的机制。

需求分析的第一步是描述合同管理系统的功能,即定义用例,以此确定系统的功能需求。本系统的用例包括:用户登录管理

合同签订管理合同信息维护

合同信息统计

本系统主要实现5大基本功能:

1.

用户登录管理:

管理所有有权限登录合同管理系统的登录表。

合同签订管理:

管理签订的合同信息,包括添加、删除、修改、查找合同信息。3.

签订合同查询管理:

按条件查询已经签订的合同信息4.

执行合同管理:

可以查询已经执行的合同,同时也能够提供修改执行合同的信息5.

查询执行合同管理:

查询至今为止,已签订并已经要求何时开始执行的合同的完整信息。2.2.1数据流程图1-4客户登录流程图2.2.2数据字典合同表=合同编号+客户+公司负责人+选择的产品+合同金额+付款金额+到款日期+到账日期+结算方式+拒付原因。产品表=产品编号+产品名称+产品商标+产品型号+计量单位。客户表=客户编号+客户名字+客户性别+客户年龄+联系人+联系电话+备注。附加说明:1.产品表2合同表客户表⒊系统设计3.1各主要功能的实现代码//主页面源代码<headrunat="server"><title>合同管理系统</title></head><body><formid="form1"runat="server"><divstyle="text-align:center"><spanstyle="font-size:16pt">合同管理系统</span><br/><br/></div><table><tr><tdstyle="height:247px"colspan="3"><asp:GridViewID="GridView1"runat="server"AllowPaging="True"AllowSorting="True"AutoGenerateColumns="False"Height="400px"Width="682px"DataKeyNames="NUM"DataSourceID="SqlDataSource1"OnSelectedIndexChanged="GridView1_SelectedIndexChanged"><Columns><asp:CommandFieldShowDeleteButton="True"ShowEditButton="True"/><asp:BoundFieldDataField="Num"HeaderText="合同编号"ReadOnly="True"SortExpression="Num"/><asp:BoundFieldDataField="Pnum"HeaderText="产品代码"SortExpression="Pnum"/><asp:BoundFieldDataField="Price"HeaderText="单价"SortExpression="Price"/><asp:BoundFieldDataField="Count"HeaderText="数量"SortExpression="Count"/><asp:BoundFieldDataField="Factory"HeaderText="供货单位"SortExpression="Factory"/><asp:BoundFieldDataField="Fday"HeaderText="发货日期"SortExpression="Fday"/><asp:BoundFieldDataField="Day"HeaderText="签定日期"SortExpression="Day"/></Columns></asp:GridView><asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ConnectionStrings:ConnectionString4%>"ProviderName="<%$ConnectionStrings:ConnectionString4.ProviderName%>"SelectCommand="SELECTNum,Pnum,Price,Count,Factory,Fday,DayFROMHetong"DeleteCommand="DELETEFROMHetongWHERE(NUM=:num)"UpdateCommand="UPDATEHetongSETNUM=:num,Pnum=:Pnum,Price=:Price,Count=:Count,Factory=:Factory,Fday=:Fday,Day=:DayWHERE(NUM=:num)"><DeleteParameters><asp:ParameterName="Num"/></DeleteParameters><UpdateParameters><asp:ParameterName="Num"/><asp:ParameterName="Pnum"/><asp:ParameterName="Price"/><asp:ParameterName="Count"/><asp:ParameterName="Factory"/><asp:ParameterName="Fday"/><asp:ParameterName="Day"/></UpdateParameters></asp:SqlDataSource>        </td></tr><tr><tdcolspan="2">  <asp:LinkButtonID="lbtnIns"runat="server"OnClick="lbtnIns_Click1"PostBackUrl="~/add.aspx">插入记录</asp:LinkButton>       <asp:LinkButtonID="LinkButton1"runat="server"PostBackUrl="~/search.aspx"OnClick="LinkButton1_Click">查询记录</asp:LinkButton> </td></tr><tr><tdcolspan="2"><br/>  <asp:LinkButtonID="LinkButton2"runat="server"OnClick="LinkButton2_Click"Width="64px">供货单位信息管理</asp:LinkButton>       <asp:LinkButtonID="LinkButton3"runat="server"OnClick="LinkButton3_Click"Width="64px">产品信息管理</asp:LinkButton><br/></td></tr></table></form></body></html>//插入功能的实现代码<headrunat="server"><title>无标题页</title></head><body><formid="form1"runat="server"><divstyle="text-align:center"><br/><spanstyle="font-size:16pt">添加记录</span><br/><tablestyle="width:330px;height:362px"><tr><tdstyle="width:94px">    合同编号</td><tdcolspan="2"style="width:40px"><asp:TextBoxID="txtNo"runat="server"></asp:TextBox></td></tr><tr><tdstyle="width:94px">    产品代码</td><tdcolspan="2"style="width:40px"><asp:TextBoxID="TextBox2"runat="server"></asp:TextBox></td></tr><tr><tdstyle="width:94px">单价</td><tdcolspan="2"style="width:40px"><asp:TextBoxID="TextBox3"runat="server"></asp:TextBox></td></tr><tr><tdstyle="width:94px;height:22px">数量</td><tdcolspan="2"style="height:22px;width:40px;"><asp:TextBoxID="TextBox4"runat="server"></asp:TextBox></td></tr><tr><tdstyle="width:94px"> 供货单位</td><tdcolspan="2"style="width:40px"><asp:TextBoxID="TextBox5"runat="server"></asp:TextBox></td></tr><tr><tdstyle="width:94px;height:13px;">发货日期</td><tdcolspan="2"style="width:40px;height:13px"><asp:TextBoxID="TextBox6"runat="server"></asp:TextBox></td></tr><tr><tdstyle="width:94px;height:13px">签定日期</td><tdcolspan="2"style="width:40px;height:13px"><asp:TextBoxID="TextBox7"runat="server"></asp:TextBox></td></tr><tr><tdstyle="width:94px;height:13px">   <asp:ButtonID="btnSubmit"runat="server"Text="添加"OnClick="btnSubmit_Click1"/></td><tdcolspan="2"style="width:40px;height:13px"><asp:ButtonID="btnBack"runat="server"Text="返回"OnClick="btnBack_Click1"/> </td></tr></table> </div></form></body></html>//添加功能的实现publicpartialclassadd:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){this.Title="添加记录";txtNo.Focus();}protectedvoidbtnBack_Click1(objectsender,EventArgse){Response.Redirect("default.aspx");}protectedvoidbtnSubmit_Click1(objectsender,EventArgse){OracleConnectionconn=newOracleConnection("DataSource=orcl;UserID=system;password=xiao871112;Unicode=True");stringstrVal=txtNo.Text+"','"+TextBox2.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"','"+TextBox7.Text;stringstrIns="insertintohetong(Num,Pnum,Count,Price,Factory,Fday,Day)values('"+strVal+"')";OracleCommandinsCom=newOracleCommand(strIns,conn);conn.Open();Int32n=insCom.ExecuteNonQuery();if(n>0){Response.Write("<scriptlanguage=javascript>alert('添加成功!');</script>");}conn.Close();OracleConnectionconn1=newOracleConnection("DataSource=orcl;UserID=system;password=xiao871112;Unicode=True");stringstrFac=TextBox5.Text;stringstrIns1="insertintocom(Factory)values('"+strFac+"')";OracleCommandinsCom1=newOracleCommand(strIns1,conn1);conn1.Open();Int32m=insCom1.ExecuteNonQuery();if(m>0){Response.Write("<scriptlanguage=javascript>alert('添加成功!');</script>");}conn1.Close();OracleConnectionconn2=newOracleConnection("DataSource=orcl;UserID=system;password=xiao871112;Unicode=True");stringstrPro=TextBox2.Text;stringstrIns2="insertintoproduct(Pnum)values('"+strPro+"')";OracleCommandinsCom2=newOracleCommand(strIns2,conn2);conn2.Open();Int32k=insCom2.ExecuteNonQuery();if(k>0){Response.Write("<scriptlanguage=javascript>alert('添加成功!点击确定返回的主页面');</script>");Server.Transfer("Default.aspx");}conn2.Close();}}//查询功能的实现代码publicpartialclassinsert:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){this.Title="查询";}protectedvoidbtnSubmit_Click(objectsender,EventArgse){Panel1.Visible=true;Booleanflag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论