【系统架构设计师】论基于架构的软件设计方法(ABSD)及应用 文章目录题目范例摘要部分正文部分题目基于架构的软件设计Architecture-Based Software Design, ABSD方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下递归细化的软件开发方法它以软件系统功能的分解为基础通过选择架构风格实现质量和商业需求并强调在架构设计过程中使用软件架构模板。采用ABSD方法设计活动可以从项目总体功能框架明确后就开始因此该方法特别适用于开发一些不能预先决定所有需求的软件系统如软件产品线系统或长生命周期系统等也可为需求不能在短时间内明确的软件项目提供指导。请围绕“基于架构的软件开发方法及应用”论题依次从以下三个方面进行论述。概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。结合项目实际详细说明采用ABSD方法进行软件开发时需要经历哪些开发阶段每个阶段包括哪些主要活动阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。范例摘要部分x年x月某集团公司开始了x系统的开发该系统主要实现x等功能。主要包括x等主要功能模块。我在该系统中担任系统架构师主要负责该系统的架构设计工作。本文以该系统为例主要论述了基于架构的软件设计方法在该系统中的具体应用。在架构需求阶段以构件图、包图、类图和对象图描述系统结构为系统整体的上层结构进行建模在架构复审阶段采用架构权衡分析法来对架构设计方案进行复审以应对评估质量属性的满足程度问题在架构演化阶段采用需求变动管理工具对收集的需求进行归类以应对需求变动管理问题。经过多轮迭代演化本系统最终顺利上线并运行稳定获得用户一致好评。【注意实际写作中相关项目情况应介绍清楚摘要字数包括标点符号一般写到300到320字】正文部分某集团公司为了应对*因此研发系统。【项目背景内容可分2段写第1段简要说明下项目来龙去脉】该项目在年月正式启动旨在通过**优化**。我在该项目中担任架构师并负责整体系统的架构设计工作。本系统主要由等主要模块构成。此外该系统能通过得到。**从而最终实现加强集团公司在银行业的竞争力的目的。【第2段对系统整体情况进行细致介绍项目背景第1、2段内容可以写到400到450字】基于架构的软件设计方法简称ABSD方法主要包含了架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。其中架构需求主要包含了需求获取、标识构件、需求评审等活动。架构设计主要包括提出架构模型、映射构件、分析构件相互作用、产生架构、设计评审等活动。架构文档化用于把架构设计的成果进行分析与整理并进行文档化。架构复审用于对架构设计进行复审并标识其中潜在的风险、缺陷和错误。架构实现包括了架构分析与设计、构件实现、构件组装、系统测试等活动。架构演化主要活动包括需求变化归类、架构演化计划、构件变动、更新构件的相互作用、构件组装与测试、技术评审等活动。考虑项目建立初期的需求不稳定且后续的需要应对大量的新需要我们决定使用ABSD方法来对系统进行构建与演进。下面将着重描述ABSD方法在本项目应用过程中所遇到的问题和采取的应对方案。一、架构需求阶段以构件图、包图、类图和对象图描述系统结构为了应对架构需求阶段描述系统架构结构的问题我们在标识构件活动中使用构件图、类图等来对系统的整体结构进行建模实现了通过标识构件活动描述架构结构的目的。首先我们根据获取的需求以类图和包图的形式为系统的下层结构进行建模。若某个构件的业务构成较为复杂则以对象图进行辅助说明。然后我们对这些类图和包图进行分组从而拟定构件的边界。接着我们安排项目负责人基于上一步得出的类图和包图的分组并以需求获取活动得到的会议记录和用例图作为辅助使用构件图设计出需要的构件再使用这些构件为系统整体的上层结构进行建模。最后我们使用《需求构件关系表》标识并记录构件与需求之间的关系用以指导后续的工作。通过这个方案我们在标识构件活动中使用构件图、包图、类图等结构更为清晰的视图为系统的整体结构建立了一个更为稳定的基线从而达到了提升需求到系统设计的转化效率的效果。二、架构复审阶段使用ATAM对架构的质量属性进行复审为了应对对架构设计方案的质量属性满足程度进行评估的问题我们在架构复审阶段使用架构权衡分析法简称ATAM来对文档化后的设计方案进行复审从而实现了确定非功能性需求在本系统的架构设计中是否得到满足的效果。首先考虑到参与ATAM会议的与会人员来自于不同领域的部门为了便于会议的进行我们在ATAM的描述和介绍阶段中为相关人员提供ATAM评估方法、系统业务动机和架构整体设计作为知识基础。然后我们在ATAM的调查和分析阶段中使用基于质量属性的评估方法如建立质量效用树等对系统架构满足非功能需求的情况进行评估。接着我们在ATAM的测试阶段中基于场景的验证方案来对上一步评估结果进行验证从而通过质量场景和场景的优先级对架构方案进行调整。通过这个方案我们在架构复审阶段中使用ATAM来为架构设计方案的质量属性进行评估从而确定非功能需求在架构设计中的满足程度并通过质量场景调整架构方案的目的。三、架构演化阶段对需求变化进行归类为了应对架构演化阶段的需求变动管理问题我们在需求变化归类活动中使用数个工具对收集的需求变动进行整理与分类实现了对需求变动与构件之间的关系进行管理的目的。首先我们把新的需立起关系时我们可以通过上次迭代生成的《需求构件关系表》和《开发工作登记表》推导出新需求变动与系统已有构件及这些构件的开发人员的对应关系。然后把新需求与系统中已有构件和候选处理人员的对应关系回填到《需求功能关系表》中。而当某个新需求的需求点和日需求无法建立起关系时我们直接把新需求写到《需求构件关系表》中并标记为新增。然后我们再通过召开相关干系人的会议议定每个变动的实现优先级和跟进人员。通过这个方案我们不但达到了对需求变动与构件之间的关系进行管理的目的,还能划定较适合处理这些需求变动的候选人名单以指导后续工作之用。由于使用了以上ABSD 方法来对项目进行开发与演进该系统改进工作十分顺利经过多轮迭代演化本系统最终于““年““月顺利上线并运行稳定用户普遍反馈功能可以满足工作需要且使用体验良好。实践证明ABSD 方法适用于该项目的变动管理。然而我们在应用 ABSD 方法的过程中还存在着一些不足如我们发现因人手更替导致一些构件的跟进人员产生变动这将会产生额外的学习成本。因此我们决定在后续的化中每个构件都需要维护一份更详尽易懂的文档并在技术评审阶段对本轮选代中的这些文档进行审核来缓解这个问题通过本次项目我认识到紧贴业务需求、数据和开发小组的构成情况来选择具体的软件设计方法将会大大地影响一个项目的演进能力。而在选定软件设计方法后并不意味着结束通过对方法的细节进行不断改进将是项目成功的关键。