工件:
|
![]() |
引用体系结构本质上是一个预定义的体系结构模式或一组模式,可能部分或完整地实例化,为在特定业务和技术环境中使用而设计和证实,并与支持的工件一起以允许使用它们。通常,从先前的项目中收集这些工件。 | |
角色: | 软件设计人员 | |
---|---|---|
可选性/存在性: | 可选。先启和精化阶段。 | |
模板和报告: |
|
|
示例: | ||
UML 表示: | 大量相关的体系结构视图:用例、逻辑、进程、部署、实施、数据。 | |
更多信息: | ||
活动输入: | 活动输出: |
引用体系结构工件是组织的可重用资产库的一部分。它们的目的是形成体系结构开发的起始点。 它们的范围从现成的体系结构模式、体系结构机制和框架到完整系统,带有在使用中证实的已知特征。它们可能是普遍适用的,或用于范围很广、跨领域的一类系统,或者具有较窄的、特定于领域的侧重点。
通过选择现有引用体系结构(通过使用已经知道这些体系结构可以满足各需求),使用已测试的引用体系结构是解决许多非功能需求(特别是质量需求)的有效方法。引用体系结构可能已存在或从不同的抽象级别和从不同的角度使用它们。这些对应于 4+1 视图(请参阅“一组典型的体系结构视图”)。这样,软件设计人员可以按不同的完成程度选择什么是最适合的:仅适合体系结构设计,或者适合体系结构设计和实施。
通常,引用体系结构定义为不包含将用于构造系统的组件实例,如果它包含组件实例,则它就变成产品线体系结构,但这不是严格的区分点。在 Rational Unified Process(RUP)中,遵循引用体系结构的概念来包含对现有可重用组件(即实施)的引用。
拥有引用体系结构资产的组织需要决定如何分类和组织各资产以使软件设计人员容易进行检索(通过匹配新系统的选择条件来完成)。 虽然创建和存储引用体系结构当前不属于 RUP 的范围,建议围绕领域的概念组织体系结构,领域是一个主题区域,定义了系统或系统系列某方面的知识和概念。这里允许在应用程序以下的级别使用术语“领域”。此用法与某些定义稍有不同,例如 [HOF99] 中的定义,但非常符合 [LMFS96] 中的定义:
“产品线领域:目前和/或将来的一组有界的能力,为帮助通信、分析和设计以寻求跨整条产品线识别、设计和管理共性而定义。 这样的领域可能包含关系紧密的各组最终用户系统、跨多个系统公用的功能或广泛适用的各组底层服务。”
该定义包含以下概念:用于组成系统的事物就其本身而言可以属于一个值得研究的领域中。下图从 [LMFS96] 获取,说明了该原理。
美国军队水平和垂直领域
该图显示主系统系列、信息系统、命令和控制以及武器系统,每个都有一些完全包含的垂直领域以及水平领域,这些领域跨越这些系统并且跨越系统系列。因此,实时调度概念适用于命令和控制的战术领域以及武器系统的所有垂直领域。因此以下做法可能是有意义的:一次解决所有这些领域的实时调度问题,并将以此方式开发的知识和资产视作独立的领域,该独立领域与“电子武器”而非“人事信息系统”关联。
引用体系结构具有与工件:软件体系结构文档及其关联的模型相同的形式,分离特定于项目的引用,或使项目引用和特征更具一般性,以便可以在资产库中适当地将引用体系结构分类。与软件体系结构文档(SAD)相关联的典型模型有用例模型、设计模型、实施模型和部署模型。
对 SAD 及其关联模型的访问向软件设计人员提供了几个入口,他可以选择只使用体系结构的概念或逻辑部件(如果组织的重用策略允许此操作)。在另一个极端,软件设计人员可以从资产库中选择完整的工作子系统和物理级别的部署模型(即完整的硬件和网络蓝图)。
需要其它支持工件以使体系结构资产可用。
用例模型描述了体系结构的行为,但软件设计人员还需要知道其非功能的性质。 先前在软件需求规范中可能已捕获了用例模型和非功能需求这两者。软件设计人员可以从中确定引用体系结构满足当前需求的程度。
使用(尤其是修改)体系结构需要与原开发相同的指南。例如,软件设计人员将需要知道在引用体系结构的形成中应用了哪些规则,以及修改接口的难度。访问与引用体系结构相关联的设计指南可以帮助回答这些问题。
(可选)复查任何现有的相关测试计划也可能证明是有用的。这些测试计划告知设计人员先前用于测试类似体系结构的测试和评估策略,这些信息可使人对体系结构中的潜在缺点有所认识。
(可选)复查任何现有的相关测试自动化体系结构和测试接口规范可能证明是有用的。这些工件告知设计人员可使体系结构有助于测试的可能请求。
在体系结构合成期间的先启和早期精化中以及选择候选体系结构时使用引用体系结构。创建引用体系结构是一个组织问题,当前不在 RUP 的范围内。项目结束期间,将检查项目期间创建的工件以查看是否能在组织资产库中收集并保留些什么,但这里没有详细描述完成此操作所用的活动和技术。
软件设计人员负责选择和使用引用体系结构。
除非系统完全没有先例,如果引用体系结构存在且开发组织可以访问它,则应检查引用体系结构的适用性(针对领域和开发类型)。引用体系结构的创建是要在组织级别处理的问题。 当然能够省略上面列出的一些内容,并且仍可以从体系结构重用中得到好处。例如,可以省略测试模型(虽然如果修改体系结构的话,必须重写测试)。至少可以期望得到设计模型和一些相关联的行为描述(可能是用例模型)。如果稍微缺少一些这方面的内容,则很难将资产称为引用体系结构,它可能仍是某类有效模式(分析、设计等)。
Rational Unified Process
|