软件文档写作04-文档类型2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1(4)分层风格分层风格能将代码组织成一些不相交的层。在这种情况下,根据预定的规则,较高层的代码可以使用较低层的代码。如,可通过规则规定:只能使用相邻较低层代码,可以使用任何较低层代码,或者可以使用较低层或通用层代码。这种风格能用来说明代码是如何在虚拟机内分解的。一般来说,较低层通常涉及的是系统内靠近硬件的部分,较高层则包含更多依赖应用的软件。分层风格能应用于培训和重用支持,还能用来支持可移植性。分层风格一览表:元素层关系“允许使用”,它是模块视图类型一般的“依赖关系”的特化。如果P1的正确性依赖于当前P2的正确实现,就可以说P1使用P2元素特性层的名称。层包容的软件单元。允许层使用的软件。这一特性编制文档时分为两个部分:一.提供层间和层内的使用规则,如“允许层使用任何较低层的软件”和“不允许软件使用同一层中的其它软件”;二.列出这些规则可容许的其它所有例外情况。层的内聚:对层所表示的虚拟机的描述。关系特性针对模块视图类型布局若A层位于B层之上,则B层就不能位于A层之上。每一部分软件只能分配给一个层2分层风格表示法:1.非正规表示法有堆栈、分段层、环形、分段层3维烤箱模型、内容、接口以及大小和颜色等多种。①堆栈,如下图。层的“允许使用”关系由几何邻接表示,从上至下阅读。AB3②分段层。下图说明了A可以使用B和C,而B和C依次可以使用D,B和C也可以相互使用。ADBC图例(非正规表示法)层xy允许x使用y分段层实质上使“允许使用”关系成为对元素的部分定序。如果仅仅从层的角度看,上图完全等同于下图,即BC层是B层和C层内容的并集。ABCD4③环形。最常见的表示法变体是将层表示为一组同心圆或环形。最里层的环形对应于最低层,最外层的环形对应于最高层。环形还可以再分区。如图ACB2B3B1ACB3B2B1④带边车结构的层。许多被称为“分层”的结构在某种程度上类似于下图:ABCD分层风格还有一些非正规表示法,可以参考《软件构架编档》P.76。52.UML表示法。遗憾的是,UML不具备针对层的内置图元。但是,非分段的层能使用“包”以UML表示,如下图。A层B层allowedtouse包是一种能将元素组织成组的通用机制。图中,为层引入额外的包,方法是将其定义为包构造型,层即可以展示成UML包,且包之间具有“允许使用”的依赖性。关于这个问题深入的讨论,请参阅《软件构架编档》P.80。6与其它风格的关系作为一个例子,我们讨论分层风格与其它风格的关系。事实上,其它风格也都存在这一关系问题。1.模块分解层往往被与分解视图中的模块等同。事实上,层可以是模块,也可以不是。要注意的是,模块虽然可以再分解,但层却未必总是可以再分解。引入分段层通常用来展示对模块的映射。如果模块跨越不同的层,则用颜色填充图案。下图展示的是层和分解视图中的模块。功能驱动模块共享服务数据银行家物理模型过滤行为设备接口应用数据类型软件实用工具扩展计算机图例:行为隐蔽模块软件决策隐蔽模块硬件隐蔽模块72.级层通常会与n级客户机-服务器构架中的级产生混淆,如下图。表示层商业逻辑数据服务器这是一个“级”图,但很多人往往把它当成“层”图。请留意双向箭头,这是级图的一个重要标志。在分布式环境中给机器分配资源、元素间的数据流以及通信信道的存在和使用,都倾向于以级图表示,而层图则无法区分它们。83.模块“使用”风格由于层能表达“允许使用”关系,因此它非常符合使用风格。如果系统设计师决定在文档中集中包含一种风格,就很可能还会——虽然不总是会——包含其它风格。当然,“使用”关系不能违反“允许使用”关系。因此,在系统开发过程中,系统设计师应该以广泛的“允许使用”规范指导开发者。这一规范允许有效的建立任何重要的子集,而不必包含无用的程序或信息。然后,即可编制文档实际使用。4.子系统层能使用子系统概念跨越概念路径。下图是一个有层标签的子系统分段层图。位置显示防撞模拟记录&回放监测显示生成工作站调度程序网络通信操作系统子系统层应用支持层通信层平台层注:在该上下文中,子系统由顶层段和任何它可以使用的较低层的任何段构成。93.6组件和连接器(C&C)视图类型的风格组件和连接器(C&C)视图类型能为系统执行单元编制文档服务。C&C风格是C&C视图类型的特化,方法是引入一个特定的组件和连接器类型集,并指定这些类型中元素的组合规则。此外,C&C视图类型能捕捉到系统运行时的各个方面,所以C&C风格通常也与交互模式相关联,交互模式会规定计算、数据和控制流经系统的方式。任何特定的组件或连接器都能以多重C&C视图的形式编制文档,因为它可能以若干方式与其它组件或连接器进行交互。例如,组件是客户机-服务器系统中的服务器,而这一组件也能起到数据储存库的作用。所以,如果假设客户机-服务器风格以及共享数据风格对理解系统都十分重要,那么,这两种风格中的视图就会包含同一组件,展示不同的交互模式。组件和连接器视图类型可通过许多风格得到特化。被选来表示系统C&C视图的风格通常取决于系统内运行时结构的性质和这种表示的预期用途。例如,如果视图文档表达的是粗粒度的早期设计决策,而且这些决策以后将被进一步精化,则它就可能包含需要在以后得到精化的抽象连接器类型。如果视图被用来推断实时调度性,那么就很可能选用组件类型。10C&C视图风格为数不少,主要的就有管道和过滤器、共享数据、发布-订约、客户机-服务器、对等连接和通信进程等,这些风格广泛适用于各类系统,并能为说明文档原则提供充分的语言丰富性。但是,本课程限于篇幅和时间,我们只能讨论少数的1~2种风格,更多的其它数十种风格的介绍,可以查看诸多风格目录中的其中一种。风格目录可在Shaw和Garlan的[ShawGarlan96],Buschmann等人的[Buschmann+96]和Schmidt等人的[Schmidt+00]中查找。11(1)管道和过滤器风格管道和过滤器风格中的交互模式表现出数据流连续变换的特征。数据抵达过滤器并经转换后由管道传送给下一个过滤器。单个过滤器能通过多个端口传送数据。这类系统包括信号处理系统、利用UNIX管道构建的系统等。管道和过滤器风格一览表元素-组件类型:过滤器。过滤器端口必须是输入端口或输出端口-连接器类型:管道。管道拥有数据输入和数据输出角色关系连接关系能使过滤器输出端口与某个管道的数据输入角色相关联,使过滤器输入端口与多个管道的数据输出角色相关联,并能确定交互过滤器的图形计算模型-过滤器是从其输入端口读取数据流并将数据流写入其输出端口的数据转换器-管道能将数据流从一个过滤器传送到另一个过滤器特性与C&C视图类型定义的特性相同布局管道能将过滤器输出端口连接到过滤器输入端口。这种风格的特化可限制组件与非循环图或线性顺序的关联建议为管道编制文档的有用特性包括:管道是否会得到缓冲,它们如何处理数据结尾,以及它们向已满的缓冲管道写入数据或读取空管道数据时的阻塞行为。过滤器的特性可包括每个过滤器是否属于一个单独的进程以及每个过滤器实现的流变换。12管道和过滤器范例风格图例过滤器组件输出端口输入端口管道连接器绑定系统Simple:PipeFilterGrepSplitterMergeAndSortMergeSort一个简单的管道和过滤器风格的字符串处理应用程序该系统以分层的方式描述:过滤器MergeAndSort(合并和分类)由一个精化过程定义,该精化过程自身构成一个管道和过滤器系统。在这个例子中,组件和连接器的特性并未得到说明。133.7分配视图类型及文档风格在软件系统开发过程中,硬件、文件系统和团队结构都会与软件系统的结构发生关系,进行交互。所以,也必须为这类交互编制相关文档。这是因为,只有将软件系统结构映射到硬件即可对系统性能进行分析;通过将软件结构映射到开发团队,项目管理才能开展;通过将软件环境映射到文件结构,系统开发管理才得以进行。分配视图类型的3种风格如下图所示。软件构架的模块(或)C&C风格14如上图所示,我们将识别3种常见的风格:-部署风格:描述组件和连接器(C&C)对硬件的映射,硬件是软件执行的场所-实现风格:描述模块对包含它们的文件系统的映射-工作任务风格:描述模块对承担模块开发任务的人员、团队或小组的映射分配视图类型的元素、关系和特性可以用下表来概括。元素软件元素和环境元素关系“分配到……”。软件元素被分配到环境元素元素特性软件元素拥有“要求的”特性。环境元素拥有“提供的”特性,前者须与后者匹配关系特性取决于特定的风格布局应风格而异分配视图类型中的关系是“分配到……”关系,方向是从软件元素到环境元素。单个软件元素可以分配到多个环境元素,而多个软件元素也可以分配到单个环境元素。分配视图类型风格中的软件元素来自模块视图类型或C&C视图类型中的某一风格,其风格强调的是模块风格或C&C风格中的元素,而不是关系。15(1)部署风格在部署风格中,C&C风格的元素——一般是通信-进程风格——被分配到系统的执行平台。对任何特定分配的限制是由软件元素表达的需求以及相关硬件元素(元素集)的特征满足这些需求的方式。在部署风格中,环境元素是与物理单元相应的实体,物理单元能存储、发送或计算数据。这种风格的软件元素通常从符合进程的C&C视图元素导出。并且这种风格描述的典型关系是一种特殊的“分配到……”形式,它能表示软件元素驻留在哪些物理单元上。而且,这种关系是动态的,即分配可能会随着系统的执行而发生变化。部署风格一览表:元素-软件元素:一般是C&C视图类型中的进程-环境元素:计算硬件——处理器、内存、磁盘、网络等关系-“分配到……”,表示软件元素驻留在哪些物理单元上-如果分配是动态的,关系就是“移植到……”、“副本移植到……”和(或)“执行移植到……”元素特性-软件元素所要求的特性:重要硬件特征,如处理、内存、容量需求和容错性-环境元素所提供的特性:影响分配决策的重要硬件特征关系特性“分配到……”:静态或动态的关系布局无限制16部署风格用于性能、可靠性和安全性的分析,以及系统成本评估的一部分。此外,部署分配还能捕捉企业部署。即子系统的分配取决于企业内的某个组织,而每个组织都能利用自己的策略和标准对部署进行控制。涉及部署风格的设计错误通常集中在强迫其它软件单元符合分配到单个处理器的可部署单元上。例如,处理器的常驻软件通常不应对应于某个模块或层,它们一般应分布在若干处理器上。部署风格表示法:1.非正规表示法因特网T1线主机配置管理数据库FTPSSLSQLMail服务器DNSWeb服务器UNIXJavaOffice套件路由器图例:——物理通信信道172.UML调度器服务器:主机databass会议数据库软件客户机:PC机Directchannel一幅UML部署视图在UML中,部署图就是一幅节点图。这些节点由通信关联连接在一起。节点对应于处理元素,它一般都拥有内存和处理能力。节点可以包含组件实例,表示组件驻留在节点上。组件能通过依赖性关系箭头与其它组件相互连接。部署风格与C&C风格(风格集)存在联系,并且C&C风格提供分配到物理环境的软件元素。18(2)实现风格实现风格能将模块视图类型中的模块映射到开发基础结构。实现一个模块总会产生许多独立文件,如包含源码的文件、包含定义的文件、描述如何生成可执行程序的文件等。必须对这些文件进行组织,以免失去对系统的控制及完整性。利用配置管理技术通常能做到这一点:在最为简单的情况中,这种技术是在文件系统中采用目录分层结构。实现风格的视图还可以更为详细,如还可以展示各种模块的特殊配置条目,以及那些需要特定测试过程的条目等。但这通常c需要具备更为复杂的配置管理系统。实现风格一览表元素-软件元素:模块-环境元素:配置条目,如文件或目录关系-包容关系,规定一个配置条目由另一个配置条目包容-“分配到……”关系,描述将模块分配到配置条目元素特性-若存在,就是软件元素所要求的特性:通常是对Java或数据库等开发环境的要求-环境元素所提供的特性:对开发环境提供的特征的指示关系特性无布局分层配置条目:“包容在……”19实现

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功