您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 谈系统架构设计――系统骨架的建立
谈系统架构设计——系统骨架的建立宏观上的“系统架构”•系统主要功能(需求分析)•确定系统最终使用场合•系统划分模块•各模块间怎样协作•每个模块技术模式(C/S(或单机)、B/S、移动app)•每个模块采用什么技术开发•出系统架构图、相关文档•系统框架搭建(编码)、项目组成员培训(指导)系统架构图(举例)微观上的“系统设计”•系统运行的持续性(动力)•系统处理数据的重复性•系统的可扩展性(=框架)•系统的容错性•系统的通用性(=框架)生产者-消费者模式设计图宏观架构与微观设计的区别前者:•站得高看得远,将重点放在整个系统组成上。几乎不涉及到“编码”;•架构者需要熟悉各种技术,了解各种技术优劣以及适用场合;•架构者需要丰富的项目经验。后者:•注重代码实现,侧重系统内部实现原理;•设计者需要丰富的编码经验;•设计者与if/else/while等打交道。孰轻孰重?微观设计积累编码经验(3年?4年?5年?)宏观架构通往架构师的必经之路没有谁轻谁重系统骨架的建立•本次主题侧重讲“微观上的系统设计”。•着重讲述每个系统中骨架的重要性。•更进一步了解系统内部的运行原理。三种线程“循环”是计算机程序的灵魂,没有循环的存在,就没有程序的存在。泵的作用代码中泵的作用持续性让程序持续运行,不会很快结束。它是程序持续工作的前提。动力性将数据从一个地方搬运到另外一个地方,供其他模块使用。常见泵结构(1)——Windows消息处理(部分)常见泵结构(二)——Windows消息(完整)常见泵结构(三)——Socket数据接收常见泵结构(四)——WebServer(同步)常见泵结构(五)——WebServer(异步)串行处理数据的泵并行处理数据的泵“泵”对系统的意义心脏骨架forwhileforeachdo-while等同一个系统(模块)要想持续运行,必须包含泵结构(循环结构)什么是框架?当你为了解决某个具体问题而设计一个系统时,如果做到了:•通用性好。不过分依赖其他模块,不限制处理特定业务;•容错性高。内部包含一套专门异常处理机制;•扩展性强。方便增加新的功能;•提供一套专门类库。这时候,就可以把该系统当作一个框架。它可以用来处理某一类问题。框架的特点•动力性•持续性•通用性强•可扩展性高•容错性好理论上,任何一个框架不做任何改变,直接编译即可运行。框架的作用(一)框架使用框架开发的系统简洁,通用复杂,多姿多彩框架的作用(二)框架使用框架开发的系统复杂,多姿多彩简洁,通用举个实例接下来举一个例子,来详细展示系统骨架建立的过程,并说明“泵”结构在系统中起到的一个至关重要的作用。“机场资源调度模拟仿真系统“,以后简称“机场系统”。接下来就是干货展示时间“机场系统”架构图可以看出,客户端(各席位)只起到了一个“数据展示”和“接收用户输入”的作用,其余所有处理均在Server端。几个问题•整个系统怎样维持一个“持续运转“的状态?•服务端怎样能够持续处理客户端的输入?•怎样维持地图中各元素的状态?•系统时间怎样统一?•怎样维护训练脚本状态?问题答案(一)通信泵地图状态泵脚本泵时间泵UI界面泵负责持续接收客户端数据,并转交给对应的模块进行处理负责持续更新(维护)地图中元素状态,供其它模块使用负责持续维持脚本状态负责持续更新(维护)整个系统时间(快进倍数)负责持续接收界面输入,维护界面显示(Windows自带)Server端问题答案(二)通信泵Client端UI界面泵负责持续接收服务端数据,并转交给对应的模块进行处理(简单的显示)负责持续接收界面输入,维护界面显示(Windows自带)微观上看“机场系统”通信泵地图泵时间泵脚本泵UI泵通信泵UI泵其他数据结构ServerClient输入输入谢谢
本文标题:谈系统架构设计――系统骨架的建立
链接地址:https://www.777doc.com/doc-3315061 .html