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

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

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

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

软件体系结构的层次模型

01. 硬件基础层

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

02. 软化的硬件层

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

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

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

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

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

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

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

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

04. 资源和管理层

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

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

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

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

05. 系统结构模式层

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

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

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

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

06. 应用层

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

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

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

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

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

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

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

软件体系结构的层次模型

01. 硬件基础层

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

02. 软化的硬件层

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

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

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

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

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

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

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

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

04. 资源和管理层

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

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

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

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

05. 系统结构模式层

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

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

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

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

06. 应用层

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

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

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

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


相关内容

  • 信息管理概论期末复习指导(答案)
  • <信息管理概论>期末复习指导 一.试题类型: 1.填空题(共20空,20%) 2.选择题(共10个,20%) 3.判断题(共10题,20%) 4.问答题(共4题,40%) 二.综合复习题(试题范例) 一.填空题 1.根据人类信息管理活动所采用的手段与方法,基本上可以将其分为期和 时期. ...

  • 信息安全及其体系建设概述
  • 信息安全及其体系建设概述 目录 1 信息安全的相关概念 ...................................................................... 4 1.1 计算机网络安全 ..................................... ...

  • 行业管理信息系统原理
  • 行业管理信息系统原理 [摘要]文章通过对我国商业银行中管理信息系统现状的分析,提出了解决我国银行管理信息系统建设问题的一些建议和对策,以此提高我国银行管理信息化水平. [关键词]银行 管理信息系统 决策 信息技术应用的魅力无处不在,在现代社会中具有举足轻重的银行业已经成为其应用最为重要的领域之一.当 ...

  • 信息系统审计考试要点
  • 据,以判断计算机系统是否能够保证资产的安全.数据的完整以及有效率地利用组织的资源并有效地实现组织目标的过程.三种基本类型信息系统的真实性审计(是对传统审计的补充,防止假账真审).信息系统的安全性审计(对企业的信息资产的安全性的审核,防止来自信息系统造成的经营风险.这时信息系统审计的目标是企业信息系统 ...

  • 集成产品开发
  • 集成产品开发 集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式.理念与方法.IPD的思想来源于美国PRTM公司出版的<产品及生命周期优化法>(简称PACE--Product And Cycle-time Excellence) ...

  • 第3讲 基本设计与详细设计
  • 第三讲 软件设计 大连海事大学计算机学院软件工程研究室 蒋 波 软件设计阶段要解决的问题是"How to do"的问题.就是说,需将整个系统划分出系统的物理组成元素(程序.文件.DB.人工过程.文档). 软件设计分为基本设计和详细设计两个部分.基本设计的主要工作是确定系统的结构. ...

  • 计算机科学概论重点
  • <计算机科学概论 >知识梳理 1.1 学生应具备的素质和能力 •5个方面的能力 –自学能力 –自控能力 –创新能力 –表达能力 –组织能力 1.1 学生应具备的素质和能力 •计算机专业人才的"专业基本能力"归纳为四个方面: 一是计算思维能力:二是算法设计与分析能力:三 ...

  • 项目管理成熟度-123
  • 项目管理成熟度 定义:项目管理成熟度表达的是一个组织(通常是一个企业)具有的按照预定目标和条件成功地.可靠地实施项目的能力.严格的讲,项目管理成熟度应该指的是项目管理过程的成熟度. 项目管理的提出 项目管理是产生于20世纪80年代末,当时的信息类技术的飞速发展使项目管理产生质的飞跃.还有一些信息类企 ...

  • 天津专接本软件工程专业考试资料
  • 1. 软件工程:是指导计算机软件开发和维护的一门工程学科.采用工程的概念.原理.技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. 2. 软件危机:是指在计算机软件的开发与维护过程中所遇到的一系列问题. 3. ...