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

打印 上一主题 下一主题

主题 1940|帖子 1940|积分 5820

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

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

要:
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。我们将在后续的版本中按照架构演化阶段的过程举行修改。

培训老师对本文的点评:
你这篇没有问题,结构思绪都很清晰不用改,写别的标题吧。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表