软考架构师论文:论基于架构的软件设计方法及应用

论基于架构的软件设计方法及应用

要:

xxxx年x月,我参加了xxx系统的规划、设计及开发,并担任系统架构设计师,主要完成需求分析、架构设计、核心代码开发等工作。该项目是xxx的项目,合同金额是xxx万,建设工期为x个月。该项目的目标是对xxx。该项目的特点是xxx。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统。在实际的项目中,我们采用了ABSD方法,在项目不能预先确定所有需求时,就开始架构设计,然后自顶向下、递归细化,仔细考量和运用软件架构模板,实现了项目要求的质量和商业需求。项目完成得十分顺利,基本达到了预期的目标,得到了客户和我方领导的肯定。

正文:

xxx(背景介绍)xxx进行公开招标。我司成功中标,合同金额是xxx万,建设工期为x个月。该项目团队有xx人,包括项目经理、系统架构设计师、开发人员、测试人员等,我有幸担任该项目的系统架构设计师,负责项目的需求分析、架构设计、核心代码开发等工作。

xxx(系统介绍和特点)。

ABSD以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。

在项目之初,通过前期的需求调研,我们认识到客户对项目总体需求明确,但具体需求比如xxx并不是很清晰,比较适合采用ABSD方法,可以从一开始就着手架构的总体设计,来进一步驱动商业、质量、功能的需求分析和实现工作。因此我们决定采用ABSD设计方法,并基于ABSD的开发模型组织工作。ABSD开发模型把整个基于架构的软件过程划分为架构需求、设计、文档化、复审、实现和演化6个开发阶段,下面将结合项目实际介绍这6个开发阶段进行的活动。

  • 架构需求阶段。本阶段过程包括需求获取、标识构件、架构需求评审。首先,我们对客户的需求进行了深入地调研,整理输出了详细的调研报告。客户需要xxx。除了功能需求外,还有一些非功能性的质量属性要求,比如可修改性方面,需要对xxx。然后我们生成了类图,对类进行分组,把类打包成构件,标识了xxx等构件。最后我们组织了架构需求评审,邀请了客户代表、项目经理、系统架构设计师、测试人员等参加,对需求和构件进行了仔细地审查,最终参会人员一致同意了架构需求。
  • 架构设计阶段。本阶段过程包括提出软件模型、把已标识的构件映射到架构模型中、分析构件之间的相互作用、产生软件架构、设计评审。我们首先提出了软件架构模型,根据xxx特性,尽量将修改的影响限制在比较小的范围,决定采用分层的架构风格,将系统分为展示层、业务层、服务层、存储层。然后将架构需求阶段标识的构建映射到分层架构中,展示层负责给用户提供系统使用界面,使用JavaScript + Vue框架。业务层通过调用服务层提供的功能实现具体的业务,架构需求阶段标识的应用管理构件属于这一层,包括xxx等,使用Java + Spring Boot框架。服务层提供xxx等基础功能,架构需求阶段标识的xxx属于这一层,使用Java + Spring Boot框架,流程管理基于构件activiti开发。存储层采用MySQL主从架构实现读写分离,既提高了数据库读写性能,又保证了数据的备份。接着我们分析了构件之间的相互作用,业务层和服务层的构件之间通过HTTP + Rest API接口进行交互,构件修改只要保证API不变,就不会影响其它构件,达到了解耦的目的,存储层采用MyBatis作为ORM工具供上层构件使用数据库,提高了开发和维护效率。我们完成架构设计后,组织了项目经理、产品经理、测试人员等对架构进行了评审。
  • 架构文档化阶段和复审阶段。我们从使用者的角度编写了体系结构的规格说明和测试体系结构需求的质量设计说明书,对架构和需求模型构件做了精确的形式化的描述。然后组织了客户代表、公司的技术总监和专家对架构进行复审。复审过程中我们收集了各方的改进建议,例如公司技术总监提出公司已经有了成熟的xxx构件,可以直接使用节省开发时间和成本。最终架构设计得到了各方的认可。
  • 架构实现阶段。本阶段是以复审后的体系结构的规格说明书为基础,过程包括分析和设计、构件实现、构件组装、系统测试。我们首先对实现进行分析和设计,分析得出xxx构件、xxx构件可以从构件库中直接获取使用,流程管理构件的流程引擎部分可以使用activiti构件,基于activiti构件开发流程管理的其它功能。然后进行构件实现,实现过程中在保证功能正确实现的前提下,遵循了编程规范,运用了设计模式,保证代码的可读性、可扩展性和可维护性。接着进行构件组装,进行构件之间接口调用的调试。最后进行了系统测试,对每个构件的功能、系统整体功能和性能都做了详细的测试。系统经过测试没有问题后,顺利完成了系统的初版交付。
  • 架构演化阶段。本阶段是使用系统演化步骤去修改应用,以满足新的需求,包括需求变化归类,制定体系结构演化计划,修改、增加或删除构件,更新构件的相互作用,构件组装与测试,技术评审6个步骤。xxx系统上线后,客户提出xxx,我们分析后决定在业务层加入xxx统计构件,对原来的构件没有任何影响,实现测试后满足了客户的需求。

    通过使用ABSD方法,xxx系统按时完成上线,试运行3个月后顺利通过客户的验收。由于架构合理,把握并满足了客户的功能、可修改性、可用性方面的核心要求,得到了客户和我司领导的好评。但是,我们仍然不满足现状,发现了第一版中存在的不足,比如xxx。我们将在后续的版本中按照架构演化阶段的过程进行修改。

培训老师对本文的点评:

你这篇没有问题,结构思路都很清晰不用改,写别的题目吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值