历史

软件历史

  1. 机器语言:直接使用二进制码0和1进行编程
  2. 汇编语言:清晰了,仍需要了解底层
  3. 高级语言:程序员不需要再关注及其底层
  4. 第一次软件危机:软件逻辑复杂。提出软件工程、结构化程序设计(自顶向下、模块化),控制复杂度
  5. 第二次软件危机:软件扩展跟不上硬件。面向对象流行

软件架构历史

软件架构出现:随着软件系统规模的增加,计算相关的算法和数据结构不再构成主要的设计问题;当系统由许多部分组成时,整个系统的组织,也就是所说的软件架构,导致了一系列新的设计问题。

只有较大规模的软件系统才会面临软件架构相关的问题:

  • 系统规模庞大,耦合严重,开发效率低
  • 耦合严重,扩展、修改难
  • 逻辑复杂、排错困难

目的

架构并非必要,也不一定提升效率,也不一定能促进业务发展。不能因为需要架构而硬上架构。

架构设计的真正目的是降低软件的复杂度。

举例分析

需求

大学学生管理系统,包括登录、注册、成绩管理、课程管理等。

分析

  • 性能:访问频率不高,性能不怎么复杂。MySQL胜任。
  • 可扩展性:该类系统功能基本不便,可扩展性不复杂。
  • 高可用:宕机影响不大,负载均衡不需要;数据需要高可用,因此使用主备方案。
  • 安全性:不是强隐私,中等强度。
  • 成本:几台服务器足够。

根据以上分析,可得架构:

总结

回顾软件和架构的发展历史,重申架构的真正目的,举例分析架构设计的目的和方法。

先这样吧

若有错误之处请指出,更多地关注煎鱼

Categories: ArchitectProgramming

发表评论

电子邮件地址不会被公开。 必填项已用*标注