技术开发合同具体内容.docx
《技术开发合同具体内容.docx》由会员分享,可在线阅读,更多相关《技术开发合同具体内容.docx(22页珍藏版)》请在冰豆网上搜索。
技术开发合同具体内容
说明:
技术贸易合同认定主要有几个点,需要注意,具体内容他们不会看
1、整个合同要大纲要严格按照要求去做。
2、整个合同内不要出现实物,如代码、程序、网站、网页、硬件、服务器等字眼,一旦有肯定不会通过,有时可能必须出现这些文字,那就换个说法
3、这个文档仅仅作为参考,不要使用里面的技术名词。
合同编号:
技术开发(委托)合同
项目名称:
西安科技大市场网络平台系统(一期)
委托方(甲方):
XXXXXXXXX
受托方(乙方):
XXXXXXXXX
签订时间:
2011年1月12日
签订地点:
陕西西安
有效期限:
2010.12.01–2012.12.01
中华人民共和国科学技术部印制
技术开发(委托)合同
委托方(甲方):
XXXXXXXXX
住所地:
XXXXXXXXX
法定代表人:
项目联系人:
邮编:
710075
电话:
XXXXXXXXX
传真:
XXXXXXXXX
电子信箱:
XXXXXXXXX
受托方(乙方):
XXXXXXXXX
住所地:
XXXXXXXXX
法定代表人:
项目联系人:
联系方式:
XXXXXXXXX
传真:
XXXXXXXXX
电子信箱:
XXXXXXXXX
通讯地址:
XXXXXXXXX
本合同甲方委托乙方研究开发西安科技大市场网络平台系统(一期)项目,并支付研究开发经费和报酬,乙方接受委托并进行此研究开发工作。
双方经过平等协商,在真实、充分地表达各自意愿的基础上,根据《中华人民共和国合同法》的规定,达成如下协议,并由合作各方共同恪守。
第一条项目名称
西安科技大市场网络平台系统(一期)
第二条本合同研究开发项目的要求如下:
1.技术目标:
为了探索我国统筹科技资源改革之路,努力打造国际知名、国内一流的产学研合作促进平台、科技资源统筹转化中心和科技创新综合服务基地,有效促进科技信息共享化、科技服务集成化、科技交易市场化、科技资源商品化和科技成果产业化,实现科技要素的聚集、内外资源的聚合、科技优势向创新优势、产业优势、经济优势的聚变,在创新型国家建设和区域经济发展中发挥辐射带动和示范引领作用,特建设西安科技大市场网络平台系统。
西安科技大市场网络平台系统(一期)功能架构图如下所示:
西安科技大市场网络平台系统(一期)实现了系统组件集成的热插拔、网络门户的静态化、系统全站全文检索和数据库动态优化等技术目标,本合同所有的技术均为自主研发,不含任何产品、设备等实物或外购技术。
具体的研发技术如下:
(1)用基于组件重用的Brick框架技术搭建“西安科技大市场网络平台系统(一期)”的核心框架,实现组件的集成,提高应用研发的效率,最终达到组件、应用重用的目的。
(2)用基于XML的动态数据库访问优化技术实现对“西安科技大市场网络平台系统(一期)”数据库访问和调整的优化,提高系统的运行性能。
(3)用强制式错误提示技术实现业务错误信息的提示,确保业务系统的完整性,大大增强系统的易用性和易学性。
(4)使用基于模板的页面静态化技术实现“西安科技大市场网络平台系统(一期)”网络门户的静态化。
(5)使用自定义碎片管理技术实现“西安科技大市场网络平台系统(一期)”网络平台的应用。
2.技术内容:
(1)基于组件重用的Brick框架技术
本项目采用乙方研发创新的基于组件重用的Brick框架技术实现“西安科技大市场网络平台系统(一期)”核心框架的搭建和组件的集成,提高研发效率,最终达到组件、应用重用的目的。
Brick框架是一个通用的J2EE开发平台,旨在通过配置信息及XML配置文件进行快速、高效的Web应用开发。
Brick框架搭建的“西安科技大市场网络平台系统(一期)”集成了开发框架与常用的系统功能,集成重用的功能有:
会员注册、用户管理、内容发布管理系统、权限管理、角色管理等。
Brick框架分离了客户端界面与服务端业务逻辑,使研发人员更专注于个人优势。
平台采用元数据自动映射的方式,摒弃了对POJO、Form等的依赖。
框架采用iBATIS作为数据持久层,通过快速配置、简化持久层的数据流程保证了系统的运行速度;同时框架提供了方便的列表分页查询功能,支持系统80%以上的分页操作;使用元数据解耦了数据表与POJO之间的联系,通过元数据逻辑映射,充分发挥了系统数据的可配置性与灵活性,提高了开发敏捷度;在业务控制方面,框架采用XML配置对系统的各业务流进行配置,使用组报文方式对业务数据进行自动封装,脱离了视图层与业务层之间的绑定,建立了灵活、高效、稳定的开发运行机制。
对于视图层加入了大量的JS和taglib控件,包括翻页列表、下拉单选框、下拉多选框、左右选择框、可输入式选择框、弹出选择框、树、文件上传下载等,简化了对Web应用层开发工作。
Brick框架技术解决了“西安科技大市场网络平台系统(一期)”的组件不可重用性问题。
系统需要调用的业务组件均可通过Brick框架的3种标准接口直接调用,无需修改原系统结构,达到了组件的应用重用目的。
Brick框架不仅是一个基于组件重用的框架,而且还是一个基于在线应用重用的框架。
Brick框架具有以下几个方面的优势:
A、封装开发框架,集成常用系统功能。
B、取Spring框架之优势,通过动态注入的方法获取连接池。
C、支持JavaWebMVC。
D、采用自动元数据自动映射的方式,摒弃了对POJO、Form等的依赖。
E、使用IBatis,提供简单易用的ORM数据库持久层,支持各版本数据库开发。
F、集成JQUERY插件,支持各种客户端脚本技术。
G、简化Web开发。
(2)基于XML的动态数据库访问优化技术
本项目采用基于XML的动态数据库访问优化技术实现“西安科技大市场网络平台系统(一期)”的底层SQL语句优化,通过优化SQL配置文件达到提升性能的目的。
在系统的运行过程中,数据资源是逐渐递增的。
当系统运营到一定阶段后,数据会呈现出爆发式增长(例如会员信息、仪器信息、服务信息、咨询内容等信息),在数据量过万、过十万、过百万或者更高后,系统部分功能的运行效率就会随着数据量的增大而明显降低,这时系统就需要调整,并且对系统数据库做一些优化调整。
普通调整系统的方法是:
修改原系统文件重新编译,这样就必须停止服务对项目进行更新。
而动态数据库访问优化技术就是在不修改原系统的情况下,只调整运行期使用的SQL语句,对配置的SQL语句调整后,重新放入系统的运营服务器中,然后启动配置文件的重新加载模式既Reload模式,Reload操作会自动编译SQL配置文件并将编译后的文件加载到系统中供系统应用调用,从而达到优化性能的目的。
这种技术还有另外一个优势:
避免了停止服务重新编译的过程,不会影响系统的正常运行。
(3)强制式错误提示技术
错误强制提示,只要有错误,默认情况下会自动提示给用户,从而防止发生了错误而用户并不清楚,还在等待结果,大大增强了系统的易用性和易学性。
(4)使用基于模板的页面静态化技术实现“西安科技大市场网络平台系统(一期)”网络门户的静态化。
基于模板的页面静态化技术是指:
通过系统调用数据库数据将动态数据生成静态页面的技术。
本技术研究的内容主要包括:
模板生成技术、HTML静态化技术,URLRewrite伪静态技术等多个方面。
采用基于模板的页面静态化技术主要解决以下问题:
A、实现“西安科技大市场网络平台系统(一期)”网络平台的静态化
“西安科技大市场网络平台系统(一期)”收录了各种各样的资源信息,如:
企业组织、产品信息、专家信息、新闻资讯、服务政策信息、仪器信息、技贸合同等。
动态访问数据与数据库交互频繁,如果访问量增大,那么读写次数就会相应的增加。
这个时候,打开的数据连接自然会随之增加,服务器压力增大是必然的。
要是这个时候数据库不能承受,会直接死掉。
页面静态化后减少了数据库访问的次数,即使数据库死掉,系统依然可以正常访问。
用户体验大大的提升,用户的信任度也会有很大的提高。
B、提高“西安科技大市场网络平台系统(一期)”的性能
“西安科技大市场网络平台系统(一期)”系统包含了大量的动态信息页面,而这些页面的访问速度慢、安全性低、不利于搜索引擎的抓取。
使用本技术生成静态化页面后,大大提高了用户的访问效率、提升了系统安全性能而且更有利于搜索引擎对系统内容的抓取。
(5)使用自定义碎片管理技术实现“西安科技大市场网络平台系统(一期)”网络平台的应用
系统静态化有诸多好处,不仅利于搜索引擎搜索,还有利于减少服务器压力。
但同时也会因为生成大量的静态页面导致系统信息不能及时更新。
当每个静态页面都需要及时更新信息时,就必须重新生成所有的静态页面,造成了资源的浪费,工作效率低下。
采用自定义碎片管理技术既能保证系统的静态化不受影响又能够及时更新信息。
碎片的定义,我们可以把一个完整的页面理解成由许多“块”组成,而每一个“块”就可以当做一个”碎片“,这样我们如果更新信息时能按块(碎片)局部更新,那就能很好的解决我们上面说的问题,我们只需对碎片进行更新维护即可,不需要再大量重新生成已生成的静态页面。
碎片管理具有以下特点:
A、碎片分类管理:
可以按分类来搜索碎片,特别适合在碎片数量多的情况下使用;
B、碎片管理:
碎片可设定使用的标签模板、是否开启等,应用灵活;
C、碎片信息更新与管理:
只有碎片分配更新权限的用户才有权限更新;
D、支持三种碎片类型:
静态信息碎片、动态信息碎片、技术符号碎片;
E、可按用户组、部门、帐号分配碎片更新权限,并且支持越权限推送设置;
F、内置碎片调用标签“[spinfo]碎片变量名,显示条数,标题截取数[/spinfo]”,可按碎片调用信息;
G、可推送任意表或任意栏目的信息到动态信息碎片;
H、支持设定单个碎片存放最大的信息数量,减少冗余数据,调用效率更高;
3.技术方法和路线:
(1)基于组件重用的Brick框架技术的实现
Brick框架的标准配置是使用jsp,iBATIS,spring等来分别作为view,service,domain三层的实现。
Service层对iBATIS的使用方式已经集成增、删、改、查等操作,通过可配置的xml文件提高开发人员开发效率和方便后期维护,可利用iBATIS来简化xml配置并扩展了mapentity通过classpath的目录加载的机制。
Service层还使用可配置sqlxml文件和方法参数配置modulexml文件且修改配置文件无需重启服务器,系统提供动态配置文件重新加载功能,方便系统的维护。
Webview层加入了大量的方便开发的JS和taglib控件,包括翻页列表,自定义标签,级联菜单,日历框,弹出页,树,文件上传下载等等,同时采用json简化了对于ajax应用开发过程。
(2)基于XML的动态数据库访问优化技术的实现
基于XML的动态数据库访问优化技术是将持久层的SQL语句配置成灵活的iBATIS的XML配置文件,通过SPRING的SqlMapClientFactoryBean去加载SQL语句的XML配置文件并解析XML文件,将解析的SQL语句装载到项目中执行,从而达到优化SQL语句的目的。
通过改进底层iBATIS框架,实现动态的加载XML配置文件,通过这个原理实现了优化SQL语句不仅能够统一方便的维护,而且根本不需要重新启动服务就可以加载优化后SQL语句,从而达到了动态的对数据库访问优化的目的。
利用动态数据库访问优化技术,系统研发人员可以使用XML标识来设计和优化SQL配置文件,并且可以随时配置或者生成配置文件中的SQL内容。
生成SQL配置文件的逻辑被封装在Brick的FrameWork组件中在服务器端运行。
由于SQL的核心逻辑被封装在以XML为表现形式的配置文件中,所以研发人员或者维护人员,能够编辑和使用系统管理进行SQL语句的调整和优化,而不影响系统的运行。
这既有助于保护系统的安全性,又能保证任何情况下不停止系统就能够达到系统的优化。
(3)强制式错误提示技术的实现
所有的业务调用均由框架发出,统一式入口,从而可以捕获运行期的任何错误,并且定义了统一的错误处理标准,框架实现了错误处理标准,当系统或者业务一旦发生错误时,错误机制立即调用错误提示接口将错误信息提示给下一级最终推送给使用人员。
(4)基于模板的页面静态化技术
静态网站的动态生成技术主要思路是:
将网站的动态信息和彼此之间的关系存入数据库,根据特定的规则和模版生成网站各级的静态文件(系统首页、系统频道、系统栏目、系统详细文件),以静态文件形式来发布,最终完成系统的静态化。
基于模板的页面静态化技术的实现如下图所示:
静态网站的动态生成技术主要实现方法是:
首先,采用Freemarker和velocity技术定义数据模板,将定义的模板存放到模板数据库总。
然后,在数据处理子系统中,数据操纵模块通过一定的指令规则和数据匹配规则将数据库中的数据页面加载到页面管理子系统中,并对页面进行增、删、改、查等操作。
最后,页面生成子系统通过页面生成器从数据库读取数据和模板生成相应的静态页面。
在服务器前端增加有nginx应用服务作为跳转,把静态文件、视频、图片、资料库等数据资源转向静态应用服务器,把动态数据资源的调用转向动态服务器,做到静态资源的独立访问。
动态数据的静态化节约了资源,提高了静态化文件的生成和分发的处理能力,提升了服务的承载能力。
(5)自定义碎片管理技术的实现
自定义碎片管理技术的实现原理:
将有可能需要更新的局部内容分割成一个或者若干个碎片,然后通过基于模板的页面静态化技术生成.SHTML静态页面将碎片包含,当局部内容需要更新信息时,只需要更新对应的碎片即可,当客户端访问这些.SHTML静态文件时,服务器端会把这些.SHTML文件进行读取和解释,把SHTML文件中包含的SSI指令解释出来加载碎片的内容,从而达到更新静态文件的目的。
具体实施方法:
首先,自定义页面信息的碎片模型(比如定义一个仪器碎片的模型,yiqi_mode),定义后的碎片模型文件放到模板目录(templates_mode)下。
然后定义页面信息碎片文件,定义页面信息碎片文件时会涉及多个碎片模型,把涉及的所有碎片模型复制到碎片文件目录下,根据一定命名规则重新命名碎片模型形成新的碎片模型文件(比如叫做show_yiqi_info.html),根据需要添加新的数据字段,删除不需要的数据字段,保证这些字段的正常显示。
建立好页面信息碎片模型后,在碎片模型中添加参数字段,根据需要添加参数字段和类型,例如添加一个“yiqi_mingcheng”表示仪器名称,设置它类型为字符,在正则里选“字符”;添加一个“yiqi_jiage”表示仪器价格,设置它的类型为数字,在正则选项里选择“数字”;把所有的参数设置成功后,碎片的模型文件就添加成功了。
打开页面信息碎片文件(如show_yiqi_info.html),找到
{$yiqi_mingcheng}
处,这里就是显示的“仪器名称”字段,这是系统模型自带的,我们要做的就是添加自定义模型的参数了,修改后类似如下
仪器名称:
{$yiqi_mingcheng}
仪器价格:
{$yiqi_jiage}
其他自定义字段都类似,添加所有的参数值。
然后生成碎片文件,这时候引用本碎片的静态文件.SHTML的引用的内容就会改变。
在维护中,如果多个静态页面引用了本碎片信息,如果要更新本碎片信息的内容,只需要把参数修值修改后重新生成碎片就可完成所有静态页面关于本碎片的更新。
(12)系统开发路线
Ø项目采用的开发架构:
B/S结构。
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
B/S架构的主要优点是:
维护和升级方式简单,跨平台支持,成本更低,非常适合西安科技大市场网络平台系统(一期)的需求,用户可以不受时间和地域的限制,随时、随地使用本系统。
Ø项目采用的技术框架:
J2EE框架
J2EE是一个革命性的框架,使快速开发强大的Web应用系统和服务成为可行。
它提供了最方便、最灵活的途径来构建,部署和运行Web应用系统,面向任何浏览器或设备。
如图所示
它主要的优点是:
A、简单的研发模型,开发人员重在服务器端处理业务逻辑和思路设计上面,可以灵活的构建web应用。
B、灵活的WEB服务器的管理
C、灵活的应用服务器选择和配置
D、功能丰富的开发环境
E、提升了系统的性能
F、简单快速的部署和跨平台特性
J2EE框架使用基于开放平台的SUN框架部署模型。
J2EE应用的服务器在客户端处理使用JSTL、XML、JAVASCRIPT、HTML、WML技术,提高了客户端浏览器的跨平台特性。
在服务器端表示层使用JSP和Servlet等技术,这些技术都是基于多线程的,可以大大提高服务器端表示层的响应时间。
J2EE框架具有很强的可靠性和可移植性。
Ø项目采用的开发技术:
JAVA
Java是一种跨平台,适合于分布式计算环境的面向对象的研发技术。
具体来说,它具有如下特性:
简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。
它的主要优点是:
A.纯面向对象:
完全基于类和对象:
OOA、OOD、OOP以类的形式组织系统,抽象数据类型封装、继承、重载、多态。
B.分布性:
对象分布,支持Internet、RMI等
C.健壮性:
检查数据类型的匹配,数组下标越界不支持指针,保护内存数据,体系自动内存管理碎片收集,例外控制机制,正确处理运行时错误,字节码加密传输,客户端校验解释器在client端临时分配、布置内存。
D.高性能:
安全、稳定、移植的代价底、高效字节码JIT(Just-In-Time)及时编译。
第三条乙方应在本合同生效后30日内向甲方提交研究开发计划。
研究开发计划应包括以下主要内容:
1、项目的需求分析。
2、项目的功能设计。
3、项目的概要设计。
4、项目的详细设计。
5、项目的数据库设计。
6、项目的研发。
7、项目的测试和验收。
第四条乙方应按下列进度完成研究开发工作:
1、2010.12.01—2010.12.20完成项目的需求分析和功能分析。
2、2010.12.21—2011.01.01完成项目的概要设计和功能设计。
3、2011.01.01—2011.01.20完成项目的详细设计、数据库设计。
4、2011.01.21—2011.03.20完成项目基本功能的研发。
5、2011.03.21—2011.03.31项目测试、调试并试运行。
第五条甲方应向乙方提供的技术资料及协作事项如下:
1.技术资料清单:
(1)甲方应向乙方提供项目建设必须的资源和数据,配合乙方做好需求分析、系统设计。
(2)甲方应向乙方提供在项目建设中及项目维护中所需要的文字、图片等资料。
2.提供时间和方式:
(1)乙方在系统建设时必要的需求及功能要求在合同签订之后5日内由甲方指派人员和乙方沟通,20日内确定需求和功能。
(2)必要的文字和图片资料在合同签定后5个工作日内,甲方提供给乙方。
3.其他协作事项:
(1)甲方应向乙方提供系统建设时必要的协助并派专人负责与乙方联络、协调。
(2)乙方需求调研完成后,甲方应对已方形成的需求文档签字确认。
(3)乙方页面风格设计完成后,甲方应签字确认。
本合同履行完毕后,上述技术资料按以下方式处理:
(1)系统需求分析文档(除双方特别约定外)甲乙双方各自保留一份。
(2)系统功能模块设计文档(除双方特别约定外)甲乙双方各自保留一份。
(3)甲方提供的文字、图片等信息在本系统研发完成后,乙方交还给甲方。
第六条甲方应按以下方式支付研究开发经费和报酬:
1、研究开发经费和报酬总额为:
人民币*****万(RMB******)元整
2、研究开发经费由甲方一次(一次、分期或提成)支付乙方。
具体支付方式和时间如下:
(1)合同签订之后十五日内,甲方应一次性支付乙方合同总额的全部即人民币******万(RMB*****)元整的款项。
乙方开户银行名称、地址和帐户为:
账户名:
********
开户银行:
*********
地址:
********
帐号:
*************
第七条本合同的研究开发经费由乙方以自主支配的方式使用。
第八条本合同的变更必须由双方协商一致,并以书面形式确定。
第九条未经甲方同意,乙方不得将本合同项目部分或全部研究开发工作转让第三人承担。
第十条在本合同履行中,因出现在现有技术水平和条件下难以克服的技术困难,导致研究开发失败或部分失败,并造成一方或双方损失的,双方按如下约定承担风险损失:
甲、乙双方各承担百分之五十。
本合同项目的技术风险按双方认可的专家评审组以专家评审的方式认定。
认定技术风险的基本内容应当包括技术风险的存在、范围、程度及损失大小等。
认定技术风险的基本条件是:
1、本合同项目在现有技术水平条件下具有足够的难度。
2、乙方在主观上无过错且经认定研究开发失败为合理的失败。
一方发现技术风险存在并有可能致使研究开发失败或部分失败的情形时,应当在3日内通知另一方并采取适当措施减少损失。
逾期未通知并未采取适当措施而致使损失扩大的,应当就扩大的损失承担赔偿责任。
认定风险责任的标准为:
1、课题在现有技术水平下具有足够的难度。
2、乙方在研究开发工作中是否充分地发挥了主观能动性。
3、其同行业专家和鉴定结论认为研究开发工作的失败属于合理失败。
第十一条在本合同履行过程中,因作为研究开发标的的技术已经由他人公开(包括以专利权方式公开),一方应在3日内通知另一方解除合同。
逾期未通知并致另一方产生损失的,另一方有权要求予以赔偿。
第十二条双方确定因履行本合同应遵守的保密义务如下:
甲方:
1.保密内容(包括技术信息和经营信息):
(1)甲方对在履约过程中获悉的乙方之商业秘密承担保密义务,该保密义务不受本合同期限的限制。
(2)甲方对在履约过程中获悉的乙方之技术秘密承担保密义务,该保密义务不受本合同期限的限制。
2.人员范围:
在系统建设过程中甲方委派的联系人员、协调人员和技术人员以及在项目完工后甲方使用本系统的工作人员。
3.期限:
系统运行的整个生命周期。
4.责任:
由泄露的内容而引起的一切法律纠纷和经济损失均由甲方承担。
乙方:
1.保密内容(包括技术信息和经营信息)
(1)乙方应对研发的技术成果承担保密义务,该保密义务不受本合同期限的限制。
(2)乙方在履约过程中获悉的甲方之商业秘密及技术秘密承担保密义务,该保密义务不受本合同期限的限制。
(3)乙方对甲方提供的文字及图片资料未经甲方许可不得以任何方式泄露给第三方。
(4)乙方对于系统数据库中所有的工作人员信息、科技组织信息、技术交易信息、仪器信息、专家信息、科技成果等信息承担保密义务,不得以任何方式将相关信息泄露给第三方。
涉密人员范围:
乙方所有参与本次项目的相关人员。
保密期限:
系统运行的整个生命周期。
4.泄密责任:
由泄露的内容而引起的一切法律纠纷和经济损失均由乙方承担。
第十三条乙方应当以下方式向甲方交付研究开发成果:
研究开发成果交付的形式及数量,交