文章目录

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

说明

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字】
① 项目效果:呼应论点、上线、稳定运行、获得好评、下一步计划…
② 存在的问题:阐述小问题,且已解决的
③ 收获/反思/复盘:甲乙方、个人、团队

摘要

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

过渡

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

项目背景

2020 年 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实现了自动化部署,减少了运维成本。经过本项目的实践,我系统架构能力也得到了提高。路漫漫兮其修远,吾将上下而求索,我将在未来的系统架构师一路走下去,在今后的项目开发工作中仍需要不断的总结和提升架构能力。

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

  1. 系统架构师论文-论基于构件的软件开发(测井资料处理与解释集成软件)

    论基于构件的软件开发 –测井资料处理与解释集成软件 [摘要] 去年初,单位承担了新立的"测井资料处理与解释集成软件"项目,目的是集成目前国内零敬的测井解释方法,我有幸参加该项目,并 ...

  2. 系统架构师论文-论基于构件的软件开发

    论基于构件的软件开发 [摘要] 本文以我主持的某商业银行交易监控分析系统项目为实例,探讨了作为开发方公司基于构件技术开发项目碰到的问题以及解决的方法.文章首先解释了基于构件技术开发软件的基本概念,认为 ...

  3. 软考信息系统项目管理师论文真题及答案

    "2018年11月软考信息系统项目管理师真题及答案(论文)"供考生参考. 试题一 论信系统项目的沟通管理 项目沟通管理:是产生.收集.分发.存储及最终处理项目信息的过程.项吕经理需 ...

  4. 软考-信息系统项目管理师-论文

    论文万能模板 信息系统项目管理师论文一般要求总字数达到3000字左右.(其中摘要字数要求不少于200字,控制在400字左右即可:征文要求在2500字左右,如果有结束语,结束语控制在200字左右) 下面 ...

  5. 软考信息系统项目管理师论文写作技巧总结

    2020年软考考试的日子越来越近,论文写作作为高级资格考试的难项,你都有做好准备吗?这里为大家整理好了信息系统项目管理师论文写作技巧总结,需要的朋友,拿走不用谢. 1.信息系统项目管理师论文写作思路 ...

  6. 软考信息系统项目管理师论文备考工作

    在我国计算机技术与软件资格(水平)考试中的四类高级证书当中,系统分析师和信息系统项目管理师是具有代表性的两类,系统分析师代表了计算机工程领域的理论和技术水平,而信息系统项目管理师则代表了计算机信息系统 ...

  7. 软考 信息系统项目管理师论文怎么写

    信息系统项目管理师考试考点多且杂,考试难度很大,其中最难的是论文写作.信息系统项目管理师论文怎么写才能合格呢?下面为大家整理信息系统项目管理师论文写作技巧,希望能给各位考生一点帮助. 1.论文格式要求 ...

  8. 2023软考信息系统项目管理师论文写作

    2023年上半年信息系统项目管理师考试时间为5月27日,其中论文科目的考试时间是5月27日下午15:30-17:30,一共2个小时.为了方便大家进行论文写作练习,了解论文写作要求,给大家整理了一些写作 ...

  9. 【软考系统架构设计师】2017下系统架构师综合知识历年真题

    [软考系统架构设计师]2017下系统架构师综合知识历年真题 [2017下架构真题第01题:绿色] 01.某计算机系统采用5级流水线结构执行指令,设每条指令的执行由取指令(2Δt).分析指令(1Δt). ...

最新文章

  1. 智能J IDEA键盘快捷键
  2. 行政编码json_基于FME国内县级及以上网络公开行政区划边界的获取
  3. Effective Dart 文档注释在Flutter项目中的实践
  4. 使用BeetleX在Linux下部署.NET多站点服务
  5. Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转......
  6. 读《你的灯亮这么》---走出问题的乌托邦
  7. SpringBoot自动装配原理与自己写一个starter
  8. 光学仿真(python菲涅尔公式)
  9. 命令行工具解析Crash文件,dSYM文件进行符号化
  10. 奇迹mu开服教程:服务端的架设及开服注意事项
  11. 利用公式给 Excel 单元格设置条件格式 - 以日期中的月份为例
  12. 打开html文件很卡,网页打开很慢是什么原因【解决办法】
  13. java实现12306查票_GitHub - HendSame/J12306: 12306抢票程序JAVA版
  14. 微信公众号生成临时二维码
  15. 使用孪生网络和零样本学习进行文本分类
  16. 内部存储空间不足_手机存储空间不足教你快速解决
  17. C语言变量常量,基本数据类型及数据类型转换详讲
  18. 终极解决-office应用商店打不开!!!
  19. CSS层级小技巧!如何在滚动时自动添加头部阴影?
  20. 【JD1-100漏电继电器】

热门文章

  1. 滤波时选用电感,电容值的方法
  2. 清华大学智班首席教授姚期智:求解人工智能的中国答案
  3. LeetCode-1279. 红绿灯路口
  4. 运维之道 | Samba 文件共享传输服务(匿名用户访问、指定用户访问、共享账号映射访问)
  5. Java强引用、软引用、弱引用、虚引用有什么区别?
  6. android英语笔记二
  7. 服务器c盘logs文件夹,Win10系统Logs文件夹可以删除吗
  8. HAProxy页面参数解释
  9. Webview的奇技淫巧-总结篇
  10. VR虚拟现实场景制作公司