系统架构设计说明书模板1.docx
《系统架构设计说明书模板1.docx》由会员分享,可在线阅读,更多相关《系统架构设计说明书模板1.docx(23页珍藏版)》请在冰点文库上搜索。
系统架构设计说明书模板1
错误味指定书签。
软件研发部
文档编号
版本
A1
密级
商密A
工程名称
Xx系统
工程来源
Xx系统
架构设计说明书
(内部资料请勿外传)
XXXX科技
版权所有不得复制
模块二接口设计
对模块接口进行设计,并提供一定的伪代码。
4、接口设计
对场景以及问题域进行分析,构成系统的架构级设计,说明对于系统的分层思想。
1.1系统外部接口.L1数据库接口
本系统未使用数据库连接池技术,但软件中存在ApacheDbcp数据库连接池JAR包•后台服务采用JDBC连接MYSQL数据库由于本系统存在多个数据库,每活动线程最多拥有一个数据库连接,外部请求在使用完成后不需要显式关闭。
第三方接口4.L3通信接口
4.2系统内部接口
•应用子系统
这是本系统中的上层应用,包括提供各种功能的插件以及用户界面,主要为用户提供输入条件和输出结果,也就是查询条件的输入和数据展示,也包括基本数据的录入和管理功能,由如下的插件应用构成,•后台子系统
模块
描述
实时监控插件
负责提供实时监控功能
虚拟身份插件
负责提供真实/虚拟身份的查询,轨迹查询的功能
案件管理插件
负责提供对案件的管理和报警等功能
线索分析插件
负责提供同时上下机查询,碰撞分析和CCIC库管理等功能
情报分析插件
负责提供对内容的查询和QQ好友分析等功能
实名登记插件
负责提供对实名登记查询和违规卡的管理功能
场所管理插件
负责提供对上网场所的管理和运行状态综合统计信息等功能
系统管理插件
负责完成整个系统的管理,包括用户密码,和基本数据的管理功能
相对与应用插件,后台数据子系统的主要功能是接受来自插件应用的请求,并为请求提供实际操作功能。
模块
描述
实时监控后台
负责提供实时监控
虚拟身份后台
负责提供真实/虚拟身份的查询,轨迹查询的功能
案件管理后台
负责提供对案件的管理和报警等功能
线索分析后台
负责提供同时上下机查询,碰撞分析和CCIC库管理等功能
实名登记后台
负责提供对实名登记查询和违规卡的管理功能
场所管理后台
负责提供对上网场所的管理和运行状态综合统计信息等功能
系统管理后台
负责完成整个系统的管理,包括用户密码,和基本数据的管理功能
•文本分析子系统负责对协议文本文件的索引,包括/M聊天记录文件,POST内容记录文件等的索引和查
询功能•配置中心子系统
模块
描述
文本索引模块
负责提供对文本文件的索引,采用LUCENCE技术
索引查询模块
负责提供对内容的查询和QQ好友分析等功能
配置中心子系统负责为后台服务和客户端配置文件的配置提供G5的配置途径
5、运行设计
本系统在设计时为了保证客户端的响应动态响应前台的请求而动态生成任务外,同时启动多个后台服务。
5.1进程/任务的设计5.L1前台RCP客户端
取客户端配置放内存(经配置可以使用JAR包XML配置文件而省略这一步)
删除.2后台系统
对于多表查询,使用任务方式委托JDK线程池对不同表进行查询。
整个后台服务初始完成以后,将生成以下任务(或线程),此任务为单一线程,并未做线程池并发处理,任务线程串行处理任务数据存储
5.2.1数据库模型
重要数据模型5.2.2文件
系统用文件系统结果、接口等。
5.2.3系统参数
配置参数、环境参数等
datasource.config数据源列表
serverlist.config
system-id
serverlist.config
system-id
报警的服务器列表
自识别的城市2
2.4其它数据
内存等5.3出错处理
本章节应列出出错原因及提示信息6、特性设计
特性设计可以根据产品用途、行业标准等实际情况对章节进行调整。
6.1性能
描述系统常态下系统要求,重要有代表业务性能指标。
以及在架构设计中保证性能,方案和设计要求规模分析与实现
6.1.12性能分析与实现内存占用
5.1.4响应速度要求可靠性
标准是72小时无故障。
例如为保证72小时,在故障处理设计实现方式、要求等。
还有异常处理平安性
用户和权限管理、数据范围权限的控制、通讯是否加密,加密方式强度和要求,防止数据篡改、攻击等可维护性
实施、系统升级等,包括可移植性、可修改性、可扩充性
7、部署部署模式
7.1.1部署方式一部署硬件、网络等详细要求,提供部署图。
.2部署方式二
7.1许可协议
许可协议方式和版权加密控制方式。
8、附录8.11.1.系统技术架构
1.1.1.总体架构广东网通BSS系统重构工程的主要技术目标包括提高应用系统的可重用性和流程的可配置性,以解决在业务快速变化的市场环境下,如何保证业务支撑软件及时交付高质量的软件版本,同时尽量降低业务软件的重复性开发工作量。
为了满足日益复杂的业务需求,确保能够在第一时间里推出市场所需的服务、并且业务支撑系统的改动量最小,我们建议在系统中采用SOA架构。
SOA是从企业的需求开始,把IT系统和商业流程连合在一起,以服务集成形式实现新的而又灵活的应用功能。
SOA简化了IT,让IT变得更有弹性,以便更好地开展和优化业务流程,从而促进企业与合作伙伴的业务需要,也使供应商和客户之间动作流程的端到端整合,让企业可以快速灵敏地响应客户和市场不断变化的需求。
SOA能够加强对整个企业架构的控制能力,♦并且由于具有高级别的重用性,有助于提升开发效率,加快开发速度;采用只需少量改动的核心企业级IT应用,让运营企业和厂商只需优化基于标准技术的IT技能,从而降低了在客户化和人员技能方面的投入,从而节约了本钱。
以SOA在基础,结合功能和非功能性需求的考虑,我们对广东网通BSS系统给出如下的系统架构:
接入层
在系统架构中,不同的功能可以被分为纵横几个不同的层次,基于底部的是服务的提供者,上面那么是服务的消费者:
•资源层指系统已经存在的程序资源,例如网元操作平台、银行系统等外部系统,以及BSS系统自身的数据等。
・组件层在这一层中用不同的组件把底层系统的资源封装起来。
•服务层在这层中用底层功能组件来构建所需要的不同功能的服务。
・商业流程层在服务层之上为商业流程层,在这一层中我们利用已经封装好的各种服务来构建商业系统中的商业流程。
流程是可以组合的,一个流程可以作为另一个流程的子流程使用,更好地提供了流程的重用性及灵活性。
纵向贯穿系统的是集成架构和基础架构,集成架构的核心为企业服务总线(ESB);而基础架构那么为整个SOA系统提供一些辅助的功能,例如服务质量管理,平安管理这一类的辅助功能。
将体系架构映射到J2EE的技术平台上面,可以得出如下的模型:
表示层
业务接口、
业务接口、
业务委托
BPEL
引擎
EJB容器
基础组件
商业流程服务层组件层
W-
RMI
EJBEJB
DAO+Hibemate/JDBC
f\
资源层
数据持久层
HOP,JCA、SOAP等
其他系统
这是一个扩展的J2EE架构实现,表示层的内容可以运行在WEB容器之上,商业流程、服务层、组件层的内容那么会运行在EJB容器之上,基础架构的平安,管理及监控也会实现成EJB容器之上的服务,而一般来说,现有的应用服务器都可以提供企业服务总线的功能。
这个实现除了支持Web应用之外,还支持J2EE的远程客户,具有远程EJB的分布式应用,以及其它类型的客户端。
该体系结构在WEB层(或者是其他远程客户)与业务对象之间使用RMI,WEB层通过业务接口和业务委托来远程访问业务逻辑会话EJB,业务逻辑处理数据,然后业务逻辑会话EJB通过DA。
访问数据存储,也就是把数据持久化。
这种架构的最大好处是通过一个中间层来支持所有的J2EE客户类型;还允许各种构件在不同的物理服务器上分布;这样给应用实现最大的可伸缩性,EJB容器为远程客户提供一个综合性接口。
1.1.2.表示层——Web界面及Web服务接口这一层用来与用户交互,并把来自系统的信息显示给用户。
J2EE使用JSP/Servlet技术支完成这一层的任务。
这里,我们引入JSF、JSP标准标记库和AJAX技术,应用框架采用改进过的Struts20
Web服务接口标准(比方SOAP)不再要求使用RMI和EJB来支持远程客户,从而使客户的远程访问不必使用EJB接口。
传统的Web服务接口运行在同一个Web容器中。
使用SOAP基于XML,并且是自描述的,这样的服务标准具有跨平台性,支持J2EE客户之外的客户,比方日后的语音订货系统与互联网系统等应用。
Web服务传输协议运行在HTTP上面。
1.1.3.接入服务——统一接入平台对于其它类型的客户端,BSS系统构建统一接入平台,为其提供服务。
建统一接入平台包含了接口连接管理、接口逻辑管理和接口服务三局部:
・接口连接管理:
提供接口接入处理完整的管理功能,在接口连接管理中包含了传输管理、通讯服务、负载均衡、动态配置管理、网络调度等功白匕•Bt/
・接口逻辑管理:
提供了和接口业务相关的数据管理、优先级管理、交换分发和完整性管理等功能;
・接口服务:
是对BSS系统服务层提供的商业流程封装后提供给对端系统的相应服务,以阻断对端系统和业务层的直接通讯,同时平安高效的支持外围接入服务。
1.1.4.表示层——业务接口业务对象对外暴露为EJB,在Web组件层与业务对象之间使用RMI(远程方法调用,当然,远程方法调用的通信细节由容器来实现并隐藏),为了减少远程调用的性能开销,系统架构采用常用的设计模式一业务接口和接口实现一业务委托来处理对远程EJB的访问。
另一方面,由于EJB对象的查找及实例化是相当消耗系统资源的,业务接口可以缓存EJB对象的远程句柄,这样节省了查找和实例化的时间,从而提高系统的性能。
1.1.5.逻辑层——业务逻辑EJB这一层处理应用的核心业务逻辑。
所有的业务组件都实现为EJB容器内的StatelessSessionBean组件。
EJB容器提供了业务组件生命周期管理、多线程调度、同步处理、事务管理和资源分配等,这样业务组件只需要专注于业务需求的实现即可。
由于业务逻辑都集中在EJB组件实现,而客户端只用来与用户的交互,这样保证了业务逻辑的统一。
如上所述,J2EE结构中的逻辑层,对应于我们系统架构中组件模型的组件层、服务层及流程层,也就是说,我们将使用EJB去实现组件、服务及流程。
首先,我们使用EJB去封装后台数据库的数据对象(通过DAO去访问数据库),由于系统涉及到多个数据库,这样可以使上层的应用忽略了数据的来源,并且提供了基本的事务功能。
在封装数据对象之后,我们同样使用EJB去实现一些基本的服务功能,这些EJB的粒度将会比拟细,只完成单一的功能,如客户资料查询等。
最后,我们再使用EJB,将细粒度的服务组件按商业流程连合在一起,完成更完整的流程。
在设计的理念上,流程是可以组合的,一个流程可以作为另一个流程的子流程使用,更好地提供了流程的重用性及灵活性。
甚至在开展到一定的程度后,可以引入工作流引擎,如BPEL,通过描述的方式去定义一个工作流程,从而使整个商业过程灵活可配置,面向业务人员。
1.1.6.逻辑层——规那么引擎使用规那么引擎(如:
ILOG),可以在原有的业务逻辑层中抽取出业务规那么层,一方面
实现应用逻辑与业务逻辑松散耦合,使系统能够在用户期望的时间规定内完成业务需求功能;另一方面从体系架构上保证业务规那么层能够在BSS系统的各个功能模块中具备业务编辑配置能力。
规那么管理系统功能主要包括一下模块:
1.规那么的设计与编辑模块.规那么调试分析模块
2.规那么管理模块.规那么执行模块
如下列图所示,
使用ILOG规那么引擎,可以较大程度的提高系统的灵活性,不过,使用ILOG规那么弓|擎也会导致程序性能有一定成都下降,这是因为程序每次执行前都需要访问规那么库,并进行规那么比拟。
另外,使用ILOG规那么引擎也会在一定程度上增加操作复杂性,这是因为要进行规那么配置。
因此,ILOG建议应用在规那么变动较频繁,而且可以通过灵活配置而不修改程序可以实现的模块。
ILOG建议应用在规那么变动较频繁,而且可以通过灵活配置而不修改程序可以实现的模块。
1.1.7.商业流程——工作流引擎流程做为SOA世界中重要的概念,有个方面的问题可以关注,一是业务流程的建模,是指使用流程进行建模反响业务需求。
二是工作流的应用,其实工作流是前者的一个子集,强调人机交互,人工干预流程(通常是长流程)。
而业务流程中是可以没有人工干预的,其中一种观点就是,将商业逻辑用规那么引擎管理,这样人干预的节点越少,做为企业来讲,流程的效率越高,从中获取的商业利益也越大。
在这个领域,工作流管理的概念在前,其标准WFMC也经历了很长时间,但一直没有得到很好的应用和推广。
而是近几年随着SOA概念的推广,OASIS的BPEL越来越多的被关注,现在版本是2。
0。
BPEL的全称是WS-BPEL。
这个标准是基于WebService的。
所采用的引擎是否一定要实现某某规范和标准值得探讨,因为当前流程这方面的标准规范存在的太多,也没有一个强势的标准(最强势的现在来看也是bpel了)。
但从功能上,流程引擎(或者扩展后的流程系统)需要支持下面几种要求:
/图形化的流程定义。
能够/API灵活易用。
流程容易开发。
/清晰的流程概念和运作方式,一定要具有人机交互能力。
(角色,权限相关联)
/支持流程的热部署。
/提供灵活的扩展方式,良好的和外部系统/模块的交互能力(本地代码交互和分布式的系统的交互)。
如果做为模块,能够易集成。
/完备的文档及其他可寻求的帮助方式以上几点依次从流程分析定义,流程开发,流程部署,流程运行期和外部的交互,如何集成等几个方面进行考虑。
大概比拟一下基于BPEL的引擎和JBPMBPEL
优势/符合最流行的流程标准规范。
/适于大规模编程,集成特性好。
/良好的图形设计工具。
/是SOA重要的组成局部。
劣势
/比拟复杂,或者说很复杂。
需要非常了解BPEL标准。
(如何利用bpel设计流程?
)/一定要熟悉webservice的开发和其相关的标准。
注意:
以上两项如果有现成的封装并且团队中已经有人熟悉问题也不大。
/依赖特定引擎实现本地代码交互。
/依赖于特定的引擎实现人机交互。
•JBMP优势
/简单易用的编程模型。
做为模块容易集成。
也可设计成子系统。
其概念模型也很清晰。
/良好的基于eclipse的图形设计工具。
(易用性强)/很灵活。
可以方便的测试流程设计(脱离数据库运行)。
/易于扩展。
/内部已有比拟好的研究。
相关社区比拟活跃。
劣势J不是标准(jbpm有一个子工程支持bpel)
/在大规模集成方面不如BEPL相关实现。
无论是采用哪种实现方式,最好都能了解流程设计的pattern,processdesignpattern是流程设计中常用的一些场景,可做为原子组合成复杂的场景。
对日后快速建模提供相应支持。
1.1.8.资源层——DAO这一组件用于处理存贮系统的数据。
业务组件通过调用DAO组件实现对数据库的操作。
DAO实现了用来操作数据源的访问机制。
数据源可以时RDBMS,LDAP,File等。
依赖于DAO的业务组件为其客户端使用DAO提供更简单的接口。
DAO完全向客户端隐藏了数据源实现细节。
由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模式,而不会影响其客户端或者业务组件。
重要的是,DAO充当组件和数据源之间的适配器。
获嬴修改创立,使用
ValueObject
使用数据访问服务层之后,BSS系统实现了几个重要的效果:
•透明性业务对象可以是使用数据源,而无须了解该数据源实现的具体细节。
访问是透明的,原因是实现被隐藏在DAO的内部。
•更容易的迁移DAO层使应用程序更加容易地迁移到一个不同的数据库实现。
业务对象不了解低层数据实现。
因而,该迁移只涉及对DAO层的变化。
更进一步说,如果使用工厂策略,那么有可能为每一个低层存储实现提供一个具体工厂实现。
在这种情况下,迁移到不同的迁移实现意味着给应用程序提供一个新的工厂实现。
•减少业务对象中代码复杂度由于DAO管理所有的数据访问复杂性,它可以简化业务对象和其他使用DAO的客户端中的代码。
所有与实现有关的代码(比方sql语句)都被包含在DAO中,而不是包含在业务对象中。
这样做提高了代码的可读性,已经代码生产效率。
•把所有的数据访问集中到一个独立的层。
因为所有的数据访问操作现在被委托给DAO,所有单独的数据访问层可以被看作把数据访问实现与应用程序中的其他代码相隔离的。
这种集中化使应用程序更容易地维护和管理。
这里,我们使用了一个第三方的LIBHibernateoHibernate相对于EntityBean来说,性能高了不少。
还有一点的是,Hibernate将会是EJB3.。
的CMP底层实现机制,那意味着Hibernate是一个很好的产品,并且会开展下去。
1.1.9.资源层——外部后台系统接口外部后台系统接口负责管理与外部后台系统的连接,访问外部系统数据,调用外部系统的功能。
外部系统接口组件提炼、封装了对外部系统的访问,向使用者——业务逻辑组件,提供统一的API,那么,一方面将外部系统的访问细节,如系统登录、语法语意的转换、日志记录等,完全隐藏起来,使得业务逻辑组件有一个很简单的调用;另一方面,外部系统的改动将不会影响到本系统的业务逻辑,只需要适当修改外部系统接口组件就可以了,从而降低外部系统和核心业务组件的耦合。
文档变更记录
序号
变更(+/-)说明
作者
版本号
日期
批准
1
2
1、引言6
1.1背景6
1.2术语和缩略语6
1.3参考资料62、总体设计6
2.1需求规定6
2.2架构设计目标和约束6运行环境7
2.2.1开发环境7
2.3设计思想7
2.4架构体系7
2.5重要业务流程8流程18
2.5.1流程28流程38
2.6模块划分8模块一8
2.6.1模块二93、接口设计9
3.1系统外部接口10数据库接口10
3.1.1第三方接口11通信接口11
3.2系统内部接口11系统数据流错误!
未定义书签。
3.2.1系统状态机错误!
未定义书签。
3.2.2系统部署图错误!
未定义书签。
4、运行设计12
4.1进程/任务的设计12前台RCP客户端12
4.1.1后台系统12
4.2数据存储12数据库模型12
4.2.1文件12系统参数12
4.2.2其它数据13
4.3出错处理135、特性设计13
5.1性能13规模分析与实现13
5.1.1性能分析与实现13内存占用13
5.1.2响应速度要求13
5.2可靠性13
5.3平安性13
5.4可维护性136、部署14
6.1部署模式14部署方式—14
6.1.1部署方式二14
6.2许可协议147、附录15
1、引言
描述本文的参考依据、资料以及大概内容。
1.1背景
工程产生或者开发背景,必要性等。
1.2术语和缩略语
缩略语、系统主用名词、术语等解释参考资料
编写本文和阅读本文是需要查阅的资料有关文档,注明出处、作者和版本。
(架构设计重点在于将系统分层并产生层次内的模块、说明模块之间的关系)
2、范E
2.1软件名称
英文名称:
TopEng-CSP
中文名称:
客户服务平台软件功能
请参考《XXX子系统软件需求规格说明书.doc》软件应用
请参考《系统软件需求规格说明书.doc》需求边界
明确范围边界,做什么,不做什么Q3、总体设计
3.1架构设计目标和约束
架构设计总体目标和一些有关架构方面的约束,比方技术约束或者设计上约束Q
3.1.1运行环境
序号
工程
详细信息
后台软件环境
Linux,JRE1.6以上Tomcat5.5容器,mysqM.O/以上
前台软件环境
WindowsXP,Windows2000,windowsvista
数据库
1.1.2开发环境
序号
工程
详细信息
1
操作系统
开发编译系统」DK1.6,操作系统:
windows系列
2
编程语言
JAVA.JavaJavascript.HTML、CSS
3
编程工具
Eclipse3.4
4
网络平台
100MEthernet
1.2设计思想说明进行架构设计的思想,可参考一些架构设计的模式,需结合当前系统的实际情况而定。
1.3架构体系根据架构分析和设计思想产生系统的架构图,并对架构图进行描述,说明分层的原因、层次的职责,并根据架构图绘制系统的物理部署图,描述系统的部署体系。
重要业务流程(有多少个就写多少个流程图)
流程图类型不做严格要求,只要图和描述表达设计思想即可;重要业务流程数据流向等。
3.4.1流程14.2流程2
4.4.3流程35模块划分
根据架构图进行模块的划分并说明模块划分的理由,绘制模块物理图以及模块依赖图。
有多少模块就写多少个模块3.5.1模块一
模块一描述
根据模块物理图描述各模块的职责,并声明其对其他模块的接口要求。
这是本系统中的上层应用,包括提供各种功能的插件以及用户界面,主要为用户提供输入条件和输出结果,也就是查询条件的输入和数据展示,也包括基本数据的录入和管理功能,由如下的插件应用构成,3.5.1.2模块一业务流程说明
子模块
描述
实时监控插件
负责提供实时监控功能
图+文字描述。
样例;
1:
选择操作类型
u2二显示更面—
I
3业务请求|
4:
调用业务逻辑
5:
业学逻辑处理
W6:
数据访问、
E7:
返酷果集_8:
结手集处理
W.91返回处理结果
^10:
返回结果页面模块一接口设计
对模块接口进行设计,并提供一定的伪代码。
3.5.2模块二3.5.2.1模块二描述
根据模块物理图描述各模块的职责,并声明其对其他模块的接口要求。
这是本系统中的上层应用,包括提供各种功能的插件以及用户界面,主要为用户提供输入条件和输出结果,也就是查询条件的输入和数据展示,也包括基本数据的录入和管理功能,由如下的插件应用构成,3.5.2.2模块二业务流程说明
子模块
描述
实时监控插件
负责提供实时监控功能
图+文字描述。
样例;