版权归原作者所有,如有侵权,请联系我们

[科普中国]-序列图

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

序列图(Sequence Diagram)有多种含义和用法。 在生物学上,序列图可以指遗传物质上核苷酸序列物理图的简称,是人类基因组计划中的最基础的工作,是人类基因组在分子水平上最高层次、最为详尽的物理图,测定总长为1M、由约30亿对核苷酸组成的基因组DNA序列。在软件工程中,序列图是对象交互的一种表现方式。

简单介绍UML的模型中可分为两种:动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模型的其中一种就是交互视图,它描述了执行系统功能的各个角色之间相互传递消息的顺序关系。序列图就是交互视图的一种形式。

序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。很象类图,开发者一般认为序列图只对他们有意义。然而,一个组织的业务人员会发现,序列图显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级的序列图能被当作一个需求文件使用,为实现一个未来系统传递需求。在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带入下一层次。那种情况下,用例常常被细化为一个或者更多的如图1所示的序列图1。

组织的技术人员能发现,序列图在记录一个未来系统的行为应该如何表现中,非常有用。在设计阶段,架构师和开发者能使用图,挖掘出系统对象间的交互,这样充实整个系统设计。

序列图的主要用途之一,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。序列图除了在设计新系统方面的用途外,它们还能用来记录一个存在系统(称它为“遗产”)的对象现在如何交互。当把这个系统移交给另一个人或组织时,这个文档很有用。

定义序列图是对对象之间传送消息的时间顺序的可视化表示。序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。

结构序列图(Sequence Diagram)是由对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Messages)、分支与从属流等元素构成的2。

对象对象就是指类的实例,在序列图中对象有三种状态:激活、运行(存在)和销毁。

生命线生命线(Lifeline)是一条垂直的虚线,用来表示序列图中的对象在一段时间内的存在,如图2所示。

激活序列图可以描述对象的激活(Activation),激活是对象操作的执行,它表示一个对象直接或通过从属操作完成操作的过程。如图3所示,在UML图中通过一个窄长的矩形来表示,矩形的高度表示对象存在的过程。

消息消息(Messages)是对象间的一种通信机制。如图4所示,消息由发送对象向另一个或其他几个接收对象发送信号,或由一个对象(发送者或调用者)调用另一个对象(接收者)的操作。

在UML中消息分为5类:递归调用、普通操作、返回消息、异步调用的消息、过程调用的消息。

分支与从属流在UML中存在两种方式可以来修改序列图中消息的控制流,分别是:分支和从属流。

分支是指从同一点发出的多个消息并指向不同的对象,根据条件是否互斥,可以有条件和并行两种结构。从属流指的是从同一点发出多个消息指向同一个对象的不同生命线。

综合示例综合事例如图5所示:

遗传方面首先让我们来了解一下DNA序列分析的原理和基本技术。主要采用桑格(Sanger)于对年代发明的"双脱氧核糖核酸链末端终止法"进行测定。测序反应事实上就是一个在DNA聚合酶作用下的DNA复制过程。以一条链为模板,在一个测序引物的牵引下,新的DNA链得以不断延伸。但如果加人一些双脱氧核糖核苷酸即ddNTPs,就不能使延伸反应继续下去,最终随机产生许多大小不等的末端是双脱氧核苷酸的DNA片段,这些片段之间大小相差一个碱基,在电压驱动下,从一种由聚丙烯酰胺做成的凝胶上可间接地读出这些有差异的代表其末端终止位置处碱基种类的片段,那么一系列的连续片段就代表了整个模板DNA的全部序列。用机器进行自动测序,一次可读400-800个碱基。尽管全自动测序较为方便省时,但由于测定的序列长度有一定限制,相对于庞大的人类基因组来说可谓"老虎吃天,无从下口"。因此,测序的策略问题就被提出来了。

常用的测序策略是"鸟枪法"。形象地说,就是将较长的基因片段打断,构建一系列的随机亚克隆,然后测定每个亚克隆的序列,用计算机分析以发现重叠区域,最终对大片段的DNA定序。科学家利用物理图中已定位的STS位点作为序列分析的起始位点,大大减少了序列重叠部分的测定,提高了测序效率,使一些实验室可在一年内测定几个兆的碱基序列。

测序技术也在不断地发展和提高。过去两年内,通过在一个测序的电泳胶上增加电泳泳道和测序胶的长度,使自动测序仪的通读水平提高了2-3倍。此外,一些不依赖于电泳技术来分离DNA片段的方法如质谱分析也正在或已经建立。杂交测序也是一项非电泳类方法,还有一种可用电子显微镜直接观察的方法。

发展近几年,由于DNA测序策略的日趋成熟,以及自动测序仪的改进,序列测定速度和准确率大为提高。美国人类基因组研究中心主任柯林斯(CollinS)自信地说,即便没有新的技术突破,在2005年这一最后期限前完成准确率达99.9%的人类基因组定序毫无问题,或许还能提前两年即在2003年以前完成。现在几乎每个星期都要鉴别出医学上具有重要意义的一个DNA片段,最后,可能每个小时将会有一种新的基因被测定出DNA序列3。

本词条内容贡献者为:

杜强 - 高级工程师 - 中国科学院工程热物理研究所