




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Evolve by case UML 软件工程组织架构概念 应用架构介绍火龙果架构培养体系 应用架构案例UML 软件工程组织 架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例UML 软件工程组织架构基本概念什么是架构定义了系统的组织组织,组成系统的结构元素、接口以及这些元素在协作中的行为,关系的设计和管理原则。架构设计UML 软件工程组织架构基本概念什么是架构基线n构建基线架构基线:架构基线是一个“小的、皮包骨架的”系统,是系统整个生命周期的开发准则,适用于所有的迭代周期;n系统实施系统实施基于架构基线,在架构基线的指导下,完成系统的构件、节点,使“基线”进化为性能完善的系统;系统构件
2、架构基线UML 软件工程组织架构基本概念架构基本概念架构设计目标架构设计目标n理解系统架构使开发人员、管理人员,客户以及其他项目相关人员理解系统;n组织开发通过明确划分的子系统,以及接口,降低协调开发的成本;n鼓励重用设计良好可重用的子系统加速系统的构建进程;n进化系统应对变化环境,构建弹性系统避免变化对系统产生非期望的效果;UML 软件工程组织架构基本概念架构分类业务架构(Business Architecture)技术架构(Technical Architecture)企业架构(Enterprise Architecture)UML 软件工程组织架构分类业务架构n 业务架构是对需求的描述,
3、以及业务模型的定义,其中包括领域模型(Domain Object),业务流程模型(Business Process Model),系统参与者(Actor)。UML 软件工程组织架构分类架构分类技术架构技术架构n 技术架构是对系统使用的技术一个规范性的定义,它包含非功能性的可重用构件,系统结构的设计规范,开发规范,物理环境,测试环境,部署环境的定义,以及系统配置管理。UML 软件工程组织架构分类架构分类企业架构企业架构n 企业架构指的是在对一个企业的业务战略和流程理解基础之上,进行信息化的顶层设计,对企业现有的业务架构和技术架构进行有效的整合,形成灵活健壮的IT结构,构建的和谐IT环境。UML
4、软件工程组织架构分类架构分类宏观架构宏观架构 (Macroscopical Architecture)(Macroscopical Architecture)业务架构技术架构应用系统业务架构技术架构应用系统业务架构技术架构应用系统企业架构UML 软件工程组织 架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例UML 软件工程组织应用架构介绍应用架构介绍业务架构示例业务架构示例Logistical Logistical OperationalPlatformOperationalPlatform Horizontal SolutionUser ManagementPermissionMan
5、agementSea FreightAir FrieghtRoad FrieightCRMCRM Horizontal SolutionUser ManagementPermissionManagementContact ManagementTransaction ManagementCustomer ManagementConnector Horizontal SolutionDTSSingle Sign On Horizontal SolutionPMIBridge Bridge Bridge UML 软件工程组织应用架构介绍应用架构介绍技术架构组成技术架构组成PresentationPr
6、esentationBusinessBusinessPersistencePersistenceCore ArchitectureCore ArchitectureSubscriptionSubscriptionData AnalysisData AnalysisBPMBPMTraceTraceUtilitiesUtilitiesToolkitsToolkitsScheduleScheduleConnectorConnectorConnectorConnectorConnectorConnectorTechnical ArchitectureTechnical ArchitecturePort
7、alPortalPMIPMIRule EngineRule EngineUML 软件工程组织应用架构介绍应用架构介绍系统协同系统协同Application AApplication BConnector (Middle DB)Connector (Middle DB)Connector (Web Service)Connector (Web Service)Application AApplication BApplication AApplication BConnector (JCA)Connector (JCA)UML 软件工程组织应用架构介绍应用架构介绍设计原则设计原则分而自治(Bou
8、ndary Of Responsibility)面向服务(Service Oriented)协同规划(Collaboration)UML 软件工程组织应用架构介绍应用架构介绍分而自治分而自治n分而自治(Boundary Of Responsibility)功能性与非功能性之分通用与定制之分UML 软件工程组织应用架构介绍应用架构介绍面向服务面向服务n面向服务(Service Oriented)面向接口组件黑盒规范的服务描述UML 软件工程组织应用架构介绍应用架构介绍协同规划协同规划n 协同规划(Collaboration) 泛化连接器 松散耦合 简单部署UML 软件工程组织应用架构介绍应用架构
9、介绍应用架构实现方法论应用架构实现方法论n 整体规划 Vertical Solution (Use Case, Domain Model, Business Sequence, etc) Horizontal Solution (Prototype, Components, Service Publication, Technical Decision)n 环境配置 Workspace IDEn 编码实现 Object Oriented Design Pattern TestingUML 软件工程组织应用架构介绍应用架构介绍应用架构实现方法论应用架构实现方法论( (续续) )n部署Deploy
10、ment ScriptApplication Service EnvironmentTestingUML 软件工程组织 架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例UML 软件工程组织UML 软件工程组织 架构概念 应用架构介绍 火龙果架构培养体系 应用架构案例UML 软件工程组织应用架构案例案例背景本案例是一个实际的企业级应用系统,主要作用是为企业的其他信息系统提供相关的数据分析服务,包括报表,图表,和Dashboard。n系统目标构建一个数据分析服务组件能够支持数据分析资源扩展提供标准的数据分析服务,被其他企业信息系统所使用n系统环境支持分布式应用支持多种协议提供定时服务提供订
11、阅服务运行高性能提供管理控制台n设计约束需要支持热部署UML 软件工程组织应用架构案例架构设计路线图UML 软件工程组织应用架构案例系统整体需求描述n提供统一的数据分析服务n提供定时服务,定时产生数据分析结果(月报,年报,周报)n提供订阅服务,输出数据分析结果n支持多交互协议n支持多数据分析资源的扩展n支持运行时的扩展性,热部署UML 软件工程组织应用架构案例确定架构范围设计问题设计问题设计策略设计策略优先级优先级子系统划分确定系统边界和每个子系统的职责高系统层次划分按照系统层次的从低到高,确定每个层次的组件高支持资源扩展采用策略模式,泛化服务接口高支持多种交互协议采用代理模式和Faade模式
12、,调用报表服务高处理各层次异常采用责任链模式,分划异常的处理高支持运行时扩展确定划分热部署边界,组件部署分离高特定数据分析资源实现使用特定报表技术,适配服务接口中实现定时服务使用定时服务组件,调用数据分析服务接口中实现订阅服务使用定制的订阅技术,并且开发接口给定时服务使用中管理控制台使用B/S架构定制界面,设定各个服务组件的配置低针对需求,确定设计点,作为架构设计的范围UML 软件工程组织 应用架构案例子架构:分析、设计、实现与验证集成系统总体架构UML 软件工程组织功能架构功能架构子系统划分子系统划分对于任何系统而言,系统的架构都需要从对系统的分解入手。划分子系统的主要目的在于:n简化系统设
13、计工作n提高并行开发效率n便于系统架构的扩展UML 软件工程组织功能架构功能架构子系统划分分析子系统划分分析n功能性划分功能性组件数据分析组件:提供数据分析基本服务,产生数据分析结果(图片,文件)定时服务组件:提供定时机制,定时调用数据分析服务和订阅服务订阅服务组件:提供订阅服务基本服务,(Mail,FTP)管理控制台:系统服务配置设定(定时服务,订阅服务)n非功能性划分非功能性组件部署管理组件:运行时装载数据分析的模版,计算组件,数据源;数据访问组件:提供访问数据源服务(数据库,文件)外部交互适配器:提供支持多种交互协议的连接适配器(SOAP,RMI-IIOP)n通用与定制之分定制性组件Ja
14、sperReport:提供基于JasperReport的数据分析服务CrystalReport:提供基于水晶报表的数据分析服务UML 软件工程组织功能架构功能架构子系统划分设计子系统划分设计根据原则划分好的子系统,需要有明确的接口定义,来代表其子系统提供的功能DAOServicevoid insert()void update()void delete()Object findByPk()ScheduleServicevoid executeSchedule()SubscriptionServicevoid notifySubscriber()J2EE ConnectorCrystal Rep
15、ortServiceJasperReportServiceOLAP ServiceRepporting Servicebyte loadReport(String reportId, Map context, int type)void deploy()DeploymentManagementServiceUML 软件工程组织功能架构功能架构子系统划分实现与验证子系统划分实现与验证在系统实施过程中,一般子系统会使用不同的工作目录来实现。每个工作目录会需要包含下列信息:l 源程序l 组件依赖配置l 部署脚本l 测试程序UML 软件工程组织逻辑架构逻辑架构系统分层系统分层系统分层的主要目的在于:n
16、细化子系统,确定子系统组件之间的协作关系n提高子系统的可重用性n提高子系统的可测试性n提高子系统的可维护性n提高子系统的可扩展性UML 软件工程组织逻辑架构逻辑架构系统分层分析系统分层分析n定义分层边界划分原则本系统按照服务消费者和服务提供者关系来划分层次n定义消费者和服务提供者关系数据分析服务消费者数据分析服务消费者BrowserBrowser,Java Client Application, C+ Client Java Client Application, C+ Client 数据分析服务提供者数据分析服务提供者数据分析运算组件数据分析运算组件数据源提供组件数据源提供组件协议适配器协议
17、适配器数据分析资源数据分析资源消费服务UML 软件工程组织逻辑架构逻辑架构系统分层设计系统分层设计UML 软件工程组织可扩展架构:支持资源扩展可扩展架构:支持资源扩展 数据分析资源包括各种数据分析实现技术。支持资源扩展的主要需求如下:n支持数据分析资源的可替换n支持数据分析资源的可升级n实现统一的数据分析服务接口UML 软件工程组织可扩展架构:支持资源扩展分析可扩展架构:支持资源扩展分析n通用性和定制性划分特定数据分析资源需要定制统一的数据分析接口代表通用行为n通用性和定制性结合行为抽象,抽象特定数据分析资源的通用行为实现独立,把特定数据分析资源的实现看成是行为抽象的一个特定实现UML 软件工
18、程组织可扩展架构:支持的资源扩展设计可扩展架构:支持的资源扩展设计n J2EE Pattern:策略模式现流行方式是采用Spring的ApplicationContext或者反射模式。构造策略实现对象构造策略实现对象策略行为接口策略行为接口策略实现策略实现UML 软件工程组织可扩展架构:支持的资源扩展实现可扩展架构:支持的资源扩展实现n定义接口public interface ReportingServiceIFbyte loadReport(String reportId, Map context, int binaryType);n定义Spring配置 n通过制定BeanName来判断使用
19、那个实现类ReportingServiceIF service = (ReportingServiceIF) ApplicationCtx.getBean(serviceName);byte reportBinary = service.loadReport(reportId, context, binaryType); UML 软件工程组织外部接口架构:系统外部接口支持多种交互协议外部接口架构:系统外部接口支持多种交互协议 系统的外部接口会被多种交互协议所调用,对于外部接口架构来说,主要需求如下:n支持系统外部接口调用协议扩展n重用数据分析服务组件n简化外部接口调用的实现UML 软件工程组织
20、外部接口架构:系统外部接口支持多种交互协议分析外部接口架构:系统外部接口支持多种交互协议分析n职责划分协议适配器:适配器负责使用特定交互协议调用数据分析服务重用数据分析组件:数据分析组件不涉及具体的协议交互n泛化连接器接口抽象交互行为,定义统一的交互接口封装特定协议交互细节,屏蔽交互复杂性UML 软件工程组织外部接口架构:系统外部接口支持多种交互协议设计外部接口架构:系统外部接口支持多种交互协议设计nJ2EE Pattern: Faade模式通过coarse-grained的接口,屏蔽了低层次的实现细节,这也是faade模式的一种应用。协议适配器协议适配器UML 软件工程组织外部接口架构:系统
21、外部接口支持多种交互协议设计外部接口架构:系统外部接口支持多种交互协议设计nJ2EE Pattern:策略模式,DelegateDelegate模式,对于具体的调用实现类来说,它不负责具体的业务逻辑处理,而只是负责代理特定的业务实现对象,并且封装对这个对象的引用过程。常用的方式有ServiceLoacator,封装了SOAP,Remote Interface, Local Interface的调用。协议调用代理UML 软件工程组织外部接口架构:系统外部接口支持多种交互协议设计外部接口架构:系统外部接口支持多种交互协议设计 : ReportingServiceClientApp : Applic
22、ationContext : ReportingServiceEJBDelegate : ReportingServiceEJBLocalHome : ReportingServiceEJBAdapterLocalgetBean(String)return delegate instanceloadReport(String, Map, int)create()return local handlerloadReport(String, Map, int)UML 软件工程组织外部接口架构:系统外部接口支持多种交互协议实现外部接口架构:系统外部接口支持多种交互协议实现nEJB Adapterpu
23、blic interface ReportingServiceEJBAdapter extends EJBObject byte loadReport(String serviceClassName, String reportId, Map context, int binaryType) throws RemoteException;nEJB Delegatepublic class ReportingServiceEJBDelegate implements PCEReportingServiceDelegateIF public byte loadReport(String servi
24、ceName, String reportId, Map context, int binaryType) byte binaryArray = null;.ReportingServiceEJBAdapterHome remoteHome = (ReportingServiceEJBAdapterHome) ServiceLocator.getInstance().getRemoteHome(ReportingServiceEJBAdapter, ReportingServiceEJBAdapterHome.class); ReportingServiceEJBAdapter remote
25、= remoteHome.create(); binaryArray = remote.loadReport(serviceName, reportId, context, binaryType);return binaryArray;UML 软件工程组织可靠性架构:异常处理机制可靠性架构:异常处理机制异常处理是系统可靠性的表现,异常分为三种:无法恢复异常,记录异常日志可恢复异常,通知使用者通过特定操作修复异常容错异常,系统根据发生的异常类型决定通过特定逻辑修复异常UML 软件工程组织可靠性架构:异常处理机制分析可靠性架构:异常处理机制分析n 架构统一 使用稳定的架构控制异常,包括捕获,日志,
26、跳转 异常处理职责划分,判断异常处理范围,处理不了,就抛出 异常包装,低层次异常需要被高层次异常包装 (1*N)UML 软件工程组织可靠性架构:异常处理机制设计可靠性架构:异常处理机制设计 : WebAppServlet : ApplicationContext : ReportingServiceEJBDelegate : ReportingServiceEJBAdapter : JasperReportingServiceImplgetBean(String)return delegate instanceloadReport(String, Map, int)loadReport(Str
27、ing, Map, int)loadReport(String, Map, int)throw new JRExceptionJRException is thrown,when page result is emptythrow new BusinessException(e)throw Business ExceptionshowErrorMsgException e is a JRException which is thrown from jasper report service.UML 软件工程组织可靠性架构:异常处理机制设计可靠性架构:异常处理机制设计 : Application
28、Context : ReportingServiceEJBDelegate : ReportingServiceEJBAdapter : ScheduleTriggergetBean(String)return delegate instanceloadReport(String, Map, int)loadReport(String, Map, int)JNDI Lookupthrow CreationExceptionthrow new RuntimeException(e)Trace ExceptionUML 软件工程组织可靠性架构:异常处理机制实现可靠性架构:异常处理机制实现n 对于不
29、可恢复异常而言,典型的实现方式如下:try callService(); catch (RuntimeException ex) /低层次的Exceptiontracer.logError(ex);throw new NewRuntimeException(e); /高层次的Exception不可恢复异常向上层抛出,它面对的不是许许多多低层次的Exception,而是它的直接下层组件的Exception。n 对于可恢复的异常而言,典型的实现方式就是直接在catch中,进行新的逻辑处理,而不是继续向上层抛出。UML 软件工程组织可维护性架构:运行时的扩展性可维护性架构:运行时的扩展性 运行时可扩
30、展性要求服务能及时更新,其中包括:n 更新数据分析逻辑计算组件服务n 更新数据分析模版n 更新数据源装载组件服务n 更新数据分析结构这也是常说的热部署!UML 软件工程组织可维护性架构:运行时的扩展性分析可维护性架构:运行时的扩展性分析l 资源的热部署,相关配置文件更新l 业务组件的热部署UML 软件工程组织可维护性架构:运行时的扩展性设计可维护性架构:运行时的扩展性设计J2EE Application ServerReporting Service EJB AdapterReporting Service WarSchedule Service EJBDTSReporting Reposit
31、oryReport Logic ComponentReport ProfileDTS Logic ComponentSubscription ComponentUML 软件工程组织可维护性架构:运行时的扩展性实现与验证可维护性架构:运行时的扩展性实现与验证n 构建资源管理文件系统n 构造自定义ClassLoader扫描资源管理文件系统,栽入ClassPathn 更新服务,替换自定义ClassLoaderUML 软件工程组织 应用架构案例子架构:分析、设计、实现与验证集成系统总体架构UML 软件工程组织架构集成n 为什么要进行架构集成 把系统的不同问题的设计进行有效的结合 系统的整体架构不是简单的堆砌,需要各个部分的协调n 架构集成的时机 在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 流程管理年中工作总结
- 思想政治教育主要实施方法
- 建筑石膏抹灰施工课件
- 2025企业租赁合同范本模板
- 2025企业合同审核与流转管理流程
- 2025年土地租赁合同附加协议
- 2025标准商业租赁合同示范文本
- 2025石油贸易居间合同
- 2025代理合同风险评估与委托协议样本
- 让硬币浮起来课件
- 2022年四川省巴中市中考英语真题卷(含答案与解析)
- 维克多高中英语3500词汇
- 一人有限公司章程(范本)
- 员工惩罚通知单
- GB/T 25742.4-2022机器状态监测与诊断数据处理、通信与表示第4部分:表示
- 特殊感染手术的配合与术后处理
- 萧红《呼兰河传》课件
- 机动车驾驶人考试场地及其设施设置规范
- 大学生三生教育主题班会
- 2023年宜昌市中医医院医护人员招聘笔试题库及答案解析
- 内部控制建设课件
评论
0/150
提交评论