美文网首页系统架构
0 | 软件与架构

0 | 软件与架构

作者: 不一样的卡梅利多 | 来源:发表于2020-04-30 12:03 被阅读0次

    最近学习了一下极客时间《许式伟的架构课》,主要目的是想了解一下架构师的工作内容,以及涉及到的相关技术。对自己了解到的部分做一个笔记。

    架构师与架构设计之间关系

    架构师(架构师团队)约等于 软件工程管理

    软件架构师的职责,并不单单是我们通常理解的,对软件系统进行边界划分和模块规格的定义。从根本目标来说,软件架构师要对软件工程的执行结果负责,这包括:按时按质进行软件的迭代和发布、敏捷地响应需求变更、防范软件质量风险(避免发生软件质量事故)、降低迭代维护成本。软件工程是一个非常复杂的系统工程,它同时又随时发生变化,自始至终都在迭代变化,从未停止。它是一个系统功 能,它需要依赖一个能够掌控整个工程全局的团队,来规划和引导整个系统的演变过程。这个团队就是架构师团队。软件工程的核心点就是在大量不确定因素中找到确定性,保证项目达到预期的目标。

    瀑布型-软件工程.png
    架构与设计

    架构设计是软件工程中一个环节,比如架构设计管理部分。设计是指定规格,架构是规格的一种实现方式。架构与设计综合业务和技术做出解决方案,业务架构需要在技术架构之上,这样业务才能实现。业务架构反过来也指导技术架构的演进。如果当前技术满足不了当前业务需求,那么技术就需要升级。所以架构设计=技术架构设计+业务架构设计,架构设计只是架构师工作的一部分。

    架构设计知识地图

    架构师的工作范围与职责太广,先关注到核心部分-架构设计管理,技术相关的部分。架构设计是给出一个问题的解决方案,一个小需求它解决方案可能是骨架代码和核心算法,一个大型的系统可能有复杂的设计与分析。但是他们之间有共同点就是设计原则与设计思想是一致的。所以我们需要了解设计原则和设计思想,以及如何进行问题的分析(分解)。

    1、全局基础知识体系

    单机:组成原理、编程语言、OS、网络
    多机:网络协议、分布式原理与理论、分布式协议与算法。(存储流控)
    中间件:存储、消息队列
    算法:数据结构与算法

    2、架构分析与设计

    1、《面向对象分析与设计》 -分析与设计
    2、《领域驱动设计》 -分析与设计
    3、《架构整洁之道》-设计
    4、《重构》-改进
    5、《软件工程》-理论
    6、《GoF 设计模式》-设计
    7、《unix 编程艺术》-设计

    3、具体基础平台架构范式-技术
    • B/S 应用-关注web 应用

    《淘宝技术这十年》
    《大型网站技术架构:核心原理与案例分析》
    《架构即未来:现代企业可扩展的Web架构、流程和组织》

    • 微服务架构

    《微服务设计模式》

    • 大数据
    4、具体行业领域架构范式-业务
    • 物联网
    • 电商

    相关文章

      网友评论

        本文标题:0 | 软件与架构

        本文链接:https://www.haomeiwen.com/subject/zdhzwhtx.html