【2610架构】04 软件架构复用大家好,我是轩辕,我们通过一系列内容学习软件架构设计师相关内容,这一篇重点学习软件架构复用相关内容等。1.5. 软件架构复用(★★)
1.软件架构复用的定义及分类
软件产品线:一组共享核心资产的软件系统,通过复用核心资产(如架构、设计方案、测试计划等)提高开发效率、降低成本、缩短上市时间。软件复用:通过开发、分类、修改和管理软件实体,使其在不同系统中重复使用,提高开发效率和质量。♦机会复用:在开发过程中发现可复用资产即进行复用。2.软件架构复用的对象及形式
需求:相似系统间的需求可复用(如网上银行vs. 柜面交易)。架构设计:复用经过验证的架构可减少设计时间与风险。元素(组件):不仅是代码复用,还包括可行设计方案。建模与分析:如性能分析、容错方案、负载均衡方案等。项目规划:复用已有项目的预算、进度、团队安排等经验。过程、方法与工具:建立可复用的编码标准、开发流程等。人员:培训后的开发人员适用于整个产品线的多个产品。缺陷消除:复用已发现并修复的缺陷,提高新系统质量。复用形式:函数、库(C/C++)、类、接口、包等,趋势是从小粒度向大粒度发展。3.软件架构复用的基本过程(★★★)
(1)获取可复用的软件资产:确保资产可靠、可广泛使用、易理解和修改。构件库(Component Library):存储、管理、检索和维护复用构件。关键问题:构件分类(按特定方式组织构件)、构件检索(快速查找符合需求的构件)。获取需求→ 检索复用库 → 选取可复用资产 → 修改、扩展、配置 → 组装、集成形成最终系统。软件架构复用的基本过程1.6. DSSA(领域特定软件体系结构)(★★★★)
DSSA(Domain Specific Software Architecture)是为特定应用领域提供标准化软件体系结构的一种方法。其核心目的是在某个特定领域内,为一组相关应用提供可复用的架构模式和构件组织方式。1.DSSA的核心特征
DSSA 的定义和描述虽然各有不同,但其具有以下几个必备特征:严格定义的问题域和解域:明确指定适用范围和所要解决的问题。对领域构件组织模型的恰当抽象:形成可复用的软件架构模式。可重用元素:包括固定的、典型的领域内可重用开发组件。2.DSSA的领域分类
针对特定系统族,定义一组通用的软件架构。适用于某个成熟、稳定的领域,但构建难度较大。涉及多个系统和系统族的共有功能部分。主要在子系统级别上进行功能复用,更易形成一致的解决方案。3.DSSA的基本活动
♦识别信息源,如现有系统、技术文献、专家意见、市场分析等。♦选取样本系统,分析共性和变化性需求,构建领域模型。主要目标:获得DSSA,提供多个系统的通用解决方案。♦设计具有变更适应性的架构,如可选(Optional)和多选一(Alternative)方案。主要目标:依据领域模型和DSSA开发和组织可重用信息。支持软件复用。注意:DSSA 过程是迭代的,需不断优化和调整每个阶段的成果。4.DSSA的人员角色
可能包括该领域中系统的有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等。职责:提供领域知识,确保领域模型和DSSA 的合理性。要求:熟悉领域内系统的需求、设计、实现及未来发展方向。职责:负责领域分析,构建领域模型。获取和组织领域知识,维护模型的一致性。要求:熟悉软件重用、领域分析方法、知识获取技术。具备抽象建模能力和良好的沟通能力。职责:负责DSSA 设计,确保其准确性和一致性。关联领域模型与 DSSA,形成架构标准。职责:开发或提取可重用构件,验证其可用性。建立DSSA 与可重用构件的联系。5.DSSA的建立过程(★★★★)
DSSA 的建立过程是一个并发的、递归的、反复的过程,是螺旋模型,需要不断迭代以增加细节。确定所研究领域的边界,明确感兴趣的领域内容和过程终止条件。识别领域内应用之间的共性和差异性,增加高层模型的细节。识别影响设计和实现的约束条件,并记录这些约束对决策的影响。设计通用的体系结构,明确各模块或构件的语法和语义。形成DSSA 结构,确保其适应该领域内多个系统的需求。开发或提取可重用构件,形成可用于新应用开发的可重用基础设施。图- DSSA 的三层次系统模型
感谢大家长期以来的支持,有任何问题或想了解更多关于架构、系分、高项、软设的内容,直接私信我。我们快来一起进步吧!
软考学习,请关注公众号,进群加微信
私信:架构、系分、高项、软设