卡内基梅隆大学软件研究所关于软件架构的定义[4]

文章作者 100test 发表时间 2007:03:13 22:19:42
来源 100Test.Com百考试题网


为阐明其含义,下面将详述其中的两个;完整说明请参见 [BUS96]。模式以下列广泛使用的形式来表示:

  模式名
  环境
  问题
  影响,描述应考虑的不同问题方面
  解决方案
  基本原理
  结果环境
  示例
  模式名
  层

  环境
  需要进行结构分解的大系统。

  问题
  必须处理不同抽象层次的问题的系统。例如:硬件控制问题、常见服务问题和针对于不同领域的问题。最好不要编写垂直构件来处理所有抽象层次的问题。否则要在不同的构件中多次处理相同的问题(可能会不一致)。来源:www.examda.com

  影响
  系统的某些部分应当是可替换的
  构件中的变化不应波动
  相似的责任应归为一组
  构件大小 -- 复杂构件可能要进行分解
  解决办法
  将系统分成构件组,并使构件组形成层叠结构。使上层只使用下层(决不使用上层)提供的服务。尽量不使用非紧邻下层提供的服务(不跳层使用服务,除非中间层只添加通过构件)。

  示例:

       1. 通用层

    
  严格的分层构架规定设计元素(类、构件、包、子系统)只能使用下层提供的服务, 服务可以包括事件处理、错误处理、数据库访问等等。 相对于记录在底层的原始操作系统级调用,它包括更明显的机制。

       2. 业务系统层



  上图显示了另一个分层示例,其中有垂直特定应用层、水平层和基础设施层。注意:此处的目标是采用非常短的业务“烟囱”并实现各种应用程序间的通用性。 否则,就可能有多个人解决同一问题,从而导致潜在的分歧。

  有关该模式的深入讨论,请参见指南:分层。

  模式名
  黑板

  环境
  没有解决问题的确定方法(算法)或方法不可行的领域。例如 AI 系统、语音识别和监视系统。



相关文章


计算机软件水平考试:开源框架思索[2]
计算机软件水平考试:开源框架思索[1]
卡内基梅隆大学软件研究所关于软件架构的定义[2]
卡内基梅隆大学软件研究所关于软件架构的定义[1]
卡内基梅隆大学软件研究所关于软件架构的定义[4]
卡内基梅隆大学软件研究所关于软件架构的定义[5]
卡内基梅隆大学软件研究所关于软件架构的定义[3]
CIO赢得成功的关键:主动比执行更重要[1]
转变思维CIO如何巧妙获得经费支持
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛