background image

 .Net 下企业应用系统架构构建心得

在 开 始 架 构 设 计 之 前 , 需 要 了 解 一 下 架 构 是 什 么 , 按 照

IEEE 标 准 的 定 义 是 : 

Architecture 是一个系统的基本组织,它蕴含于系统的组件中、组件之间的相互关系中、组
件 与 环 境 的 相 互 关 系 中 、 以 及 呈 现 于 其 设 计 和 演 进 的 原 则 中 。

  (The  embodied 

fundamental organization of a system in its components, their relationships to 
each other, and to the environment, and the principles guiding its design and 
evolution. [IEEE Std 1471-2000])

  一句话,架构就是软件产品的骨架,这个骨架把组件、环境纳入其中,使之能有效得发
挥它们的技能。
  从架构、技术和需求的关系来看。一个软件产品包含了需求和技术,而架构同样是要包
括需求和技术的,只是它没有全包全括这个需求和技术,应该是一些整体性的需求,尤其
是一些非功能性的需求。如果在构建架构的时候,架构设计人员根本不了解企业使用的目标
软件的整体需求,企业使用目标系统的整体环境,那指望架构适用显然有点强求。

  架构的重要性是不言自明的:
  

l)从需求、技术和架构的关系看,架构是软件产品的骨架

  

2)从软件过程上看,架构处在需求即将完成,实现开始之前,是一个承上启下的关键


  

3)从技术上来看,架构是整体设计,包含了软件需要用到的各项技术

  

4)架构决定开发过程,方法和工具,这一点都不夸张,架构决定了软件的规模,技术。

很自然就觉得了资源的需求以及如何配置这些资源来进行开发
  

5)架构影响软件产品的成本,包括开发成本,测试,实施和维护成本 架构实际上是软

件的一部分,同样都需要遵循软件设计中要考虑的设计原则。但是,架构由于是前期设计,
整体设计,又具有其需要强调的地方:
  

6)明确目标,切合需求(实用决定一切)

  

7)可扩展性

  

8)易用性和易维护性平衡艺术,易用性就要求系统不能过于负杂,而易维护性就要求可

扩展性和灵活性,就要求系统不能太过简单,这就要权衡这两个性能方面的考虑。
  

9)安全性, 架构的安全并不是说把架构的代码放到一个地方加密,是在架构设计中考

虑软件的安全性能,这个在先期考虑是相对重要的。

  

l0)稳健性, 架构设计时需要纳入考虑的要素有:

  

l1)Application Infrastructure, 应用的基础架构,也可以说是架构是建立在什么平

台上的,比如

windows 2003+.Net framework 1.1,当然并不是就这么简单,下面会

有具体的讲解。
  

l2)Management, 架构设计中要考虑用户对软件的管理方面的考虑,比如用户对性能

监控的要求,用户要对软件执行各个环节的执行效率统计等等。
  

l3)Security, 安全性是在什么地方都要考虑的,不光是软件开发。

  

l4)Storage, 存储,面对一个企业级的应用而言,对存储的要求是要特别注意的。