基于SSM框架的合同服务管理系统设计与实现

基于SSM框架的合同服务管理系统的设计与实现

摘要:当今社会,各行各业都离不开计算机软件的推广,销售,运营各方面,有些中小型企业没有技术与能力开发和维护一款软件来运营,这时催生很多软件外包公司的产生。由于软件外包服务的特定服务地位,外包公司合作的公司伙伴流动的趋势变化较大,软件外包公司对服务合同的管理与信息维护任务繁重。线下消耗的资源不断增多,服务合同软件外包的项目需求,项目制定变动性大等问题,运用线上资源可更好地管理了需求方与服务商之间的信息往来,更好管理项目的启动,运行,中止等出现的状态跟进,实现数据的实时更新性。
本毕业设计针对传统的线下签约满足不了日益趋近的服务合同增量和客户需求量的问题,采用B/S开发模式,开发一个基于SSM框架的合同服务管理系统。本课题解决了传统线下合同签约流程带来的效率问题,也解决了服务合同细节变更的问题,提高了服务合同签订的效率与数据的实时更新性。系统-前端界面采用Bootstrap4框架部署,IDEA作为开发工具,使用Spring,SpringMVC和MyBatis整合的框架进行开发,数据库使用MySQL数据库。
本系统实现了-合同申请,变更合同,渠道入驻,合同审批,客户合同-渠道认定,产品服务,用户反馈等功能,对服务合同线上签约的签订效率与带来客户量的效益有很大的帮助。

关键词:服务合同,线上签约,MVC设计模式

Design and Implementation of Contract Service Management System Based on SSM Framework

Abstract: In today’s society, more and more industry are inseparable from the promotion of computer software, sales, operation of all aspects. Because small businesses haven’t the technology and ability to develop and maintain a software to operate. There are a lot of software outsourcing companies. Because of the specific service status of software outsourcing service, the trend of the flow of outsourcing company partners changes greatly. The management and information maintenance of service contract in software outsourcing companies is a heavy task. In the face of the increasing offline consumption of resources, the project demand of service contract software outsourcing, and the great variability of project formulation, the use of online resources can better manage the information flow between the demander and the service provider. At the same time, it can better manage the status follow-up of the project’s startup, operation and suspension, the real-time updating of data is realized.
This graduation project is aimed at the traditional offline signing can not meet the increasingly approaching service contract increment and customer demand. B/S development mode is adopted to develop a contract service management system based on SSM framework. This topic solves the efficiency problem brought by the traditional offline contract signing process, and also solves the problem of the change of service contract details, thus improving the efficiency of service contract signing and the real-time updating of data. System - front end adopts Bootstrap4 framework deployment, IDEA as a development tool, using Spring, SpringMVC and MyBatis integrated framework for development, database use MySQL database.
This system realizes - contract application, change contract, channel entry, contract approval, customer contract - channel identification, product service, user feedback and other functions,it is of great help to the efficiency of online service contract signing and the benefit of customer quantity.

Keywords: service contract, online contract, MVC design pattern

目 录

第1章 绪论 1
1.1系统的开发背景及意义 1
1.1.1合同服务管理系统的研究背景分析 1
1.1.2 本课题的研究意义 1
1.2国内外研究现状 2
1.3系统的主要研究内容 2
1.4系统开发环境与开发工具 3
1.5论文结构安排 3
第2章 系统需求分析 5
2.1系统的总体需求 5
2.2系统的功能需求分析 5
2.3 用例模型建立 9
2.4 合同服务顺序图 14
2.4.1 合同申请顺序图 14
2.4.2 变更合同顺序图 16
2.4.3 审批合同顺序图 17
2.5 系统可行性分析 18
2.5.1 技术可行性 18
2.5.2 经济可行性 18
2.5.3 操作可行性 18
第3章 系统设计 19
3.1系统总体架构设计 19
3.2 功能模块设计 20
3.3 数据库设计 22
第4章 系统实现 27
4.1合同服务客户端的实现 27
4.1.1 首页入口功能的实现 27
4.1.2 合同签订功能的实现 28
4.1.3 关于我们-用户反馈功能的实现 28
4.2合同服务管理端的实现 29
4.2.1 管理端登陆模块的实现 29
4.2.2 合同申请模块的实现 30
4.2.3 审批合同模块的实现 32
4.2.4 需求鉴定模块的实现 34
第5章 系统测试 36
5.1 系统测试概述 36
5.1.1 测试的意义 36
5.1.2 测试的目的 36
5.1.3 软件测试方法 36
5.2 系统的功能测试 37
5.2.1 合同申请功能的功能测试 37
5.2.2 需求鉴定功能的功能测试 38
5.2.3 审批合同功能的功能测试 38
5.2.4 测试总结 39
第6章 结束语 40
6.1 全文总结 40
6.2 课题展望及不足 40
参考文献 41
致 谢 42

第1章 绪论

1.1系统的开发背景及意义
1.1.1合同服务管理系统的研究背景分析
当今社会,许许多多的企业之间需要合作运营,成为甲方乙方的合作伙伴关系,如何保障甲方与乙方权益,需要建立的是一份合同关系。在数字化经济持续发展的今天,通讯应用十分方便,很多的线下产能转为线上产能,对企业来说,线下繁琐的合同整理无提高行政的办公效益也无法带来更多的客户量,如何将线上数据化与合同简便化,安全化,实时更新化相结合对企业之间都是非常重要的。
服务合同属于无名合同,是以服务为标的的合同。区别就看合同的内容。与劳务合同区分还是明显的。技术服务合同,是指服务方以自己的技术和劳力为委托方解决特定的技术问题,而委托方接受工作成果并支付约定报酬的协议。
软件外包公司本身合作伙伴周期性变化,周期服务合作服务时间变动决定了合同签订的一些周期性改动,面对客户变动大,服务合同周期性增加,服务合同从线下转为线上成为趋势所在,产品服务也可不断进行周期性的迭代完善,满足外包公司日益变化的业务需求与变化与信息的及时传递,从线下签约服务合同转变为线上签约服务合同,一来既能实现跨地区的合作,也可实现合同数据化运营,二来可为公司的开发理念做推广,提高公司的订单量,为公司承接更多业务,实现服务合同的精细化。
1.1.2 本课题的研究意义
传统的服务合同采用的是线下签约方式,而服务合同本身是企业之间合作项目的基本协议,软件外包公司对服务合同的管理与信息维护任务繁重,线下消耗的资源不断增多,服务合同软件外包的项目需求,项目制定期限变动性大等问题,这就为合同服务管理系统提供的无限动力。
随着软件外包公司的合同伙伴增多,订单量增大,服务合同信息的变动性强问题随之产生,以技术服务合同为例,技术服务项目的名称、内容、方式、要求、合同履行的地点、期限、验收标准等本身变动性大,传统的线下服务合同无法能保证合同期间的各种数据实时更新性,甲方如果对项目需求的变动,项目交付时间的紧缩会产生甲乙双方的各种协议金额协调问题,所以本课题结合现实需求,采用SSM框架开发合同服务管理系统,用于加强公司的服务合同管理性与效率,保障服务合同的实时更新性,减少线下资源的消耗和甲乙双方对未来合同期间的摩擦导致的公司合作关系的紧张,提高服务合同管理的工作效率,减少公司的成本消耗。
1.2国内外研究现状
2020年3月,人力资源社会保障部办公厅印发关于订立电子劳动合同的文件,文件明确:用人单位与劳动者协商一致,可以采用电子形式订立书面劳动合同。这一文件的出台,让合同从线下转为线上签约成为有力保障。技术服务合同制度源自英美法,20世纪以后为大陆法各国所接受。一些国家的法律将其视为独立的技术合同类型,另一些国家将其与技术咨询合同视为同类,还有些国家将其作为技术转让合同的一种。在线上签约这一领域目前在电子商务中最为常见,交易双方远隔千里互不相识,甚至在整个交易过程中自始至终都不能见面,传统的线下签约方式很难在电子商务中发挥应有的作用。此时,电子签约就出现了。技术服务合同的签约亦是如此,面对线上交付项目,客户源广阔,合同服务信息的更迭,跨地区服务难度大的问题,由线下转到线上机制,运用PC端完美完成服务合同信息的实时更迭,需求与期限变动带来的一系列问题,都可运用互联网的广跨域性,实时性将甲乙双方的利益保障,市场竞争小,服务合同线上机制需求量大,将可推动技术服务行业的发展。
1.3系统的主要研究内容
随着数字化经济的发展,和日益增长的业务量,传统的线下签约服务合同已不能满足企业合作间的需要。因此,软件外包公司需要一款线上管理服务合同的系统来提高公司的业务量和工作效率。本论文主要介绍运用idea 使用bootstrap和SSM框架开发一款合同服务管理平台。系统主要为软件模块,前端使用清晰整洁的操作界面,规范的流程界面,后台运用了SSM框架,整体项目的前后端连贯性强,运用了弹窗添加业务,下拉列表监听事件,保证业务的严谨性。
合同服务管理系统的总体目标是以建设覆盖全面、管理集中、分工协作的合同服务系统,集合同管理,渠道入驻,合同归档,产品更迭功能于一体。
本论文的主要的研究结果如下:
1、技术方面:前端运用bootstrap+html+css+JQuery部署,后端运用Spring+SpringMVC+Mybatis框架部署,数据库运用MySQL数据库部署
2、业务方面:本系统是一个B/S架构的系统,经过对市场需求的分析,对系统的功能更加地有紧密型,业务性,在开发过程,运用合适的技术方法保证业务的适用性
3、系统测试方面:系统开发完成后,通过整理各模块的测试用例,总结其中的不足并对其优化与完善
1.4系统开发环境与开发工具
开发环境运用4GB的win 10 x64操作系统,1.8版本的JDK,8.5版本的Tomcat,使用结构化查询语言进行数据库管理的MySQL,以上环境将作为合同服务管理系统的开发环境。HBuilder作为系统启动阶段的前端部署工具,后面将代码整合到IDEA的WEB-INF中,Bootstrap框架将作为前端的开发框架, 采用idea集成开发工具被作为服务器的开发工具, SSM框架将作为后端的开发框架,以上工具将作为合同服务管理系统的开发工具。
1.5论文结构安排
本论文一共分为五个部分,具体内容安排如下:
第1章_绪论,主要论述合同服务管理系统的开发背景及意义、国内外研究现状,结合合同服务线上签约进行的研究内容等
第2章_合同服务管理系统的需求分析,主要对系统的整体业务需求进行详细介绍,包括合同管理,渠道入驻等主流程业务。
第3章_系统设计,主要对系统的总体架构设计,数据库设计,逻辑结构,以及部分系统功能设计进行详细介绍。
第4章_系统实现,主要对系统的整体框架搭建,实现进行简单介绍,并且对部分功能实现进行讲解。
第5章_系统测试与维护,主要介绍系统功能的测试用例以及对其的优化与完善。
第6章_总结与展望,总结项目的业务需求以及技术的开发技术,并且指出系统的不足以及未来拓展方向。

第2章 系统需求分析

2.1系统的总体需求
合同服务管理系统的总体目标是以建设覆盖全面、管理集中、分工协作的合同服务系统,集合同管理,渠道入驻,合同归档,产品更迭功能于一体。
随着数字化经济的发展,和日益增长的业务量,传统的线下签约服务合同已不能满足企业合作间的需要。合同服务管理系统基于软件外包公司的真正业务需要,结合服务合同的特点,开发用户端和管理端。
对于软件外包公司来说,服务产品的推广渠道十分重要,用户端用于软件产品的信息推广和合同的签订,并提供渠道入驻业务,用于渠道入驻可通过归属销售帮助软件外包公司的产品销售,管理端用于软件外包公司内部管理员的使用,可进行合同管理,帮助第三方客户发起SaaS申请和变更合同的需要,渠道入驻功能的开放,可帮助渠道入驻与我们服务商签约,帮助我们的销售工作,合同申请和渠道入驻采用审批流的方式进行审批,利用审批流管理,可以方便、快捷地处理企业管理事务;可以协助合同管理人员更轻松地应对日常管理事务,并提供客户合同-渠道认定模块,保证带来效益的合同实时进入渠道公司的审查绩效之中,为未来的合作发展奠定前景,并且开放合同归档,可分析各种服务类型,服务内部的占比率,为软件外包公司的服务业务趋向做数据分析,并通过产品信息发布,用户反馈功能完善业务。
2.2系统的功能需求分析
结合合同服务线上签订需求与市场调研的实际分析,合同服务平台应该具备两个端的入口,一个是用户端,用户端的系统功能基于用户能实时查询产品更迭的信息和为甲方合作伙伴企业或者个人开放的合同签订功能,及能对产品的需求更新和反馈其过程的遇到的意见与建议。一个是合同服务管理端,管理端的系统功能是基于软件外包公司行政人员对服务合同的管理,管理端有开放SaaS合同申请和SaaS渠道入驻,对于第三方客户的到来,管理员可帮助他们发起SaaS申请,面对服务合同的变动性大的特点,亦开放变更合同和变更渠道归属销售信息的功能,对渠道公司的评定,也开放了客户合同-渠道认定功能,用于对渠道公司的销售绩效评定,为未来的合作发展奠定前景,行政人员会对合同归档的类别进行数据化分析,为服务业务的趋向做数据分析,同时开放产品信息的实时公布,和对用户反馈的信息进行业务分析与同步。 合同服务管理端的系统功能如图2.1所示:
在这里插入图片描述

图2.1 合同服务管理端功能图
根据合同服务管理端系统功能图,可以得出主要功能模块有:
1、合同管理
合同管理是合同服务的主体业务,管理端的合同管理主要用于帮助第三方客户发起SaaS合同申请和合同变更,添加客户信息,变更渠道归属销售信息等操作,具体业务需求如下:
(1)添加客户信息:在发起合同申请前得先添加客户信息,点击添加客户信息按钮,出现添加客户信息的弹窗,填写相关信息,例如客户的姓名,电子邮箱,电话等信息提交到系统中。
(2)合同申请:合同申请发起的是客户合同,点击新增合同,通过合同三步流程添加合同相关信息,通过合同联系人模块,这里运用了邮箱认证定位客户信息,运用了当前账号的数据权限过滤,可以获取当前账号创建过的客户信息,运用下拉的监听事件会自动获取该客户的全部信息,然后补充合同的基本信息,合同附件条款,合同收件人等信息,例如项目名称,服务类型,服务内容,服务费用,违约费用,验收标准等关键信息,然后进行送审。
(3)合同申请列表页:列表展示了当前账号申请的全部合同列表,可进行查看对应合同进入合同详情页,列表页拥有搜索功能和分页功能,可以对申请编号,项目名称,合同类型,申请状态进行对应搜索。
(4)合同详情页:合同详情页可通过列表页的查看按钮进入,展示合同的相关信息,例如项目名称,服务内容,服务费用,验收标准等关键信息。
(5)变更合同:变更合同是对原有审核成功完成的合同进行变更,对合同变更信息局限于可对服务合同的期限,服务费和服务标准,服务方式进行变更,变更流程采用了按当前账号数据权限的项目名称下拉列表监听事件获取其他信息进行修改变更。
(6)变更合同列表页:变更合同列表页拥有搜索功能和分页功能,列表展示了变更合同的关键信息,例如服务费用,合同期限等关键信息,搜索功能可通过项目名称等关键信息进行搜索。
2、渠道入驻
(1)渠道申请:点击渠道申请按钮,进入渠道申请三步流程,填写渠道名称,开户信息,归属销售姓名,电子邮箱,电话,添加服务商及代理期限等关键信息,然后进行送审。
(2)渠道归属销售信息变更:点击归属销售信息变更按钮,会弹出可修改编辑的窗口,通过当前账号下的数据权限的渠道名称下拉列表监听事件,可带出原有的该渠道公司的归属销售的信息进行变更。
(3)渠道申请列表页:列表页展示当前账号下的渠道申请的合同数据,拥有搜索功能和分页功能,可以对列表中的相关数据进行筛选搜索。
(4)客户合同-渠道认定:客户合同-渠道认定列表页会带出审核通过的客户合同,管理员通过渠道认定,把相关合同归属于某个渠道,增加客户合同和渠道之间的关联性。
(5)客户合同-渠道认定列表页:列表页展示审核成功的客户合同,展示相关的信息,例如合同编号,项目名称等关键信息。
3、审批合同:
(1)客户合同的审批:管理员进入客户合同审批列表,对对应的合同信息进入详情页查看,确认合同的关键,例如服务内容,服务费用,违约费用,验收标准等关键信息,确认合同信息基本符合要求后可进行审批,给予审核通过,如果客户合同的信息不符合基本要求,将其删除,并通过备注信息发送给申请合同的账号,提示其需要注意的信息,再发起申请。
(2)客户合同列表页:客户合同列表展示了全部的合同信息,可进行查看合同和删除合同,可进行搜索框对相应的合同进行搜索。
(3)变更合同的审批:进入变更合同审批列表,对对应合同变更的信息进行确认,符合标准的进行审批成功,不符合标准的删除其变更合同,并在备注信息提示发起给申请人员,提示其需要注意的信息,再发起申请。
(4)渠道合同的审批:进入渠道合同审批列表,对对应的渠道信息进查看,确认渠道合同的关键,例如渠道名称,开户信息等关键信息,确认渠道信息基本符合要求后可进行审批通过,如果客户合同的信息不符合基本要求,将其删除,并通过备注信息发送给申请人员的账号,提示其需要注意的信息,再发起申请。
4、需求鉴定管理:
进入需求鉴定管理页面,可对相应的客户合同带的需求进行查看,需求的上传是通过合同申请的流程步骤或者相应的需求上传窗口进行需求上传,需求鉴定可对应进行下载查看。
5、产品更迭管理:
通过在管理端发布最新的产品更迭信息,用户端可展示最新的一些产品更迭信息,用户可通过最新信息进行查看。
6、公告管理:
公司行政人员可以通过公告发起合同相关信息条例的调整以及一些产品服务的信息更迭,管理员可通过管理端首页公告查看,用户可通过用户端公告通知查看。
在这里插入图片描述

图2.2 合同服务用户端功能图

如图2.2根据合同服务用户端,主要的功能模块如下:
(1)登陆注册功能:用户可以注册账号,填写相关信息,例如邮箱,电话等信息进行注册,然后通过登陆页面进行登录。
(2)合同签订功能:合同签订发起的是客户合同,通过合同三步流程添加合同相关信息,运用了当前账号的数据权限过滤,可以获取当前账号创建过的客户信息,运用下拉的监听事件会自动获取该客户的全部信息,然后补充合同的基本信息,合同附件条款,合同收件人等信息,例如项目名称,服务类型,服务内容,服务费用,违约费用,验收标准等关键信息,然后进行送审。
(3)产品更迭查看和公告查看功能:可以通过用户端相关信息展示,实时了解到产品更迭的信息和公告信息。
2.3 用例模型建立
合同服务管理平台分为两个端,管理端与用户端,管理端角色主要包含行政人员、项目经理与合同审批管理员,用户端角色主要包含客户,下面列举出系统管理员的功能用例图与用户的功能用例图。
在这里插入图片描述

图2.3 合同管理系统管理员的功能用例图
管理员角色分为软件外包公司行政人员,项目经理,合同审批管理员三种角色,拥有管理系统中对应的菜单功能,合同申请是管理端开放的通用功能,行政人员管理公告发布功能和产品更迭发布功能,项目经理管理需求鉴定功能,合同审批管理员拥有新增合同审批,变更合同审批,渠道合同审批功能,如图2.3所示。
用户属于客户类型,如图2.4所示,客户拥有查看产品更迭信息,合同签订,查看公告,上传项目需求等功能。
在这里插入图片描述

图2.4 “客户”用例图

2.3.1 合同管理
管理员可帮第三方客户发起SaaS合同申请,拥有添加客户信息,合同申请,变更合同等功能。表2.1“合同管理”用例规约。
表2.1 “合同管理”用例规约
用例编号 2-1 用例名称 合同管理
功能描述 管理员帮第三方客户发起SaaS合同管理
执行者 项目经理、行政人员、合同审批管理员
前置条件 管理员成功登录系统,进入到合同申请界面,合同申请的前提是该客户已经添加到客户表中
后置条件 合同申请填写信息后送审
涉众利益 第三方客户与服务公司的联系关系
基本路径 1.管理员登陆合同服务管理系统。
2.进入合同申请菜单点击添加客户信息按钮进入编辑客户信息窗口。
2.1可对相应的客户信息进行添加
3. 进入合同申请菜单点击合同申请
3.1基本信息的填写,在合同联系人中选定客户绑定的邮箱,将客户信息带出,填写基本的合同信息进行下一步
3.2合同附件信息的填写,参照条例和本身项目需求需要,填写相应的服务费用,违约费用,服务标准,服务方式关键信息,点击下一步
3.3送审页面:添加合同收件人信息,进行送审
4.进入变更合同菜单点击变更合同
4.1变更合同流程:在变更合同页面点击变更合同,进入变更合同界面,通过相应的项目名称选择带出原有的合同信息,有些信息可修改可修改之后再送审
扩展
字段列表 1.项目名称 2.客户类型 3.服务内容 4.服务地点
5.甲方申请人员 6.所属公司 7.申请人员地址
8.申请人员邮箱 9.申请人员联系电话 10.服务费用
11.违约费用 12.服务标准 13.验收方式 14.合同开始时间
15、合同失效时间 16、合同收件人姓名 17、合同收件人地址
18.合同收件人电话 19.申请状态 20.合同类型

备注:所有合同的相关信息字段通过post请求发送到Control层
业务规则 1. 管理员必须先登录合同服务管理系统
2. 进入合同申请页面发起合同申请
备注 无

2.3.2 渠道入驻
软件外包公司行政人员可帮第三方渠道发起SaaS渠道入驻,拥有新增渠道,渠道归属销售信息变更,客户合同-渠道认定等功能。如表2.2“渠道入驻”用例规约。
表2.2 “渠道入驻”用例规约
用例编号 2-2 用例名称 渠道入驻
功能描述 行政人员帮第三方渠道发起SaaS渠道申请
执行者 行政人员
前置条件 行政人员成功登录系统,进入到渠道申请界面
后置条件 渠道申请填写信息后送审
涉众利益 第三方渠道与服务公司的联系关系
基本路径 1. 行政人员登陆合同服务管理系统。
2. 进入渠道申请菜单点击新增渠道
3. 新增渠道三步流程:
3.1基本信息的填写,在填写基本的渠道信息和归属销售的信息进行下一步
3.2合同附件信息的填写,对照相应的服务费比例和合同期限,填写相应的服务商,合同期限关键信息,点击下一步
3.3送审页面:添加合同收件人信息,进行送审
4. 进入渠道申请菜单点击归属销售信息变更
4.1 在渠道归属销售信息变更窗口中可以通过渠道名称下拉列表选定相对应渠道进行变更,原有销售信息会被带出,根据实际情况可对归属销售信息进行变更
扩展
字段列表 1.渠道名称 2.渠道单位地址 3.渠道电话 4.开户名称 5.开户银行
6.银行账号 7.渠道联系人 8.渠道联系人电话 9.销售姓名
10.销售联系电话 11.销售地址 12.服务商 13.合同开始时间
14.合同失效时间 15.合同收件人姓名 16.合同收件人地址
17.合同收件人电话 18.申请状态
业务规则 1. 行政人员必须先登录合同服务管理系统
2. 进入渠道申请页面新增渠道
备注 无

2.3.3 合同审批
在管理端的审批合同页面,合同审批管理员可以对客户合同和渠道合同进行审批。如表2.3“审批合同”用例规约。
表2.3 “审批合同”用例规约
用例编号 2-3 用例名称 审批合同
功能描述 合同审批管理员可以对送审的合同进行审批
执行者 合同审批管理员
前置条件 合同审批管理员成功登录系统,进入到审批合同界面,审批合同的前提是客户合同已经送审成功
后置条件 客户合同审核成功或者驳回,删除
涉众利益 合同审批管理员对合同的审批
基本路径 1. 合同审批管理员登陆合同服务管理系统。
2. 进入审批合同菜单查看合同详情
3. 合同审批管理员对客户合同核对关键信息符合基本要求后,可以通过点击审核成功按钮进行审核成功,如果核对关键信息不符合基本要求后,可以填相关备注驳回合同,或者删除合同。
扩展
字段列表 1.项目名称 2.服务内容 3.服务费用 4.违约费用
5.服务标准 6.验收方式
业务规则 1. 管理员必须先登录合同服务管理系统
2. 进入合同审批页面进行审批合同
备注 无
2.4 合同服务顺序图
合同服务业务中合同申请,变更合同,审批合同为主流程业务,将对合同服务这三个主流程业务做顺序图分析。
2.4.1 合同申请顺序图
合同申请顺序图:
(1)管理员进入合同服务管理端的合同申请页,申请合同
(2)申请合同页面加载页面,请求服务器当前账号的邮箱认定相关数据
(3)服务器返回相关邮箱数据
(4)管理端将邮箱认证数据信息展示给管理员
(5)管理员选定某个邮箱
(6)管理端通过下拉列表监听将邮箱认定请求服务器传回客户相关信息
(7)服务器返回相应的客户信息
(8)管理端展示客户信息填充到对应的表单中
(9)管理员填写合同基本信息
(10)点击下一步将数据保存到服务器
(11)服务器将执行跳转到第二步页面
(12)管理端展示第二步页面
(13)管理员填写合同附件条款
(14)点击下一步将数据保存到服务器
(15)合同服务服务器将执行跳转第三步页面
(16)管理端展示第三步页面
(17)管理员填写合同收件人相关信息
(18)送审操作将合同数据保存并送审
(19)合同服务服务器返回int类型判断成功操作
(20)管理端展示送审成功的弹窗
在这里插入图片描述

图2.5 合同申请顺序图
2.4.2 变更合同顺序图
变更合同顺序图:
(1)管理员进入变更合同页,变更合同
(2)管理端加载页面请求相关项目名称
(3)服务器返回项目名称列表
(4)管理端展示项目名称列表给管理员
(5)管理员选定相应的项目名称
(6)管理端请求相应的合同数据
(7)服务器返回相应的合同数据
(8)管理端展示并填充相关合同数据到表单
(9)管理员修改相关合同信息
(10)进行送审操作到服务器
(11)合同服务器返回成功操作
(12)管理端提示送审成功
在这里插入图片描述

图2.6 变更合同顺序图

2.4.3 审批合同顺序图
审批合同顺序图:
(1)管理员进入审批合同页面
(2)管理端请求审核成功的合同列表页
(3)合同服务服务器返回合同列表数据
(4)管理端展示合同相应列表数据
(5)管理员查看合同详情
(6)管理端传合同id到服务器请求合同相关数据
(7)合同服务服务器将相应的合同数据返回
(8)管理端展示相应合同数据
(9)管理员进入列表页,点击审核成功
(10)管理端将审核信息传至服务器
(11)合同服务服务器将合同状态返回
(12)管理端展示其合同状态审核成功
在这里插入图片描述

图2.7 审批合同顺序图
2.5 系统可行性分析
2.5.1 技术可行性
合同服务管理系统是以idea集成开发工具进行开发,使用SSM框架,运用面向对象程序设计Java语言。web前端与服务器进行通讯的采用ajax及form表单的格式,数据库采用MySQL及其对应插件工具Navicat Premium 12对数据库进行操作,系统开发用的服务器是Tomcat8.5,运用各项开发技术,最终实现该系统的主要功能,满足合同服务管理的需求。
2.5.2 经济可行性
合同服务管理系统提供一个全套软件外包公司对服务合同的管理机制,包括客户合同流程,渠道入驻流程,为公司减少人力成本,提高公司行政人员的工作效率,运用线上签约机制,解决跨地区等问题,提高客户量,为公司带来更多的业务量订单。
2.5.3 操作可行性
本系统界面清晰整洁,客户和渠道可根据里面的操作指引进行操作,并且有对相关信息的提示,基本满足客户和渠道的基本要求。

第3章 系统设计

系统设计是软件开发生命周期中不可缺少的一个步骤,本章将从系统总体架构设计、功能模块设计和数据库设计论述合同服务管理系统设计。
3.1系统总体架构设计
合同服务管理系统登陆成功进入管理界面,可以进行合同管理,渠道入驻,合同审批等功能,系统总体架构设计如图3.1所示。
在这里插入图片描述

                     图3.1 系统总体架构图

系统采用SSM框架进行部署:
(1)前端界面采用Bootstrap+html+css+JQuery部署前台页面,运用ajax进行传数据,与服务器形成数据交互。
(2)后台框架在基于SSM框架的合同服务,控制层通过接收前端传过来的参数进行业务操作;服务层存放业务逻辑处理;Dao层对数据库进行数据持久化操作。
(3)系统采用SSM框架进行搭建,通过ajax实现前后端的数据交互,通过Spring,SpringMVC,Mybatis实现后端的部署。
3.2 功能模块设计
在这里插入图片描述

图3.2 功能模块设计图

1、登陆注册功能:
用户端拥有注册和登陆功能,用户即客户或者渠道在用户端注册账号,输入基本信息,注册成功后可通过账号密码登陆软件外包合同服务用户端,管理端可供管理员登陆,登陆账号的权限由技术人员直接提供。

2、修改密码功能:
用户端和管理端都拥有修改密码功能,登陆进去后可以通过菜单栏点击修改密码弹窗,进行重新修改密码。
3、合同管理功能:
(1)客户合同签订在用户端和管理端均有入口,客户信息需要在合同申请前点击添加客户信息进行添加,通过新增合同,完成合同申请三步流程信息填写,客户信息部分是通过邮箱认证的下拉列表监听事件获取对应客户的信息,然后填写服务费用,违约费用,服务标准等关键信息进行送审。
(2)变更合同是对原有的审核成功的合同进行变更,通过当前账号数据权限下拉项目名称,运用下拉列表监听事件带出原合同的数据进行部分数据变更然后再次进行送审。
(3)客户合同列表页,变更合同列表页可以查看当前账号申请过的合同数据,客户合同列表点击查看按钮可以查看合同的具体信息,客户合同列表页和变更合同列表页均具有搜索和分页的功能。
4、渠道入驻功能
(1)新增渠道可以在渠道申请页进行发起,完成渠道信息三步信息的填写然后进行送审。变更渠道归属销售的信息可以通过渠道申请页的归属销售信息变更按钮发起,通过当前账号的数据权限过滤出的渠道名称下拉列表,运用下拉列表监听事件,可以将原有渠道的销售信息带出,修改销售信息然后进行提交。
(2)客户合同-渠道认定可以通过客户合同-渠道认定页面的列表页进行发起,客户合同-渠道认定页面是审核成功之后的客户合同进行渠道认定,点击渠道认定按钮,对相关的客户合同与渠道信息关联。
5、审批合同功能
在管理端的审批合同页面,管理员可以进行审批客户合同和渠道合同,核对关键信息符合基本要求后,可以通过点击审核成功按钮进行审核成功,如果核对关键信息不符合基本要求后,可以填相关备注驳回合同,并删除合同。
6、需求鉴定功能
客户合同的签订伴随着项目需求的上传,客户通过项目需求上传途径,在需求鉴定列表可以进行下载观看。

7、产品更迭管理功能和公告管理功能
管理端通过产品更迭页面更新最新的产品相关信息,会将相关信息展示在用户端页面,在用户端可以实时查看到产品的更迭信息;行政人员在管理端在公告管理页面可以发起关于业务调整的公告,管理端首页和用户端可以进行查看。
3.3 数据库设计
合同服务管理系统主要功能是对合同送审进度和渠道入驻流程进行管理,基于业务逻辑对数据进行操作,本系统使用MySQL数据库作为后台数据库。本节对系统用到的数据库表结构进行设计。
3.3.1 表设计
根据系统需求分析,系统需要建立一些数据库表来保存一些相关的信息,共12张表,如合同信息,渠道信息,客户信息,公告信息等一些数据库,如图3.3是合同表关联的表设计结构。
合同表contract表与客户表、变更合同表、需求鉴定表和合同-渠道关联表具有主外键关联关系,通过contract表中的id与customer_news表、change_contract表、demand表、examine表的contract_id具有关联关系,合同表与渠道表通过contract_channel关联表相应的id关联关系。
在这里插入图片描述

图3.3 合同表设计关联图

以下是对一些主要数据库表的设计:
(1)客户信息表(customer_news)
表3.1 customer_news表
列名 数据类型 可为空 注释
id INT(32) NOT NULL 客户id
applypeople VARCHAR(32) NULL 甲方申请人员
affiliatedCompany VARCHAR(64) NULL 所属公司
address VARCHAR(255) NULL 地址
mailbox VARCHAR(32) NULL 电子邮箱
telephone VARCHAR(32) NULL 电话
客户信息表存储客户基本信息,与合同表之间运用监听事件获取当前账号的客户信息。
(2)合同表(contract)
表3.2 contract表
列名 数据类型 可为空 注释
id INT(32) NOT NULL 合同id
projectName VARCHAR(255) NOT NULL 项目名称
customertype VARCHAR(32) NULL 客户类型
industryType VARCHAR(255) NULL 行业类型
serviceContent VARCHAR(255) NULL 服务内容
servicePlace VARCHAR(255) NULL 服务地点
customer_id INT(32) NULL 客户id
applypeople VARCHAR(32) NULL 甲方申请人员
serviceCharge VARCHAR(255) NULL 服务费用
otherExpenses VARCHAR(255) NULL 违约费用
serviceStandard VARCHAR(255) NULL 服务标准
acceptanceMode VARCHAR(255) NULL 验收方式
startTime VARCHAR(255) NULL 合同开始时间
endTime VARCHAR(255) NULL 合同失效时间
addresseename VARCHAR(32) NULL 合同收件人姓名
addresseeaddress VARCHAR(255) NULL 合同收件人地址
addresseephone VARCHAR(32) NULL 合同收件人电话
founder_id VARCHAR(32) NULL 创建人id
founder VARCHAR(32) NULL 创建人
createtime VARCHAR(32) NULL 创建时间
state VARCHAR(32) NULL 申请状态
contracttype VARCHAR(32) NULL 合同类型
demand VARCHAR(255) NULL 需求地址
系统合同表存储的数据为合同关联的业务,包含有projectName项目名称,customer_id客户id,founder_id创建人id等关键信息,id作为合同的唯一标识,合同表作为基础业务,与渠道表channel,客户表customer_news,审核表audit_contract都有关联。
(3)渠道表(channel)
表3.3 channel表
列名 数据类型 可为空 注释
id INT(32) NOT NULL 渠道id
channelname VARCHAR(32) NOT NULL 渠道名称
channeladdress VARCHAR(255) NULL 渠道地址
channelphone VARCHAR(64) NULL 渠道电话
accountname VARCHAR(255) NULL 开户名称
accountbank VARCHAR(255) NULL 开户银行
bankaccount VARCHAR(255) NULL 银行账号
channelpeople VARCHAR(32) NULL 渠道联系人
channelpeoplephone VARCHAR(64) NULL 渠道联系人电话
salename VARCHAR(32) NULL 销售姓名
salephone VARCHAR(64) NULL 销售电话
saleaddress VARCHAR(255) NULL 销售地址
servicecharge VARCHAR(255) NULL 服务费用
trycooperation VARCHAR(255) NULL 试合作期
serviceprovider VARCHAR(255) NULL 服务商
starttime VARCHAR(255) NULL 合作开始时间
endtime VARCHAR(255) NULL 合作结束时间
founder_id VARCHAR(32) NULL 创建人id
founder VARCHAR(32) NULL 创建人
createtime VARCHAR(255) NULL 创建时间
state VARCHAR(32) NULL 申请状态
type VARCHAR(32) NULL 合同类型
addresseename VARCHAR(32) NULL 合同收件人姓名
addresseeaddress VARCHAR(255) NULL 合同收件人地址
addresseephone VARCHAR(64) NULL 合同收件人电话
系统渠道表存储的数据为渠道相关信息,包含有channelname渠道名称,salename销售姓名,serviceprovider服务商等关键信息,渠道表作为客户的推广渠道,与合同表contract有关联,通过客户合同-渠道认定表channel_contract通过contract_id,channel_id,con_cha_id关联。
(4)审核合同表(examine)
表3.4 examine表
列名 数据类型 可为空 注释
id INT(32) NOT NULL 审核id
contract_id INT(32) NOT NULL 合同编号
state VARCHAR(32) NULL 合同状态
founder_id VARCHAR(32) NULL 审核人id
founder VARCHAR(32) NULL 审核人姓名
rejectReason VARCHAR(255) NULL 审核原因
change_time VARCHAR(255) NULL 审核时间

系统审核合同表存储的数据为合同审核相关信息,包含有contract_id合同编号,founder_id审核人id,change_time审核时间等关键信息,审核合同表与合同表(contract)有密切关联,通过审核业务变更state合同状态和change_time审核时间。
合同服务相关联表结构根据以合同表(contract)为基础表,通过相应的主外键关系,建立以合同为基础模块的关联表结构,运用合同编号contract_id建立与customer_news表、change_contract表、demand表、examine表的联表关系,形成合同信息更新,合同状态变化更新的关联关系。

第4章 系统实现

结合系统的总体架构与功能模块设计,系统中对如下几个模块的页面进行展示同时对实现过程中的重点进行解析。系统分为客户端和管理端,客户端的功能模块有登陆注册,合同签订,产品更迭查看,公告查看功能,管理端主要功能模块如下:1、登陆模块;2、合同管理模块;3、渠道入驻模块;4、审核合同模块;5、需求鉴定上传模块。
4.1合同服务客户端的实现
4.1.1 首页入口功能的实现
如下图4.1是合同服务游客模式下的界面,界面采用bootstrap4部署,整体界面美观整洁,拥有首页、产品信息,用户反馈三个菜单项组成,客户需要登陆进客户平台,才可获得相应的合同签订菜单的权限,在游客模式下可查看首页信息展示,产品更迭信息查看,反馈意见功能,客户注册登陆后可对相应合作的产品发起合同签订。

在这里插入图片描述

图4.1 合同服务客户端首页

4.1.2 合同签订功能的实现
客户端在登陆状态下通过session获取当前登录的用户信息,通过source_type类型判断customer可获得相应的合同签订的菜单权限,可以进行合同申请功能,客户可以对想要合作的产品项目进行发起合同申请,完成合同新增三步流程和需求上传,完成合同签订流程,在合同列表可以实时查看当前合同的申请状态也可以在合同未审核通过前撤回合同。
需求上传运用了bootstrap上传组件,上传的文件名会通过getfileName方法随机数存储,保证其唯一性,先通过getOriginalFilename方法获得文件名称,再通过getfileName重命名文件名,再定义上传路径,然后把本地文件上传到封装上传文件位置的全路径,上传的储存地址是本地电脑。
在这里插入图片描述

图4.2 文件上传Controller控制层实现图
4.1.3 关于我们-用户反馈功能的实现
客户端在游客状态下和登陆状态下都可以对相应类型的产品服务信息进行反馈,管理端会接收相应的反馈信息展示。
4.2合同服务管理端的实现
4.2.1 管理端登陆模块的实现
如下图是管理端登录模块的界面。是用于管理员登陆的专属登陆页,管理端因具有管理业务,所拥有的账号密码由技术人员提供,登录界面分有2个输入框,用于检测用户名密码是否正确匹配,如图4.3如下:

在这里插入图片描述

图4.3 管理员登陆界面图

技术介绍:
(1)登录模块采用了登陆校验的方式,登陆成功后返回User类型的集合,将相关登陆的用户信息存到session中。
(2)登陆成功后的其他页面运用${userinfo.value}调用,session的实现保证不同角色间所拥有的菜单权限的不同。
(3)通过用户信息中的source_type判断账号所拥有的菜单权限。session获取用户信息的实现图如图4.4所示。

在这里插入图片描述

图4.4 session获取用户信息的实现
4.2.2 合同申请模块的实现
当管理员点击主页左侧的合同管理菜单时,有两个二级菜单,点击进入合同申请模块,此时将合同数据加载至合同申请页面,需要使用的合同申请功能和添加客户信息功能也在此页面,变更合同在另一个二级菜单里面,同时两个页面都拥有搜索功能。
合同管理功能包括合同申请、添加客户信息、变更合同、查看合同详情、合同数据搜索,是软件外包公司对服务合同的信息管理。
在这里插入图片描述

图4.5 合同申请页面
管理员点击新增合同,进入合同新增第一步,会根据当前账号过滤出相应的客户信息存放在select邮箱认证信息中,通过下拉列表监听事件,select后可以将客户信息依次带出,相关信息不可编辑,依次填写相关信息三步流程,合同合作期限运用了jQuery时间组件,相关信息填写完成三步流程后送审。整体界面运用Bootstrap4部署。
在这里插入图片描述

图4.6 合同新增第一步-客户信息下拉监听页面
具体实现:
(1)下拉列表监听事件是通过ajax获取客户表customer_news中的信息
(2)运用ajax传数据的方式,到控制层controller进行处理请求
(3)通过service处理数据方法,最后将相应的客户信息通过class选择器的形式填充到相应表单。如图4.7 下拉监听ajax具体传值实现所示:
在这里插入图片描述

图4.7 下拉监听ajax具体传值实现

(4)将合同相关数据运用列表List返回,采用Model model存合同相关信息,加载页面时将在列表页form表格中展示。

在这里插入图片描述

图4.8 合同申请页面将合同数据运用model带出数据

4.2.3 审批合同模块的实现
在管理端,合同审批管理员拥有合同审批的菜单权限,审批合同业务位于导航栏的审批合同菜单时,有三个二级菜单,一个是新增合同审批,一个是变更合同审批,一个是渠道审批,合同审批功能包括查看列表页信息、查看合同详情、审核合同、删除合同等功能,是软件外包公司对服务合同的审批环节的管理。
在这里插入图片描述

图4.9 审核合同页面
审批合同具体实现的流程如下:

(1)合同审批列表数据通过与后端分页功能,搜索功能通过ajax向Controller控制层发送post请求
(2)将其中的通用方法getData方法提取,列表数据、后端分页、搜索分别调用getData()方法。
(3)控制层通过list列表获得相应的列表数据通过resultQuery返回function中的success方法,通过append将列表数据逐个带入循环部署到views层。
在这里插入图片描述

图4.10 审批合同页面调用的getData方法
(4)审批合同功能通过属性节点的方式将合同id通过模态框input中的type=”hidden”方法中隐藏,将合同id放在此input的id属性存放。
(5)通过单选框选择审核通过或驳回,可填写驳回原因,然后点击提交,可将当前选中单选框的value传到控制层,后端通过update方法改变当前合同的申请状态。
在这里插入图片描述

图4.11 审批合同相应的模态框
4.2.4 需求鉴定模块的实现
在合同服务管理端,项目经理拥有需求鉴定的管理权限,在需求鉴定页面,可以查看合同服务期限,合同项目服务费,可对相应的合同上传的需求进行下载,鉴定用工,用时,费用是否符合标准,符合标准给予鉴定通过。
在这里插入图片描述

图4.12 需求鉴定管理页面

需求鉴定实现技术:
(1)在需求鉴定页面,可以对相应合同的需求进行下载,运用IO流的方式,运用DownloadFileUtil工具类,控制层接收文件名filename调用工具类方法实现下载功能。

在这里插入图片描述

图4.13 需求下载控制层调用工具类静态方法

(2)需求鉴定功能通过左联表的方式,将contract表和contract_channel表进行左联left join demand on contract.id=demand.contract_id,前端会根据返回的合同id和需求鉴定contract_id是否对应判断展示鉴定按钮还是渠道名称。

第5章 系统测试

5.1 系统测试概述
5.1.1 测试的意义
测试是Web软件开发的一个非常重要的环节,它是对开发已经完成的功能进行测试,运用黑盒测试等方法,可以发现软件系统存在的不足之处,如系统界面体验效果上,系统功能逻辑上,系统功能问题上的bug缺陷得以暴露出来,使得在后续开发过程中解决这问题,使系统更加健全和完善。
5.1.2 测试的目的
测试的目的包含对功能需求的功能是否已经实现,系统界面体验效果是否达标,系统的功能逻辑是否符合业务逻辑等。
5.1.3 软件测试方法
软件的测试有许多的方法,从软件具体的实现角度上可划分为:白盒测试、黑盒测试和灰盒测试;从软件开发的过程按阶段可划分为:单元测试、集成测试、系统测试。
本系统是采用的黑盒测试、单元测试:
1.黑盒测试:
黑盒测试是对系统已经完成的功能进行界面功能测试,站在用户的角度上,保证主功能流程业务流畅,并其要考虑各种测试场景和保证各流程间数据的对应性,Web黑盒测试可以采用F12调试工具和数据库数据校验等方式确定系统功能流程是否存在问题。
2.单元测试:
单元测试是软件开发代码逻辑有效的测试方式之一,它是从系统的模块代码逻辑层次进行测试,测试代码业务逻辑是否正确,输入数据如可打印控制台console.info日志查看输入数据,输出结果可通过控制台打印语句查看输出结果,对应一下与预期结果是否一致,能够有效确定系统功能实现是否存在问题。
5.2 系统的功能测试
合同服务管理系统是基于SSM框架开发的,本系统主要采用黑盒测试和单元测试,黑盒测试主要对系统功能业务逻辑进行测试,对界面功能的实现进行操作及数据的对应性,单元测试主要是对其controller层的测试和ajax传接数据的对应性测试。运用console.info打印日志的方式到控制台查看前端传数据或接收数据的正确性。运用System.out.println打印相关变量数值进行返回数据的对应性进行校对查看或者运用断点方式对数据进行校验。
5.2.1 合同申请功能的功能测试
合同申请运用合同新增三步流程,需要对必要的信息字段做非空校验,对相应的流程按钮功能进行功能测试,部分用例如下表所示:

测试用例编号 测试用
例简称 测试用例名称 测试目的 测试结果
1 Test1 测试合同申请必要的填写信息的非空校验 测试合同申请流程中必要的填写信息的非空校验是否能提示和聚焦到输入框 合同申请流程中必要的填写信息的非空校验可以提示和聚焦到输入框
2 Test2 测试合同申请三步新增流程 测试合同申请中的信息填写,下一步按钮,需求上传功能能否实现 合同申请中的信息填写,下一步按钮,需求上传功能可以实现
3 Test3 测试合同列表是否能准确带出相应的合同数据 测试合同列表是否能准确带出相应的合同数据 合同列表可以准确带出相应的合同数据
4 Test4 测试合同搜索框相应搜索和多条件搜索 测试合同搜索框相应搜索和多条件搜索是否能实现 合同搜索框相应搜索和多条件搜索可以实现
5.2.2 需求鉴定功能的功能测试
需求鉴定功能需要对合同列表数据的校对,需求下载,需求鉴定功能进行功能测试,部分用例如下表所示:

测试用例编号 测试用
例简称 测试用例名称 测试目的 测试结果
1 Test1 测试合同数据展示是否对应列表数据 测试合同数据展示是否对应列表数据 合同数据展示可以对应列表数据
2 Test2 测试需求鉴定管理页面下载功能 测试需求鉴定管理页面下载功能能否下载,下载之后打开是否是这份合同的需求 需求鉴定管理页面下载功能能下载,下载之后打开是这份合同的需求
3 Test3 测试需求鉴定功能 测试需求鉴定通过后相应的需求鉴定列表数据状态是否有改变 需求鉴定通过后相应的需求鉴定列表数据状态有改变
5.2.3 审批合同功能的功能测试
审批合同有相应的新增合同审批,变更合同审批,渠道合同审批,由管理端的合同审批管理员角色进行合同审批,需要对相应的菜单权限进行测试和对相应的审批功能进行功能测试,部分用例如下表所示:

测试用例编号 测试用
例简称 测试用例名称 测试目的 测试结果
1 Test1 测试运用合同审批管理员的账号登陆进去相应的审批合同菜单权限 测试运用合同审批管理员的账号登陆进去是否有相应的审批合同菜单权限 运用合同审批管理员的账号登陆进去有相应的审批合同菜单权限
2 Test2 测试审批页面的查看,删除功能 测试审批页面的查看,删除功能是否能实现 测试审批页面的查看,删除功能能实现
3 Test3 测试合同审批功能 测试合同审批的审批通过,驳回功能和填写驳回原因的实现 合同审批的审批通过,驳回功能能实现
4 Test4 测试审批页面搜索框相应搜索和多条件搜索和分页功能的实现 测试审批页面搜索框相应搜索和多条件搜索和分页功能能否实现 审批页面搜索框相应搜索和多条件搜索和分页功能能实现
5.2.4 测试总结
通过对系统进行全面的黑盒测试和单元测试,对需求有着比较全面地理解,因此为系统的各功能模块设计比较全面,设计工作进展比较地顺利,系统的开发按照项目进度计划安排来进行的,测试过程对一些功能模块进行完善。

第6章 结束语

6.1 全文总结
本文是基于SSM框架的合同服务管理系统的设计与开发过程,本系统采用idea+hbuilder开发工具,前端采用Bootstrap框架搭建,前后台采用轻量级框架Spring+SpringMVC+Mybatis框架搭建,,MySQL被作为合同服务管理系统的数据支持,Tomcat作为本系统的服务器。
本系统共有两个端,一个是管理端,一个是用户端,管理端是软件外包公司管理员使用,拥有合同管理,渠道入驻,审批合同,公告管理等功能业务;用户端供客户使用,拥有登陆注册,合同签订,查看产品更迭和公告的功能。通过对需求的分析和系统总体架构的设计,对业务功能进一步地实现,完成了合同服务管理系统基本功能。
6.2 课题展望及不足
计算机行业的发展,催生了很多软件外包公司的产生,在当今数字化经济的不断发展中,计算机行业显得非常重要,业务场景也随之越来越多样化,如何能加强跨地区之间的合作和工作效率的提高,线上签约服务合同对软件外包公司的客户量和工作质量非常重要,对于公司之间合作发展有着重要作用。
本系统提高了软件外包公司的线上签订效率和客户量,使得企业的合作流程可以进一步完善:
(1)线上签约服务合同有助于企业之间的合作和客户量效应
(2)系统的流程比较规范,每个操作有相应的操作指引保证其线上签约的正常流程和各种产品更迭信息的及时传递。
存在的不足:
(1)可开放服务商入驻的窗口业务,运用平台的影响力增加客户。
(2)审批,权限机制可以进一步完善

参考文献

[1]张洁才.《Java web应用开发教程[M]》.科学出版社. 2005
[2]张海藩. 《软件工程导论》. 北京:清华大学出版社, 2003.
[3]周佩德.《数据库原理及应用》〔M〕.北京:电子工业出版社,2004
[4]周之英.《现代软件工程〔M〕》.北京:科学出版社,2000
[5]郑阿奇.《SQL Server 实用教程(第2 版)[M]》.北京:电子工业出版社,2005
[6]张桂珠,刘丽,陈爱国 . 《Java 面向对象程序设计(第2 版)[M]》.北京:邮电大学出版社 ,2005
[7]苗春义.《Java 项目开发全程实录》.北京:清华大学出版社,2008.6
[8] 黎连业、王华、李淑春.《软件测试与测试技术[M]》.清华大学出版社.2009.321-322
[9]杜波依斯. 《MySQL技术内幕[M]》. 第4版. 人民邮电出版社 , 2011年07月
[10]孙卫琴. 《Tomcat与Java Web开发技术详解[M]》. 第2版. 电子工业出版
[11]张月萍,牛勇 《Spring+MyBatis企业应用实战》.电子工业出版社,2018.04
[12]戴维尔.《JavaScript程序员教程[M]》.电子工业出版社.2010.333-334
[13]Julie Meloni.Sams Teach Yourself HTML,CSS and JavaScript All in One(2nd Edition)人民邮电出版社 2015.12
[14]Joshua Bloch《Effective Java》电子工业出版社 2018.07.01
[15]David Herman《Effective JavaScript》电子工业出版社 2016.04.01

致 谢

在设计与实现合同服务管理系统这个项目的过程中,首先,我要感谢王少华老师和段润英老师,在此次毕业设计过程尽心尽责地辅导我及教导我,经常在工作上与生活上给予我们一些指导,在毕业设计阶段,认真负责地督促学生在每个时间按时每个节点完成该阶段所需要完成的任务;接着也非常感谢实习过程中,我的实习指导老师郝淑新老师,教会我如何处理实习工作上遇到的许多问题,在各位老师的指导帮助下,在实习过程我慢慢适应公司的环境氛围和工作方法,经常与老师和同学们沟通,互相学习经验,在毕业设计过程,在你们的细心及耐心教导下,使得我在软件开发成长地比较快,掌握的技术与技巧更多,在此次完成毕业设计进展相当顺利。最后,感谢计算机系及其他院系的师生们,相遇是一种缘分,感谢你们陪伴我度过这大学的美好时光。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/196467.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Electron】上下键切换消息

需求: 如图,需要监听上下键切换消息 Electron 注册 全局快捷键【globalShortcut】监听 在focus注册 在blur 注销 如苹果系统在使用某个软件(focus)时 右上角会有应用标题 Electron 代码: win.on(focus, ()>{globalShortcut.register(U…

建筑木模板厂家批发

在建筑施工中,木模板是一种常见且重要的施工材料,用于搭建混凝土浇筑的支撑结构。选择合适的建筑木模板厂家进行批发,对于施工质量和效率至关重要。本文将介绍建筑木模板厂家批发的重要性,并推荐贵港市能强优品木业作为专业的建筑…

【数据结构复习之路】树和二叉树(严蔚敏版)万字详解主打基础

专栏:数据结构复习之路 复习完上面四章【线性表】【栈和队列】【串】【数组和广义表】,我们接着复习 树和二叉树,这篇文章我写的非常详细且通俗易懂,看完保证会带给你不一样的收获。如果对你有帮助,看在我这么辛苦整理…

阿里云语雀频繁崩溃,有什么文档管理工具是比较稳定的?

10月23 日14:00左右,蚂蚁集团旗下的在线文档编辑与协同工具语雀发生服务器故障,在线文档和官网都无法打开。直到当天晚上22:24,语雀服务才全部恢复正常。从故障发生到完全恢复正常,语雀整个宕机时间将近 8 小时,如此长…

深度学习毕设项目 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model 1 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求&am…

PS最新磨皮软件Portraiture4.1.2

Portraiture是一款好用的PS磨皮滤镜插件,拥有磨皮美白的功能,操作也很简单,一键点击即可实现美白效果,软件还保留了人物的皮肤质感让照片看起来更加真实。portraiture体积小巧,不会占用过多的电脑内存哦。 内置了多种…

交流负载测试使用场景

交流负载测试是一种在特定环境下,对电力设备、汽车电子部件,工业自动化设备、网络设备、家电产品,航空航天设备以及医疗器械等产品进行测试的方法,该测试的目的是评估这些设备在实际运行条件下的性能和可靠性。 1电力设备测试 交…

基于SSM实现的叮当书城

一、系统架构 前端:jsp | jquery | layui 后端:spring | springmvc | mybatis 环境:jdk1.7以上 | mysql | maven 二、代码与数据库 三、功能介绍 01. 系统首页 02. 商品分类 03. 热销 04. 新品 05. 注册 06. 登录 07. 购物车 08. 后台-首页 …

HTTP协议,Web框架回顾

HTTP 请求协议详情 -请求首行---》请求方式,请求地址,请求协议版本 -请求头---》key:value形式 -referer:上一次访问的地址 -user-agenet:客户端类型 -name:lqz -cookie&…

c语言,输入整数n(行数,本例为4),按照如下规则打印数字图片 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16

c语言&#xff0c;输入整数n(行数&#xff0c;本例为4&#xff09;&#xff0c;按照如下规则打印数字图片 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 以下是使用C语言编写的程序&#xff0c;根据输入的行数打印数字图片的规则&#xff1a; #include <stdio.h>int main() …

lack——主页前后端开发优化(精华:java多线程实现数据插入)

lack——主页前后端开发优化 前端开发主页 最容易的方式&#xff1a;list列表<template><van-cardv-for"user in props.userList":desc"user.profile":title"${user.username} (${user.planetCode})":thumb"user.avatarUrl"…

静态方法和属性的经典使用-单例设计模式

单例设计模式 一、设计模式二、单例模式1、饿汉式2、懒汉式3、区别 单例设计模式是静态方法和属性的经典使用。 一、设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱&#xff0c;不同的棋局&…

基于隐马尔可夫模型的一种流水印

文章信息 论文题目&#xff1a;An Invisible Flow Watermarking for Traffic Tracking: A Hidden Markov Model Approach 期刊&#xff08;会议&#xff09;&#xff1a;ICC 2019 - 2019 IEEE International Conference on Communications (ICC) 时间&#xff1a;2019 级别&am…

linux调用github代码文件

一&#xff0c;建库 默认建好库 默认linux已安装好git 二&#xff0c;生成SSH公钥 1&#xff0c;选这 2进教程&#xff0c;看怎么生成公钥的 根据下图教程&#xff0c;得到key&#xff0c;添加到github中&#xff01;具体教程&#xff0c;进github看 三。调用 gitssh链…

深度学习实战61-基于知识图谱与BiLSTM网络实现疾病相关智能问答系统,并支持数据扩展

大家好,我是微学AI,今天给大家介绍一下深度学习实战61-深度学习在医疗领域的应用:疾病相关智能问答系统,并支持数据扩展。本文将详细介绍如何使用Py2neo这个Python库来构建一个医疗领域知识图谱,并将数据导入Neo4j图数据库。我们将提供一些医疗领域的数据样例,并展示如何…

解决electron-build打包后运行app报错:cannot find module xxx

现象&#xff1a; 关于这个问题查了很多资料&#xff0c;也问了chatgpt都没有找到答案。 最后只能靠自己了。 于是冷静下来回想一下细节。突然发现了一个特别点。 eletron-builder打包时&#xff0c;强制要求eletron-builder和eletron必须都放在devDependencies 否则&#…

Spring的创建

文章目录 前言 一、创建一个Maven项目 二、添加spring框架支持 2.1在项目的pom.xml添加spring框架支持&#xff0c;xml配置如下  2.2添加包 总结 前言 我们通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff0c;它是⼀个开源框架&a…

Win10电脑用U盘重装系统的步骤

在Win10电脑中&#xff0c;用户遇到了无法解决的系统问题&#xff0c;用户这时候就可以考虑重装Win10系统&#xff0c;这样即可轻松解决问题&#xff0c;从而满足自己的操作需求。接下来小编给大家详细介绍关于Win10电脑中用U盘重装系统的教程步骤。 准备工作 1. 一台正常联网可…

户外园林气象环境RTU采集主机监测的具体使用

户外园林是人们休闲、娱乐和放松心情的场所&#xff0c;良好的气象环境对于提供舒适的户外体验至关重要。为了有效监测和管理园林的气象环境&#xff0c;户外园林气象环境RTU&#xff08;Remote Terminal Unit&#xff09;采集主机应运而生。本文将详细介绍户外园林气象环境RTU…

Python财经股票数据保存表格文件 <雪球网>

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.10 解释器 Pycharm 编辑器 &#x1f447; &#x1f447; &#x1f447; 更多精彩机密、教程&#xff0c;尽在下方&#xff0c;赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都准备好了&…
最新文章