为什么要进行详细的系统设计?

  1. 系统由小慢慢迭代增加的过程中, 由于换了很多产品/开发, 每个人的想法不同, 迭代时间紧等原因, 导致系统修修补补越来越难维护, 这里的维护包括修复bug和开发新功能
  2. 程序是现实世界的模拟和映射, 需要和现实世界的逻辑保持一直, 包括组织架构, 层次结构 (真实世界是什么样子,那么软件世界就怎么设计)
  3. 遵循开闭原则(对扩展开放对修改封闭), 在保证满足可预见的扩展需求的前提下, 尽量简化设计和代码 (避免为不大可能发生的扩展白白增加系统复杂度)
  4. 单一职责, 将相关性较强的事物内聚, 相关性不强的事物解耦, 分层级的内聚和解耦(系统级, 领域级, 服务级, 类级, 方法级), 达到变和不变分离
  5. 最小化未来增加新功能时的成本

如何进行系统设计?

使用在线画图如 Processon, 可以画 系统架构图, 思维导图, 流程图, 拓扑图

注册链接:(未注册的可用此链接注册~)

https://www.processon.com/i/6018fafa5653bb3aa0b1d8ef

系统设计 架构设计 画图工具 架构图 设计图相关推荐

  1. 我的架构设计~用层关系图说说mvc,mvvm,soa,ddd - 张占岭 - 博客园

    我的架构设计~用层关系图说说mvc,mvvm,soa,ddd - 张占岭 - 博客园

  2. 什么是系统架构设计:关于架构演进理论

    什么是系统架构设计:关于架构演进理论 在过去软件开发过程发展的很长一段时间内,软件架构表现为一种集中式的单块(Monolithic)式,即先对系统进行分层,然后通过单个进程进行部署和维护,典型的分层体 ...

  3. 【架构设计】作为架构师你应该掌握的画图技术

    1.前言 大家知道,架构的过程其实就是建模的过程,那自然离不开架构图. 那么,我们先来看几个问题. (1)什么是架构图? 架构图 = 架构 + 图,用图的形式把系统架构展示出来,配上简单的文案,不同的 ...

  4. 无监控、不运维。运维系统架构设计附带思维导图

    无监控.不运维 运维行业有句话:"无监控.不运维". 是的,一点也不夸张,监控俗称"第三只眼".没了监控,什么基础运维,业务运维都是"瞎子" ...

  5. cloudmaker一个云架构的画图工具也支持自动化部署,界面清爽功能好用

    最近发现一个云架构画图工具,也支持自动化部署,界面非常清爽,功能也比较完善,分享一下给大家玩一玩. cloudmaker创建于2017年,英国伦敦,创始人是Nick Smith和Alex Metaxa ...

  6. mysql性能调优与架构设计_了解架构设计远远不够!一文拆解 Tomcat 高并发原理与性能调优

    来源 | 码哥字节 上帝视角拆解 Tomcat 架构设计,在了解整个组件设计思路之后.我们需要下凡深入了解每个组件的细节实现.从远到近,架构给人以宏观思维,细节展现饱满的美.关注「码哥字节」获取更多硬 ...

  7. SOA架构设计经验分享—架构、职责、数据一致性

    1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DDD+GRAS ...

  8. 浅谈系统架构设计-从架构设计原理、架构设计原则、架构设计方法展开

    我们工作中一直强调要做架构设计.系分,最近前端同学在追求前端质量提升的时候,也在进行架构设计.前端系分的推广,那到底什么是架构设计和系分?该怎么做架构设计和系分?本文尝试对架构设计进行全面的介绍和分享 ...

  9. 系统架构设计——秒杀系统架构设计

    摘要 秒杀大家都不陌生.自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见.简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程.从架构视角来看,秒杀 ...

最新文章

  1. 由多线程引起的map取值为null的分析
  2. 《Cloud Native Infrastructure》CHAPTER 7 (1)
  3. python小甲鱼爬虫妹子_【Python学习日记】B站小甲鱼:爬虫
  4. linux 安装git失败,Linux运维知识之linux下安装git常见故障整理
  5. 为view添加约束constraints
  6. 哪些情况下sql索引会失效
  7. 学习WPF——WPF布局——了解布局容器
  8. paip.java c++得到当前类,方法名称以及行号
  9. 认识QA, 游戏测试工程师究竟是做什么的?
  10. RadioButton下划线效果的使用
  11. 【win 10系统激活】
  12. 大一新生HTML期末作业 个人网页王嘉尔明星介绍网页设计与制作
  13. 超低延时的H5直播,电子游戏互动控制直播,桌面远程控制直播方案
  14. cocos2dx点击按钮更改按钮图片
  15. 你知道数据分析报告应该如何写吗?
  16. 介绍李三忠老师和吴自银老师的专著
  17. TensorFlow实现多层感知机
  18. 电脑截屏有哪些常用的快捷键
  19. python视觉识别字_机器视觉以及验证码识别
  20. ThinkPHP5多语言切换项目实战

热门文章

  1. Spark ML特征的提取、转换和选择
  2. java springboot mybaits 邮箱注册实现
  3. 汉语中的 熟语中的成语900个
  4. gregorian(格里高力)历转换公历
  5. 如何通过U盘给笔记本安装Ubuntu系统
  6. Java 枚举类型的应用
  7. 发现新大陆>think-addons可以在自己的应用中做模块化开发
  8. 基于tiny4412的Linux内核移植 -- 设备树的展开
  9. 串联谐振电路的品质因数
  10. 通信原理day7:第三章:抽样;均匀量化;非均匀量化;A律;增量(ΔM)调制