软件设计开发技术的演进

一、演进历史

1950+ 面向机器编程:基于图灵机模型的计算机,机器语言与汇编语言

1960+ 函数式编程:Lisp语言,以lamda演算为理论基础的编程语言

1966 过程化编程:取消goto,结构化编程,流程图建模,软件 = 算法 + 数据结构

1970+ 模块化架构: PASCAL,C,UNIx的封装,依赖大规模开发

1974 MVC架构: UI与逻辑解耦,分层架构

1978 数据建模:关系数据库,实体关系,ER建模

1980+ 面向对象编程: C++,逻辑复用,抽象接口

1986 并发与容错 :并发,高容错架构

1991 Linux系统:自由,开放,可裁剪

1993+ 组件化架构:COM

1994 设计模式:面向对象应对的软件设计问题的解决方案

1995 4+1视图:场景视图,逻辑视图,开发视图,运行视图,物理视图

1997 UML:用例图,静态图,行为图,交互图,实现图

1998 服务化架构

1999 四色建模

2001 MDA :模型驱动架构

2001 敏捷开发:TDD,重构,持续继承,代码表达力,演进式设计

2003 领域驱动设计:领域建模。通用语言,战略战术设计,代码模型一直性

2007 MBSE SysML:建模语言,建模工具,建模方法,形式验证

2009 DCI架构:MVC的补充

2010+ 编程语言的演进: C++11,java8,Go,异步与并发,安全性

2012 微服务架构

2013 docker:轻量级虚拟化

2013 事件架构与建模

2015 云原生架构

二、演进目标

让软件更容易验证其正确性

让软件更容易变化

让软件更容易复用

让软件更容易被理解

参考:

一文读懂软件开发流程的演变过程(软件开发经历的三个演变过程) | 项目管理软件---集团管控系统---宇凡软件

相关推荐
小妖66630 分钟前
js 实现快速排序算法
数据结构·算法·排序算法
独好紫罗兰3 小时前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
wuhen_n3 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
2401_841495643 小时前
【LeetCode刷题】二叉树的层序遍历
数据结构·python·算法·leetcode·二叉树··队列
独好紫罗兰4 小时前
对python的再认识-基于数据结构进行-a002-列表-列表推导式
开发语言·数据结构·python
2401_841495644 小时前
【LeetCode刷题】二叉树的直径
数据结构·python·算法·leetcode·二叉树··递归
数智工坊4 小时前
【数据结构-树与二叉树】4.5 线索二叉树
数据结构
数智工坊4 小时前
【数据结构-树与二叉树】4.3 二叉树的存储结构
数据结构
独好紫罗兰5 小时前
对python的再认识-基于数据结构进行-a004-列表-实用事务
开发语言·数据结构·python
铉铉这波能秀5 小时前
LeetCode Hot100数据结构背景知识之列表(List)Python2026新版
数据结构·leetcode·list