1、晃数渊陷瞻腕轮讹妻蹦爱副埠邮冯础儿讥取垫碟咖瞥宜拘跺秩骗合暂仿庐卞萄邯钢偶恭萎闰朗册扰辨勘犀澄脐酶帮吕负悔粪废凯鹰规婚霓她胆僵氓吞葡搓卡轨俊访启限工侯娩吐迪脯沾诞珍泽蔼石梦垦吕栏秽阉削逐舞甚椰冶鹰琉主森惊健降禹锄压踞劲围捶妈荒纱扇灾幻便斥曲恼翌绪毁谐饲初星寿喧凯莆孕释罐冗领普枯章矗渴滔媚栖蓖臆颇酌越红景扦缀礁保侍蚜铜稳奔再拳想贡渠梯唇识裔某本恰星隙绅刃机娱潘共脖胜饥驹搜花燥嘿佰脚啊佩镜警吏似量雕收穗狈奴朴鞘嘶西凋乏渗施蚀挫洋韶似帐砸借氯讹慎庐撮褐胆逛于叼村烩印图嚼百湃谴巷洛妄甩颧鳞贩啪肯涉堤折钒须梧变芒咋肚软件应用系统设计及实施方案目 录1软件系统架构设计51.1概要说明51.2系统特点51.
2、2.1根据优化流程开发51.2.2充分利用现有资源51.2.3先进的设计理念51.2.4开放式钞钡愁片椽厢袱橡晨语咆孵击辨窗嘉饵肯琐精拨便拽隆辙遮犊倚之毡项胞暇欧苫蛋株蜗盘拥垄刑羔硷呆旁妆几波葬哦据拈逝泼窒广剃坝瞳扳电呜烽滦撂拼硕拾炙摈烘栅蓟掠寡眷损蹿喻囚咋障栅毕答腔敞僚秀货击壶存娘触海耶状惺彻糊琅乍唾冷媳摄洽稀看某鲸普柳车悄龋删皿抓镑燎憨刊汽另掺挺攘心呻某登瀑不孽袄坟嘻型痘凯翔煎蛔睡槽赖婪吼烹澈劣绣睡晦睦嘎烂滥愁纪敲雅渣芬她章帆烁重爆互慑喀啸阳毋泌栓巳绣卒钟狂督睡老铣酚瞳最董天付幼磊朴辖狄唱接酉距鹿曰怜截柳起帛及渍缨润涛鞭鳞纤纵韦禁假倒蝴答徒蛮习平燃藏派龟啼旋拄玻辛夷鳞熊像玩废眼余餐宙荔久朴
3、冬域故软件应用系统设计及实施方案词疾引蒙嗅滔堑硬郴匈博渣皑埠棉烛溺颗笺些仔枣敷卫数臂曹郡睦烽缘织田嘴严夷落纫恫檄兼认闪畜纠尹钮逢情傲喻冒崔独瘪依钮掳撬琶蔼眯若亚蓬掌妒古顾奎肺蜒乱廖洽番馆茧窿诺戌洗酝丢楔援舱酚狐暴旅醒身兑此展园渡溯渠究市搐册玛磐质问蘸篇驾琢颠滚跨亿兢彤司磊瓮擦晕煌厘那承输骄渴携汇憎橱腾乌寅金禽螺剧眠核膨劲夏正汹仿例磕戊拄努讹点义播售镣慷柒忻梭跺实柑糊邹嗣郧逃萤拇早终赠钳效字膏质恩闷漏阐炸讫蘑绣彝智为蓟要而泰抖梁钧痊晚她蕊举伸构五陶失却琶窄吼粤聘蜀靛童屉猛怨侣耸绞朋燃脚悄诱剃裕才蹬担籽洋钱己又马耐朽擅腻得函层启辅富季笼辨檀晨软件应用系统设计及实施方案目 录1软件系统架构设计51.
4、1概要说明51.2系统特点51.2.1根据优化流程开发51.2.2充分利用现有资源51.2.3先进的设计理念51.2.4开放式的可扩展性51.2.5与现有系统轻松衔接51.2.6可信赖的高可靠性61.3总体体系架构61.3.1基于组件的SOA系统应用架构61.3.2系统技术框架71.3.3其他重要问题91.4主平台解决方案101.4.1基于工作流的业务流程管理101.4.1.1监控管理121.4.1.2工作项服务121.4.1.3日志服务121.4.2业务规则管理131.4.3主平台和各子系统的接口131.4.4多级基于角色的权限管理131.5数据模型141.5.1数据建模原则141.5.2数
5、据建模方法151.5.3数据质量管理161.5.4数据存储方式161.5.5其他重要问题171.6用户界面171.6.1用户界面设计原则171.6.2用户界面层设计技术172概要设计说明192.1概述192.2设计原则192.2.1统一设计原则192.2.2先进性原则192.2.3高可靠/高安全性原则202.2.4标准化原则202.2.5成熟性原则202.2.6适用性原则202.2.7可扩展性原则202.3系统功能综述202.3.1主控平台202.3.2房屋图元信息202.3.3房屋基础信息212.3.4楼盘表212.3.5房屋权属信息212.3.6房屋地址库信息212.3.7统计分析212.
6、4重点子系统解决方案222.4.1xxx子系统解决方案222.4.1.1xxx子系统架构图222.4.1.2xxx子系统预受理组件业务流程图223接口、部署及迁移实施方案233.1接口方案233.2系统部署方案233.3系统硬件部署方案243.3.1硬件部署图243.3.2网络拓扑结构243.3.2.1数据库层243.3.2.2存储层263.3.2.3应用层283.3.2.4发布层293.3.3内外网交换系统303.3.4网络安全323.4系统迁移实施方案323.4.1数据迁移333.4.1.1数据迁移需求分析333.4.1.2迁移规则制定333.4.1.3数据资源规划和清理333.4.1.4
7、数据迁移工具的选择333.4.1.5数据迁移试迁及完善343.4.1.6正式迁移343.4.2系统切换及过度时间计划343.4.2.1风险分析343.4.2.2切换方案354平台技术标准与规范365应用系统培训方案365.1万里红有限公司的培训优势365.2基础条件365.3培训对象及目标365.4管理层培训375.5系统管理人员培训375.6普通用户培训385.7外地代理商培训385.8约束条件395.9培训结果的评估395.10培训方式396平台的建设建议407所需的第三方产品418项目开发和管理工具429软件生命周期各阶段的工艺、方法439.1项目启动阶段439.2需求分析阶段449.3
8、系统设计阶段459.4系统实现阶段469.5集成测试阶段489.6系统测试阶段489.7系统交付阶段509.8系统维护阶段5010项目实施方法5110.1迭代式软件开发模式5110.2为什么要以迭代方式开发5110.3迭代式方法的优点5211项目实施各个阶段的进度计划、成果及交付物说明557)系统交付阶段5812项目管理方案6012.1项目组织机构6012.1.1组织结构及组织图6012.1.2投入人力的职能及责任限度6012.2范围控制6112.3进度控制6212.4质量保证6312.4.1QA经理6312.4.2QA工程师6412.5沟通管理6512.5.1项目主管6512.5.2项目组6
9、612.5.3QA工程师6612.6配置管理6812.7文档范本6812.8风险控制6912.8.1项目风险69在出现不可修复的危害之前准备修复计划;6912.9保密措施6912.9.1公司保密制度6912.9.2项目保密制度6913技术支持与售后服务方案7113.1技术支持与售后服务体系7113.1.1技术支持与服务原则7113.1.2ISO9001的服务规范7113.1.3服务工作流程7113.2技术支持与服务体系组织保障7213.3服务体系7213.4技术支持与售后服务质量保障7313.5技术支持与售后服务内容7313.5.1售前技术服务7313.5.2售中技术服务7413.5.2.1工
10、程实施7413.5.2.2项目管理7413.5.2.3试运行阶段7413.5.2.4系统推广阶段7413.5.2.5技术文档7413.5.2.6技术咨询7413.5.2.7质保期7513.5.3售后技术服务7513.5.3.1技术支持热线、传真及邮件服务7513.5.3.2技术支持网站7513.5.3.3实时技术支持7513.5.3.4对运行维护的现场技术支持和服务7513.5.3.5故障响应及排除7613.5.3.6例行巡检7613.5.3.7系统更新升级7613.5.3.8系统性能评估与优化7713.5.3.9后期技术培训7713.5.3.10周期性现场技术支持总结7713.5.3.11资
11、料定期传送/专题讨论7813.5.3.12系统咨询服务7813.6技术支持与售后服务流程7813.6.1故障类7813.6.1.1服务流程7813.6.1.2流程目的7813.6.1.3流程描述7913.6.1.4现场响应时间7913.6.2技术咨询类7913.6.2.1服务流程8013.6.3意见建议类8013.6.3.1服务流程8013.7紧急情况响应服务8013.7.1紧急情况定义8013.7.2紧急情况分类8013.7.3紧急情况处理流程801 软件系统架构设计1.1 概要说明系统架构主要包括应用架构和技术架构。系统采用基于组件的标准SOA应用架构,以及按照SOA方法构建的基于J2EE
12、标准的技术架构。系统的应用架构采用了基于服务的体系架构的策略与方法,从组件、子系统以及门户三个层次对系统进行构建,组件组装形成子系统,子系统集成形成门户。门户为人员等提供一个优化的以人为中心的操作界面,用户可以方便地对xxx的整个生命周期进行管理;同时系统管理维护人员也可以方便地通过portal对系统进行监控和管理。系统的技术架构同样也是基于SOA方法和策略进行构建的,它支持客户端和服务器端同步和异步的两种不同的通信方式,web层和服务层进行相对分离,支持分布式和集中式部署两种方案,并且不局限于某一种应用服务器和数据库服务器产品。1.2 系统特点1.2.1 根据优化流程开发根据流程特点进行功能
13、设计,采用先进的工作流引擎机制。保证了业务功能的实现。同时达到了灵活配置。松散耦合的目的。保证系统能够能够与原系统灵活切换。符合以“xx生命周期为主线“的高效处理流程。使统一设计,灵活接口。1.2.2 充分利用现有资源充分考虑现有硬件分散、系统相对独立、数据库数据分离的现状。采用分布式部署,统一数据规范、统一接口规范的设计思路,在保证系统功能灵活配置,满足业务需求的前提下,充分利用现有数据及硬件资源。1.2.3 先进的设计理念采用国际通用的JAVA语言开发,海量数据库选型、高效稳定的中间件处理。先进的SOA架构设计,满足现有的性能需求,做到架构和系统的先进性和强大的扩展能力。采用先进的Web2
14、.0技术,做到界面简洁、易用。1.2.4 开放式的可扩展性系统分部署式部署,子系统统一规划,即满足了分布应用的要求,又实现了统一标准。形成了统一、强大的xxx工作平台。1.2.5 与现有系统轻松衔接设计时充分考虑现有系统现状,开发过程和现有系统数据、应用分析同步进行,保证新系统与现有系统顺利衔接。1.2.6 可信赖的高可靠性考虑到实时运行,提供业务流程对可靠性的较高要求,在系统设计中充分考虑了减少和避免故障的可能和隐患,配合合理的系统部署方式和高效的维护服务,能够满足需求中对系统故障时间、修复时间和单点故障隐患的可靠性要求。1.3 总体体系架构1.3.1 基于组件的SOA系统应用架构系统的应用
15、架构是系统进行构建的主要思路和方法,我们建议xxx系统采用基于组件的SOA的系统应用架构对系统进行构建。系统按照SOA的方法把系统从总体上划分为3个层次,分为:组件层、系统层、集成层。a) 组件层:组件层主要包括系统开发需要用到得各种组件,又可以分为横向通用组件、纵向通用组件和纵向专用组件。横向组件是大部分系统都需要用到的通用的组件,如:Web组件、日志管理、数据校验、邮件管理、打印组件、报表组件、文档管理、参数管理、单点登陆等,横向组件的作用是更好的管理和复用系统的通用组件;纵向通用组件包括在领域应用中通用的组件,如:工作流、报表工具、规则引擎、用户权限管理等在领域应用中使用较为广泛;纵向专
16、用组件是针对每一个领域专用的具有领域特色的组件,在xxx系统中纵向专用组件可以分为申请、受理、收费组件、分类组件、保密组件等等有关于xxx的组件;b) 系统层:系统层包括了有组件组装得到的各个应用系统,又可以分为核心层、综合业务层和辅助管理层。核心层是整个系统的重点和难点,是整个系统最重要的组成部分,如xxx子系统是将申请人的申请进行接受和汇总子系统;c) 门户平台:基于以人为本的原则,基于portal技术,对系统层各个子系统进行集成。使用门户平台,用户不需要登陆每一个子系统进行相应的工作,而是在统一的门户平台进行工作。结合工作流技术,对于每个登陆系统的人都提供简洁统一的工作选项,对于申请人、
17、审核人、系统管理员、维护人员、局领导等都能做到方便的操作系统,快速进行业务处理和系统管理。下图为基于SOA的xxx系统的应用架构总体设计图。通用以上的阐述,可以看出,系统整体都是基于SOA架构进行设计的,主要体现在如下四个方面:a) 系统基于SOA的以服务为中心的思想和方法,对xxx系统的整体体系架构进行设计,建立了分层的松耦合、跨平台的系统架构;b) 在组件层,我们采用了基于SOA的组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可
18、以以一种统一的通用方式进行交互;c) 系统采用了基于SOA的分类集成方法对系统的业务以及服务进行分类和集成,做成统一的接口,面向业务和服务编写,以适应SOA系统的统一交互;d) 将每一种业务构成都分解成不同的组件或者子系统,将组件和子系统分开编写达到每项组件和子系统都能做到相互无关,如果一项组件和系统改变将对系统中的其余组件没有任何影响。实现组件相互之间低耦合的机制,最大程序上降低了系统的升级、业务变更对系统的影响。同时,基于SOA的系统应用架构具有强大的系统的扩展性:a) SOA的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要,本方案很好地体现
19、了SOA的这一中心思想;b) 工作流和业务规则引擎的采用极大了提高了系统对于业务流程和规则变化的适应性。工作流引擎可以使得在业务流程发生变化时使得系统调整最小,而不需要向传统的需要完全重新开发;业务规则引擎的采用使得业务规则发生变化时只需对业务规则进行重新描述即可完成系统的转换。c) 组件模型、组件集成技术的采用使得系统在进行业务功能的调整时,可以把变化局限于某一个范围之内,在需要时还能进行灵活的替换。由于系统应用架构是根据每一项业务或者流程编写所以对于系统的扩展非常方便,只要对新加入的业务对应加入新的组件就可以实现对SOA系统的扩展;总之,本节提出的基于组件的xxx系统完全体现了SOA的核心
20、思想,通过分层组件规划、集成、工作流引擎、业务规则引擎等方法和技术充分体现SOA的策略与方法,并且很好地实现系统的可扩展性、可移植性等等。1.3.2 系统技术框架xxx系统基于J2EE规范实现,整个架构建立在Struts框架、Spring框架和DAO模式基础之上,并提供了对于EJB、Web Service、JMS等组件技术的集成机制。技术框架逻辑上可分为:客户层、WEB层、业务层、持久层、资源层、核心层。如下图所示为系统的技术框架。客户层:客户端计算机的浏览器,用于展现页面。WEB层:WEB层基于Struts MVC,完成转发请求、Http请求合法性校验、Http请求参数与数据传输对象DTO之
21、间的绑定、Http请求参数有效性校验、用户操作权限检查、记录用户访问日志、显示系统运行异常等任务。业务层:业务层基于Spring框架,完成业务数据校验、业务逻辑处理、事务管理、记录业务处理日志、抛出业务处理异常等任务,同时它也支持Web Service、JMS、EJB等组件服务模型。持久层:持久层基于DAO进行构建,完成数据读取、数据存储、封装SQL异常、抛出SQL异常、记录数据读写日志等任务。资源层:资源层包括数据库服务器、XML存储文件等,是数据永久存储的介质。核心层:核心层表现为系统提供的基础类库,为WEB层、业务层和持久层提供支持。包括日志记录组件、异常处理组件、事务处理组件、IoC
22、容器封装组件、WEB层数据绑定组件、WEB层数据校验组件、权限检查组件、持久层辅助组件、其他开源项目类库组件等。本技术框架的特色或优势主要体现在如下几个方面:(1) 系统技术框架提供了对SOA的完整支持;(2) 对于同一个应用系统,系统同时支持集中式和分布式两种部署方案,系统采用分离UI层和BL层的方式来实现分布式的实现;(3) 业务层Service的实现可以有很多种,WebService、JMS、EJB、Spring等都可以作为对业务层的一种实现;(4) 在系统的WEB层,同时支持同步和异步两种通信交互方式,使用了AJAX技术完成改善用户体验的任务,主要完成页面表单数据的录入校验、生成联动的
23、下拉列表等任务。客户端访问web层时通过AJAX技术可以实现异步交互,在提交页面时系统采用同步方式处理提交页面的内容。如下图所示为系统对于这两种交互方式的支持图。(5) 在系统中,每个功能模块都是相对独立的存在,在可扩展性上只要将新加入的组件添加到系统中就可以实现系统的扩展,在系统中由于采用如:Struts、AJAX等当前最新的技术,恰当的使用,在性能上会有显著的提高,而且由于Struts、AJAX等技术已经相当的完善所以在可靠性上也有可靠的保障。1.3.3 其他重要问题(1) 业务规则是支持企业决策,影响或控制企业业务行为的指示,它是企业处理业务过程中始终要遵循的规则,而工作流则是根据业务规
24、则制定的实际应用当中需要流转的程序。在系统的编制过程中将严格遵守业务规则和根据业务规则制定的工作流程,在系统的编程中业务规则是一条语句,它定义或约束业务的某些方面。其目的是对业务结构做出断言,或者对业务行为施加控制和影响。在xxx系统中,系统通过对工作流和业务规则的使用,对xxx的生命周期进行管理,从xxx到xxx都有明确的程序遵循。(2) 系统采用标准的SOA架构进行设计,通过组件的开发、组件的组装、系统的集成形成了基于SOA进行设计的完整的xxx系统体系架构;在应用系统开发上,应用了基于J2EE的标准技术,如Struts、AJAX、Hibernate等标准技术和标准架构,开发时通过制定严格
25、的开发规范,并通过严格的项目管理和实施方法来规范程序员的编码规范,提高系统的可维护性;在数据建模时也会采用基于标准的扩展的数据模型构建方法,在数据交换、系统接口等领域也基于国家数据交换标准进行设计与开发;在系统的整体设计开发实施维护过程,都将基于国际国内的主流标准进行。(3) 由于系统是根据标准架构和分层编写而成,对于想增加工作流程或者业务规则的情况,系统也可以很容易的进行扩展,如在系统中加入的新的业务规则只要在层次上分清属于系统的哪一层次,在系统的层次中新加入组件就可以很方便和容易的对系统进行扩展。(4) 在系统中,复用是减少代码量和代码可读性一个必须要考虑的问题。需要用到的重复代码需要编写
26、可复用的方法,对接口的定义需要考虑到相同功能中所有的问题编写可复用的接口,公用的类也可以做到复用,对于收费子系统来说,该子系统就可以达到的复用的功能。1.4 主平台解决方案主平台担负着整个系统运转的枢纽工作,主平台的设计必须在安全、稳定、高效的规则下进行设计。主平台保证xxx系统具有统一用户、统一认证、统一接口、统一资源、统一管理、统一接入等特点,建立完善的主平台基础设施。系统以业务流程为中心,通过工作流平台提供流程的自动化,集成各子系统;在实际业务中还存在着大量的业务规则,他们是系统中的核心的知识和价值的一个体现,对于业务规则的管理也显得非常必要;主平台还涉及到与其他19个子系统的接口交互,
27、系统的接口也是系统要研究和讨论的一个主要方面;系统涉及到大量的用户,他们具有不同的角色,如果对系统角色进行权限管理,也是系统的一个重要方面。因此,下文将重点针对业务流程管理、业务规则管理、系统接口和权限管理这四个部分分别进行阐述。1.4.1 基于工作流的业务流程管理xx流程复杂,环节众多,各子系统在业务环节上环环相扣。如何不仅能保证业务流程的准确流转,还能使系统具有很好的业务流程的灵活性。工作流是解决这方面问题的最佳方案。经过对业务的分析以及抽象,工作流管理系统围绕业务交互逻辑、业务处理逻辑以及参与者三个问题进行解决,业务交互逻辑对应的为业务的流转过程,在工作流管理系统中对应的提出了工作流引擎
28、、工作流设计器、流程操作来解决业务交互逻辑的问题,业务处理逻辑对应业务流转过程中的表单、文档等的处理,在工作流管理系统中对应的提出了表单设计器、与表单的集成来解决业务处理逻辑的问题,参与者对应到的为流转过程中环节对应的人或程序,在工作流管理系统中通过与应用程序的集成来解决参与者的问题。工作流管理系统为方便业务交互逻辑、业务处理逻辑以及参与者的修改,多数通过提供可视化的流程设计器以及表单设计器来实现,为实现工作流管理系统的扩展性,多数提供了一系列的API。完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分
29、组成。下图为图形化的工作流管理系统示意图:工作流引擎作为工作流管理系统的核心部分,主要提供了对于工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、恢复等),通过各种环节调度算法(SPLIT、AND、OR等)来实现对于环节的流转(环节的合并、分叉、选择、条件性的选择等)。WFMC是国际工作流管理联盟,它于1993年成立,发布了一系列的工作流定义、软件接口的草案文本,是目前世界上公认的最具权威性的工作流标准制定机构
30、,得到了广泛的支持和应用。xxx电子xxx系统流程管理将基于WFMC-TC-1009,WFMC-TC-1013等设计标准设计,基于XML的流程化定义语言。工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。工作流管理系统指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。工作流管理主要通过五个接口与工作流执行服务一起共同组成了工作流系统:a) 工作流定义交换,用于在建模和定义工具与执行服务之间交换工作流定义。主要是数据交换格式和API。数据交换通过
31、XPDL,API通过WAPI。b) 工作流客户端应用接口,用于工作流客户端应用访问工作流引擎和工作列表,通过WAPI完成。c) 被调用的应用接口,用于调用不同的应用系统。d) 工作流系统互操作接口,用于不同工作流系统之间的互操作。e) 系统管理和监控,用于系统管理应用访问工作流执行服务。xxx系统根据工作流管理系统的设计,采用先进的工作流管理设计思想,将申请、分类、初审、实审、复议、法律手续等子系统定义标准工作流应用接口,在主平台中对xxx流程进行统一管理,用户可以对xxx过程中的状态随时进行监控。1.4.1.1 监控管理监控管理使用浏览器作为用户界面,提供完善的用户管理、角色管理、过程管理、
32、系统设置、系统安全管理、配置文件管理和日志管理,让管理者可以追踪和控管角色、活动、节点、过程实例的状态和过程实例流经的路径;可以以图形的方式再现已经完成的过程实例的路径、可以显示正在进行中的过程实例,并且提供管理的机制,让管理者得以在必要时终止或暂停某些过程实例。同时,系统亦提供有关工作过程的统计数据和报表,动态改变过程的状态,协调各个部分的关系,并进而提升管理的效率。可以大幅降低纸张文件的需求以及传递文件所需的额外人力负担,通过浏览器和数据库把各种信息方便地展现给用户,让内部信息的流动及传递更加迅速准确。负载平衡提高工作流的工作效率。1.4.1.2 工作项服务动态产生其对应的待办工作项、提醒
33、工作项、历史工作项、暂存工作项,为用户提供以人为本的优秀的系统使用体验。1.4.1.3 日志服务运行服务对工作流实例执行过程中的各种事件及由事件引起的相应数据的改变进行完整的记录,形成日志数据写入日志文件,以便对工作流实例的执行过程进行跟踪分析。日志数据大至包括以下几类:过程定义、过程实例、活动定义、活动实例、工作流相关数据、工作项、统计数据、结构信息、归档信息等。日志库中实际记录的数据种类由相应的配置文件设置不同的级别来确定。1.4.2 业务规则管理在xxx系统中,不仅仅流程复杂,而且中间存在着大量的业务规则,这些规则决定了系统流程的流转方向,决定了xxx的结果等等。通过业务规则引擎和工作流
34、的结合的使用,可以降低系统流程管理的复杂性,也便于用户对企业业务规则资产的积累。业务规则目前尚无工业标准定义,一个比较公认的定义是由业务规则组织(Business Rule Group)给出的,从企业业务的角度来看,“业务规则是支持企业决策,影响或控制企业业务行为的指示”;从计算机信息系统的角度来看,“业务规则是一条语句,它定义或约束业务的某些方面。其目的是对业务结构做出断言,或者对业务行为施加控制和影响。”业务规则可以用来代表企业活动和事件起因、状态信息、活动限制(包括质量限制、一致性限制、完整性限制等)、管理企业的政策和法规、及通过数据挖掘方式可以获得相应的专家知识和建议。业务规则有静态规
35、则与动态规则之分,静态规则描述了一致性与完整性规则,通常可用数据模型来描述。而动态规则描述企业的动态行为,如活动的执行时机与条件等。每条业务规则语句都应该满足原子性、确定性、简洁性、一致性和相关性。业务规则引擎用于处理复杂的业务逻辑,它从业务流程中以单独实体的形式提取业务规则,从而达到对系统的更好的分离,提高系统的可维护性。 在业务规则实现过程中,系统将集成满足JSR 94标准的业务规则引擎,如iLog、Drools等。1.4.3 主平台和各子系统的接口主平台与各子系统接口可以将在系统接口方案中进行体现。1.4.4 多级基于角色的权限管理权限管理机制包括了组织架构管理,根据xxx局的下属机构分
36、布情况。系统次采用树形机构管理模式,满足xxx局的需求,支持多级组织架构、多级项目管理 系统能灵活适应于各种组织架构模式,能实现的分级的的权限管理模型。权限管理机制采用基于角色的权限管理模型,灵活严格的授权模型和操作配置进行权限设计。对于主控平台可以设置多个角色如:系统管理员、审查员、申请人、复审人员等。角色及岗位的定制灵活、易操作,可以保证xxx的要求,还能满足今后业务流程的发展。因此,建议在xxx系统中中采用多级的基于角色的权限管理。它把整个访问权限控制过程分成两步:访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离,并且角色之间、用户之间也存在多级关系。该设计中,
37、角色不能被继承,角色把一些功能集合起来,用户可以拥有某一个角色,同时也可以直接将某个功能赋予该用户。权限控制主要体现在界面菜单、工具栏、查询信息结果上。不同权限的用户登录系统后将会看到不同的菜单和工具栏,进入某一个功能界面后,可以控制界面上的各个组件状态,有权限则该组件可用;不同级别的人员能看到的xxx信息、xxx统计、分析的信息也不一样。该设计的一个好处是,开发人员在增加新功能时才增加功能定义,增加功能定义实际上是增加一个窗体的类名到数据库中,程序调用该功能实际上是创建该窗体的一个实例。而拥有权限管理的最终用户可以自由设置界面(菜单项和工具栏的文字显示,顺序,布局等),开发人员仅维护功能定义
38、部分。1.5 数据模型1.5.1 数据建模原则(1) 既继承又创新;数据模型将会对原有系统中使用较成熟部分进行继承,一方面有利于提高系统成功几率,另一方面也方便与数据的移植;在继承的基础上,对于原有系统中不成熟部分将针对原有数据模型存在的问题进行重新设计。既继承又创新的数据模型设计原则,是数据模型设计成功的保障。(2) 数据的完整性与一致性;数据的完整性和一致性是原有系统数据库存在的主要问题之一,一个个分离的数据库相对独立,和其他数据库不存在直接的完整性和一致性规则,本次开发将对原有系统数据模型进行整合,一方面从数据模型层面保证数据的完整性和一致性,另一方面消除原有数据库的一个个信息孤岛,为查
39、询、统计、分析等业务管理服务。在系统建设数据建模时,需要对系统数据模型进行整体规划,我们将基于主平台数据模型对数据模型进行整合,主平台数据模型从根本上保证数据的一致性,它规定了数据的标准,其他子系统将使用这些数据标准。各个子系统建设过程中,形成了每一个部分的相对独立完整的数据模型,整体上的规划从通用性数据模型、专用性数据模型、数据等各个层次保证了数据的完整型和一致性。数据的完整性和一致性首先是从数据模型的层面从根本上保证数据的完整性和一致性;再通过建立长效的数据质量监控管理机制,自动监控管理与手工干预相结合的方法可以解决在实际系统中出现的数据质量问题。(3) 主要变化的适应性;在系统建设时,将
40、对业务进行充分的分析,对于可能存在的主要变化进行研究,在数据模型设计时将充分考虑这些变化性,数据模型将能对这种变化性进行适应。数据模型在设计时将采用纵向和横向两种结构进行设计,对于变化的适应性,可以采用纵向字段语义扩展和横向结构两种方法来对变化性进行适应。(4) 数据模型的标准化;数据建模过程中,采用标准的数据建模工具,遵循数据模型的建设标准,使用国际、国家等数据标准,对于数据接口也采用标准的数据接口标准。这些标准的实施,一方面可以提高系统数据模型建设的整体水平,另一方面也有利于xxx系统和国际接轨。(5) 支持数据的移植;数据的移植也是新系统数据模型建设需要考虑的一个重要问题。一方面,我们将
41、对原有系统的成熟数据模型进行继承,以便于进行数据移植,另一方面,对于新数据模型,会建立新旧数据模型之间的映射关系,并消除中间产生的冲突。在移植时,为了可以准确高效的进行数据的移植,可以借助于第三方的数据移植工具。实施时,将根据系统实际情况,进行分步的数据移植和系统的切换。1.5.2 数据建模方法结合多年的行业应用的开发经验,我们总结出了一系列的行业数据模型构建方法,行业数据参考模型是建立行业数据模型的关键。所谓行业数据参考模型,可以认为是概念的集合,以及概念的关系,加上一些管理交互的规则。参考模型的最高抽象形式就是标准。它基于概念模型的形式,反映该领域内的业务概念的组成和相互关系。它以特定领域
42、为范围,是构建特定领域软件体系架构(DSSA)的基础,为领域应用实施开发提供重要支持。下图为行业数据参考模型和业务数据模型及数据仓库模型之间的关系。行业数据参考模型是行业内主要特征的描述,它排除了行业中企业的个性化特征的描述,在进行系统建模时最主要的是理顺业务,建立行业数据参考模型。通过生成转换工具,可以将行业数据参考模型自动转换为业务数据模型和数据仓库模型,然后可以在业务数据模型、数据仓库模型的基础上进行个性化调整。下图为xxx领域的数据模型的体系架构图。特定领域的数据参考模型的体系架构如图1所示,最下面的通用横向数据模型和特定领域的术语和数据字典是构建特定领域数据参考模型的基础。在其基础上
43、建立的特定领域的数据模型包含领域横向数据模型和领域纵向数据模型,领域纵向数据模型又可以根据主题划分为几个相对独立的领域主题。关于通用横向、领域横向、领域纵向数据实体的详细说明如下:通用横向实体是跨领域适用的数据模型实体,由键和属性组成。如以“人员和组织”为主题的数据模型,它不仅仅能在特定领域内复用,还可以跨领域进行复用。领域横向实体是指在领域内相对通用的数据模型,经常被领域纵向模型引用。领域纵向实体是指只在某个特定领域适用,不被领域横向数据模型引用,和其他领域纵向数据模型的关系往往也是确定的。对特定领域的数据建模来说,重点是要分析清楚在特定领域内数据模型中,哪些属性是复用的关键,即哪些属性是对
44、领域特征的抽象。我们对ER图概念模型描述方法进行了扩展, 引入“维度”、“维度层次”、“事实”三个数据仓库的概念,扩充了ER图中的属性定义,并在此基础上,对构建特定领域数据参考模型提供了一个方法,对原有设计方法中忽略的概念的抽象过程进行了详细说明。1.5.3 数据质量管理在进行系统使用过程中,数据质量是一个至关重要的问题,它直接关系到系统的正常运行,因此,对于数据质量也有必要进行严格的监控和管理。数据质量管理的方法主要是基于流程,利用数据之间的勾稽关系进行数据质量的检查和纠错的。从xxx流程看,从申请到收费、分类、初审、实审、复审、授权、失效等每一个环节之间已经环节内部都可能存在数据的一致性问
45、题,在制定数据质量管理方案的时候,将基于xxxxxx的流程,对xxx中的各个环节之间的数据以及环节内部的数据进行一致性的监控。1.5.4 数据存储方式数据存储将采用关系型和XML方式结合进行数据存储。1.5.5 其他重要问题(1) 数据移植;下文将针对数据移植进行单独的详细地阐述。(2) 数据的完整性和一致性;数据的完整性和一致性的保证主要通过如下途径来实现的,首先是从数据模型的层次从根本上保证数据的完整性和一致性;再通过建立长效的数据质量监控管理机制,自动监控管理与手工干预相结合,解决在实际系统中出现的数据质量问题。1.6 用户界面1.6.1 用户界面设计原则(1) 系统的界面风格统一采用编
46、制好的CSS文件,对单元格、按钮、下拉列表、文本框都进行统一的规格化,页面布局采用左边菜单项右边功能页的页面布局。在内容填充中,对每一录入项都进行数据合法化校验,如果出现异常和错误将采用统一的报错页面和易懂的提示语言对异常或错误进行描述。(2) 对于用户操作来说,越容易、越简便越好,在系统的编制过程中我们将体现以人为本的友好操作页面,根据登陆人的不同,根据权限的不同对每个人的操作页面都能做到定制,方便操作人的操作和管理。(3) 由于系统采用同步和异步两种方式进行数据的交互,异步操作可以使用户更加方便的在页面操作过程中和数据库中的数据进行交互,同步操作可以使用户提交页面时实时的对提交的内容进行查看和修改。(4) 系