编写软件架构文档

编写软件架构文档

ID:14707854

大小:87.00 KB

页数:7页

时间:2018-07-30

编写软件架构文档_第1页
编写软件架构文档_第2页
编写软件架构文档_第3页
编写软件架构文档_第4页
编写软件架构文档_第5页
资源描述:

《编写软件架构文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编写软件架构文档说明,第1部分:什么是软件架构,为什么为软件架构编写文档说明非常重要文档选项未显示需要JavaScript的文档选项打印本页将此页作为电子邮件发送讨论英文原文级别:中级TilakMitra,认证高级IT架构师,IBMGlobalServices2008年10月16日软件架构对于复杂实时系统的开发已日益变得更加重要。在这个新的系列中,了解为什么以及应该如何编写软件架构文档说明。您将了解为任何中大型软件开发项目编写文档说明的五个不同视图或方面。这是本系列中的第一篇文章,其中将介绍软件架构和文档说明的重要性。您还将概略了解将在后续文章中介绍的体系结

2、构视图。引言软件架构是一门学科,开始于20世纪70年代。面对不断增加的复杂性和开发复杂实时系统的压力,作为主流系统工程和软件开发的基本构造,软件架构应运而生。与任何其他久经考验的学科一样,软件架构在诞生之初也面临许多挑战。软件架构表示系统的结构和行为方面。在早期为软件架构编写文档说明时,所使用的文本和图解表达常常不足或者不够精确。所需的是某种一致并得到充分理解的伪(或元)语言,以便将对软件架构进行表示和编写文档说明的不同方式统一起来。在学术研究的推动下,在用于开发有效软件架构文档说明的最佳实践和指导原则方面,工程和计算机科学领域已取得了长足的发展。在本系列中

3、,您将了解如何编写软件架构文档说明。了解编写文档说明的不同方面:系统上下文、体系结构概述、功能体系结构、操作体系结构和体系结构决策。在这第一篇文章中,了解软件架构是什么,以及为该学科的不同方面编写文档说明的重要性。回页首软件架构不同的研究人员已解释了软件架构是什么,并且他们对有关如何最好地表示软件系统的体系结构具有不同的观点。其中没有哪一种解释是错误的;每种解释都具有自己的价值。BassL等人抓住了软件架构的本质:“程序或计算系统的软件架构是该系统的结构,包括软件组件、那些组件的外部可见的属性,以及那些组件之间的关系”。此定义重点关注由粗粒度的构造(软件组件

4、)所构成的体系结构,可以将这些构造看作是体系结构的构建块。每个软件组件或体系结构构建块具有某些外部可见的属性,这是它向其他体系结构构建块公开的属性。软件组件的内部设计和实现细节不是系统的其他部分所关心的内容,系统的其他部分只是将某个特定组件视为一个黑盒。该黑盒具有某些所公开的属性,其他软件组件可以使用这些属性来共同实现业务或IT目标。软件架构在恰当的粒度级别标识体系结构构建块。软件架构还标识那些构建块如何彼此相关,并进行文档记录。与软件工程相关的体系结构涉及到将单个系统分解或划分为一组可迭代地、渐进地和独立地构造的部分。各个部分彼此具有显式的关系。当组合在一

5、起时,各个部分就形成了系统、企业或应用程序的体系结构。关于体系结构与设计之间的区别,存在一些混淆。正如ClementsP等人所指出的,所有体系结构都是设计,但不是所有设计都是体系结构。需要绑定以使系统满足其功能性和非功能性需求和目标的设计本质上是体系结构。体系结构将体系结构构建块视为黑盒,而设计则处理体系结构构建块的配置、自定义和内部工作。体系结构将软件组件与其外部属性绑定在一起。设计通常要比体系结构松散得多,因为它允许以更多的方式遵守组件的外部属性。设计还考虑用于实现组件内部细节的各种方法。软件架构可以递归地使用。请考虑一个属于某个系统的软件架构组成部分的

6、软件组件(C1)。软件架构师将该组件及其应该公开的属性、功能和非功能特性及其与其他软件组件的关系交给系统设计人员。设计人员在分析软件组件C1之后,决定将该组件分解为更细粒度的组件(C11、C12和C13),其中每个组件提供可重用的功能,这些功能将用于实现C1的要求属性。设计人员详细设计了C11、C12、C13及其接口。此时,对设计人员来说,C11、C12和C13是体系结构构造(或组件);其中每个构造具有显式定义的外部接口。对设计人员来说,C11、C12和C13是软件组件C1的体系结构,并且这些构造需要进一步的改进和设计,以处理它们的内部实现。通过将大型、复杂

7、的系统划分为小型的构成部分并集中于每个部分,可以递归地使用体系结构。体系结构使用共同满足行为和质量目标的体系结构构建块将系统绑定在一起。参与者必须能够理解体系结构。因此必须为体系结构编写足够的文档说明,下一个部分将对此进行讨论。回页首编写体系结构文档说明的重要性参与者:体系结构的下游设计和实现用户。为体系结构的定义、维护和增强功能进行投资的人。向参与者传达您正在构建的系统蓝图的关键是为系统体系结构编写文档说明。软件架构通过不同的视图进行表示——功能、操作、决策等等。没有任何单一视图能够表示整个体系结构。并非所有视图都需要表示特定企业或问题领域的系统体系结构。

8、架构师将确定足以表示所需软件架构范畴的视图集。通过编

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。