1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 软考·系统架构师论文——论基于架构的软件设计方法及应用

软考·系统架构师论文——论基于架构的软件设计方法及应用

时间:2019-10-08 17:29:25

相关推荐

软考·系统架构师论文——论基于架构的软件设计方法及应用

文章目录

说明摘要过渡项目背景论点理论+实践结尾

说明

1、【摘要 300~330字】

① 项目介绍:时间、项目名、项目主要功能简述、作者角色及工作内容

② 项目技术简介:正文理论/分论点的浓缩和精华,注意行文格式

③ 项目效果:简述上线效果

2、【项目背景 400~600字】

① 引言:项目由来/缘起/定位/目标,主要介绍项目的前提和诞生的背景,注意戴帽子要适可而止

② 项目主要内容:简要介绍,不是摘要中简单的重复,应比摘要稍详细,注意5W2h的次序可根据行文而定

when:何时,近三年项目(体现技术先进性),工期建议半年至1年

where:何地,脱敏,某省/某市

who:甲乙方、作者,甲方名称脱敏,乙方称“我司/我单位/我厂/我公司”

why:为何立项,项目建设目的

what:项目名、项目内容、作者的工作内容

how much:项目预算,不宜太小,不能太大,400~100W

how:作者采用的技术/方法

3、【过渡 50~100字】

① 关键需求:客户需求/项目特征/约束…

② 作者分析后识别出的问题,需要怎么解决,引出下文

4、【理论/分论点 500~600字】

① 紧扣题干要求:一般是对题干2的应答,注意要写成一段,但需要有明显的标识。行文需要注意格式,分论点之间用分号隔开

② 逐点回答:分论点的基本概念、基本原理、应用场景、简单举例即可,无关内容不要赘述

③ 惜字如金:注意控制字数,不要挤占实践部分

5、【实践部分 1000~1200左右】

① 结构上:与理论部分相呼应对应,最好保持一致

② 分论点标题:最好拟一个小标题,注意小标题的行文格式

③ 分论点内容:先识别问题,阐述why;然后分析/设计/解决问题,阐述how;再阐述效果

6、【结尾 300~400字】

① 项目效果:呼应论点、上线、稳定运行、获得好评、下一步计划…

② 存在的问题:阐述小问题,且已解决的

③ 收获/反思/复盘:甲乙方、个人、团队

摘要

年 5 月,我司中标了某一线城市大型物流公司的物流信息管理项目。项目包括仓储管理、运输管理、财务管理、订单管理、BI等多个子系统。在此项目中本人有幸担任架构师,负责系统架构、系统设计等工作,根据系统的总体需求明确,但底层需求尚不确定的特点,因地制宜实施了基于架构的软件设计方法(ABSD),设计并实现了物流信息管理系统。本文以此项目为例,详细说明了基于ABSD方法的开发模型划分的架构需求、设计、文档化、复审、实现和演化6个阶段和各阶段的主要活动以及在项目中的具体实践过程。得益于ABSD方法和开发模型,该项目已稳定运行两年多,经受了两次的双十一活动的考验,获得了业主单位的一致好评。

过渡

在经济全球化和电子商务的双重推动下,物流业正在从传统物流向现代物流迅速转型并成为当前物流业发展的必然趋势。在系统工程思想的指导下,以信息技术为核心,强化资源整合和物流全过程优化是现代物流的最本质特征。通过使用计算机技术、通信技术、网络技术等手段,建立物流信息化管理,以提高物流信息的处理和传递速度,提升更人性化的服务,完善实时物流跟踪,减少物流成本。

项目背景

年 5 月,我有幸参加了某物流公司的物流信息管理项目,项目由多个子系统组成,包括仓储管理、运输管理、财务管理、订单管理、BI等多个子系统,业务规模较大、功能需求较多。项目的目的是打造物流公司内外部各作业环节的信息化、可视化和一体化。通过对物流信息的收集、存储、传递和处理,达到对物流活动控制和管理,帮助企业进行信息分析以及决策支持,加快对市场的反应速度。本人作为系统架构师,参与了系统规划、需求分析、系统设计、系统开发和系统实施等过程,主要负责系统架构设计的工作。通过与关键干系人多轮次的沟通交流,我充分认识到业主方总体需求明确,但底层需求尚不确定,因此可以从一开始就着手架构的总体设计,来进一步驱动商业、质量、功能的需求分析和实现工作,因此项目组决定采用 ABSD 设计方法,并选择基于 ABSD 的开发模型来组织工作。基于 ABSD 的开发模型把整个软件过程划分为需求、设计、文档化、复审、实现和演化等 6 个阶段。下面重点阐述ABSD 方法各阶段和活动以及我在本项目中实践 ABSD 的过程。

论点理论+实践

一、体系结构的需求阶段主要是明确用户对系统在功能、 行为、性能、设计约束等方面的期望,包括需求获取、标识构件和架构评审。具体实施如下:1、需求获取:项目组通过用户访谈、联合需求计划的方式,获取项目的大量需求,包括仓储作业、运输作业、用户下单,绘制了用例图。2、标识构件。为了分析需求得到构件,采用了面向对象的分析方法,识别每个用例中的业务实体并绘制了类图。比如仓库配置类、货品类、库存类, 并将它们打包为仓储构件。用户信息类、用户角色类打包为用户构件。运单类、车辆类、配载类打包为运输构件。 3、需求评审。完成需求收集和分析的工作后,邀请业主方及项目组主要成员开需求评审会,针对设置的每个构件以及构件中每个类之间的关系,进行需求评审,确保了需求的准确和完整。

二、体系结构的设计阶段根据需求生成并调整架构决策,包括提出架构模型、映射构件、分析构件相互作用、产生架构和评审体系结构。具体实施如下:1、提出软件体系结构模型:在初期选择一个合适的体系结构风格是首要的。项目中子系统之间有许多协同作用,又是相互依赖的,同时从用户层面系统分为三个端:后台系统管理端、客户端、司机端,系统用户量较多,为确保系统的可用性和日后的扩展性,我们选择微服务架构风格。2、把已标识的构件映射到软件体系结构中:在需求过程中识别的仓储、用户、运输等业务构件,可被视为微服务中的单个独立服务。3、分析构件之间的相互作用:在项目中,每个业务构件都作为业务子流程的参与者, 例如用户需要在用户构件进行登录,仓储构件访问用户构件获取用户数据, 运输构件访问仓库构件获取运单中的货品等。4、产生软件体系结构和设计评审: 确定了关键构件之间的关系和作用,架构得到进一步细化,并绘制了细化的架构图,因此我们邀请了所有的开发工程师一起参与架构的评审工作,得到了大家的认可。

三 、体系结构文档化和体系结构复审。文档化阶段对架构设计分析与整理,产生架构规格说明书和架构质量说明书;复审阶段评价架构能否满足需求与实现质量属性、层次构件划分是否合理,标识潜在的风险,及早发现设计中的缺陷错误。经过前面的工作,我们得到了确定的架构模型,我们针对得到的架 构以及标志的模型构件做形式化的描述,并写成体系结构规格说明书和质量设计说明书,并邀请项目组产 品、测试、开发、运维等项目组主要同事,以及业主方代表和领域专家等,一起来做体系结构复审。来进 一步识别潜在的风险,发现设计中的缺陷和错误。比如业务需求、质量需求是否能够满足,构件划分是否合理,文档表达是否清晰等。

四、体系结构实现阶段对架构进行实现,包括架构分析与设计、构件实现、组装和系统测试。这个阶段要根据复审后的体系结构说明书为基础,来实现体系结构中的每个构件。具体实施如下:1、分析与设计:由于在体系结构说明书中详细定义了构件的约束以及构件之间的 关系,这为我们对构件的分析、选型和决策提供了依据。2、构件实现:构件实现手段主要有利用已有项目可复用的模块作为构件、使用开源构件、购买商业构件、自己研发构件。由于我公司承接的项目比较丰富,早已积累了很多成熟的可复用的构件。比如我公司由之前的项目抽取出了可复用的“用户构件”,可以直接拿过来使用。3、构件组装:构件选型之后,就交 给开发人员进行组装,组装可以通过工具组装,但在本项目具有其本身独特性,所以还需要编写必要的代 码来做构件的集成。

五、体系结构演化阶段主要解决开发中用户需求变更问题,包括架构演化计划、 构件变动、更新构件相互作用、构件组装测试与技术评审。在项目过程中,用户的需求可能还有新增或变动,所以就要有演化阶段。它包含 5 个主要的工作。1、需求变化归类:要识别出需求变化会影响哪些构件,并标识它们。2、制定体系结构演 化计划:做好版本迭代计划,是项目中比较重要的工作。3、增删改构件以及更新构件的相互作用。4、构件重新组装与测试。5、技术评审。

结尾

得益于ABSD方法,项目组在时间紧、任务重、跨多部门的前提条件下,经过 6 个月的艰苦奋战研发,保质保量地按期完成项目交付,目前已稳定运行 2 年。该项目支撑了物流公司的核心业务,项目运行可靠,各项功能和性能指标超过客户预期,连续两年经受了双十一活动的考验,深受客户好评。在项目开发过程中也存在不足之处,由于系统被拆分了多个服务,同时还存在多个中间件,在初期需要登录多个服务器进行部署,操作繁琐复杂,后面通过Docker和Jenkins实现了自动化部署,减少了运维成本。经过本项目的实践,我系统架构能力也得到了提高。路漫漫兮其修远,吾将上下而求索,我将在未来的系统架构师一路走下去,在今后的项目开发工作中仍需要不断的总结和提升架构能力。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。