程序设计随想
咱们做分析、设计的目的
- 把复杂问题拆分成简单问题
- 把大问题拆分成多个小问题,一个模块或者子系统对应于一个小问题,便于多个团队或者多个团队同步开发
- 把多个小系统或者模块合并,能够解决这个复杂的大的问题
设计要达到的效果,其中一个我感觉是:
- 交给另外一个研发人员,研发人员能够根据文档写出程序,并和自己最终设想的相差不大
- 能够让多个研发人员或者团队协同开发
怎么做设计呢?
首先,要有需求分析,明确需求范围,即咱们要干什么
第二,要有原型图,即明确咱们最终要干成什么样子?大家目标一致
再次,要按照五视图的方法论进行系统架构设计,主要包含:
逻辑视图,对应拆分后系统应该包含哪些子系统或者模块。
运行视图,这些模块的调用关系及重要算法的时序顺序
数据视图,数据是如何存储和流转的
开发视图,这些模块对应的工程结构和开发相关的技术选型
部署视图,程序或者war包实际是怎么部署的,物理机的要求