银行软件开发-需求开发和管理-系统架构设计说明书模板2
- 格式:doc
- 大小:403.50 KB
- 文档页数:28
架构设计说明书xxx银行核心业务项目系统架构设计说明书架构设计说明书文档修订记录目录1简介 (5)1.1目的 (5)1.2范围 (5)1.3术语和缩写词 (5)1.4参考资料 (6)2项目概述 (7)2.1项目目标 (7)3现状分析 (9)3.1渠道与前置系统 (9)3.1.1系统现状描述 (9)3.1.2系统现状分析 (10)3.2后台管理系统 (11)4架构设计方案 (12)4.1架构设计原则 (12)4.2系统架构与范围 (13)4.3系统中长期规划 (14)4.4核心系统和老前置系统接口改造方案 (15)4.5数据整合平台改造方案 (18)4.6关键架构问题说明 (20)4.6.1历史数据中心改造方案....................................................错误!未定义书签。
4.6.2分行特色业务平台系统接入方案 (21)5产品技术架构 (23)5.1柜面系统技术架构 (23)5.2ESB技术架构 (24)5.3中间业务系统技术架构 (27)5.4核心业务系统技术架构 (27)5.5数据整合平台技术架构 (30)6系统部署方案 (30)6.1物理架构 (30)6.2硬件环境 (32)6.3软件环境 (35)6.4网络架构 (37)7架构风险 (38)7.1接口改造涉及的系统多、范围广、接口数量多 (38)7.2柜面系统界面开发量大 (38)附件: (39)1简介1.1目的本文档对新的核心系统整体架构进行综合概述,其中会使用多种不同的构架视图来描述系统的各个方面。
它用于记录并表述已经对系统的构架方面作出的重要应用决策。
本文档的另外一个作用是作为概要设计和详细设计的参考文档,通过对系统涉及到的各技术层面的阐述,来屏蔽概要设计和详细设计阶段遇到的各种技术难点,通过对架构中各个机制的实现的说明,使概要设计和详细设计集中于系统的功能性需求的设计,非功能需求通过架构中的各项机制得到有效的解决。
银行管理系统需求规格说明书银行管理系统需求规格说明书1.引言1.1 编写目的本文档旨在明确银行管理系统的需求,包括功能、性能、安全性和界面等方面的要求,为开发团队提供清晰的开发指导,确保系统开发符合用户需求。
1.2 读者对象本文档主要面向开发团队成员、项目管理人员及其他相关技术人员。
2.项目概述2.1 项目背景银行管理系统是为了满足银行机构日常运营及客户服务需求而开发的系统。
该系统包括账户管理、贷款管理、存款管理、交易管理等模块,旨在提高银行机构运营效率和服务质量,并满足相应的合规要求。
2.2 项目目标项目目标是开发一个安全、高效、易用的银行管理系统,能够支持多种功能和业务操作,满足银行机构的日常运营和客户服务需求。
3.功能需求3.1 用户管理3.1.1 注册功能:用户可以通过系统注册账号。
3.1.2 登录功能:已注册用户可以通过用户名和密码登录系统。
3.1.3 用户权限管理功能:系统管理员可以设置用户的权限级别和相应的操作权限。
3.2 账户管理3.2.1 开户功能:银行工作人员可为客户办理账户开户操作。
3.2.2 关闭账户功能:银行工作人员可为客户办理账户关闭操作。
3.2.3 账户查询功能:客户可通过系统查询自己的账户余额和交易记录等信息。
3.2.4 账户冻结功能:银行工作人员可对账户进行冻结,防止异常操作。
3.3 存款管理3.3.1 存款功能:客户可以通过系统进行现金存款。
3.3.2 存款查询功能:客户和银行工作人员可通过系统查询存款余额和存款交易记录。
3.4 贷款管理3.4.1 贷款申请功能:客户可以通过系统进行贷款申请。
3.4.2 贷款审批功能:银行工作人员可对客户的贷款申请进行审批。
3.4.3 贷款还款功能:客户可以通过系统进行贷款的还款操作。
3.4.4 贷款查询功能:客户可以查询贷款余额和贷款交易记录。
3.5 交易管理3.5.1 转账功能:客户可以通过系统进行账户之间的转账操作。
3.5.2 交易查询功能:客户和银行工作人员可查询账户的交易记录。
银行系统总体设计说明书一引言1 编写目的:应中国银行要求,为提高该银行的取存款工作效率,降低工作的人力,物力开支提高工作的准确性、正确性,并且便于储户信息存取,现为其开发计算机存取款系统。
本报告的读者对象为研究中心人员和主管技术人员以及项目设计人员。
2 范围a 待开发的软件名称:银行计算机储蓄系统b 项目提出者:中国银行总经理c 用户:银行业务操作员d 运行该软件的单位:中国银行3 参考资料《软件工程导论》(第5版)清华大学出版社二总体设计1 需求的规定说明本系统的主要输入输出项目,处理的功能性能要求,详细的说明可以参见《需求规格说明书》2 运行环境简要的说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见《需求规格说明书》3 基本设计概念和处理流程(1) 系统功能结构设计系统的物理结构就是使用结构化设计工具HIPO 图或系统结构图描述的。
系统的物理结构所描述的是构成一个系统的各物理组成部分(即模块)及模块之间的联系。
这是一个树形结构图,它体现了自顶向下的思想,树根模块表示系统总的功能,第一层模块是根模块功能的分解,以下各个层次的模块都是上一层模块的功能分解,上一层模块调用它直接的下层模块,该系统的HIPO 图如图所示:三 接口设计1用户接口随着面向对象编程的发展, API 类型的接口正被对象接口所银行储蓄系统 信息输入 信息输出 打印 姓名 住址 存款类型 存款日期 利率 计算利息存款单 利息清单取代。
在这一接口里创建对象以访问数据库而不是使用直接函数调用,用户可设置和取得对象属性或调用方法。
程序代码变得更清晰,开发和维护更为简单。
Microsoft使用多种对象接口来访问数据库管理系统,比如SQL Server的数据:(1) 数据访问对象( DAO )。
(2) 远程数据对象( RDO )。
(3) OLE DB。
(4) ActiveX Data Objects。
2外部接口外部接口是指应用程序接口(Application Programming Interface, API)支持一系列访问数据的函数调用。
1系统需求和需求分析说明书模板Mohit系统需求和需求分析说明书模板第一部分概述1.项目名称及背景➢项目名称➢开发背景2.文档说明第二部分任务说明1.功能概述2.用户环境浏览器(如IE 6以上版本)+网络开发(生产)环境:第三部分需求分析1.实现功能➢系统用例图用户业务逻辑如下图所示:95➢管理员功能清单功能编号功能名称文中标题编号备注101 人事管理101001 机构管理101002 部门管理101003 员工管理➢普通用户功能清单2.用例说明➢ [用例1] ●用例图●描述●参与者➢[用例2] ●用例图●描述●参与者➢[用例3] ●用例图●描述●参与者➢[用例4] ●用例图●描述●参与者➢[用例5] ●用例图●描述●参与者➢[用例6 ●用例图●描述●参与者➢[用例7] ●用例图●描述●参与者➢ [用例8]●用例图●描述●参与者➢ [用例9]●描述文件搜索功能:可以按条件查询需要的文件。
●参与者//*参与者,参与用例的对象*// ➢[用例10]●用例图发送消息消息管理管理消息●描述消息管理主要包括:创建消息、修改消息、删除消息、发布消息。
●参与者//*参与者,参与用例的对象*// ➢[用例11]●用例图●描述●参与者➢[用例12] ●用例图●描述●参与者➢[用例13] ●用例图●描述●参与者➢[用例14]●用例图●描述●参与者3.用例关系附1.2 系统设计说明书模板系统设计说明书版本历史第一部分概述1.文档说明2.系统需求概述第二部分系统总体结构第三部分系统设计类图//*系统中主要的、关键实体类图,参考图如下*//➢[用例1]实现●时序图//用例1的时序图,参考图如下*//●描述界面设计1.公共模块界面设计说明:页面设计要求尽量使用div布局完成。
所有的GridView要求实现分页功能。
图1.1用户登陆首页用户登陆首页要求:只有当用户名、密码都正确时才能通过验证。
107图1.2 管理员登录后看到的主界面管理员登录后的主页面要求:显示个人便签信息,左侧显示系统菜单和个人基本信息,上标栏有“主页”、“重新登录”、“修改密码”、显示当前时间功能。
银行系统需求规格说明书银行系统需求规格说明书拟制人张植岳晗田彬刘佳池崔秀天王进项目组长张植( 07070014)/9/171.范围1.1.系统概述本项目开发一个银行系统, 系统一共分为储蓄业务、贷款业务、外汇交易、网上银行、信用卡业务和系统管理六个子系统, 经过各个系统的协作运行完成日常的银行业务。
储蓄子系统管理人民币和外币的储蓄业务以及客户申请的各个账户。
经过办理一卡通, 客户能够方便快捷地进行存款、取款和转账等日常操作。
在办理一卡通账户后, 客户还能够进行贷款和外汇交易等业务。
贷款子系统将为顾客提供不同种类的贷款服务, 并负责管理贷款发放与偿还。
外汇子系统负责管理外汇交易专户以及全部交易流程, 同时还可为客户提供一定时期内的外汇走势图作为交易参考。
为了方便客户享受到自助服务, 本系统使用网上银行子系统为用户提供一个快捷方便的管理平台, 客户能够经过网上银行管理自己的账户。
同时, 为了方便客户日常消费, 本系统中的信用卡子系统将负责用户的信用卡业务。
银行内部的管理人员能够同过管理子系统进行银行的人事与数据管理与恢复工作。
各个系统之间的交互关系如下图所示:信用卡子系统、贷款子系统和外汇子系统经过与储蓄子系统的信息交互进行资金的发放、回收与控制。
网上银行子系统与部分储蓄子系统和信用卡子系统的功能交互, 以提供自助服务。
管理子系统负责管理上述所有系统的核心数据, 保证其它子系统的正常运行。
1.1.1.储蓄业务子系统储蓄系统支持用户可进行人民币和外币的储蓄业务。
储蓄业务分为活期储蓄和整存整取定期储蓄两种。
可办理的外币有美元、日元、欧元和港币。
所有储蓄业务都经过一卡通进行操作, 不再使用传统的存折和存单, 一张一卡通中能够包含多个储蓄账户。
1.1.2.贷款业务子系统贷款子系统主要用于实现客户贷款方面的需求。
贷款分为个人助学贷款和个人住房贷款两种。
该系统将提供详细的贷款相关信息, 以便帮助用户进行贷款的规划工作。
目录总体部分设计1.引言(李美华)。
41.1编写目的。
4 1.2项目背景。
41.3定义。
41.4参考资料。
42.任务概述(李美华)。
52.1目标。
52.2需求概述。
52.3条件与限制。
53.总体设计。
63.1总体结构和外部模块设计。
63.1.1 体系结构风格(王忆心)。
63.1.2 模块设计(王忆心李美华石楠)。
73.2 功能分配。
93.2.1 储蓄业务模块部分(王忆心)。
93.2.2贷款业务模块部分(石楠)。
103.2.3网上银行模块部分(王忆心)。
113.2.4信用卡业务模块部分(李美华)。
123.2.5系统管理模块部分(石楠)。
124.接口设计。
134.1 外部接口(王瑶):见文件《用户接口》4.2 内部接口。
134.2.1 储蓄业务模块内部接口(王忆心)。
134.2.2贷款业务模块接口(石楠)。
144.2.3 信用卡模块接口(李美华)。
154.2.4 网上银行模块接口(王忆心)。
154.2.5 系统管理模块接口(石楠)。
165.数据结构设计(朱琪)。
176. 逻辑结构设计(朱琪)见文件《关系图设计》7. 物理结构设计(朱琪)。
178.数据结构与程序的关系(类图)(王忆心李美华石楠)见文件《类图设计》9.运行设计。
289.1 运行模块的组合。
289.1.1储蓄业务(王忆心)。
28 9.1.2贷款业务(石楠)。
29 9.1.3信用卡业务(李美华)。
31 9.1.4网上银行(李美华)。
31 9.1.5系统管理(石楠)。
33 9.2运行控制。
34 9.2.1储蓄模块(王忆心)。
34 9.2.2贷款模块(石楠)。
34 9.2.3信用卡模块(李美华)。
35 9.2.4网银模块(王忆心)。
35 9.2.5系统管理模块(石楠)。
3510.出错处理设计。
35 10.1储蓄模块(王忆心)。
35 10.2贷款模块(石楠)。
36 10.3信用卡模块(李美华)。
36 10.4网银模块(王忆心)。
36 10.5系统管理模块(石楠)。
银行综合业务系统详细设计说明书作者: 项目组开发人员完成日期: 20一五-7-5 签收人:马优晨签收日期: 20一五-9-5目录第一章引言 (5)1.1 编写目的 (5)1.2 背景 (5)1.3 定义 (6)1.3.1 专门术语 (6)1.3.2 缩略词 (9)1.4 参考资料.............................................................................................. 错误!未定义书签。
第二章总体设计.. (10)2.1 系统概述 (10)2.2 系统运行环境 (10)2.3 总体设计概述 (11)2.4 系统结构总体设u计.......................................................................... 错误!未定义书签。
2.4.1系统总体架构图 (11)第三章签到业务 (12)3.1 签到业务简介 (12)3.1.1 签到业务描述 (12)3.1.2 签到业务的功能 (13)3.1.3签到界面描述 (13)3.2 签到业务流程图 (15)3.3 Teller端签到业务描述 (17)3.4 签到的服务 (17)3.4.1 签到通信实现报文 (18)3.4.2 签到的流程逻辑图 (18)第四章签退业务 (19)4.1 签退业务简介 (19)4.1.1 签退业务描述 (19)4.1.2 签退业务的功能 (20)4.1.3签退界面描述 (20)4.2 签退业务流程图 (21)4.3 Teller端签退业务描述 (22)4.3.1 签退的服务 (23)4.3.2 签退服务的实现 (23)4.3.2 签退通信实现报文 (23)4.3.3 签退的流程逻辑图 (24)第五章开户业务 (24)5.1开户业务介绍 (25)5.1.1 开户业务描述 (25)5.1.2 开户业务的功能 (25)5.1.3 开户业务界面 (26)5.2 开户业务数据流程图 (26)5.3 开户服务列表 (28)5.4 Teller端开户业务描述 (28)5.4.1 开户的服务............................................................................. 错误!未定义书签。
银行业务管理系统设计说明书组长(学号姓名):组内成员:成员1(学号姓名):成员2(学号姓名):成员3(学号姓名):完成日期:目录1。
引言 (2)1.1编写目的 (2)1.2背景 (2)1。
3定义 (2)1.4参考资料 (2)2.程序(子系统)系统的组织结构 (2)3.界面设计要求 (3)4。
本软件系统中各程序(子系统)的设计说明 (11)4.1程序(子系统)1的设计说明 (11)4.2程序(子系统)2的设计说明 (29)5.子系统相互关系表 (29)1. 引言1.1 编写目的本说明书确定系统的功能模块和数据结构,为下阶段开发工作提供依据。
本系统是专门用于银行基本业务办理的平台,经过我们小组的研究编制而成本系统可以实现开户、存款、取款、保存信息、查询等多项功能。
在一定程度上满足了银行的业务需求,基本实现了预期目标。
1.2 背景软件系统的名称:银行业务管理系统本项目的任务提出者:本项目的任务开发者:1.3 定义1.4 参考资料2. 程序(子系统)系统的组织结构提示:用层次图表列出系统内各层模块。
着重标明一下每位小组成员完成了哪些模块。
成员分工:在原有的程序基础上每个分别完成的操作是:***:(1)职员的基本信息处理:录入、显示、修改、查询等;(2)职员工资的调整(3)负责整理汇总,即把大家各自实现的功能模块进行汇总***:(1)当日的汇总:时间、账号、类型、交易金额等(2)存款查询(3)取款查询***:(1)活期的利率以及调整利率的功能(2)定期的利率以及修改调整的功能,还包含业务类别(3)零存整取的利率以及调整利率的功能,还包含业务类别***:(1)更改操作密码(2)更改客户密码(3)帮助文档中的文字描述其中的存款取款中的开户、存款、取款大家一起完成。
3. 界面设计要求提示:登录界面和主窗体界面的设计。
1、登陆界面2、主页面(包含了系统中的所有功能)3、存款取款(包含了开户、存款和取款的功能) (1)开户(2)存款(3)取款4、汇总查询(包含有当日汇总、存款查询、取款查询)(1)当日汇总(当日的交易金额)(2)存款查询(3)取款查询5,、职员管理(包含有银行职员的基本信息、职员的工资调整)(1)银行职员的基本信息(2)职员的工资调整6、银行操作系统的其他功能(包括有更改操作密码、更改客户密码)(1)更改操作密码(2)更改客户密码7、利率设置(包括活期、定期和零存整取利率的调整)(1)活期利率的调整(2)定期各个业务利率的调整(3)零存整取各个业务利率的调整8、帮助文档的设计4.本软件系统中各程序(子系统)的设计说明提示:在本节中要求按模块依次说明在“2、程序(模块)系统的组织结构"中列出的每个模块的设计内容,包括:➢程序(子系统)功能描述➢程序(子系统)性能描述➢该程序(子系统)的输入项➢该程序(子系统)的输出项➢该程序(子系统)的算法➢该程序(子系统)设计思想➢接口设计功能的实现:(1)开户:提供了对新客户的注册开户功能,当开户成功会把数据存到系统中.(2)存款:实现把客户的存款添加到主系统数据中。
目录1.引言1.1编写目的1.2 项目背景1.3 定义1.4参考资料2. 总体设计2.1 需求概述2.2 软件结构3. 程序设计说明3.1程序描述3.2 功能3.3 性能3.4 输入项3.5 输出项3.6 流程逻辑3.7 接口3.8 存储分配3.9 注释设计3.10 限制条件3.11尚未解决的问题详细设计规格说明书--银行管理系统1.引言1.1编写目的随着经济社会的快速发展,人们已不满意于人工存取款的低效率,追求更高的存取效率,并且业务的种类逐渐丰富、复杂度提高,人工操作出现的失误也呈现上升趋势,银行根据行业和用户的需求,决定开发新型的银行管理系统,以降低操作复杂度、出错率,从而提高工作效率,通过简单高效的操作来实现目的,将一系列的操作集成起来,实现功能的耦合,提高操作的易操作性、高效率性。
1.2项目背景(1)开发软件名称:银行储蓄系统。
(2)项目开发者:“银河一号银行管理系统”开发小组(3)用户单位:各种商业银行。
1.3定义列出开发中的概要设计中特定词的特定含义VS 2010(Microsoft Visual studio 2010):一种集成的开发工具。
SQL(Structured Query Language):结构化查询语言,主要用于同数据库进行数据访问与控制。
1.4参考资料(1)《软件工程》张俊兰王文发编著西安交通大学出版社(2)《C++程序设计》谭浩强编著清华大学出版社(3)《软件工程》任胜兵邢琳编着北京邮电大学出版社(4) 《面向对象程序设计》陈维兴张小茶编著清华大学出版社2.总体设计2.1 需求概述1) 可以实现注册用户、登陆用户2) 可以在注册过程中选择币种和卡型3) 可以在登陆用户后修改密码4) 可以通过用户身份信息查出该用户的所有账户 5) 可以在登录用户后查看用户的信息 6) 可以通过账号来查询账号的透支额度 2.2 软件结构3. 程序设计说明3.1程序描述本银行管理系统旨在提高银行工作人员的工作速率、以及降低出错率,通过简单高效的操作来实现目的,将一系列的操作集成起来,实现功能的耦合,提高操作的易操作性、高效率性。
1引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)1.4参考资料 (2)2任务概述 (3)2.1目标 (3)2.2用户的特点 (3)2.3假定和约束 (3)3需求规定 (4)3.1对功能的规定 (4)3.2对性能的规定 (6)3.2.1精度 (6)3.2.2时间特性要求 (6)3.2.3灵活性 (6)3.3输人输出要求 (6)3.4数据管理能力要求 (6)3.5故障处理要求 (6)3.6其他专门要求 (7)4运行环境规定 (7)4.1设备 (7)4.2支持软件 (7)4.3接口 (7)4.4控制 (7)软件需求说明书1.引言1.1编写目的本报告的目的是规化本软件的编写,旨在于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,同时提出了本银行储蓄系统的软件开发过程,便于程序员与客户之间的交流、协作,并作为工作成果的原始依据,同时也表明了本软件的共性,以期能够获得更大围的应用。
此文档进一步定制软件开发的细节问题,明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
1.2项目背景软件名称:银行储蓄系统项目任务提出者:某银行项目开发者:盛海项目用户:某银行实现软件的单位:xxx1.3定义银行储蓄应用系统软件:基本元素为构成银行储蓄及相关行为所必需的各部分。
需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准、规或其它正式规定文档所需具有的条件或权能。
需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误、遗憾或其它不足的地方。
模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。
1.4参考资料《软件工程导论》,海藩编著,5版,清华大学,2008.22.任务概述2.1目标完善目前的银行储蓄系统,系统实现后,将大大提高银行业务员为储户办理存取款业务的服务效率,减少人力费用的支出,提高业务处理速度,降低服务中操作失误的发生概率,减少过多人为输入信息相互交流的繁琐过程以及所带来的不必要的开销。
系统架构设计说明书版本:V1.0修订记录目录1引言 (1)1.1文档控制 (1)1.2目的 (1)1.3范围 (2)1.4缩略语 (2)1.5参考资料 (2)2架构的目标和约束 (3)2.1架构的目标 (3)2.2架构的约束 (4)3架构视图 (5)3.1用例视图 (5)3.2逻辑视图 (5)3.2.1应用层 (6)3.2.2应用层依赖关系 (7)3.2.3总分公司应用系统 (7)3.2.4系统层 (11)3.3实施视图 (12)3.3.1XXX部分 (13)3.4部署视图 (15)3.4.1概述 (15)4集成架构 (18)4.1.1安全设计 (18)4.1.2数据存储设计 (20)4.1.3数据交互设计 (20)4.1.4负载均衡设计 (20)4.1.5容错和灾难恢复设计 (20)4.1.6备份设计 (20)4.1.7系统管理 (20)5关键性技术设计机制 (20)5.1设计机制(总、分、直系统) (20)5.1.1技术框架设计 (21)5.1.2业务差异化处理设计 (21)5.1.3权限管理设计 (21)5.1.4接入管理设计 (21)5.1.5数据的编辑、清洗和校验 (21)5.1.6工作流设计 (21)5.1.7元数据引擎设计 (21)5.1.8持久化设计 (21)5.1.9事务处理设计 (21)5.1.10日志管理设计 (21)5.1.11错误处理设计 (21)5.1.12查询设计 (21)5.1.13设备接口设计 (21)5.1.14查询设计 (21)5.1.15报表设计 (21)6架构质量 (22)6.1性能 (23)6.2可扩展性 (23)6.3可移值性 (23)6.4可靠性 (23)6.5可维护性 (24)6.6安全性 (24)6.7易用性 (24)6.8设计开发的高效性 (24)1引言1.1文档控制文档更新记录文档审核记录1.2目的本文档从构架方面对系统进行综合概述,其中会使用多种不同的构架视图来描述系统的各个方面。
它用于记录并表述已经对系统的构架方面作出的重要应用决策。
本文档重在帮助人们快速理解本系统的主要架构设计思想。
本文档的另外一个作用是做为概要设计和详细设计的参考文档,通过对系统涉及到的各个技术层面的阐述,来屏蔽概要设计和详细设计阶段遇到的各种技术难点,通过对架构中各个机制的实现的说明,使概要设计和详细设计集中于系统的功能性需求的设计,非功能需求通过架构中的各项机制得到有效的解决。
1.3范围本文档覆盖了XXX业务管理信息系统的所有子系统,包括:√XXX应用系统√XXX应用系统1.4缩略语Framework(框架)Framework是一个相关功能的可扩展的对象集,其显著特点是实现了框架的核心和稳定的功能,并包含了允许开发者嵌入可变的功能或扩展功能的机制。
Componentcomponent是指业务相关的可复用组件。
1.5参考资料2架构的目标和约束XXX系统是一个包含总分公司应用、直属库应用、代储租仓应用以及代储租仓监管系统构成的跨不同地域集中分布式的综合性业务管理信息系统。
特别其业务数据中包含属于国家机密的数据,对架构提出了更高的要求,架构必需从各个方面满足实际需求,这是架构的设计目标。
同时在设计与开发的过程中严格遵守架构的特殊约束,从而保证可以实现架构设计的最终目标。
2.1架构的目标架构的目标包括:安全目标、保密目标、最大化的重用、简洁、灵活等。
(一)安全目标架构从管理安全、系统安全、数据安全三个方面来具体考虑和保障的安全的。
管理安全是指建立相应的安全管理制度,最终决定是否安全的是人来决定的。
系统安全从网络、硬件、系统软件、应用软件方面考虑如何加强整个系统的安全性。
数据安全是指企业数据的安全,包括备份策略,加密等。
(二)保密目标对于国家机密数据实行单独保存,不允许外部应用访问。
对于需要在网络上传输的数据,需要加密处理,并在敏感网段考虑使用硬件加密设备进行加密处理。
(三)最大化的重用重用是减少冗余的一个有效的途径,包括组件级别的重用、组件的实现通常会应用一种或几种设计模式,这些模式与组件的结合使用大大提升了架构的质量。
这类组件包括日志组件、报表组件、WEB组件等。
(四)简洁把复杂问题简单化是架构设计的一个重要的目标,明确类以及类之间的职责关系,简洁的好处是明显的,复杂的代价是高昂的,将给开发维护带来诸多的问题。
(五)灵活架构可扩展性强,能够以最小的代价满足变化,为了满足出入库等不确定的流程的变化处理,在总分公司和直属库系统的架构中设计了工作流引擎。
(六)可靠性系统在总分公司采用集群设计实现负载均衡,可以提供高可用的系统,增强容错处理能力。
(七)易维护性系统在设计时,充分考虑到应用分布于较广的区域,系统的维护和升级将会占用较大的成本,易维护性是系统架构设计的重要原则。
(八)可扩展性系统在设计时,充分考虑未来XXX公司业务的变化,组织架构的变化,业务流程的变化,将因业务或者需求的变更带来的系统升级和改造,降低到最小的开发量。
2.2架构的约束为了实现架构的目标,遵循RUP软件开发过程,实行全程的质量控制。
在设计策略、开发策略、技术规范、平台规范方面进行约束。
(一)分析、设计策略采用面向对象的分析和设计方法,UML建模语言,使用ROSE建模工具。
(二)开发策略开发工具支持,测试驱动开发,J2EE团队,任务分工。
(三)技术规范编码规范、数据库设计规范等规范。
(四)平台规范J2EE1.4版本,服务器采用Unix,Linux系统,客户端浏览器支持IE5.5以上版本。
基于Web 页的界面应和Java 1.4 VM 运行环境相兼容。
(五)实施规范参考XXX相关实施规范文档说明。
3架构视图本系统的软件构架是采用UML标准规范进行描述的,分别从用例视图、逻辑视图、部署视图、实施视图几个视图来描述。
下面分别介绍几种视图包含哪些类型的模型元素。
3.1用例视图用例视图是用来捕获需求的,是将系统所需要完成的功能性需求进行描述的一个视图。
用例视图包含包、包关系图、用例图,用例视图中描述软件构架的内容必须包括包关系图,用来描述包之间的依赖关系。
包之间的依赖关系表示了业务之间的关联,系统开发的先后顺序。
还要指出系统的关键用例,系统的关键用例组成了系统的功能构架。
本部分的详细内容请参见《系统设计说明书》。
3.2逻辑视图逻辑视图从计算机实现的角度,对需求加以分析,经过分解、合并、抽象等多种方式,形成便于计算机实现的系统功能说明。
其中逻辑视图中有子系统、包、关键类,以及类关系图,子系统、包之间的关系,子系统的接口。
系统在进行分析时,重点描述业务方面的逻辑,而在设计时,重点结合技术平台描述实现的逻辑。
(一)分析在描述业务时,对业务进行抽象,分层表示,表示的元素包括1、包;2、分析类(界面类、控制类、实体类),界面类对应界面原型,控制类用于调用实体类封装的业务逻辑,实体类封装实体和方法;3、用例实现-分析,以时序图、类关系图、协作图来描述,参与对象为分析类以及分析对象。
(二)设计在描述技术实现时,按照技术架构的设计机制进行分层,例如按照Spring+DAO模式分层。
表示的元素包括:1、子系统、包、接口;2、设计类(界面类、控制类、实体类),其中,界面类对应Action,控制类对应Domain Object,实体类对应Pojo,是不包含方法的实体,直接对应Java类。
3、用例实现-设计,以时序图,类关系图,协作图来描述。
参与对象为设计类以及设计对象。
3.2.1应用层根据面向对象的分析和设计思想,按照本系统承建的业务范围,分析XXX 业务与其他行业的共性和差异,借鉴现有产品的成功经验和设计思想,将系统的应用架构分层设计。
最外层为应用层(Application),用于完成XXX公司的全面业务,实现XXX公司的管理特色。
里面一层为通用业务层(Business Services),3.2.2应用层依赖关系3.2.3总分公司应用系统3.2.3.1代储库应用系统3.2.3.2核心用例在描述系统的架构时,首先识别系统的核心用例,一方面为了为迭代开发打下基础,另一方面为识别系统的骨架提供依据。
3.2.3.3关键类3.2.3.4关键类列表3.2.3.4.1 类关系图3.2.3.4.2 中间层3.2.3.5 中间层概述系统的中间层是由系统公共组件,公共控制部分组成的,包括开发通用组件,权限组件等。
例如:打印组件、报表组件、权限管理、组织结构3.2.3.6中间层依赖关系中间层提供了架构基础的各类组件,应用层主要架构在这一层之上,下图展示了中间层各组件之间的依赖关系。
3.2.3.7中间层包以及子系统说明(一)打印打印组件分为两类,一是对于报表打印采用报表组件的打印功能;第二是对普通的表单或者查询统计信息的打印将直接调用浏览器提供的打印功能。
(二)报表组件报表系统提供报表的定义、形成、查询打印等功能。
除基本的报表核算功能之外,为了满足其它子系统各种查询报表的要求,报表系统还提供灵活的报表数据挖掘功能,可以动态的实现各种系统数据的抽取及查询。
它的特点有:✧面向企业,行政事业等各个行业单位的报表核算;✧基于B/S结构的报表查询;✧既适于离散性的集团单位,又适于面向集中管理的集团型单位;✧功能强大的数据挖掘功能,开发人员将系统的语义层定义后,用户可灵活实现各种报表。
(三)用户组织权限管理用户组织权限管理采用应用基础框架平台的权限系统,提供用户管理、角色管理、组织管理、权限管理、权限分配管理。
(四)字典表各个模块和公共控制部分使用的字典信息(包括标准化)。
(五)日志管理日志管理包括系统日志管理和业务日志管理,系统日志对系统运行状况进行记录跟踪;业务日志管理提供对用户使用系统的情况进行记录跟踪。
(六)异常管理架构采用统一的异常管理,便于系统运行期间定位问题。
3.2.4系统层按照《XXX业务管理信息系统应用软件方案8.0》的相关要求,在总公司、直属库、代储库、租仓库部署应用,根据总、分、直、代、租的实际情况不同,硬件配置,软件选型上采用不同的策略。
涉及到第三方系统软件包括:✧操作系统✧web服务器✧应用服务器✧数据库软件✧消息中间件✧相关的其他配套软件。
3.3实施视图实施视图又叫做部件视图,是系统实现的物理模型,实施视图的目的在于将系统的实现逻辑定义成实际的物理单位,实施视图中的模型元素主要包括,包、部件(Component)、部件关系图。
实施视图在描述系统架构时,重点描述对于系统有重要意义的构件。
根据J2EE规范的相关规定,整个J2EE应用程序的生命周期分为三个阶段:开发阶段――组装阶段――部署(实施)阶段。
可见实施是建立在程序组装基础之上的后续工作。
J2EE应用程序是由一个或多个J2EE组件与一个J2EE应用部署描述文件组成。