发展
计算机系统工程的思想最初源于问题求解的思维活动。随着这种求解活动的模型化,理论上建立了相应的计算模型。而微电子、数字技术的发展,逐步将抽象化的计算模型予以逻辑上、物理上的实现。计算机的发明,标志着计算机系统工程的建立。2
组成部分1.系统分析员
毫无疑问系统分析员是计算机系统工程中最重要和最活跃的元素之一。
(1)系统分析员的职责与工作
系统分析员(亦称为系统工程师)的责任就是要在总的系统(宏元素)结构中定义那些基于计算机系统的特定元素。系统分析员的工作:
①与用户研究、设计系统目标和系统的约束条件,确定系统的边界;
②准确定义系统目标及其构成,将系统目标分解成层次清晰、尽可能相互独立的多个子系统,设计出各个子系统的功能、性能、接口和信息结构,用规范的技术文档表达系统的构成——即设计方案;
③把所有系统的功能逐个分配到“基于计算机系统的系统元素”中。
功能是指系统运行所具备的目标能力;性能是指以怎样的状态实现这些功能;接口是系统各个部分之间、系统与外部之间的联系以及联系的状态和方式。
2.硬件和硬件工程
系统分析员选择某种硬件元件的组合以构成基于计算机系统的硬件元素。在选择硬件时,要考虑以下几个特性:
(1)对各种元件打包,形成一些单独的构件块;
(2)各个元件之间的接口应当是标准的;
(3)可以有多种配置的候选方案;
(4)比较各个方案的性能、成本、有效性。
3.软件和软件工程
在基于计算机的系统中,软件和软件工程的主要任务是把系统的某些功能和性能分配给软件系统。在某种情况下,把功能简单地看作是一个顺序的数据处理过程的实现,对性能不显示地定义;在另一些情况下,功能是对内部各个系统元素的协调和对其他并发程序的控制,而性能则显示地定义为响应和等待时间等。
4.人与人类工程
基于计算机的系统一般离不开人这一元素。人可以直接与软硬件交互,通过特定对话方式来驱动系统的功能实现,并且对系统的开发和维护负责。
近年来,人们对基于计算机系统中人这一元素的看法有了改变。早期基于计算机的系统总是把着眼点放在硬件与软件易于实现上,并强迫用户按系统规定的方式与系统通信,而完全不考虑人是否容易理解。现在,已经把“用户友好性”放在优先的位置,基于计算机系统的人类工程已成为系统开发中一个重要的步骤。
5.数据库和数据库工程
数据库工程,包括数据库分析、设计和实现,是一门技术学科。
数据库工程是一个重要的研究课题,但是,并不是所有的基于计算机的系统都使用数据库。对于使用数据库的系统来说,这种信息仓库往往是所有功能的数据核心;对于不使用数据库的系统来说,数据分析和设计仍然是最基本的软件工程活动(因为程序是数据结构与算法的总称)。数据库工程的主要内容是定义查询类型、数据存取关系和数据容量,它们总称为数据设计。3
工作过程在开始构造一个新的基于计算机的系统时,计算机系统工程师(系统分析人员和系统开发人员)首先根据用户定义的系统目标和约束条件进行系统可行性研究和系统需求分析,此时必须做大量、细致的研究、论证工作,如有必要,还需建造系统或其中关键部分的原型,以便正确、完整地确定系统的功能需求和性能需求。然后,系统工程师将系统功能和性能分配到系统各要素之中。需要指出,为各个系统要素指派功能和性能可能存在多种实现方法,系统工程师应提出多种预选的方案,然后根据系统设计目标和约束条件并按照一定的原则设计并选择最佳方案。比如,在成本、进度、系统资源、系统性能、支撑环境等方面进行取舍和折衷。在此基础上,对系统需求进行分解并分配给硬件、软件等系统要素,进而生成硬件、软件等系统要素的需求,并分别通过硬件工程、软件工程、人机工程、数据库工程等几个子工程予以实现。1