软件架构设计与模式薛君敖 博士 Junao Xue Ph.D
xuejunao@2009年12月9-11日
讲师介绍81年赴美,美国哥伦比亚大学电脑科学硕士、物理学博士。 85-87 在美国芝加哥AT/T Bell Laboratory工作期间,参与编写5ESS(超大型交换机)Database Retrofit的数据库架构层面的设计和实施方案,包括:设计和管理安全的数据库架构,设计和管 理高可用性解决方案,优化和实施数据库的数据恢复计划,设计、部署和巩固数据库架构。 88-94 在美国新泽西州 AT/T Bell Laboratory工作期间,是DACS(大型传输交换连接设备)的 Architect组成员,为DACS的逻辑架构、物理架构和系统架构设计提供解决方案,并主持DACS 的 FSTS(工厂测试系统)系统设计,从硬件基础设施、技术平台、应用平台到应用的设计和实施 。之后参与编写SDH和DWDM两大光通讯网络的网管系统(INMS)的逻辑/物理/系统架构设计 方案。 94-02 Lucent Technologies Bell Labs Innovations 在任朗讯科技贝尔实验室网管技术支持小组组长兼任原邮电部网管专家顾问期间,为北京,上 海,深圳,武汉,南昌等地SDH/DWDM/光网络及网管的设计和实施提供技术解决方案 03-06 在任“微软-北京邮电大学软件学院-亚鸿世纪软件联合研究中心”副主任、兼任北京亚鸿 世纪软件公司总经理和中科软国际部技术顾问期间,为中国电信业提供业务流程重组(BPR) 、业务流程管理(BPM)的IT解决方案;领导编写为韩国电信和中国电信用的基于 COBIT/ITIL/MOF的IT解决方案,指导开发基于Biztalk和SPS的OSS/BSS已部署在河南通信、威海通 信。 06-现在 普信管理 & 祝成科技 在任首席IT专家期间,为上海浦发银行、上海农商行、中国兵器集团财务公司提供包括对IT建设 /IT服务管理/IT应用的评估咨询服务,并为它们做了IT评估报告和IT规划包括21个IT系统的升级 架构设计和需求分析;以RUP为指导,领导开发了基于SOA/BPM/Web2.0技术平台的银行/金融 业GRC综合管理平台。 85-01贝尔实验室DMTS(资深研究员),04-09 微软MVP(最有价值专家)2
Agenda 软件架构导引 业务建模 & UML 需求分析 软件架构视图 架构设计实践 架构设计模式 面向服务架构SOA
什么是架构?软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。主流的标准观点有: ANSI/IEEE 610.12-1990软件工程标准词汇对于体系结构定义是:“体系架构是以构件、 构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以及知道上述 内容设计与演化的原理(principle)”。 Mary Shaw和David Garlan认为软件体系结构是软件设计过程中,超越计算中的算法设 计和数据结构设
计的一个层次。体系结构问题包括各个方面的组织和全局控制结构,通信 协议、同步,数据存储,给设计元素分配特定功能,设计元素的组织,规模和性能,在各 设计方案之间进行选择。 Garlan & Shaw模型[1]的基本思想是:软件体系结构={构件(component)、连接件 (connector)和约束(constrain)}。其中构件可以是一组代码,如程序的模块;也可以是一个 独立的程序,如数据库服务器。连接件可以是过程调用、管道、远程过程调用(RPC)等, 用于表示构件之间的相互作用。约束一般为对象连接时的规则,或指明构件连接的形式和 条件,例如,上层构件可要求下层构件的服务,反之不行;两对象不得递规地发送消息; 代码复制迁移的一致性约束;什么条件下此种连接无效等。 Bass定义、Booch & Rumbaugh &Jacobson定义、Perry & Wolf模型[7]、Boehm模型等, 虽然各种定义关键架构的角度不同,研究对象也略有侧重,但其核心的内容都是软件系统 的结构,其中以Garlan & Shaw模型为代表,强调了体系结构的基本要素是构件、连接件及 其约束(或者连接语义),这些定义大部分是从构造的角度来甚至软件体系结构,而IEEE 的定义不仅强调了系统的基本组成,同时强调了体系结构的环境即和外界的交互。4
架构与框架 框架,即framework。是某种应用的半成品,是一组组件,供用户选用完成自己的系统。 简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软 件。框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。 因为软件系统发展到今天已经很复杂了,特别是服务器端软件,涉及到的知识,内容,问 题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只 需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统 很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多 人使用,所以结构很好,扩展性也很好,而且它是不断升级的,你可以直接享受别人升级 代码带来的好处。 架构与框架的区别与联系如下: 1 .呈现形式不同.架构的呈现形式是一个设计规约,而框架则是程序代码。 2.目的不同.体系结构的目的是指导一个软件系统的实施与开发;而框架的目的是为复用。 因此,一个框架可有其架构,用于指导该框架的开发,反之不然。 3.有种特殊的架构,DSSA(领域特定体系结构)其目的也是为了复用。 4. 架构风格在其用程序代码实现后就成了Corba、COM架构框架,也叫中间件集成框架, 或对象中间件。
架
构的范围 软件架构—这次培训的主关注点。 硬件架构—包括CPU, 内存,硬盘,周 边设备例如打印机,与连接这些元素的 部分。 组织架构—是一些关于商业进程,组 织结构,规则和职责,与组织核心能力 的部分。 信息架构—包含组织好的信息结构。 软件架构、硬件架构、组织架构和信 息架构是全部系统架构的子结构。 企业架构与系统架构很相似,包括硬 件,软件,人员等。但是,企业架构与 商业有很强的联系,因为它专注于商业 对象的联系,专注于商业敏捷性和组织 效率。企业架构可能穿插于公司间。
架构师分类 企业架构师EA (Enterprise Architect) EA的职责是决定整个公司的技术路线和技术发展方向。盖茨给自己的Title是首席软件 架构师,实际上就是EA角色。 基础结构架构师IA (Infrastructure Architect) IA的工作是提炼和优化技术方面积累和沉淀形成的基础性的、公共的、可复用的框架 和组件,这些是技术型公司传承下来的最宝贵的财富。 特定技术架构师TSA (Technology-Specific Architect) TSA主要从事类似安全架构、存储架构等专项技术的规划和设计工作。
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科软件架构设计与模式全文阅读和word下载服务。
相关推荐: