理顺软件开发各个环节-12(开发管理-总体设计探讨)

5.4.3软件总体设计探讨

  软件业务领域五花八门,用户需求千差万别,软件结构多姿多态,还有不同的操作系统,不同的计算机语言,公司的技术栈等等,决定了软件设计也是百花齐放。

  从软件的发展史看,经历了单机软件、C/S架构、B/S架构,B/S架构+APP,趋势是万物互联,还有是“软件定义”,软件给硬件赋能,如软件定义网络等。

  下面一些概念或知识点,也许对总体设计会有帮助,虽然是挂一漏万。

  • 移动端:
    • APP(Android/iOS) 
    • H5
    • React Native
    • Flutter
    • PWA 
    • 微信小程序
    • 阿里小程序
    • ......
  • HTTP vs. RPC
  • 计算机语言:
    • ANSI-C
    • C++
    • Objective-C
    • C#
    • PHP
    • Python
    • Java
    • JavaScript/jQuery
    • Node.js
    • R/Erlang/Go/Shell...
  • 数据库:
    • RDBMS(如Mysql)
    • NoSql(如MongoDB)
  • 数据仓库 vs. 多维数据库
  • 分布式系统和分布式计算架构
  • 主备、主从、集群
  • 数据库读写分离
  • 前后端分离架构
  • 单体应用 vs. 微服务
  • 微服务与DDD
  • 配置化思想
  • 商用 vs. 开源
  • 队列:
    • RabbitMQ
    • ActiveMQ
    • RocketMQ
    • Kafka
  • 消息发布订阅
  • 消息队列 vs. 回调
  • 同步 vs. 异步
  • 轮询 vs. 事件触发
  • 拉取 vs. 推送
  • 集中 vs. 分布
  • 并发与事务及线程安全
  • 高并发场景对策
  • PHP流行框架:
    • TP
    • CI
    • Yii
    • Laravel
  • Java流行框架:
    • SSM
    • Struts2
    • Hibernate
    • SpringBoot 2.0
  • 前端流行框架:
    • Angular
    • VUE
  • Session vs. Cookie
  • Session同步 vs. Redis Session共享
  • RESTful接口
  • Redis
  • ELK
  • 数据库自增id与全局id
  • 安全机制:
    • 传输安全
    • 访问安全
    • 信息安全
    • 数据库关键存储信息安全
    • 存储安全
    • 业务处理安全

你可能感兴趣的:(理顺软件开发各个环节-12(开发管理-总体设计探讨))