计算机的软件领域主要研究计算机使用的环境技术,包括系统软件、用户编程环境与工具、应用软件等。
计算机硬件能够快速发展的原因之一是工业化程度比较好,很多集成电路按照功能做成标准器件,因而好的功能块会保留下来并不断改进。
软件的友好性主要取决于用户界面的设计和人机交互流程的质量。
1、目前软件体系结构的研究方向
软件体系由构成系统的元素的描述、元素的相互作用、指导元素集成的模式以及这些模式的约束组成。
一个特定的系统是用一些构件的集合和构件之间的交互来定义的。
软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
软件体系结构级的设计包括软件系统结构、全局控制结构、通讯协议、同步机制和数据存取、为设计元素分配功能、设计元素的组合、软件系统的物理分布、力度和性能以及多种方案的选择。
在体系结构级,相关的系统级典型问题包括:容量、吞吐量、一致性和构件兼容性等一系列问题。
目前,在软件体系结构领域主要致力于模块接口语言、特定领域的体系结构、软件重用、软件模式的规范化、软件体系结构描述语言、软件体系结构设计的形式化基础和设计环境的研究。
2、主要的研究方向分为4类:
(1)提供新的软件体系结构设计语言,使得系统开发者能够很好的描述他们设计的结构,以便与人交流,能够用提供的工具对许多实例进行分析。
(2)对软件体系结构的专门知识的整理。
(3)提供特定领域的体系结构框架。
(4)提供软件体系结构的形式化基础。
3、IEEE在软件体系结构方面的标准
2000年,计算机协会通过了IEEE1471标准,该标准为准确地体系化描述实践提供了统一的文件。促成IEEE1471批准的决定过程演示了该标准是如何来解决概念性问题的,并且强调了在标准形成过程中解决这些各种问题所涉及到的困难。
4、五个核心概念和相互关系为IEEE1471版本的通过提供了基本原则:
(1)每个系统具有一个体系结构,但一个体系结构不是一个系统;
(2)体系结构与体系结构描述不是一回事;