架构师的形成一定是在实践中积累起来的 , 而并非上了几次培训班 , 读了几本书就可以成功的 , 架构师是在工程实践中培养出来的!
2.架构师的作用是什么? 架构师在整个软件系统开发过程中都起着重要的作用 , 并随着开发进程的推进而其职责或关注点不断地变化 。
1.按软件开发过程维度来说:
需求阶段:软件架构师主要负责理解和管理非功能性系统需求 , 比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等 。此外 , 架构师还要经常审查和客户及市场人员所提出的需求 , 确认开发团队所提出的设计;
架构设计阶段:架构师负责对整个系统架构设计 , 制定开发规范、开发计划 , 指导整个开发团队完成这个计划 。
开发阶段:架构师则成为详细设计者和代码编写者的顾问 , 并且经常性地要举行一些技术研讨会、技术培训班等;
测试和交付阶段:协调做好相关测试和部署 。
维护阶段:软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策 。
2.按职能维度:
1 确认需求
架构师要懂得用户需求 , 理解用户真正想要什么 , 这使得架构师必须要和分析人员不断沟通 , 反复确认需求规格说明书 , 以此来保证他精准清楚用户需求 。
项目经理刘先生在受访时说:「架构师会与很多人沟通 , 例如开发人员 , 例如我们项目经理 , 有时甚至是用户本身 。架构设计的目的很明确 , 目的是什么呢?挖掘用户需求 。」
2 系统分解
在架构师认可需求规格说明书后 , 架构师已明确用户需求是什么 , 这时候就要看架构师的分解能力了 。
系统分解包括纵向分解和横向分解:
横向分解是对系统分解成不同的逻辑层 , 确定层与层之间的关系 。是指基于技术架构层次进行的人员角色分工和任务分解 。常见的分层:
应用层:主要负责具体的业务逻辑处理
服务层:提供可复用的服务
数据层:负责数据的存储和访问
分层注意事项:①必须合理规划层次边界和接口;②禁止跨层次的调用及逆向调用 。
纵向分解是将不同的功能和服务分割开来 , 包装成高内聚低耦合的模块单元 , 有助于软件开发和维护 , 还便于不同模块的分布式部署 , 提高网站的并发处理能力和功能扩展能力 。
3 技术选型
在系统分解后 , 架构师会最终形成软件整体架构 。接下来 , 架构师的职责是技术选型 。
前端到底用瘦客户端还是富客户端呢?数据库是用MySQL还是MSSQL又或是Oracle呢?在了解用户需求后 , 分解完系统后 , 技术选型是非常重要的环节 , 提出各个方向 , 再进行评估 。不过 , 很多人都以为架构师是有决定权的 , 其实不是 , 架构师没有拍板的权力 , 最终由项目经理来决定 。
推荐阅读
- 2020年11月10日潜水器叫什么名字 2020年11月10日潜水器叫啥名字
- 企业微信提示使用可信域名操作方法 可信域名配置
- 淘宝企业店铺是什么意思 淘宝企业店铺的介绍
- 2020年情人节王者荣耀会返场什么皮肤 4款皮肤可能返场
- 企业转型是什么意思
- 外贸企业出口退税申报系统怎么操作?
- 推荐3个最值得做的暴利行业 创业干什么工作最好
- 能不能看企业微信的朋友圈 可不可以看企业微信的朋友圈
- 企业微信打卡神器 企业微信考勤怎么导出来
- 如何了解一个企业的经营状况