




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 件架构设计方法设计方案 方法体系 作为方法体系, 法通过 3个阶段和 1个贯穿环节,来覆盖 “需求进,架构出 ”的架构设计完整工作内容。其中 “3个阶段 ”是指预备架构阶段( 段)、概念架构阶段( 段)、细化架构阶段( 段), “1个贯穿环节 ”是指对非功能目标的考虑。 段的任务是全面理解需求,从而把握需求特点,进而确定架构设计驱动力。其中, 段必须考虑包括功能、质量、约束在内的所有方面的需求, 法有自己的概念架构设计步骤和做法; 段的总体方法为 5视图方法,涉及逻辑架构、物理架构、开发架构、运行架构和数据架构。 文档模板( 下载全套模板 ) 法为软件架构设计提供了整套文档模板,涉及文档简介、架构描述方式、架构设计目 2 标、架构设计原则、逻辑架构视图、开发架构视图、运行架构视图、物理架构视图、数据架构视图、关键质量属性的设计。在架构设计实践中,架构师可以直接使用这套文档模板来设计架构,以及对架构进行描述。 3 前辈推荐 杨晋兴 (中航集团公司 631研究所研究员,前系统软件室主任): 当前软件架构设计领域先进的方法体系,在论述架构设计不同阶段的分析方法与设计技术的同时,给出了相应的实践策略、实践套路及有用的设计案例。本方法具有极强的实用性,不但是一线架构师及希望成为软件架构师者的福音,对我国软件业界在软件架构相关方面的研究工作也有一定的推动作用。 周伯生 (北航计算机学院教授、博士生导师,美国 会院士): 构设计方法学既是提出者亲身的实践总结,又概括了业界的有效实践;不仅生动地反映提出者的创造性思维和对学术的刻苦耕耘,又反映出提出者对架构学的崇高历史责任感;不仅对架构师们有很好的参考价值,而且对推动架构学界的深入研究具有重要意义。 黄绍良 (清华大学创新研究会成员,南开大学软件学院教授):软件工程的架构师犹如建造工程的建筑师一样,一些建筑师能够最终成为 “大师 ”,主要是他们的建筑设计除了能够满足应用需求外,还能结合周边环境,拥有独特的组合理念和创意。把握软件的架构设计技巧和方法 ,才能够带出软件创新的成果。从业人员理解如何才能够客观地为客户设计高效和优质的计算机软件,是成为真正软件工程师的第一步,是未来软件大师的实践指南。 4 专家评价 宋英 (西门子公司资深 家): 法深入浅出,对中大型系统的架构设计起到了航标灯的作用,不仅解决了资深架构师的困惑,而且对新手具有重大的指导意义。它把抽象的理论落实到实际的可操作的范围,令人折服。 陈渌萍 (中国软件评测中心技术总监): 法是架构设计实践领域的突破。 宋兴烈 (起步科技总工程师): 成了关于架构设计方面的核心主张,并且提出了非常具有指导和实践意义的方法体系。细细体会这些核心主张和 法,发现似曾相识,特别有共鸣。原来我们在平时的架构设计中,竟不知不觉地在使用这些主张和方法,但是没有总结出 来。我非常愿意向业内人士推荐 法,因为 从实践中来的,自然可以很好地运用到实践中去,具有很高的实践指南价值。 靳向阳 (加拿大 件工程师): 法由浅入深地给出了架构设计相应的对策,实战性极强。本人认为 法实乃业界相关技术中的一朵奇葩,强烈建议新老架构设计人员掌握法。 董振江 (中兴通讯业务研究院副院长): 法是一套实用性强、非学院式的体系,对做好架构设计富有指导价值。 法的三阶段理论、结构化需求与约束分析等不少概念一 经指出让人有茅塞顿开之感。 法中有很实用的操作技巧,值得每一个架构师反复学习和操练,领会之后定会让您的架构设计更上一层楼。 徐锋 (独立咨询顾问,需求过程框架 始人, 席顾问): 架构领域的指路明灯,它架构在成熟方法论这一巨人上,构建在提出者多年来跨不同领域、不同平台的架构设计经验的基础上。 5 罗景文 ( 国网站): 法的原理和实践经验对指导架构设计实践具有非常实用的参考价值。 李哲洙 (东软集团电信事业部研发二部部长, 资深咨询顾问,东北大学客座讲师): 在架构设计的方法论方面、设计细节量化方面、设计应采取的原则方面都做了针对性总结和概括,具有重大的实践指导意义和推广价值,为一线架构师不可多得的理论和实践指导。 培训课程 课程名称 :提升架构设计能力的四堂课(经典课程) 培训特色 : 以业界实践精华和落地的技能为主体内容,为客户一线实践提供有针对性的帮助 每个环节,从流行谬误的分析切入, “拉 ”您进入主动学习状态 贯穿的【实战案例】,边学边练,以练带讲 课程名称 :业务框架规划与设计(高端课程) 培训特色 : 重视识别可变性、确定变化点和选择变化点支持策略等业务框架规划与设计核心技能的 “讲 ”与 “练 ” 帮助学员建立业务框架规划与设计的大局观、以及系统化思维框架 6 7 错误 !未指定书签。 8 明 :本文档模板由 构设计专家组荣耀发布,详细技术支持请访问 。 9 目 录 1. 文档简介 11 档目的 11 档范围 11 义、缩写词和缩略语 11 考资料 11 2. 架构描述方式 11 构视图阅读指南 11 表与模型阅读指南 11 3. 架构设计目标 12 键功能 12 键质量属性 12 务需求和约束因素 12 4. 架构设计原则 13 构设计原则 13 选架构设计方案及被否原因 13 构设计对后续工作的限制(详设,部署等) 13 5. 逻辑架构视图 13 责划分与职责确定 14 口设计与协作机制 15 要设计包 17 6. 开发架构视图 18 分 18 18 录结构指导 19 序单元组织 19 架与应用之间的关系(可选) 19 20 n 20 7. 运行架构视图 20 制流组织 20 制流的创建、销毁、通信 20 锁设计 21 8. 物理架构视图 21 理拓扑 21 件到硬件的映射 22 10 化部署 23 9. 数据架构视图 23 久化机制的选择 23 久化存储方案 24 据同步与复制策略 24 10. 关键质量属性的设计原理 24 11 1. 文档简介 帮助读者对本文档建立基本印象,并为阅读后续内容扫清障碍。 档目的 文档目的,非项目目的。否则造成同一项目多个文档之间的内容重复,不利于文档维护。本小节应指明文档针对的读者对象,最好列出各种读者角色,并说明每种读者角色应该重点阅读的章节。 档范围 文档的 项目的 则造成同一项目 多个文档之间的内容重复,不利于文档维护。 义、缩写词和缩略语 集中列举文档中的定义、缩写词和缩略语。 考资料 本项目经审核的计划书、合同、上级批文;本项目的其他已发表文件;本文档引用的文件资料,如软件开发标准。具体而言,应包括参考资料的题目(必须)、编号、版本号(必须)、发表日期、发布方,必要时还可以说明如何使用这些资料。 2. 架构描述方式 为了让读者更好地理解架构文档,在本节应当说明文档涉及的架构视图,并指明为了描述设计决策用到了哪些图表和模型。 构视图阅读指南 以多视图的方式来 组织架构文档是大势所趋。 荐的是经过优化的5 视图方法,如下图所示。 表与模型阅读指南 对后续文档内容中所用到的建模语言(例如 表格(例如目标 决策表) 12 等进行说明。 3. 架构设计目标 功能、质量、约束,一个都不能少。 键功能 对架构设计至关重要的功能,包括如下 4 类:核心功能、必做功能、高风险功能、独特功能。所谓独特功能,指这个功能覆盖了上述 3 类功能没有涉及到的职责。 键质量属性 人之所以痛苦,很多时候是因为追求错误的东西。下图是 法确定关键质量 的 5 大原则的整体思路图。 务需求和约束因素 法创造性地提出约束需求的 4 大类型,这是一种极为实用的分类方式。特别是业务需求对架构设计而言是一种约束的观点,解决了很多架构师的现实困惑。下图标明了 4 类约束在“需求层次 称 阵)”中的位置,可以帮助我们理解产生约束需求的根源。 13 4. 架构设计原则 投标时经常讲“架构设计原则”,但到了架构文档,这些着眼大局的考虑却“丢了”。 法推荐的本文档模板,认为应当把它们“找回来”。 构设计原则 着重描 述重大的权衡取舍考虑。 选架构设计方案及被否原因 在概念架构一级,对备选架构设计方案进行描述,并阐述它们未被采用的原因。这有利于团队了解当前架构设计方案的来龙去脉,提高团队对当前架构设计方案的认可度。 构设计对后续工作的限制(详设,部署等) 架构设计不仅应该包含“指导”,也应该包含重要的“限制”。例如,一份只是说明“性能和可扩展性都重要”的架构文档,实际上忽视了“可扩展性和性能之间存在的矛盾关系”。此时,最有效的办法就是在架构文档中明确说明“任何提升可扩展性的架构设计和详细设计,都应通过 架构团队的评审才能引入,以确保性能目标不受重大影响”。 说明 :本文档模板由 构设计专家组荣耀发布,详细技术支持请访问。 5. 逻辑架构视图 关注点:此架构设计视图的关注点是职责划分。 注意:逻辑架构视图无疑是最重要的,但同时也应避免“架构 = 模块 + 接口”等以偏概全的认识。 14 参考:任何复杂系统的架构设计都不是一蹴而就的,所以架构师需要理性思维过程的 指导。针对逻辑架构设计这个关键环节,一线架构师实践指南一书给出了 2条建议:一是“以质疑驱动的螺旋思维”,二是相对分离地考虑“结构方面的切分”和“行为方面的定义”。下图所示即为 法推荐的逻辑架构设计理性思维过程。 责划分与职责确定 内容:将系统切分成更小的单元,并明确这些单元的职责。具体而言,职责单元可以是层、子系统、模块、关键类等。 意义:一句话,职责划分不合理,功能和质量都会受到影响。也就是说,功能需求和质量需求无一不和职责划分相关:一方面,每个功能都是由一条职责协作链完成的;另一方面,职责划分方式也影响着质量,于是需要职责模型针对特定质量属性要求做出相应调整和优化。很多人认为架构设计就是职责划分的艺术,虽略显片面,但足以表明职责划分的重要性。 参考:基于对业界大量案例的研究, 法梳理出了“模块划分的 3 种必用手段”,如下图所示,更多内容可参考一线架构师实践指南一书。 15 口设计与协作机制 内容:本节描述接口的定义,以及协作的方式和规范。 意义:恰恰是因为有了各模块之间“未来合作的契约”,分头开发各模块才有了基本保证。 参考: 法 推荐利用“包 ,来识别接口。下图为一个“包 的示例。 16 参考: 法推荐使用序列图,建议少用、甚至杜绝使用协作图。下图为一个序列图的示例。 说明 :本文档模板由 构设计专家组荣耀发布,详细技术支持请访问。 17 要设计包 内容:对重要子系统的设计进行“灰盒”级描述。 意义:“每个子系统在架构设计中都应保持黑盒子”的 观点,过于理想化了。对于业务层、通用协作机制而言,经常需要在架构设计期间就引入“灰盒”级描述。 参考:类图和灰盒包图,在本节中较多出现。下图为一灰盒包图示例。 18 6. 开发架构视图 关注点:此架构设计视图的关注点是程序单元组织。 注意:此架构设计视图是必须的、不应“剪裁”掉的。但实际情况却是,很多架构师不关注开发架构视图,导致很多程序开发人员抱怨“架构师就知道高来高去,架构对编程工作没什么指导性”。 分 内容:本节说明整个系统将划分成哪几个 开发,其中, 开发环境所感知到的“工程”。 意义:基本好处是,有利于开发的组织;而对一些大型的集成系统而言,由于同时涉及了 用、桌面应用、嵌入式应用等软件形态,所以此时 分其实是不得不做的;最后,我们推荐核心代码应主动地切分到单独的 进行独立的软件配置管理( 以降低核心代码外泄的风险。 参考: 分必然是属于“架构设计”的工作,严格来讲仅靠“需求分析”划分的业务域( 接映射到 常意味着工作内容的遗漏。其实,业界 不少有见地的专家已经认识到 作分解结构)做得太早太草率危害很大,就与“ 分不到位”不无关系。 内容:对 分后的每个 行目录结构、程序单元组织、框架与应用关系的说明。 19 录结构指导 内容:关于该 级目录、二级目录等基本目录结构的约定。 意义:为团队并行开发提供必要基础,让不同程序小组看到自己应该负责的程序目录。 参考:不要把所有程序目录的约定都定义得太细,否则这份架构文档就要天天更新了。 序单元组织 内容:源码、程序库、框架、目标码等类型程序单元之间的编译依赖关系。 意义:或许有人认为这没什么技术含量,但架构设计本来就不是只关心技术含量最高问题的。君不见,很多软件工程师跳槽到新的企业之后,竟然连一个能正常编译源码的开发环境都建不起来 其实,他们“不知道 依赖的 哪些”是其中重要原因 这本应在架构文档中给出明确描述的。 架与应用之间的关系(可选) 内容:框架( 意义:既然不适用 开发越来越少了,既 然程序员犯的很多错误都和对 解不到位有关,架构师就有责任明确说明 待开发系统之间的关系。 参考:下图描述了 架和待开发应用的关系。 参考:下图描述了 架和待开发应用的关系。 20 内容:对 分后的每个 行目录结构、程序单元组织、框架与应用关系的说明。 n 内容:对 分后的每个 行目录结构、程序单元组织、框架与应用关系的说明。 7. 运行架构视图 关注点:此架构设计视图的关注点是控制流组织。 注意:进程和线程是广为人知的控制流实现技术,但在架构设计思维当中,对于系统软件和嵌入式软件极为重要的中断服务程序也是控制流,这样利于架构师统一利用不同控制流手段设计并行和并发。 制流组织 内容:控制流有哪些,每条控制流各是何种形式(例如进程、线程、中断服务程序),哪些软件单元是控制流的起点,整条控制流中分别调用了哪些软件单元。 意义:这是对系统运行时结构的刻画,主要反映系统的动态结构。 制流的创建、销毁、通信 内容:描述 进程、线程和中断服务程序的创建和销毁,以及多条控制流之间的通信关系的定义。 意义:一旦引入了多条控制流,附加工作就产生了 此时控制流的创建和销毁、 21 以及控制流之间的通信关系往往是必须考虑的。 锁设计 内容:系统中有多条控制流在同时运行的情况下,一个经典问题是多于一条控制流可能会同时修改某些数据结构,而造成数据的不一致。为此,架构师需要关注加锁设计,合理引入临界区或同步机制。 意义:加锁设计事关系统的正确性。值得注意的是,忽略加锁设计造成的问题往往以“不易重现的 形式出现,困惑的程序员会 对测试人员说,“你看你报的我机器上根本就不存在呀”。 参考:对通用组件、通用模块的设计而言,加锁设计应予以专门关注,思维要点是研究未来通用模块的各种可能使用场景。 8. 物理架构视图 关注点:此架构设计视图的关注点是物理节点( 布,以及软件到硬件的具体映射关系。 注意:物理节点即可以是 或服务器,也可以是单片机、单板机或专用机,从而物理架构视图既适用于描述企业信息系统,也适合于描述嵌入式软件系统。 理拓扑 内容:一为硬件选型,二为硬件之间的拓扑连接关系。 意义:对于 分布式系统的设计,此节极为重要、而且是必须的。 参考:下图是某企业级系统的物理拓扑图。 说明 :本文档模板由 构设计专家组荣耀发布,详细技术支持请访问。 22 参考:下图是某嵌入式系统的物理拓扑图。 件到硬件的映射 内容:明确每个物理节点上有哪些(一到多个)软件的目标单元,并说明具体的“映射方式”是安装、是部署、还是烧写、抑或是下 载。 意义:如果把此节漏了,就无法表明本文档的主题 软件系统 和上述硬件、硬件拓扑的关系。 参考:下图所示为设备调试系统中,软件到硬件的映射关系。 23 化部署 内容:为达降低成本、提高性能和可靠性等等目标,应特别关注的部署考虑。 意义:物理架构设计的优劣,造成的成本差异和质量差异,可能是天壤之别。所以必须重视。 参考:下图展示的,是 法重点推荐的“物理架构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司每月娱乐活动方案
- 公司组织义工活动方案
- 公司组建舞蹈队活动方案
- 公司研学策划方案
- 公司组织烧烤策划方案
- 公司派对活动方案
- 公司节后收心会活动方案
- 2025年心理健康教育辅导考试试题及答案
- 滨海生态补偿机制-洞察及研究
- 2025年食品科学与工程专业考试试卷及答案
- 第四版(2025)国际压力性损伤溃疡预防和治疗临床指南解读
- 山东省2024年艺术类专科批美术与设计类第1次志愿投档情况表(公布)
- 《道德经》的智慧启示智慧树知到期末考试答案2024年
- 工作作风方面和问题和不足(宗旨意识和群众感情淡漠脱离群众、脱离实际调查研究不经常、不深入)15篇
- GB∕T 2518-2019 连续热镀锌和锌合金镀层钢板及钢带
- 土地项目测算表_模板
- 教育培训机构辅导老师月度绩效考核表(KPI)
- 立式水轮机组轴线调整及导轴承的间隙分配ppt课件
- 华星全站仪使用说明书-
- 专项审计报告模板(青岛市高新技术企业认定专用)
- 成都市所有的药房.doc
评论
0/150
提交评论