消费信贷系统架构设计说明书

消费信贷系统架构设计说明书
消费信贷系统架构设计说明书

宇信易诚消费信贷管理系统

——架构设计说明书v0.1

目录

1概述 (4)

1.1文档目的 (4)

1.2背景与建设目标 (4)

1.3设计规范与约束 (4)

1.4参考资料 (5)

1.5述语 (5)

2架构需求分析 (6)

2.1消费贷关键业务场景分析 (6)

2.1.1场景:申请 (6)

2.1.2场景:电核 (6)

2.1.3场景:审批 (7)

2.1.4场景:面签 (8)

2.1.5场景:还款计划与费率计算 (9)

2.2消费贷业务特征 (9)

2.3设计目标与原则 (9)

3架构设计 (11)

3.1系统业务架构 (11)

3.1.1业务模式 (11)

3.1.2业务流程 (11)

3.1.3功能划分 (12)

3.2系统逻辑架构 (13)

3.2.1功能层次划分 (13)

3.2.2功能层次关系 (14)

3.3系统技术架构 (15)

3.3.1子系统划分 (15)

3.3.2技术选型 (17)

3.3.3技术架构分层 (17)

3.3.4关键技术点 (19)

4功能设计 (24)

4.1功能模块划分 (24)

4.2功能结构设计 (25)

5非功能设计 (28)

5.1性能设计 (28)

5.2安全设计 (28)

5.3容错设计 (29)

1概述

1.1文档目的

《架构设计说明书》用于确定消费信贷系统的整体架构,明确业务功能结构、技术方向、以及设计原则,为后续阶段进行概要设计、详细设计、编码开发以及测试提供方向性、原则性的指导。

消费信贷系统主要针对消费金融公司、银行消费信贷部门的业务运营需求而设计,本说明书将从消费贷业务特征分析为切入点,从业务架构、逻辑架构、技术架构等多个维度,逐步分析采用何种技术架构可以在最大程度地满足现有业务需求的同时,也能兼顾将来一段时间内的业务发展变化。

1.2背景与建设目标

基于国内整体消费金融业务的发展情况和银行关注消费金融的程度,以及国家加速发放消费金融牌照的趋势,为了能够抢占消费系统服务市场份额,特别研发新一代消费信贷管理系统。消费系统建设整体目标如下:

1、建立先进、有效、多类型的进单渠道,并建立与渠道的沟通方式,以扩大与外部合作机构、消费者的联系和服务质量;扩大客户群体和异地服务的能力。

2、为了支持消费贷款业务短、平、快、业务量大等情况,建立适合的业务处理流程。实现业务的精细化管理、统计分析、监测、审批、控制的电子化和自动化,提供存储、汇总、收集、反映,为各层次的经营管理者提供监控、决策、分析、预警等功能,为信贷业务的创新、经营决策提供充分的信息支持。

3、高效的影像审批流程:通过消费信贷管理系统和影像系统的整合,以及通过系统提供在线通知、在线打印等自动化功能,实现业务审批模式的突破,满足消费业务集中审批、无纸化办公的要求。

4、智能的数据决策分析平台:通过各种报表的展示和数据的统计分析查询,为不同层次的人员提供相应的数据,提高决策的效率和决策的效果。

5、标准外围系统接口和数据规则:建立统一的外围系统接口,包括人行征信/公安身份核查/总帐接口等;建立导入/导出数据和模板标准,便于与第三方进行数据文件交换。

1.3设计规范与约束

●Web容器(Servlet)JSR154规范

●流程引擎遵循WFMC规范

●规则引擎遵循JSR199规范

●内容服务器遵循JSR170、JSR283规范

●基于宇信公司EMP平台进行构建,在遵循EMP的架构规范的同时,在技

术实现方式上接受EMP约束.

●流程引擎参照WFMC标准进行设计,与非WFMC标准的其它流程平台对接

实现上存在一定的技术困难,需作为关注的技术实现约束条件。

1.4参考资料

《消费金融公司试点管理办法》

1.5述语

●个人消费贷款:金融机构向个人客户发放的有指定消费用途的人民币贷款业务,用

途主要有个人购物、住房、汽车、一般助学贷款等消费性个人贷款。

●CC:电话客服中心系统。

●电核:金融机构通过电话沟通方式核实借款人身份、贷款用途等基本情况。

●面签:贷款审批通过之后,约客户到场签订借款合同、缴纳费用,向客户说明贷款

权利义务。

●合作方:指金融机构在营销贷款产品时的合作伙伴,如合作商户、大卖场、4S店

等等。

●功能模块:系统技术实现时,封装一类业务功能的组织单元,一个功能模块下有一

个或多个功能组件。

●功能组件:系统技术实现时封装业务功能与处理逻辑的组织单元,每个单元在概念

上与业务过程中的业务实体基本一致,如客户组件。

●页面部件:系统技术实现,用于在系统界面中展现业务要素的基本单元,如文本输

入框。

2架构需求分析

2.1消费贷关键业务场景分析

2.1.1场景:申请

消费贷款申请,是信贷类系统的典型场景之一,申请主要目的是为收集客户贷款融资需求与客户的基本信息,同时申请还需借助各种渠道来充分发挥其市场营销功能。在消费贷的申请场景下,会有多种运作模式,例如由客户经理直接登录系统操作完成、由客户通过各种渠道操作完成、由合作商户通过各种渠道代理客户操作完成等等。消费贷申请用例图如下:

图2-1

从上图中可知,消费贷申请过程中涉及到的角色有客户(申请人)、经销商(合作商户)以及客户经理。客户可以从网站(银行本身或第三方)、终端设备发起贷款申请;经销商可以从终端设备、合作商户子系统(消费贷子系统)发起申请;客户经理可以从消费贷系统发起申请。对客户、经销商与客户经理均可以通过系统查询申请的状态(其权限范围内)。客户经理与后台自动任务可以对申请资料的合规性进行筛选。

消费贷申请,是整个系统的业务操作入口,其涉及角色、渠道多,情况复杂变数多,同时在消费贷下的不同产品申请时所关注的业务要素可能有较明显差异,系统需要充分考虑金融机构消费贷产品种类井喷时系统的应对方式。由于涉及不少渠道是由客户主动填写并发起的,所以其数据量可能会很大,相应垃圾数据量也会很大,所以需要有人工与系统自动相配合的数据筛选功能,对大量申请数据进行甄别。由于业务申请量可能较大,在设计时需要考虑尽量将录入工作从客户经理的日常工作中剥离出来,减轻客户经理重复工作量。

2.1.2场景:电核

消费贷款电核,用于对客户身份与申请信息真实的核查,一般情况下,电核为金融机构

内的独立部门使用独立的系统(如CC)进行,消费贷款系统仅配合其完成电核操作即可,而不再去实现与CC系统相关的功能(如任务调度、座席管理等等)。消费贷用例图如下所示:

图2-2

从上图中可知,消费贷电核过程中涉及到的角色有客户经理、电核人员与客户。客户经理从消费贷系统中将资料提交至电核系统,同时也可以查询电核反馈结果;电核人员在电核系统中与客户电话联系,并将电核情况记录至系统中。

电核过程,对于消费贷系统而言是一个可选部分,不是所有消费贷产品都需要这一步骤,而对于没有类似CC系统的金融机构,但需要对客户作电核,则可以考虑直接作为系统业务流程的一部分来简化实现,即在消费贷中系统录入线下电核结果即可。

由于电核步骤涉及独立电核系统,所以在设计时需要充分考虑与电核系统间可能的交互模式,保证在接入不同的电核系统时,对消费贷本身业务流程的实现没有影响。

2.1.3场景:审批

消费贷申请审批,也是信贷类系统的典型场景之一,审批主要目的是对客户的贷款申请,按金融机构内规章制度的进行逐级审批。不同金融机构、不同的产品其审批流程步骤、参与人员、以及审批规则将会有明显区别。消费贷申请审批的用例图下如:

图2-3

从上图可知,参与审批的角色主要有客户经理与审批人员(如,其他客户经理、主管、风险专员等等),担当审批人员的角色不同机构、不同产品、甚至同一产品内不同的申请(如,新件与复议件)都会有不同角色人员来完成审批工作,其完全取决与行内的规章制度。但无论审批角色如何变化,其需要完成的动作基本一至,主要包括对申请的同意、否决、打回或撤销等等。

在设计时需考虑消费贷审批过程的不确性,系统需要提供灵活配置功能来应对不确定的审批需求。由于每天申请单量可能较大,需要在设计层面充分考虑如何提高审批工作效率,例如批量审批操作、自动审批、关键消息提醒等等。同时,需要提供充足的审批统计数据,为行内的审批流程优化再造提供数据分析支撑。

2.1.4场景:面签

面签是信贷类系统的典型场景之一,面签主要目的是在审批通过之后约客户到场签订借款合同、缴纳费用,向客户说明贷款权利义务等等。一般而言面签主要工作是在系统线下完成,线上主要合同打印、登记面签结果、确认合同已签即可。但对于消费贷而言,对时间要求高,面签过程可能会直接在场外完成,以提高贷款的效率。消费贷面签用例图如下:

图2-4

从上图可知,面签过程参与角色主要有客户、客户经理、合作商户(如经销商),如果在场内签订合同,则客户与客户经理参与即可,如果在场外签订合同,则可能由客户、合作商户、与客户经理共同参与,也有可能在场外通过专用设备进行远程面签(如视屏面签),此时就不需要客户经理必须到场,仅需合作商户通过配合即可。

由于消费贷面签过程大多都是在场内线下进行,但随着IT技术的不断发展,面签功能会逐步放在场外上线进行,系统需要充分考虑在新的面签模式下如何能很好的支持。

2.1.5场景:还款计划与费率计算

由于消费贷大多数都是采用按揭方式还款,对灵活的还款计划计算的必不可少。系统需要能支持各种方式的还款计划计算,以及相应的费率计算。由于金融公司可能没有核算系统,所以系统中需要能提供部分账务核算功能;而对于有核算系统的银行,则需要实现与其核算系统的接口。为此系统需要充分考虑如何支持有核算系统与无核算系统两种情况。

2.2消费贷业务特征

消费贷款产品与其他贷款产品相比,其基本特征是小额、快速与灵活。在运作模式上主要特征是与特约商户合作推广业务。在目标客户群体在主要特征是针对年轻人、年轻家庭以及由合作商户推荐的客户。服务模式上,主要特征是IT自助型服务模式。

消费贷‘快速’这个特征最为突出,其中最快的贷款产品要求可以直接在商户卖场中1小时之内完成,一般的消费贷款产品,要求在1~3个工作日内完成。而机构内审批时间要求最快能在30内分钟完成。可以说没有什么贷款产品比消费贷对工作效率要求更高,这对于承载消费贷业务运营的IT系统而言,如何满足对高效率的要求将是一个挑战。

消费贷‘灵活’主要体现在还款方式、利率与贷款品种上。由于消费针对的目标客户的用款需求十分明确,相对与信用卡(等其贷款产品)而言,还款方式与利率定价的针对性更强,对于客户而言享用金融服务的方式(如更适合自身条件的还款方式)也更为多样化,更灵活。由于消费领域十广泛,与商户合作方式很多,对应的消费贷会衍生出很多产品,如针对耐用消费品的贷款产品、针对电子消费品的贷款产品、针对教育培训的贷款产品、针对汽车衍生品的贷款产品等等。对于IT系统而言,需仔细考虑如何应对业务产品形态的多样化。

也许是由于年轻人更能接受超前消费的观念的原因,市面上已有消费贷产品面向的客户主要群体一般是年轻人,消费贷产品将来一定会考虑采用更有针对性的自动营销渠道,例如直接在网上商城内营销、手机/PAD等终端设备上营销、微博营销等等。对于IT系统而言则需要能支持多种的营销渠道来源,同时也能提供给客户更多享用金融服务的渠道,如通过手机/PAD等IT自助服务。由于金融机构的消费贷产品未来发展,在很大程度上取决于对合作商户的不断发掘,对于IT系统而言,需要充分考虑如何应对不断增加的合作商与合作模式给系统功能带来的负面影响。

2.3设计目标与原则

消费贷系统作为一个独立、新兴的贷款类业务操作系统主要围绕着以下三个主要目标进行设计与建设:

1、系统能提升消费贷业务运作的效率;

消费贷业务对时效性要求很高,在设计时需要优先考虑,系统能提供哪些模式,让工作

效率得到最大限度的提高。提高用户在系统中的工作效率,首先是要有良好的UI设计,在UI设计时考虑能达到不同业务场景下突出不同的重点的效果,尽量实现‘消息驱动’的UI 操作模式。

要提高效率仅仅从UI层考虑是不够的,更应该从优化业务操作流程着手,进一步考虑IT技术如何帮助业务流转加速,例如,自动化数据筛选、自动化审批、任务智能分配、大任务拆分、基于数据分析的流程再造等等。

除此UI与业务流程优化之外,在系统设计时需考虑提供相应机制,保障在业务高峰期的系统性能,尽量保证不会出现因为系统响应速度原因而影响业务效率,例如,合理的子系统划分、流量控制、支持系统的横向扩展架构等等。

2、系统能规范业务流程、屏蔽操作风险;

消费贷系统作为业务操作管理类系统而言,能够监控与约束对机构内人员的行为,屏蔽人为操作风险的发生,是最原始的初衷之一。系统设计时,不仅仅把贷款的审批过程用工作流模式来实现,而是考虑采用其来实现操作层面的主线功能,通过在系统中构建各业务场景间流转逻辑关系,来实现业务规范在系统中的落地。同时,工作流模式还需要与风险识别与拦截机制结合起来,才能真正发挥规范业务流程的作用。

3、系统能支撑消费业务的不断发展;

消费金融公司在国内处于起步阶段,未来的变数还很大,其主要表现在新消费贷产品可能会大量出现,甚至会出现全新的业务模式。现在所设计的消费贷系统,必须要认真考虑如何能适应将来较长一段时间内(3年)的业务需求变化,至少要保证不影响业务的发展,同时,尽量能缩短未来新产品的落地开发周期,不影响新产品的投放时间。

3架构设计

3.1系统业务架构

消费贷业务不同于传统的个人消费类贷款,其有着更灵活的业务运营方式,下面将从业务模式、业务流程、功能划分三个部分来分析消费贷业务的架构。

3.1.1业务模式

消费贷的业务模式与传统的个人消费类贷款、以及个人信用卡相比,最大的不同就是营销渠道的不同,采用现场主动营销方式,即直接在客户消费场所营销,而不是被动地等着客户上门来贷款或者刷卡消费。为此,消费贷的运作需要合作方支持,业务模式见下图:

图3-1

在传统贷款方式下,客户的贷款需求是直接面向金融机构的,而消费贷是通过在合作方(如卖场、4S店、培训机构等等)的内主动挖掘需求。在成交之后,金融机构直接将货款打给合作方;客户方分期向金融机构还款;金融机构在一定条件下,定期付给合作方一定的佣金。在这种模式下金融机构赚取了利息与手续费、合作方扩大自己的客户群并能赚取一定的佣金、客户则提前买到了合作方的产品或服务,实现了三方的共赢。

在这个模式下,对于金融机构而言,最重要的是如何找到合适合作方,且能尽可能多地扩展新的不同领域的合作方,同时提供合作方感兴趣的激励机制(如佣金等等);对于客户则能提供更有针对性的还款方式。

3.1.2业务流程

消费贷在业务流程上与普通贷款在本质上没有太多区别,其目地都是为了实现审贷分离。区别在于消费贷为提升效率,流程中各节点专业性更强、分工更明确,即采用类似信贷工厂的模式(注:消费贷并不是工厂模式)。业务流程图如下所示:

图3-2

消费贷业务流程中,电核为可选节点,有的机构或产品不需电核这一步骤,其它步骤均会必选步骤,面签为线下节点,今后可能会放至线上。

申请节点,由客户经理或客户填写并发起;电核节点,由独立的电核人员完成对客户的核实;审批节点,由管理人员完成对申请的审批;面签节点,由客户经理与客户一起完成的同合的签订;放款节点,由财务人员完成打款操作;还款节点,由系统自动完成从客户还款账户上扣款,或客户主动发起提前还款。

随着业务量的增大,今后可能会出现无法满足对放款时限要求的情况,届时将考虑将上述流程中部分业务外包出去,例如申请与电核。同时,尽可能采用自动流程部分代替其中的人工操作。

3.1.3功能划分

消费贷系统主要面向独立的金融机构,一般其核心职能会划分到四个子部门:产品管理部门、风险管理部门、营销部门、财务部门。对应图3-2中,申请、面签交由营销部门中的客户经理完成,审批由产品管理部门与风险管理部门负责,放款由财务部门完成。具体消费贷功能划分如下:

图3-3

消费信贷业务功能由五个部分组成,包括业务受理子模块、贷款业务流程处理和管理子模块、帐务模块、报表子模块、业务监控子模块,其包含了完成消费主体业务所需的全部功

能。各子模块完成专项工作,如受理模块主要完成营销和渠道进单功能;业务流程处理和管理模块主要完成金融机构内部对业务的所有业务处理,包括电核、人工审批、放款、贷后管理、催收和保全;帐务模块主要完成贷款或卡业务的各种帐务计算,包括还款计划生成、利息/贴息计算、罚息计算、复利计算、费用计算、佣金计算等;报表模块主要完成对所有业务分析、流程分析、客户分析、风险分析等统计和展现;业务监控模块主要用于对业务的实时业务量监控。

3.2系统逻辑架构

消费贷款系统功能从逻辑上划分成六个层面——业务操作层、业务管理层、业务工具层、决策分析层、账务核算层以及技术支撑层。功能逻辑结构如下图所示:

图3-4

3.2.1功能层次划分

●业务操作层

在业务操作层中的功能用于直接面向客户的业务操作与呈现,可以简单地认为其相当于系统的面门,用作信贷基层人员对最终客户的业务门面与操作入口。其中包括业务产品线、合作方两大部分。产品部分以业务产品为基本组织单位,其承担着一个产品在生命周期内所有对外的功能。之所从在概念上与物理上将这一层分离出来,一方面能将系统功能与现实中的业务角色功能映射上,减少现实业务与虚拟系统之间在基本概念与组织结构上的差异;另一方面也是因为在业务操作层面上,业务形态丰富、变数大,期望通过架构上的分离,来确保系统能适应这种特性,不会因为新业务的加入而影响已有业务。可以说业务操作层就是整个信贷业务的外延。

●业务管理层

在业务管理层中的功能用于对业务操作层的支撑与管控,可以简单地认为其相当于中后台,用于中、基层管理人员对业务运作的监控与管控。本层以业务生命周期过程中的业务实体为基本组织单位,其承载着各业务环节的管理、配置、监控、以及对应业务实体的基本功能(与现有划分基本对应),并为业务操作层提供具体功能服务。由于采用业务实体为功能单组织单位,其相对操作层而言是稳定的,这是因为业务实体作为业务生命周期中承载业务要素的介质,其种类个数是一定是可穷举的,其在不同贷款业务间是相同、相似甚至是可共用的,并且在不同银行间之也是相似的。而相对于业务操作层面,业务产品种类个数(尤其是对未来新产品)是不可预期的,不同业务产品间使用的业务实体也不会相同,更重要的每种产品的运作模式都会完全不同,不同银行间产品的运作模式也有明显差异。可以说业务管理层就是整个信贷业务内涵。

●业务工具层

在业务工具层中的功能,用于为业务操作与业务管理的正常运作提供必要的专业的工具箱,但其并不对业务运作的形态、业务规则或流程产生直接影响。同时,业务工具是完全可以与的业务操作、管理相分离的,甚至可以替换成第三方独立系统。之所以划分出这一层,主要原因是为银行内部对专业化技能的要求越来越高,随着银行自身的发展,会形成越来越多专业职能岗位(或部门),或者干脆将部分非核心的业务操作外包给第三方。独立的工具层,可以与银行机构组织职能一一对应上;同时,也有利于在核心业务与非核心业务之间划分出一条明显界线,从架构层面去减轻两者间的耦合程度。

●决策分析层

在决策分析层中的功能,用于对业务运营过程中产生的数据进行统计分析,例如,对业务办理效率分析、对贷款人群分布分析、逾期贷款占比分析等等。决策分析层中,主要通过日终批数据加工处理、报表工具来实现对数据的分析与展现。由于数据分析不是现阶段消费贷系统的关注的重点,因此,独立划分出决策分析层,有利于保持核心功能的稳定性。

●账务核算层

在账务核算层中的功能,用于为没有核心业务系统的金融机构,提供一个Mini版的核心业务系统,其只含贷款功能,不含存款功能(注:与银监管会相关策略吻合)。其能完成贷款发放、还款扣款、罚息减免、贴息处理、减值计提、贷款形态转移等基础的账务核算功能。由于不是所有金融机构都没有核算系统,所以将本层独立出来,保持其与它层次间的独立性,有利用增强产品的适应能力。

●技术支撑层

技术支撑层,用于为消费贷系统提供基础开发平台与运行容器,是所有业务功能落地的基石。其中包含的EMP容器、流程引擎、规则引擎、报表引擎与数据访问工具等等。本层将在后继章节进行详细介绍。

3.2.2功能层次关系

消费贷款系统中六层功能之间是一个逐层依赖的关系,如下图所示:

图3-5

消费贷系统本质上是一个业务操作系统,业务操作层自然便成为了整个系统的主要门户,是所有业务的入口。业务的正常运营,离不开业务管理部门(风控部门)的管控,与专业部门(例如,财务部门、产品部门、客服部门、IT部门等等)的大力支持。因此,业务操作层依赖与业务管理层、业务工具层、账务核算层以及技术支撑层。业务管理部门为了能更好的对业务进行管控,也需要专业部门(如产品部门、财务部门、IT部门等等)的积极配合。因此,业务管理层依赖与业务工具层、账务核算层与技术支撑层。金融机构财部门是一个相对独立的部门,其完全依照财务规章制度运行,一般而言,其运营主要有IT部门的支持即可;同时,由于不是所有金融机构都需要消费贷系统提供核算功能,这就需要尽量保证其独立性,因此,账务核算层,只需要依赖技术支撑层。决策分析主要是针对数据的统计分析,因此,其仅仅依赖与技术支撑层,而对于其它功能层次,也均不直接依赖于决策分析层。

3.3系统技术架构

3.3.1子系统划分

消费贷系统按功能职责划分成四个子系统——消费贷款管理系统、消费贷款合作方系统、消费贷款核算系统、消费贷辅助系统,如下图所示:

图3-6

消费贷款管理子系统

消费贷款管理子系统,主要面向金融机构内部的客户经理以及相关管理人员,负责完成消费贷款进件流程与业务管理。其中包含了逻辑架构中的业务操作层、业务管理层、业务工具层中的绝大部分功能(注:不含操作层中的合作方功能),例如,贷款申请、人工审批、合同管理、放款等等。消费贷款管理子系统是整个系统业务运营的核心系统。

●消费贷款合作方子系统

消费贷款合作方子系统,主要面向金融机构之外的合作机构,如卖场、4S店、培训机构等等,其负责为合作方与金融机构之间建立渠道与门户。其主要功能是进件处理与审批状态查询。之所以将合作方独立成子系统,首先,是出于金融机构与合作方之间合作方式存在不确因素的考虑,例如,现在是对卖厂、对4S店,但今后可能会对网店、对PAD、对外包公司等等,因此将合作方的功能独立出核心业务系统,作为系统对外扩展的网关,会有利于消费贷的不断发展;其次,是出于安全方面考虑,由于需要直接面对互联网,所以必须将对外的功能独立部署,屏蔽任务从互联网上直接访问至核心业务系统的渠道。

●消费贷款核算子系统

消费贷款核算子系统,主要面向金融机内部的账务人员,负责完成所有与贷款相关的账务处理,如贷款发放、还款扣款、罚息减免等等,其与逻辑架构中的账务核算层相对应。独立的核算子系统,有利于增强系统的适应能力。

●消费贷款辅助子系统

消费贷款辅助子系统,主要负责完成数据加工与分析、定时任务调度、报表生成与展示、历史数据查询等后台任务。之所以划分出辅助子系统,主要是出于对系统性能的考虑,通过独立部署的子系统来完成后台任务,避免后台任务对日间业务运行效率产生不良影响。

●子系统间依赖关系

消费贷款四子系统之间的依赖关系如下图所示:

图3-7

合作方子系统的运作必须依赖与管理子系统的支持,合作方子系统负责对外渠道,其独立运行没有任何意义,需要通过管理子系统来完成对每笔进单的业务处理。

管理子系统的运作,需要有核算系统的配合,核算系统可以是消费贷系统内嵌的核算子系统,也可以是机构内的核心业务系统。管理子系统通过核算子系统完成所有贷款账务相关的业务操作。

辅助子系统的运行,需要依赖管理子系统、核算子系统的正常运行,辅助子系统用作消费贷系统的后台处理单元,其独立运行没有任何意义,需求通过调用管理子系统与核算子系统中的业务功能来实现自身功能。

3.3.2技术选型

消费贷系统是基于JaveEE的WEB应用,其后台技术框架采用公司EMP实现,前台业务展现框架基于Jquery+EasyUi实现,具体如下图所示:

展现

消费贷系统基础支撑环境为JavaEE以及在此之上的WEB容器中间件(如WAS、Weblogic 等等),对Java虚拟机版本要求为1.5或1.6,对WAS版本要求为6.1以上(含),对Weblogic 版本要求为10g以上(含)。

技术基础框架采用公司产品EMP2.2,流程引擎选用公司产品eChain2.2,规则引擎shuffle1.0;业务处理逻辑实现,采用组件注入机制与POJO为业务数据结构方式;业务展现逻辑基于Jquery实现,页面部件基于EasyUI实现,并用Jsp Tag包装,前后台通讯有使用Ajax 方式。

业务逻辑处理没有选用EMP提供的标准开发方式实现(逻辑流+KCOL),而是选择了组件+Pojo方式实现,由其是在数据结构上不再使用EMP的KCOL,而是选择传统的Pojo方式。这是因为,希望通过功能组件+Pojo方式来实现面向对象设计思路,不再去走面向过程+快捷开发的老路。这是因为消费贷系统是业务操作类系统,其中的业务运行模式、信息结构都是具有积累价值的,所以可以用面向对象的设计思路,将业务模式转换成技术框架,将业务功能包装成一个个组件,将业务要素信息映射成数据对象,最终,达到提升系统可复用性与产品形态的目地。

3.3.3技术架构分层

消费贷系统技术架构上划分为四个层次——业务展现层、服务提供层、业务组件层、持久层。技术架构层次划分如下图所示:

图3-9

●业务展现层

业务展现层负责消费贷系统与用户之间的交互接口,在这一层中的业务逻辑处理统一由JS负责实现,不会出现其它形式业务逻辑处理(如,JAVA代码)。无论在逻辑处理时,还是加载后台数据时,还是向后台发送请求时,其数据结构统一使用JSON格式。

●服务提供层

服务提供层负责将系统内的功能组装成独立事务的原子服务,并以此为单位响应来至展现层(或来至其它渠道,如SOCKET、WEBSERVICE)的服务请求。这里提到的服务,并不是指通常概念中的服务,其主要是指系统内部暴露给其用户的功能,当然,完全可以将其中的一部分功能,通过各种渠道发布给其它系统使用,此时其才是真正意义上的服务,这里只是借用并扩展了服务这个概念,将系统提供给用户的功能也认为是一种服务,确切地说是细粒度的原子服务。在服务提供层中,通过对组合对业务组件层中组件的调用来实现服务功能,服务层中的每个服务对应着一个业务操作,其名称都应该是一个动词,表示一个业务过程的业务操作(如,发起申请、合同签订等等)。同时,在本层中还负责将从展现层(或渠道)过来的EMP KCOL格式的业务数据转换成POJO格式的数据。

●业务组件层

业务组件层负责对业务功能进行划分、封装与实现,组件层为服务层提供功能实现层面的支撑。其中以组件为单位对业务功能进行组织,每个组件有着明确的业务含意,其在概念上与参与业务过程的业务实体基本一致,每个组件的名称都是一个业务名词,表示一个业务过程中的业务实体(如,客户、合同、耐用消费品贷款产品等等)。在本层中的各个业务组件内,一律使用POJO为业务逻辑处理时的数据结构。

●持久层

持久层负责实现消费贷系统对数据库的访问与操作。在持久层中一律使用POJO为数据逻辑处理时的数据结构。

●各层间关系

四个层次之间类的关系如下图所示:

图3-10

展示现层通过HTTP 请求方式调用后台服务层提供的服务,此时请求报文为标准的HTTP 报文格式,且报文中的内容也是标准的FORM 格式(示例:Key1=Val1&Key2=Val2&…)

,后台服务层返回至界面的数据内容则为直接为JSON 格式。后台服务通过EMPRequestServlet 接收请求(此处省略了对EMP 框架内部处理描述),接收后通过抽像类CMISOperation 来调用对应的具体服务实现功能OP ;在OP 中将KCOL 通过特定方法转成Domain 类(POJO 格式),然后根据业务逻辑处理的需要来调用具体的组件类;在组件类中将不再使用KCOL 格式的数据来处理业务逻辑,在组件类中直接调用持久层CMISDao 中公共类SqlClient ,完成系统内最基础的数据操作;在持久层中也将不再处理KCOL 格式的数据,而直接使用Domain 格式数据来操作数据库。

3.3.4 关键技术点

3.3.

4.1 数据库访问

在数据库访问层面,我们总结了在项目开发过程中使用基础框架遇到的问题,并考虑客户一些建议,对EMP 中的数据访问层进行了设计重构。

基于以上问题,新的数据访问层提供了以下解决方案和API支持:

●动态ORM映射方案

该方案是基于业务实体对象的一种动态ORM映射方案,该方案的关键在于业务实体对象的内部结构,我们在业务实体对象内置了一个MAP用来存储业务实体对象的属性值,而对外使用时,依然通过业务实体对象的get和set方法进行存取,这样既保证了上层调用时的明确性,同时内置的MAP结构为多表关联查询和动态映射提供了很好的支持,保留了KeyedCollection结构的灵活性。另外无需再考虑数据库表字段和业务实体对象属性名称的不一致性,这种映射关系动态灵活,方便开发人员维护,也避免了反射的使用。具体的业务实体对象的结构可参考下列代码:

User.java

不足的是以后的业务实体对象需要实现CMISDomain接口中的方法,不是纯粹的POJO。

●SQL的可配置方案

该方案强制要求把SQL从JAVA逻辑中剥离出来,类似iBatis在相应的XML文件中进行配置,然后程序根据配置的ID动态装载SQL,并用“?”替换配置的SQL串中的变量,最后交给JDBC的PreparedStatement对象执行。具体的SQL配置文件格式可参考如下文件:

demo.sql.xml

通过这种强制性方案,开发人员失去了编写带有SQL注入攻击漏洞代码的机会,对这类问题进行了提前预防;同时SQL的外置可配置,使业务实体对象在进行动态ORM映射时,不需要指明其对应的物理表名和主键字段名等信息,这样两个方案结合在一起,对复杂的多表关联查询和动态映射进行了很好的支持,同时也支持了在系统逻辑层中通过业务实体对象进行数据传输这一需求。

此外,对于SQL配置过程遇到的一些特殊问题,我们也提供了较好的解决办法:一是动态SQL的问题,一些SQL条件是根据运行时期的值动态决定是否要拼入整体SQL中,对于该问题的解决办法是,把相应的SQL条件逐一配置在配置文件中,并用相应的条件ID标识区分,然后由开发人员在程序中根据客户端传入参数值决定要把哪些条件ID传到数据库访问层,数据访问层的核心类根据这些条件ID动态去追加这SQL条件;问题二对于IN子句的支持,开发人员可以在IN子句的括号中指定对应的变量名,并指明该变量的类型,其类型可以是数组、LIST集合对象以及逗号间隔的String,然后数据库访问层核心类会拆分和

系统设计文档模板

系统设计说明书(架构、概要、详细)目录结构 虽然这些文档一般来说公司都是有模板的,但我写这些文档以来基本上是每写一次就把目录结构 给改一次,应该说这是因为自己对这些文档的理解开始加深,慢慢的越来越明白这些文档的作用 和其中需要阐述的东西,觉得这三份文档主要阐述了一个系统的设计和实现过程,从系统分解为层次、层次内的模块以及相互的接口、模块分解为对象以及对象的接口、实现这些对象接口的方法。这次又整了一份,A/ ,欢迎大家指正。 XXX架构设计说明书 (架构设计重点在于将系统分层并产生层次内的模块、阐明模块之间的关系)一?概述 描述本文的参考依据、资料以及大概内容。 二.目的 描述本文编写的目的。 三.架构设计 阐明进行架构设计的总体原则,如对问题域的分析方法。 3.1. 架构分析 对场景以及问题域进行分析,构成系统的架构级设计,阐明对于系统的分层思想。 3.2. 设计思想 阐明进行架构设计的思想,可参考一些架构设计的模式,需结合当前系统的 实际情况而定。 3.3. 架构体系 根据架构分析和设计思想产生系统的架构图,并对架构图进行描述,说明分层的原因、层次的职责,并根据架构图绘制系统的物理部署图,描述系统的部署体系。3.4. 模块划分 根据架构图进行模块的划分并阐明模块划分的理由,绘制模块物理图以及模

块依赖图。 341. 模块描述 根据模块物理图描述各模块的职责,并声明其对其他模块的接口要求。。 3.4.2. 模块接口设计 对模块接口进行设计,并提供一定的伪代码。 XXX概要设计说明书 (概要设计重点在于将模块分解为对象并阐明对象之间的关系) 一.概述 描述本文的参考依据、资料以及大概内容。 二.目的 描述本文的编写目的。 三.模块概要设计 引用架构设计说明书中的模块图,并阐述对于模块进行设计的大致思路。 3.1. 设计思想 阐明概要设计的思想,概要设计的思想通常是涉及设计模式的。 3.2. 模块A 3.2.1. 概要设计 根据该模块的职责对模块进行概要设计(分解模块为对象、描述对象的职责以及声明对象之间的接口),绘制模块的对象图、对象间的依赖图以及模块主要功能的序列图,分别加以描述并相应的描述模块异常的处理方法。 3.2.2. 模块接口实现 阐明对于架构设计中定义的模块接口的实现的设计。 XXX详细设计说明书 (详细设计重点在于对模块进行实现,将模块的对象分解为属性和方法,并阐述 如何实现)

软件架构设计说明书

架构设计说明书 版本1.0.0

目录

1.引言 [对于由多个进程构成的复杂系统,系统设计阶段可以分为:架构设计(构架设计)、组件高层设计、组件详细设计。对于由单个进程构成的简单系统,系统设计阶段可以分为:系统概要设计、系统详细设计。本文档适用于由多个进程构成的复杂系统的构架设计。] [架构设计说明书是软件产品设计中最高层次的文档,它描述了系统最高层次上的逻辑结构、物理结构以及各种指南,相关组件(粒度最粗的子系统)的内部设计由组件高层设计提供。] [系统:指待开发产品的软件与硬件整体,其软件部分由各个子系统嵌套组成,子系统之间具有明确的接口; 组件:指粒度最粗的子系统; 模块:指组成组件的各层子系统,模块由下一层模块或函数组成;] [此文档的目的是: 1)描述产品的逻辑结构,定义系统各组件(子系统)之间的接口以及每个组件(子系统)应该实现的功能; 2)定义系统的各个进程以及进程之间的通信方式; 3)描述系统部署,说明用来部署并运行该系统的一种或多种物理网络(硬件)配置。对于每种配置,应该指出执行该系统的物理节点(计算机、网络设备)配置情况、节点之间 的连接方式、采用何种通信协议、网络带宽。另外还要包括各进程到物理节点的映射; 4)系统的整体性能、安全性、可用性、可扩展性、异常与错误处理等非功能特性设计; 5)定义该产品的各个设计人员应该遵循的设计原则以及设计指南,各个编程人员应该遵循的编码规范。 ] [建议架构设计工程师与组件设计工程师共同完成此文档。] [架构设计说明书的引言应提供整个文档的概述。它应包括此文档的目的、范围、定义、首字母缩写词、缩略语、参考资料和概述。] 1.1目的 [简要描述体系结构文档的目的。]

信贷管理系统架构设计及建设项目解决方案

XX消费信贷管理系统架构设计及建设项目 解决方案

目录 1 概述 (4) 1.1 文档目的 (4) 1.2 背景与建设目标 (4) 1.3 设计规范与约束 (4) 1.4 参考资料 (5) 1.5 述语 (5) 2 架构需求分析 (6) 2.1 消费贷关键业务场景分析 (6) 2.1.1 场景:申请 (6) 2.1.2 场景:电核 (6) 2.1.3 场景:审批 (7) 2.1.4 场景:面签 (8) 2.1.5 场景:还款计划与费率计算 (9) 2.2 消费贷业务特征 (9) 2.3 设计目标与原则 (9) 3 架构设计 (11) 3.1 系统业务架构 (11) 3.1.1 业务模式 (11) 3.1.2 业务流程 (11)

3.1.3 功能划分 (12) 3.2 系统逻辑架构 (13) 3.2.1 功能层次划分 (13) 3.2.2 功能层次关系 (14) 3.3 系统技术架构 (15) 3.3.1 子系统划分 (15) 3.3.2 技术选型 (17) 3.3.3 技术架构分层 (17) 3.3.4 关键技术点 (19) 4 功能设计 (23) 4.1 功能模块划分 (23) 4.2 功能结构设计 (24) 5 非功能设计 (27) 5.1 性能设计 (27) 5.2 安全设计 (27) 5.3 容错设计 (28)

1概述 1.1文档目的 《架构设计说明书》用于确定消费信贷系统的整体架构,明确业务功能结构、技术方向、以及设计原则,为后续阶段进行概要设计、详细设计、编码开发以及测试提供方向性、原则性的指导。 消费信贷系统主要针对消费金融公司、银行消费信贷部门的业务运营需求而设计,本说明书将从消费贷业务特征分析为切入点,从业务架构、逻辑架构、技术架构等多个维度,逐步分析采用何种技术架构可以在最大程度地满足现有业务需求的同时,也能兼顾将来一段时间内的业务发展变化。 1.2背景与建设目标 基于国内整体消费金融业务的发展情况和银行关注消费金融的程度,以及国家加速发放消费金融牌照的趋势,为了能够抢占消费系统服务市场份额,特别研发新一代消费信贷管理系统。消费系统建设整体目标如下: 1、建立先进、有效、多类型的进单渠道,并建立与渠道的沟通方式,以扩大与外部合作机构、消费者的联系和服务质量;扩大客户群体和异地服务的能力。 2、为了支持消费贷款业务短、平、快、业务量大等情况,建立适合的业务处理流程。实现业务的精细化管理、统计分析、监测、审批、控制的电子化和自动化,提供存储、汇总、收集、反映,为各层次的经营管理者提供监控、决策、分析、预警等功能,为信贷业务的创新、经营决策提供充分的信息支持。 3、高效的影像审批流程:通过消费信贷管理系统和影像系统的整合,以及通过系统提供在线通知、在线打印等自动化功能,实现业务审批模式的突破,满足消费业务

软件结构设计规范模板

软件结构设计规范

精选编制: 审核: 批准:

目录 1.简介 (6) 1.1.系统简介 (6) 1.2.文档目的 (6) 1.3.范围 (6) 1.4.与其它开发任务/文档的关系 (6) 1.5.术语和缩写词 (6) 2.参考文档 (8) 3.系统概述 (9) 3.1.功能概述 (9) 3.2.运行环境 (9) 4.总体设计 (10) 4.1.设计原则/策略 (10) 4.2.结构设计 (10) 4.3.处理流程 (10) 4.4.功能分配与软件模块识别 (11) 5.COTS及既有软件的使用 (12) 5.1.COTS软件的识别 (12) 5.2.COTS软件的功能 (12)

5.3.COTS软件的安全性 (12) 5.4.既有软件的识别 (12) 5.5.既有软件的功能 (13) 5.6.既有软件的安全性 (13) 6.可追溯性分析 (14) 7.接口设计 (15) 7.1.外部接口 (15) 7.2.内部接口 (15) 8.软件设计技术 (16) 8.1.软件模块 (16) 8.2.数据结构 (16) 8.3.数据结构与模块的关系 (16) 9.软件故障自检 (17)

1.简介 1.1.系统简介 提示:对系统进行简要介绍,包括系统的安全目标等。 1.2.文档目的 提示: 软件结构设计的目的是在软件需求基础上,设计出软件的总体结构框架,实现软件模块划分、各模块之间的接口设计、用户界面设计、数据库设计等等,为软件的详细设计提供基础。 软件结构设计文件应能回答下列问题: 软件框架如何实现软件需求; 软件框架如何实现软件安全完整度需求; 软件框架如何实现系统结构设计; 软件框架如何处理与系统安全相关的对软/硬件交互。 1.3.范围 1.4.与其它开发任务/文档的关系 提示:如软件需求和界面设计文档的关系 1.5.术语和缩写词 提示:列出项目文档的专用术语和缩写词。以便阅读时,使读者明确,从

软件架构设计文档模板

广州润衡软件连锁有限公司软件架构设计文档 项目名称 软件架构设计文档 版本

修订历史记录

目录 1.简介5 1.1目的5 1.2范围5 1.3定义、首字母缩写词和缩略语5 1.4参考资料5 1.5概述5 2.整体说明5 2.1简介5 2.2构架表示方式5 2.3构架目标和约束5 3.用例视图6 3.1核心用例6 3.2用例实现6 4.逻辑视图6 4.1逻辑视图6 4.2分层6 4.2.1应用层6 4.2.2业务层7 4.2.3中间层7 4.2.4系统层7 4.3架构模式7 4.4设计机制7 4.5公用元素及服务7 5.进程视图7 6.部署视图7 7.实施视图8 7.1概述8 7.2层8 7.3部署8 8.数据视图8 9.大小和性能8

软件架构设计文档 10.质量8 11.其它说明8 12.附录A 指南8 13.附录B 规范9 14.附录C 模版9 15.附录D 示例9

软件架构设计文档 1.简介 软件构架文档的简介应提供整个软件构架文档的概述。它应包括此软件构架文档的目的、范围、定义、首字母缩写词、缩略语、参考资料和概述 1.1目的 本文档将从构架方面对系统进行综合概述,其中会使用多种不同的构架视图来描述系统的各个方面。它用于记录并表述已对系统的构架方面作出的重要决策 本节确定此软件构架文档在整个项目文档中的作用或目的,并对此文档的结构进行简要说明。应确定此文档的特定读者,并指出他们应该如何使用此文档 1.2范围 简要说明此软件构架文档适用的范围和影响的范围 1.3定义、首字母缩写词和缩略语 本小节应提供正确理解此软件构架文档所需的全部术语的定义、首字母缩写词和缩略语。这些信息可以通过引用项目词汇表来提供 1.4参考资料 本小节应完整地列出此软件构架文档中其他部分所引用的所有文档。每个文档应标有标题、报告号(如果适用)、日期和出版单位。列出可从中获取这些参考资料的来源。这些信息可以通过引用附录或其他文档来提供 1.5概述 本小节应说明此软件构架文档中其他部分所包含的内容,并解释此软件构架文档的组织方式 2.整体说明 2.1简介 在此简单介绍软件架构的整体情况,包括用例视图、逻辑视图、进程视图、实施视图和部署视图的简单介绍。另外,简要介绍各种视图的作用和针对的用户 2.2构架表示方式 本节说明当前系统所使用的软件构架及其表示方式。还会从用例视图、逻辑视图、进程视图、部署视图和实施视图中列出必需的那些视图,并分别说明这些视图包含哪些类型的模型元素 2.3构架目标和约束 本节说明对构架具有某种重要影响的软件需求和目标,例如:安全性、保密性、市售产品的使用、可移植

第三方支付架构设计之—帐户体系

第三方支付架构设计之—帐户体系 第三方支付架构设计之—帐户体系 一,什么是第三方支付? 什么是第三方支付?相信很多人对这个名字很熟悉,不管是从各种媒体等都经常听到,可以说是耳熟能熟。但,如果非得给这个名词总结出一个概念,却发现很难准确和全面的表述清楚。不过关系不大,我们无法给出一个很准确的概念的时候,我们就列举一下实际生活中我们经常使用第三方支付的例子:支付宝,财付通,微信支付等等,这些就是我们国内目前在第三方支付市场中比较有影响力的第三方支付了。 搜索一下百度,所谓第三方支付,就是一些和产品所在国家以及国外各大银行签约、并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。 在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达、进行发货;买方检验物品后,就可以通知付款给卖家,第三方再将款项转至卖家账户。 从这个概念中,有几个关键点: 1,需要跟各个银行签约,那么问题是第三方支付跟银行的关系是什么? 2,用户通过第三方支付平台进行支付,那么资金是如何进入第三方支付平台的? 3,商户通过接入第三方支付平台进行收款,那么资金最终又是如何结算给到商户的? 因此,我们要充分理解第三方支付平台,得从用户,支付平台,商户,当然还有背后的银行和监管机构等进行全面分析,只有充分理解这些关系,才能对第三方支付的账户体系有充分的理解和掌握,从而充分理解支付中的资金流。 我们知道,随着电子商务在中国的迅速崛起,电子商务必须要解决几个非常关键的问题,那就是:信息流,资金流和物流,信息流一般是通过电子商务平台进行解决,包括用户信息,商品,商户和订单等,而资金流,即支付和结算等相关方面一般是通过第三方支付平台进行解决,第三方支付植入到电商平台中,帮助电商平台解决资金在用户和商户之间的流转,甚至在c2c交易中,第三方支付还起到了中介担保账户的作用;而物流,是解决物品如何送到用户手中的问题,各种物流公司或者电商自建物流网络等都是解决物流相关的解决方案,对信息流和物流,我们这里不进行展开,本章重点侧重资金流的流转。 二,什么是账户? 从会计学上来看,账户是根据会计科目设置的,具有一定格式和结构,用于分类反馈会计要素增加变动情况及其结果的载体。设置账户是会计核算的重要方法之一。

系统的架构设计文档

xxx系统架构设计说明书 2013-12-12 v0.1

修订历史记录

目录 1.简介4 1.1目的4 1.2范围4 1.3定义、首字母缩写词和缩略语4 1.4参考资料4 1.5概述错误!未定义书签。 2.整体说明4 2.1简介4 2.2构架表示方式4 2.3构架目标和约束4 3.用例说明5 3.1核心用例6 3.2用例实现7 4.逻辑视图8 4.1逻辑视图8 4.2分层8 4.2.1应用层8 4.2.2业务层8 4.2.3中间层9 4.2.4系统层9 4.3架构模式9 4.4设计机制错误!未定义书签。 4.5公用元素及服务9 5.进程视图9 6.部署视图9 7.数据视图9 8.大小和性能9 9.质量9 10.其它说明9

系统架构设计文档 1.简介 系统构架文档的简介应提供整个系统构架文档的概述。它应包括此系统构架文档的目的、范围、定义、首字母缩写词、缩略语、参考资料和概述 1.1目的 本文档将从构架方面对系统进行综合概述,其中会使用多种不同的构架视图来描述系统的各个方面。它用于记录并表述已对系统的构架方面做出的重要决策,以便于开发人员高效的开发和快速修改和管理。 1.2范围 本文档用于oto项目组目前正在开发的android app电器管家2.0和已经发布的1.0的开发或修改 1.3定义、首字母缩写词和缩略语 参考系統需求文档电器管家APP2.020140214 1.4参考资料 1、系統需求文档电器管家APP2.020140214 2、品牌品类及映射建议App数据结构及数据样例 2.整体说明 2.1简介 在此简单介绍系统架构的整体情况,包括用例视图、逻辑视图、进程视图、实施视图的简单介绍。另外,简要介绍各种视图的作用和针对的用户 2.2构架表示方式 本文档将通过以下一系列视图来表示4In1系统的软件架构:用例视图、逻辑视图、部署视图。本文档不包括进程视图和实施视图。这些视图都是通过PowerDesigner工具建立的UML模型。 2.3构架目标和约束 系统架构在设计过程中有以下设计约束: 1、安全性:通讯协议采用加密的方式、存放app端数据要进行混淆器加密、电话号码和logo不能通过反 编译批量拿走。

软件系统的架构设计方案

软件系统的架构设计方 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

软件系统的架构设计方案 架构的定义 定义架构的最短形式是:“架构是一种结构”,这是一种正确的理解,但世界还没太平。若做一个比喻,架构就像一个操作系统,不同的角度有不同的理解,不同的关切者有各自的着重点,多视点的不同理解都是架构需要的,也只有通过多视点来考察才能演化出一个有效的架构。 从静态的角度,架构要回答一个系统在技术上如何组织;从变化的角度,架构要回答如何支持系统不断产生的新功能、新变化以及适时的重构;从服务质量的角度,架构要平衡各种和用户体验有关的指标;从运维的角度,架构要回答如何充分利用计算机或网络资源及其扩展策略;从经济的角度,架构要回答如何在可行的基础上降低实现成本等等 软件系统架构(SoftwareArchitecture)是关于软件系统的结构、行为、属性、组成要素及其之间交互关系的高级抽象。任何软件开发项目,都会经历需求获取、系统分析、系统设计、编码研发、系统运维等常规阶段,软件系统架构设计就位于系统分析和系统设计之间。做好软件系统架构,可以为软件系统提供稳定可靠的体系结构支撑平台,还可以支持最大粒度的软件复用,降低开发运维成本。如何做好软件系统的架构设计呢 软件系统架构设计方法步骤 基于体系架构的软件设计模型把软件过程划分为体系架构需求、设计、文档化、复审、实现和演化6个子过程,现逐一简要概述如下。

体系架构需求:即将用户对软件系统功能、性能、界面、设计约束等方面的期望(即“需求”)进行获取、分析、加工,并将每一个需求项目抽象定义为构件(类的集合)。 体系架构设计:即采用迭代的方法首先选择一个合适的软件体系架构风格(如C/S、B/S、N层、管道过滤器风格、C2风格等)作为架构模型,然后将需求阶段标识的构件映射到模型中,分析构件间的相互作用关系,最后形成量身订做的软件体系架构。 体系架构文档化:即生成用户和研发人员能够阅读的体系架构规格说明书和体系架构设计说明书。 体系架构复审:即及早发现体系架构设计中存在的缺陷和错误,及时予以标记和排除。 体系架构实现:即设计人员开发出系统构件,按照体系架构设计规格说明书进行构件的关联、合成、组装和测试。 体系架构演化:如果用户需求发生了变化,则需相应地修改完善优化、调整软件体系结构,以适应新的变化了的软件需求。 以上6个子过程是软件系统架构设计的通用方法步骤。但由于软件需求、现实情况的变化是难以预测的,这6个子过程往往是螺旋式向前推进。 软件系统架构设计常用模式

支付清算体系

一,支付清算体系的简介 支付清算体系是一个国家的金融基础设施,或说公共服务。我国由央行主管此事,目前大体维持“结算-清算”二级制的支付体系。通俗地讲,银行与商户、消费者之间为结算关系,而银行之间构成清算关系,两个层次交易完成后,支付环节才算终了。清算,其实就是因跨行交易而产生的银行间债务债权进行定期净轧(比如每日),以结清因跨行交易产生的债务债权。清算更为底层,是一个平台,由央行主导建设,一般个人用户不会直接接触清算系统。结算则是前端,由银行、非金支付公司等向客户提供服务,也就是所谓的支付业务。银行自身接入清算系统,非金融支付公司则以自已开户的备付金托管行代理,接入清算系统。 图1“结算-清算”二级体系 从上面的二级体系可以看出,跨行的清算必须经过央行的清算系统进行处理,而银行内部的结算,则是由各个商业银行自己经营办理。 在《中国人民银行法》中规定了中国人民银行对清算的义务和责任: 1,中国人民银行应当组织或者协助组织银行业金融机构相互之间的清算系统,协调银行业金融机构相互之间的清算事项,提供清算服务,具体办法由中国人民银行制定。 2,中国人民银行会同国务院银行业监督管理机构(银监会)制定支付结算规则。 在《商业银行法》中规定了商业银行对结算的支持:

1,商业银行可以经营办理国内外结算。 因此,清算不等于结算。从基础概念看,央行主导了银行业金融机构之间的清算系统,而商业银行则可以经营国内外结算业务,即是“结算-清算”二级制的支付体系。 那么,为什么央行需要维持目前的“结算-清算”二级体系呢?笔者认为本质是监控资金在全社会的流动,避免系统性风险,提高支付的效率,树立公众对支付体系的信心,同时,有利于有效地实施货币政策等。由于清算系统是平台系统,不是前端服务,因此对用户体验没有刻意要求,但对系统稳定性、可靠性、高效性、安全性要求极高,央行将其视为金融的基础设施,或称公共服务,依然未允许市场化的商业介入。结算环节则是市场主体分散的交易,对用户体验要求较高,因此在不产生系统性风险(要一定程度上容忍非系统性风险,比如创新业务试点中发现安全漏洞之类的)的前提下,当局鼓励创新,增加用户支付效率,改进体验。因此,我们认为,央行希望实现的意图为维持现有格局,清算环节仍然视为基础设施,不希望市场介入;支付结算环节则放开竞争,鼓励创新。 目前在运行的清算系统均由央行主管,主要包括大额实时支付系统、小额批量支付系统、网上支付跨行清算系统(超级网银)、同城票据清算系统、境内外币支付系统、全国支票影像交换系统、银行业金融机构行内支付系统、银行卡跨行支付系统(银联跨行交易清算系统CUPS)、城市商业银行资金清算系统和农信银支付清算系统等。这些系统大多由央行主办,可视为非盈利的基础设施,仅银行卡跨行支付系统由特许企业(银联)运营(但银联仍由央行主管)。 二,清算的运作过程 本节笔者以银联为例子,结合目前的刷卡消费涉及的发卡行,收单行,衔接机构,用户和商户等主体,全面阐述清算的过程。 1,清算账户的开通 清算进行的前提条件是参与清算的主体需要开通清算账户,用于管理清算过程中形成的债权债务沉淀,管理资金的头寸。 首先接入相关清算系统的主体需要在清算系统开清算账户,银行一般需要在央行开通准备金账户和备付金账户(主要用于清算),银联则只需要在央行开通备付金账户即可,无需准备金账户。 而商户对接银联的清算则有两种接入模式: ? 直联商户:即直接通过银联的POS接入商户,商户的交易过程会经过银联网络,且其清算过程是由银联的收单清算系统进行处理,直联商户的结算账户(不在央行清算系统开清算账户,只是在商业银行开结算账户而已)一般不是开在央行的清算系统,而是开在一般商业银行中,银联通过对应的小额系统对其结算账户进行贷记处理。 ? 间联商户:是由收单行自己布置POS对接的商户,商户的交易过程一般对银联来说是透明的,其清算过程,或者说应该是结算过程是由对应的收单行跟各个商户自己进行的,银联不参与其中的结算。

系统架构设计(模板)

XX项目 项目编号: 系统架构设计

目录 1、概述 (3) 1.1.系统的目的 (3) 1.2.系统总体描述 (4) 1.3.系统边界图 (4) 1.4.条件与限制 (4) 2、总体架构 (4) 2.1.系统逻辑功能架构 (4) 2.2.主要协作场景描述 (4) 2.3.系统技术框架 (5) 2.4.系统物理网络架构 (5) 3、数据架构设计 (5) 3.1.数据结构设计 (5) 3.2.数据存储设计 (5) 4、核心模块组件概要描述 (6) 4.1.<组件1>编号GSD_XXX_XXX_XXX (6) 4.1.1.功能描述 (6) 4.1.2.对外接口 (6) 4.2.<组件2>编号GSD_XXX_XXX_XXX (6) 4.2.1.功能描述 (6) 4.2.2.对外接口 (6) 5、出错处理设计 (6) 5.1.出错处理对策 (6) 5.2.出错处理输出 (6) 6、安全保密设计 (7) 6.1.网络安全 (7) 6.2.系统用户安全 (7) 6.3.防攻击机制 (7) 6.4.数据安全 (7) 6.5.应用服务器配置安全 (7) 6.6.文档安全 (7) 6.7.安全日志 (7) 7、附录 (7) 7.1.附录A外部系统接口 (8) 7.2.附录B架构决策 (8) 7.3.附录C组件实现决策 (8) 修订记录

1、概述 1.1.系统的目的 [必须输出]

[请明确客户建立本系统的目的,建议引用需求说明书的内容。] 1.2.系统总体描述 [必须输出] [描述系统的 总体功能说明 设计原则 设计特点] 1.3.系统边界图 [必须输出] [请明确本系统的范围及与其它系统的关系,划分本系统和其他系统的边界。同时描述本系统在客户整体信息化建设中的规划及定位情况,系统的设计必须遵守客户的信息化建设思路及规范,条件允许的情况下需画出本系统在客户信息化建设中的定位关系图。] 1.4.条件与限制 [可选项] [列出在问题领域,项目方案及其它影响系统设计的可能方面内,应当成立的假设条件,包括系统的约束条件。以及系统在使用上或者功能上的前提条件与限制。] 2、总体架构 2.1.系统逻辑功能架构 [必须输出] [系统总体架构图解释建议的系统方案,并描述其根本特征,主要描述系统逻辑功能组件之间的关系,就系统级架构画出模型。并针对每一组件给出介绍性描述。] 2.2.主要协作场景描述 [可选项]

软件架构设计说明书完整版

软件架构设计说明书 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

架构设计说明书 版本1.0.0

目录

1.引言 [对于由多个进程构成的复杂系统,系统设计阶段可以分为:架构设计(构架设计)、组件高层设计、组件详细设计。对于由单个进程构成的简单系统,系统设计阶段可以分为:系统概要设计、系统详细设计。本文档适用于由多个进程构成的复杂系统的构架设计。] [架构设计说明书是软件产品设计中最高层次的文档,它描述了系统最高层次上的逻辑结构、物理结构以及各种指南,相关组件(粒度最粗的子系统)的内部设计由组件高层设计提供。] [系统:指待开发产品的软件与硬件整体,其软件部分由各个子系统嵌套组成,子系统之间具有明确的接口; 组件:指粒度最粗的子系统; 模块:指组成组件的各层子系统,模块由下一层模块或函数组成;] [此文档的目的是: 1)描述产品的逻辑结构,定义系统各组件(子系统)之间的接口以及每个组件(子系统)应该实现的功能; 2)定义系统的各个进程以及进程之间的通信方式; 3)描述系统部署,说明用来部署并运行该系统的一种或多种物理网络(硬件)配置。对于每种配置,应该指出执行该系统的物理节点(计算机、网络设备)配置情况、节点之间的连 接方式、采用何种通信协议、网络带宽。另外还要包括各进程到物理节点的映射; 4)系统的整体性能、安全性、可用性、可扩展性、异常与错误处理等非功能特性设计; 5)定义该产品的各个设计人员应该遵循的设计原则以及设计指南,各个编程人员应该遵循的编码规范。 ] [建议架构设计工程师与组件设计工程师共同完成此文档。] [架构设计说明书的引言应提供整个文档的概述。它应包括此文档的目的、范围、定义、首字母缩写词、缩略语、参考资料和概述。]

系统(erp)架构设计方案

房产物业管理信息系统架构设计方案 2015 年7月 版本控制

一、前言 二、架构设计 2.1架构分析 2.2架构定义 2.3架构说明 2.4软件逻辑结构 三、具体功能简述 3.1自定义工作流解决方案 3.2多语言解决方案 3.3消息发布/订阅系统方案 3.4报表&打印方案 四、系统平台&支撑组件 五、系统网络结构 六、开发管理层面

一、前言 一个企业级的商业软件能够满足用户需要、正常运行、易于维护、易于扩展,必须拥有一个良好的软件架构支撑。本文主要是分析和构建一个企业级商业软件架构。 二、架构设计 2.1架构分析 企业级的商业软件架构在技术层面的要求主要体系在高性能、健壮性和低成本。 ●高性能 对于企业级商业软件来说,软件架构需要尽可能地使软件具有最高的性能,支持最大的并发性。 ●健壮性 企业级的商业软件要求软件是可靠的和无缺陷的。现在的架构一般是,服务器模式的。软件的可靠和健壮主要依赖与服务器。服务器的稳定通过良好的代码和完备的测试能够解决这个问题。 ●低成本 企业级商业软件还有一个很重要的要求:低成本。软件架构要求简单、易掌握,复杂度低,易于维护和扩展,易于测试。 2.2架构定义 本架构以XML为整个系统的交互接口,包括系统架构内部和外部。整个系统分为界面展示层,流程控制层和数据存储层。 2.3架构说明 系统架构 图 Erp架构中各核心服务之间满足松散耦合特性,具有定义良好的接口,可通过拆分与组合,

可以有针对性地构建满足不同应用场景需求的Erp应用系统。 2.3.1 适配器 在集成环境中需要复用已有的应用系统和数据资源,通过适配器可以将已有应用系统和数据资源接入到ERP应用系统中。 通过适配器可以实现已有资源与ERP系统中其它服务实现双向通讯和互相调用。首先通过适配器可以实现对已有资源的服务化封装,将已有资源封装为一个服务提供者,可以为ERP应用系统中的服务消费者提供业务和数据服务,其次通过适配器,也可以使已有资源可以消费ERP应用系统中的其它服务。 2.3.2 资源仓库 资源仓库主要功能是提供服务描述信息的存储、分类和查询功能。对于广义的资源仓库而言,除了提供服务类型的资源管理外,还需要提供对其它各种资源的管理能力,可管理对象包括:人员和权限信息、流程定义和描述、资源封装服务、服务实现代码、服务部署和打包内容、以及环境定义和描述信息。 资源仓库首先需要提供服务描述能力,需要能够描述服务的各种属性特征,包括:服务的接口描述、服务的业务特性、服务的质量特征(如:安全、可靠和事务等)以及服务运行的QoS属性。 2.3.3 连通服务 连通服务是ERP基础技术平台中的一个重要核心服务,典型的连通服务就是企业服务总线(Enterprise Service Bus,ESB),它是服务之间互相通信和交互的骨干。连通服务的主要功能是通信代理,如服务消费的双向交互、代理之间的通信、代理之间的通信质量保障以及服务运行管理功能等。 连通服务还需要保证传输效率和传输质量。连通服务一般应用于连接一个自治域内部的各个服务,在自治域内部服务都是相对可控的,所以连通服务更多应该考虑效率问题。 2.3.4 流程服务 流程服务是为业务流程的运行提供支撑的一组标准服务。业务流程是一组服务的集合,可以按照特定的顺序并使用一组特定的规则进行调用。业务流程可以由不同粒度的服务组成,其本身可视为服务。 流程服务是业务流程的运行环境,提供流程驱动,服务调用,事务管理等功能。流程服务需要支持机器自动处理的流程,也需要支持人工干预的任务操作,它支持的业务流程主要适用于对运行处理时间要求不高的,多方合作操作的业务过程。 2.3.5 交互服务

统一支付清算系统的分析与设计

统一支付清算系统的分析与设计 求分析:建立统一清结算需求模型,对清分、结算业务的主体进行划分,抽象出业务流程关键环,节以及重点把控节点。 产品方案开发:,,,,,,前期需求调研的成果,导出产品功能点,结合业务参与的主体,进行功能点的细分、归类,建立完成的产品原型。 系统设计:根据产品原型,对业务进行详细的流程分析与设计,给出功能模型间的关系、交互流程、接口规范;在此基础上,抽象出系统的领域模型,给出相应模型的关系型数据库表设计。 产品实现环节:按照系统设计文档,使用集成开发环境,完成模块的 编 码、单元测试工作。 ,(,(,本人承担任务 在本次课题中,作者参与了系统的支付、清分、结算以及商户管理几大模块的全部或者部分功能的需求分析与设计,建立各类文档、代码编写、单元测试及优化。 ,(, 论文结构 本论文是作者在项目开发中工作经历的总结,其组织结构如下: 第一章、引言。介绍了本课题目标系统研究、产生的行业背景和现实 意 义,阐述了目标系统的主要研究内容和范围,最后列示出全文的结构。 第二章、相关理论技术介绍。在这一章中,作者首先描述了系统开发中用到的相关技术,然后比较了当前流行的不发技术进行技术选型。

第三章、统一支付清结算系统需求分析。在这一章中,作者首先对系统进行了功能性需求分析,然后对系统进行了非功能性需求以及外部接口的分析,最后对业务逻辑中出现的术语进行了解释。 第四章、统一支付清结算系统概要设计。作者分别从系统的运行环境、网络结构、设计原则、系统结构、功能模块划分、用户界面设计等角度来对系统进行了粗粒度的设计。 第五章、统一支付清结算系统详细设计。在这一章中,作者以功能模块为单位对系统进行详细设计,着重对用例的类图、时序图和用户界面进行了设计。 第六章、结束语。总结了整个研究过程中的经验,对系统的现有问题进行 了归纳,对行业未来发展前景给出自己的理解。 第二章相关理论技术简介 本章将介绍系统的相关技术,包括系统结构、框架以及页面控制技术。它们为系统的设计与实现提供了技术支持。 ,(, ,,, ,,,,,,,,以前也口,,,,,,,即,,,,,平台企业版(,,,, ,,,,,,,,,,,,,,,,,, ,,,,,,,,)。 ,,,为开发者提供了一套架构,它由众多组件构成,有很高的可移植性、可靠性和可复用性。 ,,,建立了一套共通的标准和规范。这些标准和规范应用于,,,架构下的各个组件、服务及层次中。依靠这些标准和规范,,,,架构得以存在于不同的平台之问,并且系统之间,组件之问都可以相互兼容。,,, ,,,特别适用于搭建电子商务系统,具有高效、灵活、易维护等的优势。【,】 ,(,, ,,平台框架

软件(结构)设计说明(SDD)6Y

软件(结构)设计说明(SDD) 说明: 1.《软件(结构)设计说明》(SDD)描述了计算机软件配置项(CSCI的设计。它描述了CSCI级设计决策、CSCI体系结构设计(概要设计)和实现该软件所需的详细设计。SDD可用接口设计说明IDD和数据库(顶层)设计说明DBDD加以补充。 2.SDD连同相关的IDD和DBDD是实现该软件的基础。向需方提供了设计的可视性,为软件支持提供了所需要的信息。 3.IDD和DBDD是否单独成册抑或与SDD合为一份资料视情况繁简而定。 目录 软件(结构)设计说明(SDD) (1) 1引言 (3) 1.1标识 (3) 1.2系统概述 (3) 1.3文档概述 (3) 1.4基线 (3) 2引用文件 (3) 3 CSCI级设计决策 (3) 4 CSCI体系结构设计 (4) 4.1体系结构 (4) 4.1.1程序(模块)划分 (4) 4.1.2程序(模块)层次结构关系 (4) 4.2全局数据结构说明 (4) 4.2.1常量 (4) 4.2.2变量 (4) 4.2.3数据结构 (5) 4.3 CSCI部件 (5) 4.4执行概念 (5) 4.5接口设计 (6) 4.5.1接口标识与接口图 (6) 5 CSCI详细设计 (7) 6需求的可追踪性 (8) 7注解 (8) 附录 (8)

1引言 说明:同“软件需求规格说明(SRS)”中“引言”部分。 2引用文件 本章应列出本文档引用的所有文档的编号、标题、修订版本和日期。本章也应标识不能通过正常的供货渠道获得的所有文档的来源。 3 CSCI级设计决策 本章应根据需要分条给出CSCI级设计决策,即CSCI行为的设计决策(忽略其内部实现,从用户的角度看,它如何满足用户的需求)和其他影响组成该CSCI的软件配置项的选择与设计的决策。 如果所有这些决策在CSCI需求中均是明确的,或者要推迟到CSCI的软件配置项设计时指出,本章应如实陈述。为响应指定为关键性的需求(如安全性、保密性、私密性需求)而作出的设计决策,应在单独的条中加以描述。如果设计决策依赖于系统状态或方式,则应指出这种依赖性。应给出或引用理解这些设计所需的设计约定。CSCI级设计决策的例子如下:a.关于CSCI应接受的输入和产生的输出的设计决策,包括与其他系统、HWCI, CSCI和用户的接口(本文的4.5.x标识了本说明要考虑的主题)。如果该信息的部分或全部已在接口设计说明(IDD)中给出,此处可引用。 b.有关响应每个输入或条件的CSCI行为的设计决策,包括该CSCI要执行的动作、响应时间及其他性能特性、被模式化的物理系统的说明、所选择的方程式/算法/规则和对不允许的输入或条件的处理。 c.有关数据库/数据文件如何呈现给用户的设计决策(本文的4.5.x标识了本说明要考虑的主题)。如果该信息的部分或全部已在数据库(顶层)设计说明(DBDD)中给出,此处可引用。 d.为满足安全性、保密性、私密性需求而选择的方法。 e.对应需求所做的其他CSCI级设计决策,例如为提供所需的灵活性、可用性和可维护性所选择的方法。 4 CSCI体系结构设计 本章应分条描述CSCI体系结构设计。如果设计的部分或全部依赖于系统状态或方式,则应指出这种依赖性。如果设计信息在多条中出现,则可只描述一次,而在其他条引用。应给出或引用为理解这些设计所需的设计约定。 4.1体系结构 4.1.1程序(模块)划分 用一系列图表列出本CSCI内的每个程序(包括每个模块和子程序)的名称、标识符、功能及其所包含的源标准名。 4.1.2程序(模块)层次结构关系 用一系列图表列出本CSCI内的每个程序(包括每个模块和子程序)之间的层次结构与调用关系。

《软件架构设计》

Software Architecture Document Version <1.0>

目录 1. 文档简介6 1.1 文档目的6 1.2 文档范围6 1.3 定义、缩写词和缩略语6 1.4 参考资料7 2. 架构描述方式7 2.1 架构视图阅读指南7 2.2 图表与模型阅读指南7 3. 架构设计目标8

3.1 关键功能8 3.2 关键质量属性8 3.3 业务需求和约束因素8 4. 架构设计原则9 4.1 架构设计原则9 4.2 备选架构设计方案及被否原因9 4.3 架构设计对后续工作的限制(详设,部署等)9 5. 逻辑架构视图10 5.1 职责划分与职责确定11 5.2 接口设计与协作机制11 5.3 重要设计包12

6. 开发架构视图12 6.1 Project划分13 6.2 Project 1 14 6.2.1 Project目录结构指导14 6.2.2 程序单元组织14 6.2.3 框架与应用之间的关系(可选)15 6.3 Project 2 (15) 6.4 Project n (16) 7. 运行架构视图16 7.1 控制流组织16 7.2 控制流的创建、销毁、通信17

7.3 加锁设计17 8. 物理架构视图18 8.1 物理拓扑18 8.2 软件到硬件的映射19 8.3 优化部署19 9. 数据架构视图20 9.1 持久化机制的选择20 9.2 持久化存储方案20 9.3 数据同步与复制策略21 10. 关键质量属性的设计原理21

1.文档简介 [帮助读者对本文档建立基本印象,并为阅读后续内容扫清障碍。] 1.1文档目的 [文档目的,非项目目的。否则造成同一项目多个文档之间的内容重复,不利于文档维护。本小节应指明文档针对的读者对象,最好列出各种读者角 色,并说明每种读者角色应该重点阅读的章节。] 1.2文档范围 [文档的Scope,非项目的Scope。否则造成同一项目多个文档之间的内容重复,不利于文档维护。] 1.3定义、缩写词和缩略语 [集中列举文档中的定义、缩写词和缩略语。]

软件架构设计模板讲解

架构设计说明书 产品发布标识 [填写说明:模板中用方括号括起来并以蓝色斜体显示的文本,用于向作者提供指导,在文档编辑完成后应该将其删除。文档正文应使用常规、黑色、五号字体即系统设置的“正文”样式 文档页眉处的”xxxx系统”和“版本号”仅为示例,请注意更新封页与页眉符合实际情况。此处的版本号指的是产品版本号 封页简要表中的产品名,如无可以不填写。 当某一章/节没有内容时,必须注明N/A,同时标注理由。例如:本章/节内容无需考虑。特别说明:当某章/节内容参见其它文档时,不能注明N/A,而应该写明参见某文档的具体章节。 华为科技(深圳)有限公司版权所有 内部资料注意保密

修订记录:

派发清单: *动作类型:批准、审核、通知、归档、参与会议,其它(请说明)

目录 1 简介 (6) 1.1 目的 (6) 1.2 文档范围 (6) 1.3 预期的读者和阅读建议 (6) 1.4 参考文档 (8) 1.4.1 包含文档 (8) 1.4.2 相关文档 (8) 1.5 缩略语和术语 (8) 2 总体设计思路 (9) 2.1 设计方法 (9) 2.2 设计可选方案 (9) 3 系统逻辑结构 (10) 3.1 总体结构 (10) 3.2 子系统定义 (10) 3.2.1 子系统一 (11) 3.2.2 子系统二 (11) 3.3 接口设计 (11) 3.3.1 产品外部接口 (11) 3.3.2 子系统间接口 (11) 3.4 主要数据模型 (11) 4 系统物理结构 (12) 4.1 总体结构 (12) 4.2 组件定义 (12) 4.2.1 组件一 (12) 4.3 组件接口设计 (12) 4.4组件与子系统对应关系 (12) 5 系统部署 (13) 5.1 网络结构图 (13) 5.2 部署模式 (13) 6 关键技术及公用机制 (13) 6.1 关键技术设计 (13) 6.2 公用机制说明 (13) 7 系统重用设计 (13) 7.1 第三方硬件设备说明 (15)

系统架构说明书

服务业综合业务管理系统 系统架构说明书 ——润和软件股份有限公司 一、概要 本说明书对服务业综合业务管理系统的整体框架进行分块说明,对系统的采用技术点的技术点进行阐述,通过视图与描述展示整个系统框架的结构与层次。 二、目标 构建服务业综合业务管理系统J2EE应用的开发框架,注入Spring支撑,使用兼具灵活性与使用性的ibatis作为持久层,使所有系统能规范开发组件、提高开发效率,易于统一升级和维护。 三、架构设计 3.1、架构分析 1、服务业综合业务管理系统采用B/S模式。B/S模式具有分布性特点,可以随时随地进行查询、浏览等业务处理。其业务扩展简单方便,通过增加网页即可增加服务器功能。而且后期维护方面只需要改变网页,即可实现所有用户的同步更新 2、搭建轻量级J2EE框架—Spring框架。J2EE为搭建具有可伸缩性、灵活性、易维护性的系统提供了良好的机制。J2EE框架使得开发的产品更加高效,更加健壮,在伸缩性和稳定性上面也有着显而易见的效果。而Spring是一个完美的框架“黏合剂”。它提供了一种管理对象的方法,可以把中间层对象有效地组织起来。他的分层结构可以增量引入项目。而非侵入性应用程序对Spring API的依赖可以减至最小限度。 3、使用兼具灵活性与实用性的ibatis作为系统的持久层。Ibatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。Ibatis将代码和sql语句分离,sql可以写在xml中,结构清晰,灵活配置,对平台支持性大幅度提高。 3.2、设计思想 1、系统技术架构采用主流的MVC模式 MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller (控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足

相关文档
最新文档