电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

系统架构设计师-软件架构设计笔记

  • 资源ID:266122400       资源大小:2.79MB        全文页数:39页
  • 资源格式: DOCX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

系统架构设计师-软件架构设计笔记

    (软考笔记) 系统架构设计师 - 软件架构设计笔记    文章目录· 软件架构设计·o 软件架构的概念o§ 架构的定义§ 软件架构设计与生命周期§ 软件架构的重要性o 基于架构的软件开发方法o§ 体系结构的设计方法概述§ 概念和术语§ 基于体系结构的开发模型§ 体系结构需求§ 体系结构设计§ 体系结构文档化§ 体系结构复审§ 体系结构的实现§ 体系结构的演化o 软件架构风格o§ 概述§ 经典软件体系结构风格§ 三层C/S结构风格§ 浏览器/服务器风格(browser/server, B/S Style)o 特定软件领域的体系结构o§ DSSA的定义§ DSSA的基本活动§ 参与DSSA的人员§ DSSA的建立过程o 系统架构的评估o§ 概述§ 评估中的重要概念§ 主要评估方法o 个人格言软件架构设计软件架构的概念架构的定义 一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件,构件的外部可见属性以及它们之间的相互关系。 体系结构并非可运行软件,确切的说,它是一种表达,能够是软件工程师:1. 分析设计在满足规定需求方面的有效性;2. 在设计变更相对容易的阶段,考虑体系结构可能的选择方案;3. 降低与软件构造相关联的风险;软件架构设计与生命周期需求分析阶段 从软件需求模型向 SA 模型的转换主要关注两个问题:1. 如何根据需求模型构建SA模型;2. 如何保证模型转换的可追踪性;设计阶段 设计阶段是SA研究关注的最早和最多的阶段,这一阶段的SA研究主要包括:1. SA模型的描述;2. SA模型的设计与分析方法;3. SA的设计经验的总结与复用 有关 SA模型描述的研究分为三个层次1. SA的基本概念:即 SA 模型由哪些元素组成,这些组成元素之间按照何种原则组织。2. 体系结构描述语言(Architecture Description Language, ADL): 支持构件、连接子极其配置的描述语言就是如今所说的体系结构描述语言。型的 ADL 包括 UniCon、Rapide、Darwin、Wright、C2 SADL、Acme、xADL、XYZ/ADL和 ABC/ADL 等。3. SA模型的多视图表示:从不同的视角描述特定系统的体系结构,从而得到多个视角,并将这些视图组织起来用来描述整体的SA模型。 学术界已经提出若干多视图方案,典型的多视图方案有:1. 4+1模型(概念视图、模块视图、执行视图、代码视图加上统一的场景);2. CMU-SEI的 Views and Beyond模型(模块视图、构件和连接子视图、分配视图);3. IEEE标准1471-2000(软件密集型系统体系结构描述推荐实践);4. 开放分布式处理参考模型(RM-ODP);5. 统一建模语言(UML);6. IBM提出的Zachman框架;实现阶段 实现阶段的体系结构研究在以下几个方面:1. 研究基于SA的开发过程支持,如项目组织结构、配置管理等;2. 寻求从SA向实现过渡的途径,如将程序设计语言元素引入 SA 阶段、模型映射、构件组装、复用中间件平台等;3. 研究基于SA的测试技术; 为了填补高层 SA 模型和底层实现之间的鸿沟,通过封装底层的实现细节,模型转换、精化等手段缩小概念之间的差距。典型的方法如下:1. 在 SA 模型中引入实现阶段的概念,如引入程序设计语言元素等;2. 通过模型转换技术,将高层的 SA 模型逐步精化成能够支持实现的模型;3. 封装底层的实现细节,使之成为较大粒度构件,在 SA 指导下通过构件组装的方式实现系统,这往往需要底层中间件平台的支持;构建组装阶段 在 SA 设计模型的指导下,可复用构件组装可以在较高层次上实现系统,并能够提高系统实现的效率。在构件组装的过程中,SA设计模型起到了系统蓝图的作用。研究内容包括1. 如何支持可复用的构件的互联,即对SA设计模型中规约的连接子的实现提供支持;2. 在组装过程中,如何检测并消除体系结构失配问题; 中间件支持的连接子实现有如下优势1. 中间件提供了构件之间跨平台交互的能力,且遵循特定的工业标准, 可以有效地保证构件之间的通信完整性;2. 产品化的中间件可以提供强大的公共服务能力,这样能够更好地保证最终系统的质量属性; 失配是指在软件复用的过程中,由于待复用构件对最线系统的体系结构和环境的假发(assumption与实际状况不同而导致的冲突。在构件组装阶段失配问题主要包括:1. 由构件引起的失配,包括由于系统对构件基础设施、构件控制模型和构件数据模型的假设存在冲突引起的失配;2. 由连接子引起的失配,包括由于系统对构件交互协议、连接子数据模型的假设存在冲突引起的失配;3. 由于系统成分对全局体系结构的假设存在冲突引起的失配等,要解决失配问题。首先需要检测出失配问题,井在此基础上通过适当的手段消除检测出的失配问题;部署阶段 SA 对软件部署作用如下:1. 提供高层的体系结构视图描述部署阶段的软硬件模型;2. 基于 SA 模型可以分析部署方案的质量属性,从而选择合理的部署方案;后开发阶段 后开发阶段是指软件部署安装之后的阶段。这一阶段的 SA 研究主要围绕维护、演化、复用等方面来进行。典型的研究方向包括动态软件体系结构、体系结构恢复与重建等。动态软件体系结构 SA在运行时发生的变化包括两类:1. 软件内部执行所导致的体系结构的变化;2. 软件系统外部的请求对软件进行重新配置;现阶段,动态软件体系结构研究可分为以下两个部分:1. 体系结构设计阶段的支持。主要包括变化的描述、根据变化如何生成修改策略、描述修改过程、在高抽象层次保证修改的可行性以及分析、推理修改所带来的影响等。2. 运行时刻基础设施的支持。主要包括系统体系结构的维护、保证体系结构修改在约束范围内、提供系统的运行时刻信息、分析修改后的体系结构符合指定的属性、正确映射体系结构构造元素的变化到实现模块、保证系统的重要子系统的连续执行并保持状态、分析和测试运行系统等。体系结构的恢复与重建 SA重建是指从已实现的系统中获取体系结构的过程。一般地,SA 重建的输出是一组体系结构视图。现有的体系结构重建方法可以分为 4 类1. 手工体系结构重建;2. 工具支持的手工重建;3. 通过查询语言来自动建立聚集;这类方法适用于较大规模的系统,基本思路是:在逆向工程工具的支持下分析程序源代码,然后将所得到的体系结构信息存入数据库,并通过适当的查询语言得到有效的体系结构显示。4. 使用其他技术,比如数据挖掘技术等;软件架构的重要性 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。1. 架构设计能够慢慢组系统的品质;2. 架构设计使受益人达成一致的目标;3. 架构设计能够支持计划编制过程;4. 架构设计对系统开发的指导性;5. 架构设计能够有效地管理复杂性;6. 架构设计为复用奠定了基础;7. 架构设计能够降低维护费用;8. 架构设计能够支持冲突分析;基于架构的软件开发方法体系结构的设计方法概述 基于体系结构的较件设计(Architecture-Based Software Desig,ABSD)方法。ABSD方法是体系结构驱动,即指构成体系结构的商业、质量和功能需求的组合驱动的。使用ABSD 方法,设计活动可以从项目总体功能框架明确就开始,这意味着需求抽取和分析还没有完成(甚至远远没有完成),就开始了软件设计。ABSD 方法有三个基础:1. 功能的分解;2. 通过选择体系结构风格来实现质量和商业需求;3. 软件模板的使用; ABSD 方法是递归的,且迭代的每一个步骤都是清晰地定义的。因此,不管设计是否完成,体系结构总是清晰的,这有助于降低体系结构设计的随意性。概念和术语 ABSD的方法过程如下图所示 :1. 设计元素:BSD 方法是一个自顶向下,递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类;2. 视角与视图:考虑体系结构时,重要的是从不同的视角(perspective)来检查,这促使软件设计师考患体系结构的不同履性;3. 用例和质量场景: 用例已经成为推测系统在一个具体设置中的行为的重要技术,用例被用在很多不同的场合,用例是系统的一个给予用户一个结果值的功能点,用例用来捕获功能需求;基于体系结构的开发模型 传统的软件开发过程可以划分为从概念直到实现的若干过程:1. 问题定义;2. 需求分析;3. 软件设计;4. 软件实现;5. 软件测试; ABSDM(基于体系结构的较件设计模型)把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现和演化6个子过程。如下图所示:体系结构需求 需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。体系结构需求过程如图所示:需求获取 体系结构需求一般来自三个方面,分别是系统的质量目标、系统的商业目标和系统开发人员的商业目标。标识构件1. 生成类图:生成类图的CASE工具有很多,例如Rational Rose 2000。2. 对类进行分组: 在生成类图的基础上,使用一些标准对类进行分组可以大大简化类图结构,使之更加清晰。3. 把类打包成构件。架构需求评审 审查的主要内容包括所获取的需求是否真实反映了用户的要求,类的分组是否合理,构件合并是否合理等。必要时,可以在"需求获取一标识构件一需求评审"之间进行迭代。体系结构设计 软件体系设计过程如图所示:1. 提出软件体系结构模型2. 把已经标识的构件映射到软件体系结构中去3. 分析构件的相互作用4. 产生软件体系结构5. 设计评审体系结构文档化 绝大多数的体系结构都是抽象的,由一些概念上的构件组成。文档是在系统演化的每一个阶段,系统设计与开发入员的通信媒介,是为验证体系结构设计和提炼或修改这些设计(必要时)所执行预先分析的基础。体系结构文档化过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书这两个文档。体系结构复审 体系结构设计、文档化和复审是一个迭代过程。鉴于体系结构文档标准化,以及风险识别的现实情况,通常我们根据架构设计,搭建一个可运行的最小化系统用于评估和测试体系架构是否满足需要。是否在在可识别的技术和协作风险。体系结构的实现 所谓"实现"就是要用实体来显示出一个软件体系结构,即要符合体系结构所描述的结构性设计决策,分割成规定的构件,按规定方式互相交互。体系结构的实现过程如图所示:体系结构的演化 体系结构演化的过程如图所示: 体系结构的演化是使用系统演化步骤去修改应用,以满足新的需求,主要包括以下6个步骤:1. 需求变化归类;2. 指定体系结构演化计划;3. 修改、增加或删除构件;4. 更新构件的相互作用;5. 构件组装预测试;6. 技术评审软件架构风格 软件体系结构设计的一个核心目标是重复的体系结构模式, 即达到体系结构级的款件重用。概述 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。经典软件体系结构风格管道和过滤器 每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。数据抽象和面向对象组织 这种风格的构件是对象,或者说是抽象数据类型的

注意事项

本文(系统架构设计师-软件架构设计笔记)为本站会员(Baige****0346)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.