IEEE 1471的软件系统架构描述
关于1471
IEEE 1471发布于2000年,其目标在于方便体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。什么是密集型系统呢?1471中的框架标准,主要是针对密集型系统(software-intensive 也称作增强型软件),是指软件对于整个系统的设计、构建、部署和评估有重要影响的任何系统。
IT这个行业中的词汇许多都来源于传统行业。传统行业发展了很多年,有一套成熟的理论,而软件设计这个行业才几十年,在实践中,为了提高生产效率和品质,工程化是一个必然化的趋势,于是传统行业工程化的理论和实践就有了在软件设计这个行业移植的可能性。 在建筑行业或者机械设计行业,在建筑建造出来或者产品加工出来之前,设计人员用图纸来表达自己的设计意图。当然成熟的设计人员在取得认证之前,需要到施工单位或者到加工车间实习很长时间,以防止设计出来之后,无法建造或加工。
如果要描述软件的架构,在你对系统架构描述的过程中,需要出现那些要素(element),这些要素之间又有着怎样的关系?IEEE std 1471-2000这篇文档给出答案。下面的图描述了要素之间的关系。
图中描述要素之间的关系使用的语言是UML。对UML需要专门的时间来解读。UML已经发展成软件设计描述语言的事实标准。上面的图,图中的方框表示架构设计文档中需要描述的要素,要素之间的连线表示这些要素之间的关系。整个图分五层:
- Mission:任务,使命,也就是为什么我们要做这个系统。可能的原因是为了更大的赢利,市场占有率更高,完善产品系列等等。一个任务是指一种使用或操作,是一个系统想要满足由一个或多名利益相关者的目标。
- Environment,System,Architecture: 系统的定义是:一系列组件,组织在一起,相互作用从而完成一个或者一些特殊的功能。系统不可能单独存在,它总是存在于一个环境之中。我们将系统范围之外的东西,对系统有影响,有交互的客观存在