软件架构及设计培训.ppt
《软件架构及设计培训.ppt》由会员分享,可在线阅读,更多相关《软件架构及设计培训.ppt(57页珍藏版)》请在三一办公上搜索。
1、软件架构及设计,中科信软培训中心,语言不是可伸缩性的关键,架构才是关键,我们的疑问?,1、什么是架构?2、为什么要架构?3、什么时候进行架构设计?4、怎样进行架构设计?,我们能得到什么?,1、知道架构的3W1H2、掌握架构的流程和管理3、理解架构的设计和评审4、知道如何评估软件架构质量,软件架构设计概述,软件设计、软件架构概念软件架构与软件过程面向服务设计模式(SOAD)RUP的4+1视图体系结构软件架构国际标准,什么是架构?,组成派软件系统的架构将系统描述为计算组件及组件之间的交互(The architecture of a software system defines the syste
2、m in terms of computational components and interactions among those components)Mary Shaw软件体系结构:一门初露端倪学科的展望决策派软件架构包含了关于一下问题的重要决策软件系统的组织选择组成系统的结构元素和他们之间的接口,以及当这些元素相互协作时所体现的行为如何组合这些元素,使他们逐渐合成更大的子系统用户知道这个系统组织的架构风格:这些元素以及他们的接口、协作和组合软件架构并不仅仅注重软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解性、经济和技术的限制和权衡,以及美学Rationa
3、l统一过程,架构的组成与决策是架构设计的两个基本概念,这两个概念并不矛盾在架构设计中,往往是同时体现这两个概念,确保架构满足产品要求。由这两个概念出发,我们自然会提出:软件架构的核心思维到底是什么呢?,什么是架构?,首先,任何软件系统都是以满足需求作为目的。所以,好的架构设计必须以全面深入的需求分析作为基础,根据需求来组织合理的产品架构。其次,一个软件系统的质量,很大程度上是由架构设计的质量决定的,所以架构师的眼光一般都专注于质量属性上,应该根据产品质量属性的要求提出合理的架构决策。另一方面,任何架构思想的实现,必须与具体的项目组织相匹配才能发挥作用。,什么是架构?,一个是架构设计的源泉来自于
4、需求分析第二个是,架构设计重心和特点来自于质量需求(非功能性需求)第三个观点是,架构整体特征应该考虑项目管理特征,三个核心思维,为什么要架构?-从软件危机谈起,软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题在1968年国际软件工程会议提出,并被人们广泛认识,软件危机的表现,软件成本日益增长开发进度难以控制软件质量差软件维护困难,软件危机的原因,用户需求不明确缺乏正确的理论指导软件规模越来越大软件复杂度越来越高,如何克服软件危机,人们面临的不光是技术问题,更重要的是管理问题。管理不善必然导致失败。要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。在
5、技术上,应该采用基于复用的软件生产技术;在管理上,应该采用多维的工程管理模式。,诞生了软件工程,用工程、科学和数学的原则和方法研制、维护计算机软件的有关技术及管理方法方法:“如何做”的技术手段工具:为方法提供的自动或者半自动的软件支撑环境过程:将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发地目的,软件架构在软件工程中的作用?,软件架构是一个软件系统的设计图解决复杂性问题提高复用和构件市场的潜力,什么时候进行架构设计?,详细设计,软件架构,架构视图,概要设计,什么时候进行架构设计?,架构设计过程分为两个阶段:高层设计阶段和详细设计阶段,怎样进行架构设计?,在高层设计阶段,主要
6、工作是分析与设计软件的体系结构。通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,产生体系结构设计报告。这个阶段是系统架构师发挥作用的主要位置,高层架构设计过程设计流程如下。,怎样进行架构设计?,设计准备,确定约束因素,确定设计策略,设计评审,系统分解设计,撰写文档,高层架构设计过程设计流程,怎样进行架构设计?,在分析阶段,我们建立模型表示真实的世界,以便理解业务过程以及这个过程中所要用到的信息。基本上说,分析首先是分解,把复杂信息需求的综合问题,分解成易于理解的多个小问题。然后通过建立需求模型来对问题领域进行组织、构造并且编制文档。分析建模过程必须要用户参与,
7、并且需要用户解释需求,并且验证建立的模型是否正确。设计也称之为架构设计,实际上也是个建模过程,它把分析阶段得出的信息也就是需求模型,转换为称之为解决方案的模型。,典型项目案例介绍,一、架构分析方法面向服务设计模式(SOAD)二、架构视图RUP的4+1视图体系结构三、软件架构国际标准服务相关的标准:SOAP,面向服务设计模式(SOAD),应用软件开发方法的演变过程:面向过程;面向对象;面向组件;面向服务。,面向服务设计模式(SOAD),什么是面向服务的体系架构?一个组件模型 将应用程序的不同功能单元(服务)通过这些服务之间定 义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立
8、于实现服务的硬件平台、操作系统和编程语言。构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。,面向服务设计模式(SOAD),service-oriented Architecture SOA(service-oriented Architecture,也叫面向服务的体系结构或面向服务架构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程
9、语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。,SOA的优点,SOA 框架的特点是以服务为中心,它把应用程序划分成具有明确定义接口的模块,从而得到服务和应用程序之间相当松散的耦合。在SOA 中,服务供应商和消费者是两个独立的实体。面向服务的架构的优点主要体现在以下几个方面:降低应用开发费用。降低维护费用。增长的公司敏捷性。生成对应用程序和设备的故障、中断更具免疫力的系统,提高整体的可靠性。提供了一条应用系统的升级途径,对比使用单一的应用程序的时候,需要替换整个应用系统的标准升级方法,显然更为经济,更不容易失败。,SOA的特性,SOA 有以下特性:服务具有明确的接口
10、(合约)与策略。服务通常代表业务功能或者领域。服务拥有模块化的设计。服务被松散的耦合在一起。服务是可以被发现的。服务的位置对客户是透明的。服务是独立于传输层的。服务是独立于平台的。SOA 可以通过很多方式来实现,但最常用的SOA 是用Web Service 来实现,这主要应为WebService 的独立于平台的特性和其它特性更符合SOA 的规则。,构建SOA架构时应该注意的问题,当架构师基于SOA 来构建一个企业级的系统架构的时候,一定要注意对原有系统架构中的集成需求进行细致的分析和整理。基于SOA 的企业系统架构通常都是在现有系统架构投资的基础上发展起来的,我们并不需要彻底重新开发全部的子系
11、统。SOA 可以通过利用当前系统已有的资源(开发人员、软件语言、硬件平台、数据库和应用程序)来重复利用系统中现有的系统和资源。SOA 是一种可适应的、灵活的体系结构类型,基于SOA构建的系统架构可以在系统的开发和维护中缩短产品上市时间,因而可以降低企业系统开发的成本和风险。,服务粒度的控制,当SOA 架构师构建一个企业级的SOA 系统架构的时候,关于系统中最重要的元素,也就是SOA 系统中的服务的构建有一点需要特别注意的地方,就是对于服务粒度的控制。服务粒度的控制SOA 系统中的服务粒度的控制是一项十分重要的设计任务。通常来说,对于将暴露在整个系统外部的服务推荐使用粗粒度的接口,而相对较细粒度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 架构 设计 培训
链接地址:https://www.31ppt.com/p-6027980.html