​ 点击报名后领取>>>软考16本电子版教材 & 36本辅导教材 + 27套历年真题试卷 + 21套精编知识点6G资料包​

架构师在团队里面的角色很独特。他们不是项目经理,却确定着何时以及如何交付软件。他们不是产品经理,却要确保软件能够满足业务目标。他们也编程,但做得更多的是架构设计,而不仅仅是写算法和代码。架构师是软件开发的核心角色,肩负着与众不同的职责。

大多数架构师都是技术出身,会编程、能设计高效的算法、懂测试和部署软件,这些都是架构师必备的技能,但要从程序员成长为架构师,还需要承担一些新的职责。

定义问题

软件架构设计是一门以人为本的学科。软件的所有利益相关方都有着自己对项目的预期,因此架构师要与产品经理、项目经理一起协作,共同定义软件项目的需求与目标。

许多团队是由产品经理定义功能特性。功能需求当然很重要,但是架构师更关注质量属性。除了定义系统的质量属性,架构师还要密切关注那些影响架构设计方向的约束和特性。

在定义问题的同时考虑架构,才能确保开发出大家都满意的系统。

拆解系统,分配职责

架构师只有把软件系统进行分解,才能制定出满足质量属性和其他系统需求的策略。例如,可以指定一个组件实现用户注册功能,指定另一个组件负责识别猫的图片;这样可以分配不同的团队开发不同的模块;从而将数据读取部分从数据写入部分剥离出来,使得软件系统具备更高的可靠性、可用性、可伸缩性。

分解系统的重要性还不仅仅体现在上述方面。小对象往往更容易推演、测试、设计。当然,将系统打散之后,要确保能把它们组装回去,协同工作。

纵观全局

所有软件系统都存在于客观世界的大背景下,比如与之交互的用户、开发团队,硬件平台,甚至包括最初的开发目的,理想情况下,软件架构应该能与外围环境和谐共生。

从全局角度考虑整体系统意味着架构师需要处理的不仅仅是技术问题。人员、过程、业务需求以及其他技术和非技术因素都将影响最后的软件系统。即便是一个小小的设计决策也可能产生深远的影响。架构师必须高瞻远瞩、纵观全局,而不能只着眼于局部细节的设计。

软件设计是一个不断“挣扎”的过程,在想要达成的目标与必须接受的现实之间寻找平衡。这意味着必须深思熟虑并做出取舍。

学会取舍

假设客户要求软件具备高可用性,能够响应99.9%的请求。我们可以引入冗余元素来提高可用性。这样设计倒是简单,但有一个问题:必须采购双倍的硬件,从而成本也翻倍了。这样做就是用更高的成本换取高可用性。

放弃一些东西换取其他东西,这在软件开发中很常见。架构师要找出备选方案,再与各方一起协商如何取舍最合理。

软件系统的分解和切割也不一定那么“干净利落”。这就需要折中,也可能会犯错误。在开发系统的过程中,还会不断给架构引入技术债务。

管理技术债务

所有的软件都有技术债务。架构师知道系统是如何分解的,他们关注大局,指导划分出来的各个模块协调工作,还要将业务需求与技术决策放在一起考虑。只有这样,架构师才能游刃有余地管理技术债务。

技术债务如同一条鸿沟,一边是当前的软件系统设计,另一边是你想要的、能持续产生价值的设计。技术债务的多少可以通过填平鸿沟所需的代价衡量。技术债务就像是软件系统的副产品。出色的软件开发团队会有意引入技术债务来实现更快的交付,后续再逐步地进行偿还,从而持续地创造价值。

架构师应该指明技术债务,帮助利益相关方决定采取何种措施管理它们。

提升团队的架构技能

架构师是整个团队的导师和顾问。设计炫酷却无人理解的架构毫无意义。作为团队的架构专家,有责任向团队分享知识,让他们成功地开发出软件。

架构师应该适时地传授设计技巧和架构理念。为了传道,可以与组员结对设计,可以写文档授业、解惑,还可以提出建设性地批评。把架构设计当做一项社交活动,让团队成员都参与到设计过程中来,这是最有效地提升团队架构技能的方法。技能的提升对于团队的成败将起到决定性的作用。


文章源于网络,如有侵权,请私信文章标题联系删除,谢谢。

为了能让更多人享受软考的政策福利和现实功利,51CTO旗下软考教研团队联合薛大龙老师,认真严肃向大家推出软考2日直播特训营


扫码入群0元领取6G的软考6资料包+2天软考特训营名额


软考资料包括:软考16本电子版教材 & 36本辅导教材 + 27套历年真题试卷 + 21套精编知识点6G资料包


软件架构师要做什么?_软件开发


软考训练营名额+资料领取方式>>>

扫下方码入群后按照老师的要求操作即可领取。

软件架构师要做什么?_架构师_02


51CTO软考两天直播训练营


这门课恰好能够为你答疑解惑,助你快速入门并掌握软考知识要点,获得技能提升。为自己的职业发展规划制定一个更明确的规划,迈出升职加薪的第一步。

训练营周期为 两天直播课 晚8:00-9:00

心急的小伙伴可直接扫码解锁。

☟☟☟

2天软考直播特训营

3大必备技能

↓↓↓

限时 0 元 即可解锁

点击下方链接报名

仅限前100个名额

报名链接: ​ ​​https://edu.51cto.com/surl=oR9sp3​​​

课程涵盖:高分知识点梳理,案例分析解题方法、论文通用模板等。我们力争通过2天的直播课程,助力您快速入门并一次性通关软考!


如果你对这门课程还不太了解的话,就跟我一起往下看吧。


我们的主讲老师薛大龙老师,深耕软考教育培训20余年,主编出版软考辅导教材60余本,非常熟悉软考题目的要求、难度、以及判卷标准。


软件架构师要做什么?_软件开发_03



完成本体验营2所有课程及作业考核,学员将掌握信息系统项目管理师、系统集成项目管理工程师的高频考点及答题技巧

①掌握信息系统项目管理师知识体系

②掌握考试高分占比知识领域;

③掌握考试考情前沿分析

④掌握论文与案例超干货答题方法

⑤掌握名师对真题的独到解析


软件架构师要做什么?_软件系统_04


报名前,你还需要知道的3件事


1)课程形式

直播课程+社群学习活动


2)课程时间

报名后老师安排上课 晚8:00-9:00


3)报名后要做什么?

付费后根据提示添加学姐为好友,开营前学姐会统一拉人入群。

2天软考考证特训营

0 元 解锁课程

还可 领取「6G课程资料」

点击下方链接报名 仅限前100个名额


报名链接: ​https://edu.51cto.com/surl=oR9sp3​​​