系统设计之架构设计

架构设计这个词听的非常的多,但真正何谓架构设计呢??可能要你真的来讲还真的讲不太清楚,很多人都知道架构设计是对系统进行分层、分模块进行设计,但又有多少人知道这步应该怎么去做呢,往往很多的programmer在刚进入架构设计这个领域的时候,受到以前做模块的那种影响,把自己的眼光限定到了具体的模块实现上去了,并没有站在系统的高度上来把握系统的架构,这都是些理论性的话,来讲点实际的,^_^,具体架构设计指的是什么呢?目的是什么呢?如何去做呢?下面来讲讲我的体会:
架构设计指的是站在系统的高度上根据需求分析对整体系统进行把握,包括对于系统运行体系、系统扩展性、灵活性、性能、部署环境等方面的考虑。
目的的话就象上面说的,对系统进行分层、分模块,并为将来技术性模块、功能模块的实现提供设计指导,部署指导。
做法的话我觉得基本是一个这么样的步骤:
1、根据需求分析产生的问题域形成系统的结构体系(C/S、B/S或其他的),这部分重要的是根据需求提出最适合的结构体系。
2、根据结构体系结合设计思想(分层思想、职责单一)以及可靠性等进行系统的分层设计,如对B/S结构采用MVC思想进行分层,产生View--->Controller---->Action---->Domain Model---->Persistent五层,阐明各层次的职责,并阐述如何实现这个层次的运行环境,层次内分为了哪些模块或框架来支撑整个层次是可运行的,这是架构设计中的重点,也就是说为,同时根据需求分析产生的问题域中共性的部分进行抽象,形成框架,并相应的放入上述的层次中,如问题域中共同有对于权限的需求或者说大部分有这个需求,就抽象构成一个权限模块放入Domain Model中,经过这个过程系统的架构图就得以产生了,架构图体现的是功能模块的运行场所的实现方案,它做到的依据此架构产生的系统可以支撑目前系统功能模块的运行与需求的实现,同时在此时需要考虑到系统的扩展方式、性能的考虑。
3、根据上面的架构图同时也可产生系统的物理部署图,部署图主要表明了今后系统的部署方式,物理方面的部署要求。
4、根据架构图产生系统的模块视图,这个图表明了在架构之上运行的系统的功能模块。
5、根据模块视图产生系统的模块依赖视图,这个图主要阐明系统间模块的依赖关系。
6、根据模块职责以及模块依赖视图就产生了模块的接口,对接口进行详细的设计并提供伪代码。
经过这些步骤后,基本上可以说一个系统的架构设计就做好了,接下来就可以对其中的框架采取的技术进行Spike或者说预研,当然,最好是采取自己熟悉的技术体系,按照这个技术体系对架构进行验证,之后就可以进行概要设计了,关于概要设计的部分下次再说。
个人理解,架构设计简单的来说就是根据对需求产生的问题域进行分析产生可供系统功能模块运行的一个体系结构,相当于提供功能模块运行容器的设计。说起来基本就是这样的,但做起来就难了,想想如何进行分层设计,如何对层次内的运行模块进行划分以支撑整个体系结构的顺利运转,就拿B/S结构的层次来说,上面的5层结构很多人都采用,但在具体的做法上有很多的不同,质量、性能、扩展性上也有很多的不同,这些在架构设计中都是体现出来了的,根据架构设计之后的功能模块就完全可以按照架构图将自己进行相应的层次划分并放入里面,至于如何运行就交给这个容器好了,架构设计就是帮你做好这件事的。

当然,其实真正做架构设计时比这复杂多了,想想外国佬基本都是沉浸在软件界10多年甚至几十年的架构师,那些才能称的上称职,作为一个架构师需要有足够的远见和预知能力,保证系统的稳定和高效这可不是说做就能做到的,需要有丰富的经验。

个人对于架构设计的一些浅薄的理解,还望各位进行指正。

posted on 2005-06-14 22:17 BlueDavy 阅读(1697) 评论(3)  编辑  收藏 所属分类: 系统设计

评论

# re: 系统设计之架构设计 2005-06-14 22:27 jazzy

阅  回复  更多评论   

# re: 系统设计之架构设计 2005-08-26 17:40 nighthawk

敝人愚见:贯穿架构设计的同时,是否应该有一个迭代的过程。
对系统进行分层、分模块以及得出最适合的结构体系之前是否还有个概念模型的分析过程?  回复  更多评论   

# re: 系统设计之架构设计 2005-08-26 18:35 BlueDavy

同意,但我认为那个过程可以放入需求分析,需求分析时将会产生一个模型  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2005年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜