《上海大众Java软件框架项目建议书22.docx》由会员分享,可在线阅读,更多相关《上海大众Java软件框架项目建议书22.docx(49页珍藏版)》请在第一文库网上搜索。
1、上海大众Java软件框架项目方案建议书IBM软件服务部二。一三年八月文档信息文档名称上海大众Java软件框架项目方案建议书作者摘要修订历史版本号日期修改人修改内容0.12013-7-25IBM胡捷新建0.22013-7-30IBM胡捷更新0.32013-7-31IBM胡捷更新0.42013-8-5IBM郑王力更新1.02013-8-8IBM胡捷更新1.52013-8-21IBM刘铮根据上周讨论更新2.02013-8-26IBM胡捷更新2.12013-9-23IBM叶君峰基于大众团队反馈更新2.22013-9-26IBM胡捷更新目录1 上海大众JAVA软件程架项目目标52 上海大众JAVA软件框
2、架项目范S52.1 软件开发框架52.2 JAVA软件框架工具及环境52.3 统一规范的开发、交付、验收、维护体系建立63 上海大众JAVA软件框架方案说明63.1 特性描述63.1.1 先进性63.1.2 开发效率.73.1.3 交付质量.73.1.4 可维护性73.1.5 运行效率.73.1.6 松耦合-SOAReady.83.1.7 标准化.83.1.8 安全性支持.83.1.9 移动开发准备83.2 软件开发框架93.2.1前端框架.93.2.2服务层框架.181.3 JAVA软件框架工具及环境301.4 系统管理功能开发381.5 统一规范的开发、交付、验收、维护体系建立404 项目
3、实施计划404.1 项目实施方法论一IBMGSMethod404.2 项目实施计划时间表414.3 项目角色配置424.4 IBM项目实施质量控制方案434.4.1 进度控制.454.4.2 风险管理.454.4.3 质量保证计划.464.4.4 沟通管理.464.4.5 问髭解决方案.484.5 平台险收方案494.6 平台支持和维护方案495 框架实施及推广方案计划495.1 技能转移、培训505.2 试点软件开发商选择505.3 试点应用系统开发515.4 开发框架全面开展应用515.5 现存系统的迁移(可选)511上海大众Java软件框架项目目标上海大众的信息系统建设目前处于快速发展期
4、,每年都会新建数量众多的应用系统。JaVa平台作为上海大众主要的软件开发平台,该平台的开发设计能力尤为重要。2012年,部门内部对于新项目的项目质量控制主要采用代码检查和供应商的框架审核,通过代码审核,使应用代码编码更加规范,通过框架审核,有效减少了框架技术繁杂的现象,为构建同质系统迈出了第一步,但是供应商在对相似的功能模块的实现各不相同,质量方面也存在较大的差异。为了更好的提高项目的技术质量并有效减少研发周期,准备建立上海大众java软件框架。通过该项目构建适合于上海大众的Java软件框架,通过Java软件框架的推广,逐步打造适合上海大众的JAVA技术研发平台,提高代码开发效率和代码质量,减
5、轻代码运维压力。2上海大众Java软件框架项目范围为完成JaVa软件框架,建议分为如下范围2.1 软件开发框架2.1.1 JaVa软件开发框架2.1.2 框架内部通用工具类2.1.3 通用系统管理模块2.2 Java软件框架工具及环境2.1.4 集成开发环境工具集2.1.5 集成测试环境工具集2.1.6 集成部署环境工具集2.3统一规范的开发、交付、验收、维护体系建立项目范围详细内容由以下章节说明。3上海大众Java软件框架方案说明上海大众Java软件框架方案将具有以下特性:3.1 特性描述3.1.1 先进性整体框架采用技术先进的SoA整体架构理念、贯穿模块化、松耦合的设计思想,使得该框架在可
6、预见的使用期限内发挥应有作用。使用最新的技术打造的框架可以最大程度保护上海大众的该项技术投资。整体架构设计方面,采用服务化、分层的架构思想,使得架构具有良好的扩展性,未来可以无缝集成第三方的先进解决方案。同时、采用模块化组件化设计,各组件间关联度尽可能地小。同时方便开发过程中的按模块分工开发,提高开发效率和可靠性。整个开发框架上注重可测试性。提倡测试与开发融为一体,尽早发现代码缺陷,提高交付质量,对于IT供应商的交付物能够量化的把控最终质量。前端解决方案将采用最新的框架技术,采用同一套代码同时实现BS和CS解决方案BS解决方案将主要基于dojoJQueryEXTJS等目前比较流行和成熟的富客户
7、端Javascript框架。在将来、有移动化开发需求的时候,同样应用系统的一份代码可以被无缝、最小代价被移植上各个不同的移动设备。在后端技术方面,该框架将采用面向接口编程的理念,把后台服务和层次都解耦化设计。如此可以做到技术层面抽象化、不与具体厂商、具体产品的功能绑定。以便今后在必要时更换后台技术和产品。3.1.2 开发效率上海大众Java软件框架能够提供加速开发效率的一些技术手段,包括自动生成各模块的框架代码,提供定制的集成ec1ipseIDE开发、调试、代码管理、部署环境。3.1.3 交付质量作为一个需要交由多个it供应商,并在之上开发的框架需要关注如何确保交付质量。交付质量是需要由多种方
8、法来确保的。在上海大众JaVa开发框架主要有技术的方法、管理的方法。技术的方法主要指使用集成于框架内的测试架构,主要面向单元测试,提高单元测试脚本的编写、维护和运行效率。管理的方法主要指设计的一系列测试流程和每个流程的详细输入输出以及终止回退条件,与技术的手段相配合,结合起来行成一套容易遵守、容易执行的流程方法。对于上海大众IT部门、只需要检验供应商的测试报告以及自动化测试脚本就能确保供应商提交的应用及其代码具有一定的可信的质量了。3.1.4 可维护性有多种手段确保基于该JaVa软件开发框架开发出的应用的可维护性。首先由于模块化了、每份代码结构都基本类似,所以上海大众IT团队在今后的维护中可以
9、较熟练的找到相应需要修改维护的部分。然后,可以通过规定注释的比重来确保代码的辅助信息,帮助今后不同团队间的知识传递。代码格式的可读性,可以通过IDE的自定义格式来确保各供应商的交付代码格式的一致性。包括今后的维护性修改、通过一定的规定和自动生成、确保修改部分的代码可被高效辨识,提高可读性和多次维护性。3.1.5 运行效率运行效率、应用性能一直是个IT领域瞩目的话题。上海大众JaVa开发框架使用分层次分模块的架构,允许各层次、各模块分别作出性能优秀的架构和不同的优化策略。在前台、采用JaVaSCriPt库的前端压缩以及服务器端压缩,框架核心代码使用异步传输的机制,提高传输效率,。同时、制定相应的
10、前端编程原则规范,规避性能较差的代码写法,提高运行效率。后台层次、将按各个模块设计高效率的架构。灵活设计应用缓存机制,提高后台运行响应效率。3.1.6 松耦合-SOAReady后台架构采用松耦合的服务化,提供标准的服务接口,前端与后台的交互也是通过该服务接口相互通信。标准化的服务接口有助于今后上海大众实施SoA建设,基于该框架,可以确保在各个应用系统的建设同时、该应用系统的对外服务已经以标准化准备完成了,对于今后SOA的建设实施可以节省不少的既有系统的改造成本。3.1.7 标准化整个JaVa开发框架架构基于标准化搭建,有助于各模块技术的升级与未来可能的迁移。保护上海大众的投资。将基于的标准化协
11、议及规范例如:XM1SOAPWebService1DAP、JPA、JAXB等。3.1.8 安全性支持安全模块默认与工作流的用户管理、组织机构管理功能相联系。默认情况下,开发人员不需要进行任何编码工作,安全模块即可实现全部的用户身份验证,访问权限控制等功能。前台的访问也能够防止例如跨域脚本攻击、SQ1注入等各类攻击。3.1.9 移动开发准备由于后端框架实现了基于权限的服务化,所以将来如果有移动应用的开发需求也能够重用现有系统的服务,搭建组成符合预期需求的移动应用。3.2 软件开发框架软件开发框架总体架构模块化示意图如下:上海大众JaVa开发框架模块示意图U1层服务模块框架业务层服务模块框架消息服
12、务模块用户权限服务模块至全服务模块日志服务模块异常处理服务模块WebSerViCe模块邮件服务模块辍存服务模块服务层测试服务模块文件服务模块;报表服务模块二作业调度模块I事务服务模块框架内部通用工具类集合应用安全控制模块数据服务层上海大众JaVaEE软件开发框架整体架构采用模块化、服务化理念设计,使得基于该架构开发的应用方便对外提供标准的服务(消息服务、WebSerViCe服务),同时基于统一框架开发的各应用具有统一的权限认证模式,为上海大众今后SOA设计,企业服务总线(ESB)实施做好充分准备。以下为分模块介绍相关组件功能内容:3.2.1前端框架前端R1A架构中使用独特的MVC思想,使前端的
13、显示、前台显示数据模型以及前台的控制逻辑分离,打造一个简便易用,易调试的多功能前台架构。在前端架构中、封装集成HTM15及CSS3的多种新特性,使得各种U1展现、操作习惯与当前潮流保持一致。3. 2.1.1通用控件集合一个完整的框架需要具备通用的前端控件集合。框架将通过调研上海大众现有系统的前端控件,以及最新的流行前端控件趋势,提供一组可开箱即用的前端控件。具体实现是通过前端JS封装HTM1的标签与JST1的标签配合,HTM1标签负责显示外观、格式等外观属性,通过JST1标签把后台服务提供的数据绑定在前端控件上,形成灵活可用的符合上海大众业务场景的控件集合。在前端控件架构中,使用对象化以及继承
14、的架构理念,把前端控件用控件类的树模型管理起来,使得前端的代码更简洁明了,方便今后的维护。3.1.1.1.1 控件列表在本项目中、通用控件通过封装实现至少提供以下列表的控件:基本组件封装:box具有边框属性的组件button按钮co1orpa1ette调色板component组件container容器cyc1e切换状态按钮dataview数据显示视图datepicker日期选择面板editor编辑器editorgrid可编辑的表格grid表格paging工具栏中的间隔pane1面板progress进度条sp1itbutton可分裂的按钮tabpane1选项面板treepane1树viewport视图window窗口工具栏组件封装:too1bar工具栏tbbutton工具栏按钮tbfi11文件tbitem工具栏项目tbseparator工具栏分隔符tbspacer工具栏空白tbsp1it工具栏分隔按钮tbtext工具栏文本项表单及字段组件封装:formForm面板checkboxcheckbox录入框combocombo选择项datefie1d日期选择项fie1d表单字段fie1dset表单字段组hidden表单隐藏域htm1editorhtm1编辑器numberfie1d数字编辑器radio