总结1

作者: yz08150 | 来源:发表于2020-06-17 19:49 被阅读0次

    什么是架构师

    架构师负责着一个软件系统,从系统的设计到系统的部署,以及运维。
    架构师主要在于职责,对整个软件系统架构负责的那个人,就是架构师。
    比如,通常程序员关注于自己负责的服务,程序员就是这个服务的“架构师”,需要对服务进行类的设计,需要连接哪些服务,怎么部署等等。
    那架构师就是对整个软件系统负责,需要关注整个软件系统的设计。

    架构师的职责

    由于架构师,需要对整个架构负责,则架构师需要

    1. 设计系统架构:
      编写架构设计文档
      开发编程框架
      技术选型
      软件重构 架构重构 模块分解

    2. 部署运维
      保障系统安全与高可用
      优化系统性能
      大数据应用

    3. 技术创新

    4. 沟通管理
      这个很重要。因为架构师管理着整个架构,需要协调开发测试运维等人员,以及外部资源的调度等等

    架构师的主要能力

    编程、基础技术,
    建模,设计文档
    常用技术产品原理与应用
    常用架构模式和框架的原理与应用
    业务理解以及模块拆解能力
    
    性能优化、故障分析定位能力
    
    快速学习,沟通与领导能力
    

    软件架构

    软件架构,是软件整体结构和组件的抽象描述,用于指导大型软件系统的各个方面的设计

    需要明确
    架构是给谁看的,给不同人看的架构是不一样的
    因为,不同的人所关注的点是不一样的,比如 程序员,运维,上级,老板,甲方,等等

    架构是用来指导不同的人去做事的,所以面对不同的人,要有不同的软件架构

    架构视图

    • 逻辑视图
      相关方:客户,用户,开发的管理者,即不需要太关注细节的,只需要知道主要功能即可
      比如,阿里云等开放接口的系统架构描述,指导该怎么使用

    • 开发视图
      相关方: 开发相关人员、测试人员
      这个是需要指导怎么去开发测试,和逻辑视图相比,肯定要具体详细。
      需要提供系统分层,分服务,包,框架,类,接口 等等
      用途:指导开发

    • 过程视图
      相关方:性能优化,开发人员
      提供进程、线程视图,以及线程间队列等等
      指导运行时的系统状况,比如多少个进程,多少个线程,有哪些队列,怎么读写队列等等

    • 物理视图
      相关方:运维,系统集成
      具体的物理组件的连接部署情况,包括网络等
      指导部署,集成

    • 场景视图
      相关方:用户、设计、开发人员
      某个具体场景的实现,比如用例图

    怎么对软件进行设计建模

    使用 UML 进行设计和建模

    UML 几种图

    • 部署图
    • 组件图
    • 用例图
      用例图,应该详细到什么程度。目前感觉系统用例图只要写出大功能即可。当然,还是看需要,如果是写一个具体功能的用例,还是要详细点
    • 状态图,活动图
    • 序列图,协作图
    • 类图,对象图,包图

    其中的图,未必只能使用在一种场景中,比如状态图,可以用在需求分析中,也可以用在详细分析中
    活动图也可以在需求分析中

    UML图,也不必要每个功能,每个类都写出来,对于默认的通用的处理方式的, 可以不用写了。
    如果说,有特殊的设计,不好理解的地方,再写对应的图即可,比如序列图,状态图,类图,等

    UML 工具,综合下来,还是 starUML 好用

    相关文章

      网友评论

          本文标题:总结1

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