系统架构师论文-论基于架构的软件设计方法及应用.pdf
计算机技术与软件专业技术资格(水平)考试
论题:论基于架构的软件设计方法及应用
基于架构的软件设计(Architecture-BasedSoftwareDesign,ABSD)方法以构成软件架构的商业、质量和
功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件
系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构
模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一
些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间
内明确的软件项目提供指导。
请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。
2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些
主要活动?
3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。
论基于架构的软件设计方法及应用
摘要
本文以我参与的某公司“酒业上云”项目为例,论述了基于架构的软件开发方法及应用。该项目的目标是
构建以某酒厂生产的白酒产品为主的电子商城,实现该白酒厂商的线下营销升级为在线营销的战略目标,
包括线上抢购、支付、线下原厂配送、防伪溯源等一系列电子商务功能。在此项目中,我作为系统架构师
及主要管理人员,主导了该项目的需求开发、系统架构设计等工作。在项目中根据系统的特点,因地制宜
51CTO软考教研团队出品软考高级-系统架构设计师
计算机技术与软件专业技术资格(水平)考试
地实施了基于架构的软件设计方法(ABSD),在项目中不能预先决定所有需求时,即开始总体功能框架的
设计,并在项目的自顶向下、递归细化的过程中,仔细考量和运用架构模板,复用成熟的构件,以期实现
项目要求的质量和商业需求,保证了业主方对于项目各项指标的实现,项目取得了成功。
正文
近年来,随着互联网科技的发展,中国电子商务发展迅速,变得和我们日常生活息息相关,也受到了越来
越多的企业的关注。2021年下半年,某著名酒业公司决定发展电子商城及线上促销业务,发起了“酒业上
云项目”,实现线上抢购、支付、线下原厂配送、防伪溯源等电子商务功能。该项目投资3000万,计划6
个月完成,并对项目进行了公开招标,我公司成功中标。为此2021年10月,我作为该项目的系统架构师,
全面负责酒业上云项目的架构设计工作,并在项目中采用了基于架构的软件设计方法,得到了项目组成员
和公司高层的认可。下面重点阐述我在本项目中实践ABSD的思路及实践过程。
ABSD方法是一个自顶向下,递归细化的方法,软件系统的架构通过该方法得到细化,直到能产生软件构
件和类。所以它是体系结构驱动的,即构成体系结构的商业、质量、功能需求的组合驱动的。使用ABSD
方法,设计活动从项目总体功能框架明确就开始,与需求获取和分析并列进行,特别是在不可能预先决定
所有需求时,快速开始设计是至关重要的。ABSD方法有三个基础:1、功能的分解;2、通过选择架构风
格来实现质量和商业需求;3、软件模板和构件的复用。
在项目之初,经过前期需求对接,我充分认识到:酒业上云项目是一个业主方总体需求明确,但底层需求
尚不确定的项目。而我公司对于各类商城的建设经验丰富,积累了大量可复用的业务构件,具备经验丰富
的商城领域专家和领域工程师。因此可以从一开始就着手架构的总体设计,来进一步驱动商业、质量、功
能的需求分析和实现工作。这些具备的有利条件非常匹配采用ABSD设计方法的前提,因此项目组决定采
用ABSD设计方法,并选择基于ABSD的开发模型来组织工作。基于ABSD的开发模型把整个软件过程划
分为需求、设计、文档化、复审、实现和演化等6个子过程。下文将从ABSD开发模型的每个过程来分述
ABSD设计方法的应用。
51CTO软考教研团队出品软考高级-系统架构设计师