软件密集型系统的设计科学探索
1. 软件密集型系统概述
在探讨软件密集型系统领域的研究时,面临的一个难题是关键概念缺乏通用术语。该领域存在大量含义模糊的术语(如“系统”“设计”),或者对同一基本概念有不同的表述(如“对象”“组件”“模块”)。
系统通常可定义为协同工作以形成连贯整体的元素集合。软件密集型系统(SIS)则是指部分(而非全部)组成元素以软件形式实现的系统。它包含三个层次:人类层、软件层和平台层,存在两个人机交互接口:人机 - 软件接口和软件 - 平台接口。
开发 SIS 涉及诸多重要决策,例如将系统行为(如功能、动作)和系统质量(如性能、安全性、可靠性)设计并分配到不同层次。一个特定的系统活动可以通过硬件(平台)、服务调用(软件)、人类行为(人类)或三者的组合来实现。同样,SIS 事务的性能要求(如响应时间)可以分解并分配到各个层次。
未来,软件层在规模和占整个系统的比例上都将增长,软件在几乎所有复杂系统中的作用将占据主导地位。因此,SIS 的研发必须积极应对将软件作为未来复杂系统主要构建材料所带来的挑战。
除了独立的 SIS,未来几乎所有系统都将通过网络连接到环境资源和其他系统,形成复杂的系统架构,以提供各种行为和质量。在 SIS 的三个层次中,存在着不同类型的网络:物理网络支持系统平台之间的数字和模拟数据传输;软件网络提供中间件层和协议,将传输的数据转换为信息处理系统之间共享的信息;社交网络为复杂系统中的人类参与者提供交互和社区交流的方式。
软件层由软件代码、信息和控制组成,这些概念之间的重叠支持了理解和构建系统软件层的不同方法和技术。例如,软件架构为特定应用领域系统定义了集成代码、信息和控制概念的结构。
超级会员免费看
订阅专栏 解锁全文
1669

被折叠的 条评论
为什么被折叠?



