电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

39页
  • 卖家[上传人]:Baige****0346
  • 文档编号:266122400
  • 上传时间:2022-03-14
  • 文档格式:DOCX
  • 文档大小:2.79MB
  • / 39 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 (软考笔记) 系统架构设计师 - 软件架构设计笔记 文章目录 软件架构设计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. 降低与软件构造相关联的

      2、风险;软件架构设计与生命周期需求分析阶段 从软件需求模型向 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模型(概念视图、模块视图、执行视图

      3、、代码视图加上统一的场景);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 设计模型的指

      4、导下,可复用构件组装可以在较高层次上实现系统,并能够提高系统实现的效率。在构件组装的过程中,SA设计模型起到了系统蓝图的作用。研究内容包括1. 如何支持可复用的构件的互联,即对SA设计模型中规约的连接子的实现提供支持;2. 在组装过程中,如何检测并消除体系结构失配问题; 中间件支持的连接子实现有如下优势1. 中间件提供了构件之间跨平台交互的能力,且遵循特定的工业标准, 可以有效地保证构件之间的通信完整性;2. 产品化的中间件可以提供强大的公共服务能力,这样能够更好地保证最终系统的质量属性; 失配是指在软件复用的过程中,由于待复用构件对最线系统的体系结构和环境的假发(assumption与实际状况不同而导致的冲突。在构件组装阶段失配问题主要包括:1. 由构件引起的失配,包括由于系统对构件基础设施、构件控制模型和构件数据模型的假设存在冲突引起的失配;2. 由连接子引起的失配,包括由于系统对构件交互协议、连接子数据模型的假设存在冲突引起的失配;3. 由于系统成分对全局体系结构的假设存在冲突引起的失配等,要解决失配问题。首先需要检测出失配问题,井在此基础上通过适当的手段消除检测出的失配问题;部

      5、署阶段 SA 对软件部署作用如下:1. 提供高层的体系结构视图描述部署阶段的软硬件模型;2. 基于 SA 模型可以分析部署方案的质量属性,从而选择合理的部署方案;后开发阶段 后开发阶段是指软件部署安装之后的阶段。这一阶段的 SA 研究主要围绕维护、演化、复用等方面来进行。典型的研究方向包括动态软件体系结构、体系结构恢复与重建等。动态软件体系结构 SA在运行时发生的变化包括两类:1. 软件内部执行所导致的体系结构的变化;2. 软件系统外部的请求对软件进行重新配置;现阶段,动态软件体系结构研究可分为以下两个部分:1. 体系结构设计阶段的支持。主要包括变化的描述、根据变化如何生成修改策略、描述修改过程、在高抽象层次保证修改的可行性以及分析、推理修改所带来的影响等。2. 运行时刻基础设施的支持。主要包括系统体系结构的维护、保证体系结构修改在约束范围内、提供系统的运行时刻信息、分析修改后的体系结构符合指定的属性、正确映射体系结构构造元素的变化到实现模块、保证系统的重要子系统的连续执行并保持状态、分析和测试运行系统等。体系结构的恢复与重建 SA重建是指从已实现的系统中获取体系结构的过程。一般地,S

      6、A 重建的输出是一组体系结构视图。现有的体系结构重建方法可以分为 4 类1. 手工体系结构重建;2. 工具支持的手工重建;3. 通过查询语言来自动建立聚集;这类方法适用于较大规模的系统,基本思路是:在逆向工程工具的支持下分析程序源代码,然后将所得到的体系结构信息存入数据库,并通过适当的查询语言得到有效的体系结构显示。4. 使用其他技术,比如数据挖掘技术等;软件架构的重要性 软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。1. 架构设计能够慢慢组系统的品质;2. 架构设计使受益人达成一致的目标;3. 架构设计能够支持计划编制过程;4. 架构设计对系统开发的指导性;5. 架构设计能够有效地管理复杂性;6. 架构设计为复用奠定了基础;7. 架构设计能够降低维护费用;8. 架构设计能够支持冲突分析;基于架构的软件开发方法体系结构的设计方法概述 基于体系结构的较件设计(Architecture-Based Software Desig,ABSD)方法。ABSD方法是体系结构驱动,即指构成体系结构的商业、质量和功能需求的组合驱动的。使用ABSD 方法,设计活动可以从项目总体功能框架

      7、明确就开始,这意味着需求抽取和分析还没有完成(甚至远远没有完成),就开始了软件设计。ABSD 方法有三个基础:1. 功能的分解;2. 通过选择体系结构风格来实现质量和商业需求;3. 软件模板的使用; ABSD 方法是递归的,且迭代的每一个步骤都是清晰地定义的。因此,不管设计是否完成,体系结构总是清晰的,这有助于降低体系结构设计的随意性。概念和术语 ABSD的方法过程如下图所示 :1. 设计元素:BSD 方法是一个自顶向下,递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类;2. 视角与视图:考虑体系结构时,重要的是从不同的视角(perspective)来检查,这促使软件设计师考患体系结构的不同履性;3. 用例和质量场景: 用例已经成为推测系统在一个具体设置中的行为的重要技术,用例被用在很多不同的场合,用例是系统的一个给予用户一个结果值的功能点,用例用来捕获功能需求;基于体系结构的开发模型 传统的软件开发过程可以划分为从概念直到实现的若干过程:1. 问题定义;2. 需求分析;3. 软件设计;4. 软件实现;5. 软件测试; ABSDM(基于体系结构的较件设计模型

      8、)把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现和演化6个子过程。如下图所示:体系结构需求 需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。体系结构需求过程如图所示:需求获取 体系结构需求一般来自三个方面,分别是系统的质量目标、系统的商业目标和系统开发人员的商业目标。标识构件1. 生成类图:生成类图的CASE工具有很多,例如Rational Rose 2000。2. 对类进行分组: 在生成类图的基础上,使用一些标准对类进行分组可以大大简化类图结构,使之更加清晰。3. 把类打包成构件。架构需求评审 审查的主要内容包括所获取的需求是否真实反映了用户的要求,类的分组是否合理,构件合并是否合理等。必要时,可以在需求获取一标识构件一需求评审之间进行迭代。体系结构设计 软件体系设计过程如图所示:1. 提出软件体系结构模型2. 把已经标识的构件映射到软件体系结构中去3. 分析构件的相互作用4. 产生软件体系结构5. 设计评审体系结构文档化 绝大多数的体系结构都是抽象的,由一些概念上的构件组成。文档是在系统演化的每一个阶段,系统设计与开发入员的通信媒介,是

      9、为验证体系结构设计和提炼或修改这些设计(必要时)所执行预先分析的基础。体系结构文档化过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书这两个文档。体系结构复审 体系结构设计、文档化和复审是一个迭代过程。鉴于体系结构文档标准化,以及风险识别的现实情况,通常我们根据架构设计,搭建一个可运行的最小化系统用于评估和测试体系架构是否满足需要。是否在在可识别的技术和协作风险。体系结构的实现 所谓实现就是要用实体来显示出一个软件体系结构,即要符合体系结构所描述的结构性设计决策,分割成规定的构件,按规定方式互相交互。体系结构的实现过程如图所示:体系结构的演化 体系结构演化的过程如图所示: 体系结构的演化是使用系统演化步骤去修改应用,以满足新的需求,主要包括以下6个步骤:1. 需求变化归类;2. 指定体系结构演化计划;3. 修改、增加或删除构件;4. 更新构件的相互作用;5. 构件组装预测试;6. 技术评审软件架构风格 软件体系结构设计的一个核心目标是重复的体系结构模式, 即达到体系结构级的款件重用。概述 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。经典软件体系结构风格管道和过滤器 每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。数据抽象和面向对象组织 这种风格的构件是对象,或者说是抽象数据类型的

      《系统架构设计师-软件架构设计笔记》由会员Baige****0346分享,可在线阅读,更多相关《系统架构设计师-软件架构设计笔记》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.