1、武汉理工大学《数据库系统概论》课程设计说明书 目 录 1.开发背景 1 1.1 定义 1 1.2 合同分类 1 1.3 手工管理的缺陷 1 1.4 合同管理系统的功能 2 1.5 特性 2 2.需求分析 3 2.1 理解需求理解需求理解需求理解需求 3 2.2 需求分析 3 2.2.1 登录模块需求分析 4 2.2.2 签订合同模块需求分析 4 2.2.3 执行合同模块需求分析 4 2.2.4 查询执行合同模块需求分析 4 2.2.5 条件查询合同信息模块需求分析 4 3.概念设计 5 3.1 业务流程图 5 3.2 数据库分析 5 3.3 数据库概念设计
2、 6 3.3.1.管理员实体 6 3.3.2.签订合同实体 6 3.3.3 执行合同实体 7 4.逻辑设计 8 4.1 管理员信息表(LoginTable) 8 4.2 签订合同信息表(SignTable) 8 4.3 执行合同信息表(ExcuteSign) 8 5.物理实现 9 5.1 功能结构图 9 5.2 用户登录模块 9 5.3 签订合同模块 10 5.4 执行合同模块 11 5.5 查询合同模块 11 5.6 条件查询模块 12 6.运行与测试 13 6.1 登录模块测试 13 6.2 签订模块测试 13 6.3 执行模块测试 13 6.4 条件
3、查询模块测试 13 7. 心得与体会 14 7.1研制过程 14 7.2 对设计评价 14 7.3 心得与体会 14 8参考文献 15 1.开发背景 1.1 定义 合同管理系统,是建立在信息技术基础上,利用现代企业的先进管理思想,为企业提供决策、计划、控制与经营绩效评估的全方位、系统化的合同管理平台。 1.2 合同分类 合同依其标的不同,划分为一定的类型,包括:转移标的物所有权的合同(买卖合同、供用电水气热力合同、赠与合同);转移标的物用益权的合同(租赁合同、融资租赁合同、完成工作的合同、承揽合同、建设工程合同);给予信用的合同(借款合同);提供服务的合同(运输合同、保
4、管合同、仓储合同、委托合同、行纪合同、居间合同);转移智慧成果的合同(技术合同)。 1.3 手工管理的缺陷 采用手工管理合同,由于涉及的部门众多,需要管理的合同要素也各不相同,因此造成信息不集中,实时性不强,导致各部门协作,业务流程组建,监控制度执行方面效率不高,费时费力等问题,具体表现在如下方面: 1)文档管理困难:传统纸质合同与电子版合同共存,但对于不同的人员想阅读参考合同时,存在查找不方便的问题。尤其是领导需要了解合同文本时需要耗费很多时间。 2)进度控制困难:由于合同数目多,参与人员多,合同进度的控制基本靠手工和普通word、excel管理已很难满足公司发展需要,并且当领导想全
5、局或全程了解合同情况时存在很大障碍。财务人员的付款依据也与进度密切相关,但同样存在障碍。 3)信息汇总困难:采用手工或EXCEL管理时,由于不同部门的数据格式不统一,采集也不能够及时继续,汇总工作需要耗费大量时间还不一定准确。对于领导的决策时间有一定的影响。 4)缺少预警机制:缺少对合同进度、结款等关键节点的预警,不能准确地预测近期可能的收支项目,不能帮助公司进行财务规划,掌控现金流,更好地发挥资金运作。 1.4 合同管理系统的功能 业务管理是合同管理的核心需求,合同管理软件必须解决实际业务管理中的问题,专注于企业合同管理的动态化、智能化、网络化,为企业提供合理的流程和业务约束以及
6、全方位的合同管理功能,包括合同起草、合同审批、文本管理、履约监督、结算安排、智能提醒合同收付款、项目管理、合同结款情况统计分析、报表输出和决策支持等。 1.5 特性 合同管理在房地产企业运作过程中有着重要的作用,房地产企业在运作过程中所产生的合同有以下的特点: 合同类型多:一个大型的房地产项目运作过程中可能包括土地合同、设计合同、监理合同、工程总包合同、工程分包合同、设备安装合同、设备采购合同、材料采购合同、销售代理合同、广告代理合同等类型。 合同数量大:一个大型的项目可能会包括几十个甚至上百个合同。 合同周期长:很多合同都是跨年度的,有些合同的生命周期甚至可能是两年以上的,这就给合
7、同的持续跟踪管理带来很多问题。 合同之间存在复杂的制约关系:房地产开发项目的复杂性也反映在合同之间存在复杂的制约关系,例如:工程总包合同与分包合同、工程施工合同与采购合同、工程施工合同与设备安装合同在时间上存在一定的制约关系,为确保合同之间顺利的协调开展,需要对合同科目进行详细的分解,形成严密的进度计划。 合同专业性强:如构成工程施工合同、安装合同的文本包括了大量的工程量清单文件、概预算文件,而设备及材料采购合同中也有大量的有关采购对象的技术文件,因此需要提供给专业的项目管理人员强有力的工具协助其对合同进行管理。 2.需求分析 2.1 理解需求 (1)在进入系统之后首先是登录系统,
8、根据用户输入的内容判断用户的合法身份。 (2)允许有权限的用户进入合同管理界面,可以录入合同资料,并能对其进行浏览、修改、删除、查询等操作。 (3)进入项目管理界面可以录入所有项目资料,并能对其进行浏览、修改、删除、查询等操作。 (4)进入合同信息维护界面可以录入所有与合同相关的明细资料,并能对其进行浏览、修改、删除、查询等操作。 (5)进入合同执行控制界面可以实时处理所有合同,能对其进行查询、预览等操作。 (6)允许用户按组合条件方式查询已经签订的合同。 (7)系统应该有很好的可扩展性。 2.2 需求分析 需求分析就是描述系统的需求,根本目的在于在开发者和提出需求的
9、人之间建立一种理解和沟通的机制。 需求分析的第一步是描述合同管理系统的功能,即定义用例,以此确定系统的功能需求。本系统的用例包括: 用户登录管理 合同签订管理 合同信息维护 合同信息统计 。 本系统主要实现5大基本功能: 1. 用户登录管理: 管理所有有权限登录合同管理系统的登录表。 2. 合同签订管理: 管理签订的合同信息,包括添加、删除、修改、查找合同信息。 3. 签订合同查询管理: 按条件查询已经签订的合同信息。 4. 执行合同管理: 可以查询已经执行的合同,同时也能够提供修改执行合同的信息。 5. 查询执行合同管理: 查询至今为止,已签订并已经要
10、求何时开始执行的合同的完整信息。 2.2.1 登录模块需求分析 要求:界面设计美观,对输入的用户名以及相应的密码进行合法性校验,并提供想对应的出错提示,提示用户修改。 2.2.2 签订合同模块需求分析 要求:实现合同的增加与修改功能,界面设计良好,必须提供给客户相对应的出错提示。 2.2.3 执行合同模块需求分析 要求:实现执行合同的数据修改以及增添执行合同数据的功能,界面设计良好,同时也需要提供对应的出错提示给用户。 2.2.4 查询执行合同模块需求分析 要求:根据两个表的主键值,实现两个表之间的连接,查询已经执行的合同的所有信息。 2.2.5 条件查询合同信息模块需求分析
11、 要求:本模块中要求实现按条件查询所需信息的需求,实现LIKE、<、>、=等条件查询,要求界面设计友好。 3.概念设计 3.1 业务流程图 合同管理系统的业务流程图如下图3-1所示: 合同管理系统主窗口 登录成功 管理员 按条件查询签订合同的具体信息 签订合同 查询执行合同信息 执行合同 图3-1 3.2 数据库分析 合同管理系统需求包括对签订合同管理、执行合同管理、用户登录管理,而这些信息都保存在数据库中,管理员可以通过修改数据库中的数据来对这些信息进行管理。数据库名称为SignManageMent,在数据库中创建3张表用于存储
12、各种不同的信息,如下图3-2所示: 图3-2 3.3 数据库概念设计 根据前面介绍的需求分析和设计规划处本系统中使用的数据库实体对象,分别为管理员实体、合同签订实体、执行合同实体等,下面将给出这几个实体的E-R图: 3.3.1.管理员实体 管理员实体包括用户名和密码,管理员实体E-R图如图3-3所示: 管理员 用户名 密码 图 3-3 3.3.2.签订合同实体 签订合同实体包括合同编号、合同等级、负责部门、甲方姓名、甲电话、乙方姓名、乙电话、签订日期、合计金额,签订合同实体E-R图如下图3-4所示: 签订合同 合同等级 甲方姓名 乙方姓名 合同编号 负
13、责部门 乙电话 合计金额 签订日期 甲电话 图3-4 3.3.3 执行合同实体 执行合同实体包括合同编号、起始时间、结束时间、紧迫程度、附加要求,执行合同实体E-R图如下图3-5所示: 图3-5 4.逻辑设计 我设计的这个合同管理系统是利用SQL SERVER 2005数据库,下面给出合同管理系统数据库中主要的表结构: 4.1 管理员信息表(LoginTable) 管理员信息表用于保存管理员的信息,如图4-1所示: 图4-1 4.2 签订合同信息表(SignTable) 签订合同信息表用于保存合同签订时的信息数据,如图4-2所示: 图4-2 4.3
14、 执行合同信息表(ExcuteSign) 执行合同信息表用于保存执行合同的具体信息,如图4-3所示: 图4-3 5.物理实现 5.1 功能结构图 合同管理系统由多个功能模块组成,有用户登录模块、签订合同模块、执行合同模块、查询合同模块、条件查询模块。如图5-1所示: 图5-1 5.2 用户登录模块 用户登录模块用来允许合法用户登录合同管理系统,保证数据库的安全性,如下图5-2所示图: 图 5-2 用户登录成功之后,进入合同管理系统主界面,如下图5-3所示: 图5-3 5.3 签订合同模块 签订合同模块主要用于提供签订合同的信息,管理员可进行修改与添加操
15、作。结构图如下图5-4所示: 图5-4 5.4 执行合同模块 执行合同模块中,管理员可以对执行的合同进行数据记录,同时也可以进行修改以及添加执行合同的信息,如下图5-5所示: 图5-5 5.5 查询合同模块 查询合同模块中,管理员可查询已经执行的合同的具体信息,实现两个表之间的连接,如下图5-6所示: 图 5-6 5.6 条件查询模块 条件查询模块中允许管理员按条件实现签订合同表中的详细信息查询,如下图5-7所示: 图5-7 6.运行与测试 6.1 登录模块测试 测试条件:如果输入的用户名或者密码,则会弹出警告信息,提醒用户进行修改,如下图中6-1所
16、示,若用户名与密码都与管理员表中的记录相匹配,则弹出用户成功登录的提示框,如下图6-2所示: 图6-1 图6-2 6.2 签订模块测试 测试条件:这个模块中对手机号码进行了合法性的校验,若输入的手机号码长度不等于11位,则会提示用户输入的手机号码有误,如下图6-3所示,若用户输入的用户编号在数据库表中已经存在,则会由于数据库语句报错,不允许插入重复的主键值!如下图6-4所示: 图 6-3 图6-4 6.3 执行模块测试 测试条件:执行模块实体中包含合同编号、开始时间、完成时间、紧迫程度、附加要求,合同编号是从签订合同中导出来的,添加
17、是不允许添加未签订的合同号。 6.4 条件查询模块测试 测试条件:根据COMBOX控件中的选取内容与EDITBOX中的文本进行选择操作,文本内容不能为空! 7. 心得与体会 7.1研制过程 在这次课程设计中,我在图书馆查阅了大量的关于数据库技术的书籍,了解了很多关于数据库编程知识。在设计数据库时,我知道了关于数据库设计的一些要求,对数据库的设计有了重新的认识。对于一些不懂的问题,通过网上搜寻资料,终于得到了解决。 7.2 对设计评价 这次数据库课程设计,从需求分析到数据库实施,我都非常用心地去进行设计!虽然说这次的课程设计并没有做的太完美,但我在这个过程对一些关于数据库编程开发有
18、了进一步的人事,从而也更加巩固了数据库的知识点,对ODBC,ADO一些技术有了一定程度上的了解,相信在以后的过程中,我会对数据库编程掌握的更好。 7.3 心得与体会 通过这次课程设计,我对数据库又有了更近一步的认识。在这次课程设计中,我对数据库知识有了进一步的了解,自己的理论知识和动手实践能力都有了很大的锻炼和提高!通过这些练习与锻炼,自己的知识和能力才得以提高,才能够发现自己更多的不足,才可以在以后的学习和工作中避免相似的错误,鼓励我进一步完善自己的技术。通过这次课程设计所学到的知识点,我相信这将会令我更快速地掌握编程技巧,同时,也感谢此次课设的老师的悉心指导,我会更加努力! 8参考文献 1. 王珊.数据库系统简明教程.北京:高等教育出版社,2004 2. 王珊,冯念真.计算机应用系统的设计与开发.北京:高等教育出版社,1989 3. 萨师煊,王珊.数据库系统概论.第三版.北京:高等教育出版社,2000 4. 王珊,陈红.数据库系统教程.北京:清华大学出版社,1998 15






