IEEE 1471-2000是软件架构领域的一个重要标准,以下是对其的详细解析:
视频分享在这
1.2 IEEE 1471-2000标准,系统架构定义,软件密集系统_哔哩哔哩_bilibili
一、定义与目的
IEEE 1471-2000,全称为IEEE's Recommended Practice for Architectural Description of Software-Intensive Systems,即“软件密集型系统架构描述的推荐实践”。该标准由IEEE(电气和电子工程师协会)架构工作组制定,代表了工业界、其他标准化组织和学术界的意愿,并通过了超过150位国际评审员的评审。其目标在于便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。
二、背景与发展
软件系统的架构是一个隐喻,类似于建筑物的架构。架构(Architecture)这个词来源于建筑学,IT行业中的许多词汇都来源于传统行业。传统行业发展了很多年,有一套成熟的理论,而软件设计这个行业才几十年。在实践中,为了提高生产效率和品质,工程化是一个必然的趋势,于是传统行业工程化的理论和实践就有了在软件设计这个行业移植的可能性。
IEEE 1471-2000是软件架构领域的第一个正式标准,于2000年10月9日正式发布。该标准在2007年被ISO(国际标准化组织)采用为ISO/IEC 42010:2007,并在2011年被ISO/IEC/IEEE 42010:2011所取代,但IEEE 1471-2000仍然具有重要影响。
三、核心内容
IEEE 1471-2000标准主要关注于软件密集型系统的架构描述,其中包括:
- 架构定义:软件架构是关于“软件密集型系统”的架构,定义为“软件对整个系统的设计、构建、部署和演化产生重要影响的任何系统”。
- 利益相关人(Stakeholders):具备关键角色或关心系统的人,例如用户、开发人员或管理者。在系统中,具备不同角色的不同利益相关人会有不同的关注点。
- 关注点(Concerns):在系统中对利益相关人重要的兴趣点,并且决定系统的可接受性。关注点可能会涉及到系统的任何方面,如功能性、可开发性或可操作性,包括性能、可靠性、安全性、分布式特性和可发展性等。
- 视图(View)与视点(Viewpoint):视图是从相关的一组关注点投射的整个系统的一个表示。为了捕获或表示系统架构的设计,架构设计师一般会创建一个或多个架构模型。视图由这些模型中选择出来的一个或多个模型组成,选择这些模型是为了展示一个或一组利益相关人,以便他们的关注点在设计系统架构的过程中获得了足够的关注。视点则定义了获得视图的角度,包括如何构造和使用视图、哪些信息应该在视图中出现、表达和分析信息的建模技术等。
四、分层结构
IEEE 1471-2000标准提出了一个五层的分层结构来描述软件架构:
- 第一层:Mission(任务)
- 第二层:Environment、System、Architecture(环境、系统、架构)
- 第三层:Stakeholder、Architectural Description、Rationale(利益相关人、架构描述、基本原理)
- 第四层:Concern、Viewpoint、View(关注点、视点、视图)
- 第五层:Library Viewpoint、Model(库视点、模型)
这一分层结构有助于系统地理解和描述软件架构的各个方面。
1. 第一层:Mission(任务)
- 定义:系统的存在是为了在某种环境里履行一个或多个任务,一个任务(Mission)是指一种使用或操作,即一个系统想要满足由一个或多名利益相关者的目标。
- 关注点:主要关注系统为何存在,即系统的根本目的和需要达成的任务或目标。
2. 第二层:Environment、System、Architecture(环境、系统、架构)
- Environment(环境):系统不可能单独存在,它总是存在于一个环境之中。环境是指系统范围之外的东西,对系统有影响、有交互的客观存在。有时也称为系统的上下文(Context)。
- System(系统):具体的定义是一系列组件组织在一起,相互作用从而完成一个或者一些特殊的功能。
- Architecture(架构):每个系统有一个架构,无论是有意设计形成,还是自发形成。系统的架构是系统组件的基本组织形式,它们之间的关系以及与环境的关系,以及指导其设计和进化的原则。
3. 第三层:Stakeholder、Architectural Description、Rationale(利益相关者、架构描述、基本原理)
- Stakeholder(利益相关者):系统利益攸关方,是对系统有兴趣或关注的个人、团队或组织。一个系统有一个到多个利益相关者。
- Architectural Description(架构描述,简称AD):一个系统架构有一个系统描述和它对应,系统描述由利益相关者来识别出来并整理成文。
- Rationale(基本原理):在设计软件架构时所做的取舍和选择,以及架构设计是如何满足功能性需求和非功能性需求的说明。
4. 第四层:Concern、Viewpoint、View(关注点、视点、视图)
- Concern(关注点):是在系统中对利益相关者重要的兴趣点,并且决定系统的可接受性。关注点可能会涉及到系统的任何方面,如功能性、可开发性或可操作性,包括性能、可靠性、安全性、分布式特性和可发展性等。不同的利益相关者可能有不同的关注点。
- Viewpoint(视点):是构造和使用视图的约定规范,是一种模式和模板。它定义了如何构造和使用视图(通过指定模式或模板),哪些信息应该在视图中出现,以及表达和分析信息的建模技术。
- View(视图):是从相关的关注点的角度来看整个系统的表示。它是表达系统架构在视点中所定义的关注点的表达。不同的利益相关者可能有不同的视点,从而导致不同的视图。
5. 第五层:Library Viewpoint、Model(库视点、模型)
- Library Viewpoint(库视点):是一个库,库中存放了前人针对各种系统、各种不同的利益相关者、各种不同的关注点总结出来的观察点。这样可以方便后人来参考使用。
- Model(模型):是用来表达视图的方法,直白地说,就是系统中各种元素是如何组织在一起发挥作用的。我们用图形化的表示把看到的东西表达出来。一个视图包括一个或者多个架构模型,一个模型也可能参与多个视图。
五、应用与影响
IEEE 1471-2000标准在软件架构设计领域具有广泛的应用和影响。它提供了一个标准化的方法来描述软件架构,有助于确保架构的清晰性、一致性和可理解性。此外,该标准还促进了不同利益相关人之间的沟通和协作,提高了软件开发的效率和质量。
IEEE 1471-2000是一个具有重要影响力的软件架构描述标准,为软件密集型系统的架构设计和描述提供了标准化的方法和框架。