11.4 Nightingale系统:应用ATAM的案例分析

 
我们还选择了具有集成COTS产品经验的人,因为客户告诉 我们Nightingale采用了几个商业软件包。令人欣喜的是,我们的‘个提问者还具有在卫生 保健业工作的经验.
 
我们举行了 一个为时1天的开工会议,由评估小组、项目经理、首席设计师和 Nightingale的第1位客户的项目经理参加。项目经理、首席设计师和Nightingale的第1位 客户的项目经理是Nightingale的决策制定者。在会议上,我们听到了介关Nightingale的 隹力和需求的更多愤息,收到了 一个可用的构架文档的目录(我们从中选杼那些希望进行分析的文档),并编写了 一个参加第2阶段评估的涉众列表。我们对第1阶段和第2阶段 :的会议安排以及提交最终报告的时间达成了一致。最后,我们仔细检杳了要求项目经理和 设计师分别在第1阶段的第2步和第3步所做的表述,以确保他们淸楚我们希望看到的是什么信息。
 
最后,在第1阶段幵始前,评估小组进行了 2个小时的会晤。小组负责人再次审查角色分配,以确保每个人都知道自己的职责是什么。此外,我们大致看了 一下已经收到的构架文档,对它说明的模式和战术做了注解。这种开工会议有助于评估小组在某种程度上了 解构架(因而提萵了毎个人的自信),而且它为对模式和方法进行分类的第4步打下了基础。
 
在Nightingale评估中,评估小组指出文档是不完整、不淸楚的。该文档还没有章节内容,它基本上是一个定义不充分的框线图集合。我们感觉如果在这时开始第1阶段评估的话,那么从概念上说此时的基础就不牢固。因此我们给设计师打了电话,请他口头补充了 构架文档中的一些空白。在那时,尽管我们知道在知识上仍然有欠缺,但至少可以放心地 始评佔了。我们做了一个注解,说明不完整的文档是需要进行分类的风险„
 
H.4.2第1阶段:评估
 
正如在第1阶段中所耍求的,评估小组与项目的决策者进行了会谈。除己经参加了开 会议的人外(项3经理、首席设计师和Nightingale的第一位客户的项目经理),还有两位首席设计人员参与了此次会议。
 
第1步:ATAM方法的表述。评估负责人使用对ATAM方法进行了说明的标准视图软件包进行农述。长达1小时的表述列出了该方法的步骤和阶段,描述了 ATAM的概念基础(如场景、构架方法、敏感点等),并列出了评估结束后将产生的结果。
 
决策者基本上,已经熟悉ATAM,在第0阶段的讨论中己听到过对该方法的描述,因此这步进展很顺利.没有任何问题。
 
第2步:商业动机的表述。评估时,客户组织的项目经理从开发组织以及将购买该系统姐织的角度。表述Nightingale系统的商业目标。对于幵发组织来说,Nightingale解决如下业务需求:
 
 
•    支持其第1位客户的不同用途(如治疗跟踪、支付历史和趋势发现等)。
 
•    创建个面向多位客户的新的系统版本(如管理医生的办公室),以使开发组织 能够把该产品卖给其他客户。
 
    第2个商业动机提醒我们,该构架是面向整个软件产品线(参见第14章)而非-个 系统的.
 
    对第I位客户来说,Nightingale将代替多个现有的早期系统,它们是:
 
•    老系统(己有25年以上的历史)
 
•    基于过时的语言和技术(如COBOL和IBM汇编语言)
 
•    很难维护
 
•    无法对卫生保健站点当前的和预计的业务需要做出迅捷的响应 
    
    第1位客户的业务需求包括:
 
•    处理不同的文化和地域差异的能力
 
•    处理多种语言(尤其是英语和西班牙语)和货币(尤其逛美元和墨西哥比索)的 能力
 
•    至少要和所更换的任何早期系统一样快的一个新系统
 
•    一个绀合了不同的早期财务管理系统的单一系统
 
该系统的业务限制包括:
 
•    承诺通过对现有员工进行再培训,使其不失去工作
 
•    采用一个“购买而非构建”的软件方法
 
•    识别客户的市场已经缩小(也就是竞争对手的数盪〉
 
该系统的技术限制包括:
 
•    在任何可能的时候都使用商业软件组件
 
•    用两年的时间来实现该系统,每26周更换一次物理硬件
 
如下的质量属性被确认为高优先级的质量属性:
 
•    性能.。卫生保健系统要求快速的响应时间。早期系统5秒的响应时间太慢, 这是早期系统对在线査询和生成报表的响应时间。系统吞吐麗也是一个性能关 注点。
 
•    易用性。这是决定系统用户量的一个很关键的因素,因此这也是一个東要的客户 问题。新系统必须易于学习和使用。
 
•    可维护性。系统必须可维护、 可配置、可扩展,以支持新的市场(如管理医生的 办公室)、新的客户需求、州的法令变更以及不同的地区和文化的滞要。
 
经理将下列质量属性确定为重要、但优先级较低的属性:
 
•安全性。系统必须提供财务系统所要求的正常的商业级安全性(如机密性和数据完整性)。
 
•可用性。在正常的工作时间内,系统必须具有极高的可用性„
 
•可扩充性。系统必须具有足够的可扩充性,以满足规模很大的医疗机构的需要, 以及无需经过预约的小型诊所的需要。
 
•模块性。开发组织正在考虑不仅要销售Nightingale的新版本,而且要销售它的隼个组件。提供该能力耍求与可维护性和可扩充性紧密相关的质量属性。
 
•可测试性和可支持性。因为员工培训和保持是个问题,因此对于客户的技术人员 来说,系统必须是可以理解的。
 
步骤3。构架的表述,在评估小组与设计师进行交流期间,在评估幵始前和评估进行 中,潘要有儿个构架视阁和构架方法。如下几点内容非常关键:
 
•    Nightingale由两个主耍子系统组成:在线事务管理器(OnLine Transaction Manager. OLTM)和决策支持与报表生成管埋器(Decision Support and Report Generation Manager. DSRGM)。OLTM满足了交互性能滞求.而DSRGM更像是-个批处理系统,其任务定期启动。
 
•    要将Nightingale构建为具有极高的可配置性。
 
•    OLTM 子系统耍进行分层。
 
•    Nightingale 是一个基于存储库的系统,该系统的中心有一个大型的商业数据库„
 
•    Nightingale采用了很多COTS软件,包括中心数据库、规则引擎、工作流引笮、 CORBA、Web 引擎、软件分配工具等。
 
•    Nightingale是高度面向对象的,它依赖对象框架來实现其大多数可配覽性。
 
图11.3给出了在设计师所使用的非正式的表示法中,所表示的OLTM的分层视图„ 图11.4通过给出部署在各种硬件处理器上的系统各部分之间的主耍通信和数据流路径,描 述了 OLTM如何在运行时工作。提供这些图主要是为了使您更好地了解ATAM评佔的实 际情况。请注意,这两个图并没有完全进行映射,也就是说,在图11.3中有事务管理器和 CORBA,但它们并没有出现在图11.4中。在我们所进行的很多ATAM评估中.这种省略 是具有代表性的,在第3步中出现的-个活动就是评估人员询问有关图中的不一致的问题, 以进一步理解构架。图11.5给出了一个类似的OLTM运行时视围。其中,可以在整个系统中跟踪事务,这又带来了类似的不一致性,在这种情况下,没有描述箭头的含义。我们 确定这些箭头也表示数据流。