软件构成的层次结构模型以及各个层面所使用的结构。

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件构成的层次结构模型以及各个层面所使用的结构。

研究软件的结构后会发现,任何软件的完整结构都具有以上层次关系,如图所示。首先,特定的软件需要特定的硬件环境运行,这体现了软件的硬件层支持的作用;其次,在任何层面上描述建立的软件,是建立在其下层所提供的支持上的。因此,不可能存在不需要下层支持的抽象的上层结构或框架。

因此可以说,尽管软件的体系结构表现千差万别,但都是建立在特定描述层次上的。层次性是软件体系结构的不变性,是软件构成的共同规律。

软件体系结构的层次模型

01.硬件基础层

这是软件得以运行的物质基础,它包括:处理器、存储器、时钟、中断及其控制、I/O端口、I/O通道、快速缓存、DMA等。

02.软化的硬件层

各硬部件在计算机系统中是固定的,但其在软件描述中的出现次数是不受限制且每次出现受到关注的多是某个侧面,加之需要处理逻辑类似但构成有别的部件,所以命名代理的形式对硬件的操作加以描述。也就是要在对硬件结构和性能进行抽象的基础上,实现硬件的操作和控制描述。这就形成了软件的硬件层。

与硬件的分离导致了软件向不同结构但逻辑相似硬件上的可移植性。“材料”的获得,使得从更抽象的层面对软件进行描述创造了条件。

该层面程序设计的主要工具是汇编语言和描述能力更强大的宏汇编语言。

03.基础控制描述层

这是建立在高级程序语言描述上的纯粹软件描述层。它包括了高级语言所支持的所有程序控制和数据描述概念。程序控制的概念有:顺序、条件、循环、变量、参数、生存期、程序、过程/函数库/包、模块、模块覆盖等。

数据描述的概念有:数组、散列表、结构、队列、链表、堆栈、树、图、指针/参照、表、记录等。还包括从抽象数据类型出发的面向对象概念:类、对象、封装、继承等,以及各类设备的输入/输出、通信协议等。

支持该层面的软件系统模型有:主程序/子程序、结构化程序、模块化程序、面向对象程序、状态转换等。

支持该层面的设计工具有:程序设计语言、结构化分析设计、面向对象分析设计。

事实上,在该层对软件结构的描述又可以分为两个层面,一个以数据对象和操作算法为代表的高级层面,另一个实现代码结构的低级层面。

04.资源和管理层

在基础控制描述层建立的一切数据对象和操作,都需要在操作系统的协调和控制下才能实际地实现其设计的作用和功能。这就是资源和管理层的作用。

该层提供了基于操作系统结构的任务进程管理、消息处理、系统输入/输出控制、其它系统级别的资源和功能服务。

支持该层面的软件系统模型有:进程控制、分时系统、消息机制、微核系统、可视化程序结构等。

支持该层面的设计工具有:体系结构语言、可视化程序设计等。

05.系统结构模式层

这是从计算机出发建立的最高层次的软件结构概念。也就是说通常软件体系结构所称的体系结构风格或系统级别的设计模式,它们代表了软件技术所达到的最新、最高的抽象描述层。

该层的描述只有在低层概念的支持下获得进一步分解,才能从实现的目标上把握住系统的准确构成和特性。

该层包含的概念有:解释器、编译器、编辑器、转换器、管道/过滤器、黑板、生成系统、COM/DCOM/CORBA/JA V ABEANS组件、客户/服务器、浏览器、模式、框架等。其中框架是最高层的模式。

支持该层面的软件系统模型有:分布式计算、程序组装等。支持该层面的设计工具有:编译器设计、组件设计等。

06.应用层

这是从纯粹应用领域出发所建立的系统结构概念。这些概念可以是系统结构模式层的概念经过领域应用命名的直接引用,也可以是根据其构成方式建立起来的、面向应用领域的特殊设计模式或框架。

该层包含的概念有:企业管理、公文处理、控制系统、CAD系统、建筑设计、交通管理等应用领域的特别结构。

支持该层面的软件系统模型有:企业管理、组态控制、过程控制、统计分析、动画制作等各领域模型。

支持该层面的设计工具有:事务处理设计、公文处理设计、控制系统组态环境、CAD工具软件、统计分析设计、领域专家系统设计等领域应用设计环境。

相关文档
最新文档