系统架构设计师教程(二)计算机系统基础知识

news2024/11/30 10:55:08

系统架构设计师

  • 2.1 计算机系统概述
  • 2.2 计算机硬件
    • 2.2.1 计算机硬件组成
    • 2.2.2 处理器
    • 2.2.3 存储器
    • 2.2.4 总线
    • 2.2.5 接口
    • 2.2.6 外部设备
  • 2.3 计算机软件
    • 2.3.1 计算机软件概述
    • 2.3.2 操作系统
    • 2.3.3 数据库
      • 关系数据库
        • 关系数据库设计的特点及方法
        • 关系数据库设计的基本步骤
      • 分布式数据库
        • 分布式数据库体系结构
        • 分布式数据库的应用
      • 常用数据库管理系统
      • 大型数据库管理系统的特点
    • 2.3.4 文件系统
    • 2.3.5 网络协议
    • 2.3.6 中间件
      • 中间件分类
      • 中间件产品介绍
    • 2.3.7 软件构件
    • 2.3.8 应用软件
  • 2.4 嵌入式系统及软件
    • 2.4.1 嵌入式系统的组成及特点
    • 2.4.2 嵌入式系统的分类
    • 2.4.3 嵌入式软件的组成及特点
    • 2.4.4 安全攸关软件的安全性设计
  • 2.5 计算机网络
    • 2.5.1 网络的基本概念
    • 2.5.2 通信技术
    • 2.5.3 网络技术
    • 2.5.4 组网技术
    • 2.5.5 网络工程
  • 2.6 计算机语言
    • 2.6.1 计算机语言的组成
    • 2.6.2 计算机语言的分类
  • 2.7 多媒体
    • 2.7.1 多媒体概述
    • 2.7.2 多媒体系统的关键技术
  • 2.8 系统工程
    • 2.8.1 系统工程概述
    • 2.8.2 系统工程方法
    • 2.8.3 系统工程的生命周期
    • 2.8.4 基于模型的系统工程
      • 生命周期阶段
      • 生命周期方法
  • 2.9 系统性能
    • 2.9.1 性能指标
    • 2.9.2 性能计算
    • 2.9.3 性能设计
    • 2.9.4 性能评估

2.1 计算机系统概述

计算机系统 (Computer System) 是指用于数据管理的计算机硬件、软件及网络组成的系统。它是按人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的机器系统。
在这里插入图片描述
计算机系统是由硬件和软件两部分组成的。

2.2 计算机硬件

2.2.1 计算机硬件组成

冯·诺伊曼将计算机划分为五个部分

  1. 运算器 (Arithmetic Logic Unit, ALU):用于执行算术和逻辑运算。
  2. 控制器 (Control Unit, CU):用于控制指令的执行顺序和操作。
  3. 存储器 (Memory Unit):用于存储数据和指令。
  4. 输入设备 (Input Unit):用于输入数据和指令。
  5. 输出设备 (Output Unit):用于输出结果和信息。

现实里运算器和控制器归到处理器里,输入设备和输出设备则经常被设计者集成为一体,按照传输过程被划分为总线、接口和外部设备。

( [ 运算器 + 控制器 ] < = = > 处理器 ) + 存储器 + ( [ 输入 + 输出设备 ] < = = > [ 总线 + 接口 + 外部设备 ] ) ([运算器+控制器]<==>处理器)+ 存储器 + ([输入+ 输出设备] <==> [总线+接口+外部设备]) ([运算器+控制器]<==>处理器)+存储器+([输入+输出设备]<==>[总线+接口+外部设备])

2.2.2 处理器

处理器的指令集按照其复杂程度可分为复杂指令集 (Complex Instruction Set Computers,CISC) 与精简指令集 (Reduced Instruction Set Computers,RISC) 两类。精简指令集是以后的发展趋势
在这里插入图片描述
还有GPU,做深度学习的;DSP,实时数字信号处理的。

2.2.3 存储器

存储器是利用半导体、磁、光等介质制成用于存储数据的电子设备。计算机系统中的存储器通常采用分层的体系 (Memory Hierarchy) 结构,按照与处理器的物理距离可分为4个层次。

  1. 片上缓存,在处理器核心中直接集成的缓存,一般为 SRAM结构
  2. 片外缓存,在处理器核心外的缓存,需要经过交换互联开关访问,一般也是由 SRAM 构成,称为平台 Cache(PlatformCache)。
  3. 主存(内存),通常采用 DRAM结构,以独立的部件/芯片存在,通过总线与处理器连接。需要不断供电维持其中的数据。
  4. 外存,可以是磁带、磁盘、光盘和各类Flash等介质器件,这类设备访问速度慢,但容量大,且在掉电后能够保持其数据。

2.2.4 总线

总线 (Bus) 是指计算机部件间遵循某一特定协议实现数据交换的形式,即以一种特定格式按照规定的控制逻辑实现部件间的数据传输。

按照总线在计算机中所处的位置划分为内总线、系统总线和外部总线。

  1. 内总线,芯片上的内部连接
  2. 系统总线,计算机内的部件连接
  3. 外总线,计算机和外界设备的连接,比如屏幕,键盘等等

2.2.5 接口

接口是指同一计算机不同功能层之间的通信规则。
比如显示类的(HDMI、DVI),音频类的(RCA)等等

2.2.6 外部设备

那就是外设了,鼠标键盘等等…

2.3 计算机软件

计算机软件是指计算机系统中的程序及其文档,是计算任务的处理对象和处理规则的描述。对数据的加工,从中提取信息。

2.3.1 计算机软件概述

计算机软件分为系统软件和应用软件两大类。

  1. 系统软件是为整个计算机系统配置的不依赖特定应用领域的通用软件。可以看作是根基。
  2. 应用软件是指为某类应用需要或解决某个特定问题而设计的软件,就是专注于细节任务。

2.3.2 操作系统

操作系统是计算机系统的资源管理者。

  1. 操作系统的组成
    由系统内核(Kernel)和其他许多附加的配套软件所组成。配套软件常用的应用程序、用户界面、实用程序等等。

    操作系统内核指的是能提供进程管理(任务管理)、存储管理、文件管理和设备管理等功能的那些软件模块,它们是操作系统中最基本的部分,用于为众多应用程序访问计算机硬件提供服务。可以理解成在硬件上事先铺了一套简洁、统一的接口。

  2. 操作系统的作用
    (1)管理计算机中运行的程序和分配各种软硬件资源。
    (2)为用户提供友善的人机界面。
    (3)为应用程序的开发和运行提供一个高效率的平台。
    除了上述3个方面的作用之外,操作系统还具有辅导用户操作(帮助功能)、处理软硬件错误、监控系统性能、保护系统安全等许多作用。总之,有了操作系统,计算机才能成为一个高效、可靠、通用的数据处理系统。

  3. 操作系统的特征
    1)并发性
    2)共享性
    3)虚拟性
    4)不确定性

  4. 操作系统的分类

    1. 批处理操作系统,批处理操作系统分为单道批处理和多道批处理。
    2. 分时操作系统,在分时操作系统中,一个计算机系统与多个终端设备连接。分时系统主要有4个特点:多路性、独立性、交互性和及时性。
    3. 实时操作系统,实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。分为实时控制系统和实时信息处理系统。
    4. 网络操作系统,是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。一个典型的网络操作系统的特征包括硬件独立性和多用户支持等。
    5. 分布式操作系统,分布式计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。
    6. 微型计算机操作系统,简称微机操作系统,常用的有 Windows、Mac OS、Linux。
    7. 嵌入式操作系统,运行在嵌入式智能设备环境中,对整个智能硬件以及它所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。 特点 => 微型化、可定制、实时性、可靠性、易移植性。

2.3.3 数据库

数据库技术是目前最有效的数据管理技术。数据库 (DataBase,DB) 是指长期存储在计算机内、有组织的、统一管理的相关数据的集合。

数据库 = 数据 + 数据之间的联系

  • 关系型数据库是最传统的数据库类型,使用二元关系表格来管理复杂的数据结构。
  • 键值数据库使用简单的键值对来存储数据。
  • 列存储数据库与关系型数据库不同,它将数据按列而不是按行存储。
  • 文档数据库用于存放并获取文档,可视为其值可查的键值数据库。
  • 搜索引擎数据库是应用在搜索引擎领域的数据存储形式。

关系数据库

关系数据库设计的特点及方法

数据库设计是为了构建一个最优的数据库,以满足特定应用环境下的需求。它包括结构特性和行为特性的设计。

数据库设计的过程可以与软件工程的阶段对应起来。它以数据模型为核心展开,并从数据结构开始设计。静态结构设计和动态行为设计是分离的。设计过程是试探性的,需要进行反复和多步的迭代。

目前存在四类数据库设计方法:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。常用的方法包括基于3NF(第三范式)的设计方法、基于实体联系(E-R)模型的设计方法、基于视图概念的设计方法、面向对象的关系数据库设计方法、计算机辅助数据库设计方法以及敏捷数据库设计方法等。

关系数据库设计的基本步骤

数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用程序设计
和运行维护6个阶段,目的是为了构建一个最优的数据库,以满足特定应用环境下的需求。在不同的阶段,需要采用不同的方法和技术,例如E-R方法、结构化设计方法、面向对象设计方法等。此外,数据库的正常运行、性能优化和安全性控制也是数据库设计的重要内容。
在这里插入图片描述

分布式数据库

分布式数据库系统(Distributed DataBase System, DDBS)是一种处理地理上分散、但需要集中管理的数据需求的数据管理信息系统。完全分布式数据库系统满足分布性、逻辑相关性、场地透明性和场地自治性的要求。

  1. 数据的集中控制性:分布式数据库系统通过集中管理和控制数据,确保数据的一致性和完整性。
  2. 数据独立性:分布式数据库系统可以将数据分布在不同的地理位置,使得用户可以透明地访问和操作数据,无需关心数据存储的具体位置。
  3. 数据冗余可控性:分布式数据库系统可以对数据进行冗余存储,提高数据的可用性和容错性。同时,通过控制数据的冗余度,可以降低存储成本和网络带宽的消耗。
  4. 场地自治性:分布式数据库系统允许不同地理位置的数据管理者独立地管理和控制自己所负责的数据,实现了自治和灵活性。
  5. 存取的有效性:分布式数据库系统通过优化数据存取路径和使用分布式查询处理技术,提高数据的存取效率和响应时间。
分布式数据库体系结构

在这里插入图片描述

分布式数据库的应用

有分布式计算、 Internet应用、数据仓库、数据复制以及全球联网查询等

常用数据库管理系统

  1. Oracle
  2. IBM DB2
  3. Sybase
  4. Microsoft SQL Server

大型数据库管理系统的特点

  1. 基于网络环境:大型数据库管理系统可以应用于C/S结构和B/S结构的数据库应用系统,适应不同的网络环境。

  2. 大规模应用支持:它能够支持数千个并发用户、处理超过百万级别的事务以及容纳数百GB甚至更多的数据。

  3. 并发控制:通过自动锁功能,大型数据库管理系统实现了安全而高效的并发用户对数据的访问。

  4. 高度安全性:大型数据库管理系统提供了强大的安全机制,确保数据的机密性和完整性。

  5. 数据备份与恢复:提供了便捷而灵活的数据备份和恢复方法,可利用操作系统的容错功能,最大限度地保护数据免受意外情况的影响。

  6. 数据完整性维护:大型数据库管理系统提供多种手段来维护数据的完整性,保证数据的一致性和准确性。

  7. 分布式处理:大型数据库管理系统提供方便易用的分布式处理功能,支持跨多个节点和地理位置进行数据处理和查询。

2.3.4 文件系统

  1. 文件与文件系统
    文件系统是操作系统中实现文件统一管理的一组软件和相关数据的集合,是专门负责管理
    和存取文件信息的软件机构。文件 (File) 是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合,例如,一个源程序、一个目标程序、编译程序、一批待加工的数据和各种文档等都可以各自组成一个文件。
  2. 文件的类型
    (1)按文件的性质和用途分类可将文件分为系统文件、库文件和用户文件。
    (2)按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。
    (3)按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。
    (4)UNIX系统将文件分为普通文件、目录文件和设备文件(特殊文件)。
  3. 文件的结构和组织
    文件的结构是指文件的组织形式。

    1)文件的逻辑结构:一是有结构的记录式文件,它是由一个以上的记录构成的
    文件;二是无结构的流式文件,它是由一串顺序字符流构成的文件。

    2)文件的物理结构:是指文件的内部组织形式,即文件在物理存储设备上的存放方法。连续结构、链接结构、索引结构、多个物理块的索引表
  4. 文件存取的方法和存储空间的管理

    1)文件的存取方法是指读/写文件存储器上的一个物理块的方法。通常有顺序存取和随机存取两种方法。

    2)文件存储空间的管理,要将文件保存到外部存储器,首先需要了解存储空间的使用情况,即哪些物理块是被占用的,哪些是空闲的。特别是在多用户共享大容量磁盘存储空间时,文件系统必须对磁盘空间进行管理。通常,外存空闲空间管理的数据结构称为磁盘分配表(Disk Allocation Table)。常见的空闲空间管理方法包括空闲区表、位示图和空闲块链。
  5. 文件共享和保护

    1)文件的共享,文件共享是指不同用户进程使用同一文件,它不仅是不同用户完成同一任务所必须的功能,还可以节省大量的主存空间,减少由于文件复制而增加的访问外存次数。常见的文件链接有硬链接和符号链接两种。

    2)文件的保护,文件系统对文件的保护常采用存取控制的方式进行。就是个不同用户不同的权限。

2.3.5 网络协议

计算机网络中的通信需要遵循协议,它是一组事先约定好的规则,确保不同系统能够共享资源和交换信息。协议规定了通信时的数据格式、传输时序和控制信息等内容。常见的网络协议包括LAN、WAN、无线网和移动网协议,而互联网采用TCP/IP协议簇。

2.3.6 中间件

应用软件与各种操作系统之间使用的标准化编程接口和协议,可以起承上启下的作用,使应用软件的开发相对独立于计算机硬件和操作系统,并能在不同的系统上运行,实现相同的应用功能。
在这里插入图片描述

中间件分类

  1. 通信处理(消息)中间件
  2. 事务处理(交易)中间件
  3. 数据存取管理中间件
  4. Web服务器中间件
  5. 安全中间件
  6. 跨平台和架构的中间件
  7. 专用平台中间件
  8. 网络中间件

中间件产品介绍

主流的中间件产品有IBM MQSeries和 BEA Tuxedo

2.3.7 软件构件

构件又称为组件,是一个自包容、可复用的程序集。这个集合整体向外提供统一的访问接口,构件外部只能通过接口来访问构件,而不能直接操作构件的内部。构件的两个最重要的特性是自包容与可重用。

  1. 软件构件的组装模型
    随着软件构件技术的发展,构件组装模型成为一种搭积木式的开发方法。系统通过组装独立的构件来实现功能,并通过接口相互协作。构件组装模型的优点包括易于扩展、降低开发成本和灵活安排任务。然而,设计不良的构件难以重用,对构件的设计需要经验丰富的架构设计师,开发人员需要掌握构件的知识,第三方构件库的质量也会影响软件质量。
    在这里插入图片描述
  2. 商用构件的标准规范
    主流的商用构件标准规范包括对象管理组织 (Object Management Group,OMG) 的
    CORBA、Sun 的J2EE和 Microsoft 的DNA。

2.3.8 应用软件

应用软件是为了利用计算机解决某类问题而设计的程序的集合,是为满足用户不同领域、
不同问题的应用需求而提供的软件。

2.4 嵌入式系统及软件

嵌入式系统 (Embedded System) 是为了特定应用而专门构建且将信息处理过程物理过程紧密结合为一体的专用计算机系统。嵌入式软件则是指可运行在嵌入式系统中的程序代码和帮助这些软件开发所用的工具或环境软件的总称。

2.4.1 嵌入式系统的组成及特点

嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁减的软、硬件集成于一体的专用计算机系统,需要满足应用对功能、可靠性、成本、体积和功耗等方面的严格要求。
在这里插入图片描述

  1. 嵌入式系统的组成
    一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。
  2. 嵌入式系统的特点
    (1)专用性强。
    (2)技术融合。
    (3)软硬一体软件为主。
    (4)比通用计算机资源少。
    (5)程序代码固化在非易失存储器中。
    (6)需专门开发工具和环境。
    (7)体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强。
    (8)对安全性和可靠性的要求高。

2.4.2 嵌入式系统的分类

在这里插入图片描述

2.4.3 嵌入式软件的组成及特点

在这里插入图片描述
嵌入式软件的主要特点包括可剪裁性、可配置性、强实时性、安全性、可靠性和高确定性。可剪裁性能够根据系统需求削减不需要的功能模块,可配置性能够根据不同状态进行能力的扩展和变更,强实时性要求任务必须在规定的时限内完成,安全性是判断系统性能的重要指标,可靠性是指系统执行所需功能的能力,高确定性要求系统运行的时间、状态和行为都是预先规划好的。

2.4.4 安全攸关软件的安全性设计

嵌入式计算机及软件在安全性保障领域中起着主导作用。

2.5 计算机网络

计算机网络利用通信线路将分散的计算机系统和通信设备连接起来,通过网络软件和通信协议实现资源共享和信息传递。技术涵盖通信、网络、组网和网络工程。

2.5.1 网络的基本概念

  1. 计算机网络的发展
    计算机网络经历了诞生、形成、互联互通和高速发展四个阶段,从单个计算机为中心的远程联机系统发展到多个主机通过通信线路互联起来为用户提供服务,并形成了开放式和标准化网络环境,最终发展为以互联网为代表的庞大的计算机系统。
  2. 计算机网络的功能
    (1) 数据通信是利用通信协议和数据传输技术在通信结点之间传递信息的方式,主要与远程信息处理相关。
    (2)资源共享包括硬件、软件和数据资源的共享,可以提高设备利用率,避免重复投资,充分利用信息资源。
    (3)计算机网络技术促使办公手段和管理发生变化,实现了日常工作的集中管理,提高工作效率,增加经济效益。
    (4)网络技术使分布式计算成为可能,对大型课题进行分解和分布处理,然后集中解决问题。
    (5)负荷均衡通过均匀分配工作负荷给各台计算机系统,提高系统可靠性和性价比。计算机网络扩展了系统功能和应用范围,为用户提供便利的同时减少整体系统费用。
  3. 网络有关指标
    计算机网络性能是衡量网络服务质量的重要指标。主要的性能指标包括速率带宽吞吐量时延往返时间利用率。这些指标影响着计算机网络的性能。此外,还有一些非性能特征,如费用质量标准化可靠性可扩展性可升级性易管理性和可维护性,与性能指标密切相关。高性能的网络通常价格较高,而采用国际标准设计的网络更易于升级和维护。此外,网络的可靠性和扩展性也需要考虑,并且对网络进行良好的管理和维护是保持设计性能的关键。
  4. 网络应用前景
    现在,人们的生活、工作、学习和交往都已离不开因特网了。

2.5.2 通信技术

计算机网络是利用通信技术将数据从一个结点传送到另一结点的过程。通信技术是计算机网络的基础。这里所说的数据,指的是模拟信号和数字信号,它们通过信道来传输。

  1. 信道可分为物理信道和逻辑信道。
  2. 信号变换
  3. 复用技术和多址技术
  4. 5G 通信网络

2.5.3 网络技术

网络通常按照网络的覆盖区域和通信介质等特征来分类,可分为局域网 (LAN)、 无线局域网 (WLAN)、 城域网 (MAN)、 广域网 (WAN) 和移动通信网等。

2.5.4 组网技术

  1. 网络设备及其工作层级
    网络设备是连接到网络中的物理实体。网络设备的种类繁多,且与日俱增。基本的网络设备有集线器、中继器、网桥、交换机、路由器和防火墙等。
  2. 网络协议,OS//RM 的网络体系结构如图2-23所示,由低层至高层分别为物理层 (Physical Layer)、 数据链路 层 (Datalink Layer)、 网络层 (Network Layer)、 传输层 (Transport Layer)、 会话层 (Session Layer)、 表示层 (Presentation Layer) 和应用层 (Application Layer)。
    在这里插入图片描述
    OSI 协议集
    在这里插入图片描述
    对比
OSI模型TCP/IP模型TCP/IP协议
应用层应用层HTTP, FTP, SMTP, Telnet, DNS, SNMP, DHCP
表示层
会话层
传输层传输层TCP, UDP
网络层网际层IP, ICMP, ARP, RARP
数据链路层网络接口层Ethernet, PPP
物理层硬件层
  1. 交换技术
    功能包括:
    (1)集线功能。提供大量可供线缆连接的端口达到部署星状拓扑网络的目的。
    (2)中继功能。在转发帧时重新产生不失真的电信号。
    (3)桥接功能。在内置的端口上使用相同的转发和过滤逻辑。
    (4)隔离冲突域功能。将部署好的局域网分为多个冲突域,而每个冲突域都有自己独立的带宽,以提高交换机整体宽带利用效率。

  2. 路由技术
    提供了以下功能:
    (1)异种网络互连:能够连接具有不同子网协议的网络。
    (2)子网协议转换:实现不同子网之间的协议转换,包括局域网和广域网之间的转换。
    (3)数据路由:根据路由规则将数据从一个网络转发到另一个网络。
    (4)速率适配:利用缓存和流控协议进行速率的适配。
    (5)隔离网络:防止广播风暴,实现防火墙功能,确保网络安全。
    (6)报文分片和重组:当报文超过接口的最大传输单元时,进行分片发送,并在目的地重新组装。
    (7)备份和流量控制:实现主备线路的切换和复杂流量控制,确保网络的可靠性和稳定性。

2.5.5 网络工程

网络建设是一个复杂的系统工程,是对计算机网络、信息系统建设和项目管理等领域知识进行综合利用的过程。作为系统架构设计师,应充分分析和调研市场,确定网络建设方案。网络建设工程可分为网络规划网络设计网络实施三个环节。

2.6 计算机语言

2.6.1 计算机语言的组成

计算机语言主要由一套指令组成,而这种指令一般包括表达式、流程控制和集合三大部分内容。

2.6.2 计算机语言的分类

  1. 机器语言
  2. 汇编语言
  3. 高级语言
  4. 建模语言(UML)
  5. 形式化语言

2.7 多媒体

2.7.1 多媒体概述

媒体是信息的表现形式,包括文字、声音、图像、动画和视频等。根据ITU-T的建议,媒体可以分为感觉媒体、表示媒体、显示媒体、存储媒体和传输媒体。

2.7.2 多媒体系统的关键技术

  1. 视音频技术
  2. 通信技术
  3. 数据压缩技术
  4. 虚拟现实 (VR)/增强现实 (AR) 技术

2.8 系统工程

系统工程是一种组织管理技术。

2.8.1 系统工程概述

系统工程是运用系统方法,对系统进行规划、研究、设计、制造、试验和使用的组织管理技术。

系统工程是一门技术,通过科学方法解决复杂问题。其核心在于分析和设计与其部分截然不同的整体。该方法坚持全面看问题、考虑所有侧面和可变因素,并将问题的社会方面与技术方面联系起来。采用系统工程方法的主要步骤包括:确定系统需求、根据需求设计系统、评估设计方案、修改需求并重新设计。经过多次循环,得到最佳方案,即一个技术上合理、经济上合算、研制周期短且能协调运转的工程系统。

2.8.2 系统工程方法

系统工程方法是一种现代的科学决策方法,也是一门基本的决策技术。特点是整体性、综合性、协调性、科学性和实践性。

2.8.3 系统工程的生命周期

系统生命周期根据系统属性、目的和环境而变化,每个阶段都有不同的目的和贡献。定义生命周期的目的是建立一个满足需求的框架,并通过决策确定就绪状态。跳过阶段和减少投入可能增加风险。系统工程在整个生命周期中都很重要,包括生产和运行阶段。

2.8.4 基于模型的系统工程

基于模型的系统工程 (MBSE) 是一种建立在形式化建模方法之上的系统工程方法。它通过采用图形化、关联化的建模语言和相应的建模工具,支持系统需求、分析、设计、验证和确认等活动,贯穿整个生命周期阶段,充分利用计算机和信息技术的优势,为系统实现和验证奠定更为坚实的基础,提高系统研制效率。MBSE仍然遵循系统工程的层层分解、综合集成思路,通过三个阶段产生不同类型的图形来支持需求分析、功能分析与分配、设计综合等活动。

生命周期阶段

  • 探索性研究阶段是为了识别需求、探索创意和技术,并引入新项目的启动阶段。

  • 概念阶段是细化需求、探索可行概念和提出解决方案。

  • 开发阶段是细化系统需求、创建解决方案描述、构建系统并进行验证确认。

  • 生产阶段是生产系统并进行检验和验证。

  • 使用阶段是系统在预期环境中运行以满足用户需求。

  • 保障阶段是提供持续系统能力,解决问题、降低成本或延长寿命。

  • 退役阶段是存储、归档或退出系统,确保退出需求得到满足。

生命周期方法

计划驱动方法渐进迭代式开发精益开发敏捷开发是常用的软件开发方法。

  • 计划驱动方法适用于大型团队项目,注重规范化流程和文档完整性;
  • 渐进迭代式开发适用于需求不确定或需要引入新技术的项目,通过多轮迭代来达到期望的系统;
  • 精益开发通过消除浪费和以客户为中心来最大化价值交付;
  • 敏捷开发注重灵活性,快速交付可用软件并允许需求变更。

2.9 系统性能

系统性能是一个系统提供给用户的所有性能指标的集合。包含软硬两方面。系统性能包含性能指标、性能计算、性能设计和性能评估4个方面的内容。

2.9.1 性能指标

  1. 计算机的性能指标
  2. 路由器的性能指标
  3. 交换机的性能指标
  4. 网络的性能指标
  5. 操作系统的性能指标
  6. 数据库管理系统的性能指标
  7. Web 服务器的性能指标

2.9.2 性能计算

性能指标计算的主要方法有定义法、公式法、程序检测法和仪器检测法。

2.9.3 性能设计

  1. 性能调整
    当系统性能降到最基本的水平时,性能调整由查找和消除瓶颈组成。

  2. 阿姆达尔解决方案
    在这里插入图片描述

2.9.4 性能评估

性能评估的一个目的是为性能的优化提供参考。

  1. 基准测试程序
  2. Web 服务器的性能评估
  3. 系统监视

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1299644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Linux] nginx防盗链与优化

一、Nginx的页面优化 1.1 Nginx的网页压缩 在Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。进行相关的配置修改&#xff0c;就能实现Nginx页面的压缩&#xff0c;达到节约带宽&#xff0c;提升用户访问速度 vim /usr/local/nginx/conf/nginx.conf http { .…

【trino权威指南】使用trino详解:trino client安装、查询sql、DBeaver连接trino、java通过JDBC连接trino

文章目录 一. Trino CLI1. 安装client2. 使用client执行sql 二. JDBC driver 连接Trino1. 通过DBeaver用户界面连接2. JDBC Driver in java2.1. 环境配置2.2. 注册和配置driver2.3. 连接参数2.4. 查询例子 一. Trino CLI 1. 安装client Trino CLI提供了一个基于终端的交互式s…

Linux权限命令详解

Linux权限命令详解 文章目录 Linux权限命令详解一、什么是权限&#xff1f;二、权限的本质三、Linux中的用户四、linux中文件的权限4.1 文件访问者的分类&#xff08;人&#xff09;4.2 文件类型和访问权限&#xff08;事物属性&#xff09; 五、快速掌握修改权限的做法【第一种…

【刷题篇】动态规划(六)

文章目录 1、最大子数组和2、环形子数组的最大和3、乘积最大子数组4、乘积为正数的最长子数组长度5、 等差数列划分6、最长湍流子数组 1、最大子数组和 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&…

Cache替换算法

目录 一. 随机算法(RAND)二. 先进先出算法(FIFO)三. 近期最少使用算法(LRU)四. 最不经常使用算法&#xff08;LFU) 要解决的问题: Cache很小&#xff0c;主存很大。如果cache满了怎么办? \quad 也要关注各种算法的英文缩写 \quad 一. 随机算法(RAND) \quad 随机算法―一实现简…

Qt优秀开源项目之十九:跨平台记事本Notes

官网&#xff1a;https://www.get-notes.com github&#xff1a;https://github.com/nuttyartist/notes 一.特性 1.完全基于Qt和C 2.完全开源和跨平台&#xff08;Linux、macOS、Windows&#xff09; 3.运行速度快&#xff0c;界面美如画 4.支持Markdown 5.支持使用嵌套文件夹…

C# 任务并行类库Parallel调用示例

写在前面 Task Parallel Library 是微软.NET框架基础类库&#xff08;BCL&#xff09;中的一个&#xff0c;主要目的是为了简化并行编程&#xff0c;可以实现在不同的处理器上并行处理不同任务&#xff0c;以提升运行效率。Parallel常用的方法有For/ForEach/Invoke三个静态方法…

Ubuntu安装向日葵【远程控制】

文章目录 引言下载向日葵安装向日葵运行向日葵卸载向日葵参考资料 引言 向日葵是一款非常好用的远程控制软件。这一篇博文介绍了如何在 Ubuntu Linux系统 中安装贝瑞向日葵。&#x1f3c3;&#x1f4a5;&#x1f4a5;&#x1f4a5;❗️ 下载向日葵 向日葵官网: https://sunl…

Springboot自定义start首发预告

Springboot自定义start首发预告 基于Springboot的自定义start , 减少项目建设重复工作, 如 依赖 , 出入参包装 , 日志打印 , mybatis基本配置等等等. 优点 模块化 可插拔 易于维护和升级 定制化 社区支持(后期支持) 发布时间 预告: 2023-12-10 预计发布: 2024-1-1 , 元旦首…

鸿蒙应用开发ArkTS基础组件的使用

语雀知识库地址&#xff1a;语雀HarmonyOS知识库 飞书知识库地址&#xff1a;飞书HarmonyOS知识库 本文示例代码地址&#xff1a;Gitee 仓库地址 嗨&#xff0c;各位好呀&#xff0c;我是小白 上一篇文章我为大家介绍了如何使用 ArkTS 开发鸿蒙应用&#xff0c;对 HarmonyOS 项…

【IDEA】解决mac版IDEA,进行单元测试时控制台不能输入问题

我的IDEA版本 编辑VM配置 //增加如下配置&#xff0c;重启IDEA -Deditable.java.test.consoletrue测试效果

2023最新最全【Wireshark 】 安装教程(附安装包)

简介 wireshark是非常流行的网络封包分析工具&#xff0c;功能十分强大。可以截取各种网络封包&#xff0c;显示网络封包的详细信息。使用wireshark的人必须了解网络协议&#xff0c;否则就看不懂wireshark了。 为了安全考虑&#xff0c;wireshark只能查看封包&#xff0c;而…

【React Hooks】useReducer()

useReducer 的三个参数是可选的&#xff0c;默认就是initialState&#xff0c;如果在调用的时候传递第三个参数那么他就会改变为你传递的参数&#xff0c;实际开发不建议这样写。会增加代码的不可读性。 使用方法&#xff1a; 必须将 useReducer 的第一个参数&#xff08;函数…

代码随想录算法训练营第四十天|139.单词拆分,多重背包,背包问题

139. 单词拆分 - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&a…

ES6原生音乐播放器(有接口)

视频展示 ES6音乐播放器 项目介绍 GutHub地址&#xff1a;GitHub - baozixiangqianchong/ES6_MusicPlayer: 音乐播放器 ES6_MusicPlayer 是基于JavaScriptES6Ajax等通过原生构建的项目。能够充分锻炼JS能力。 本项目有主页、详情页、歌单页面三部分组成 ├── assets&…

【Hive】启动beeline连接hive

1、解决报错2、在datagrip上连接hive 1、解决报错 刚开始一直报错&#xff1a;启动不起来 hive-site.xml需要配置hiveserver2相关的 在hive-site.xml文件中添加如下配置信息 <!-- 指定hiveserver2连接的host --> <property><name>hive.server2.thrift.bin…

力扣思维题/经典面试题——下一个排序

https://leetcode.cn/problems/next-permutation/description/ 字节面试题&#xff0c;非常经典的逻辑思维题 1、找到第一个下降点&#xff0c;说明这个点可以变得稍微大一点以至于让整个排列变得更加大 为什么&#xff0c;仔细想想&#xff0c;后面都是倒序了怎么都不可能变得…

fijkplayer flutter 直播流播放

fijkplayer flutter 直播流播放 fijkplayer 是 ijkplayer 的 Flutter 封装&#xff0c; 是一款支持 android 和 iOS 的 Flutter 媒体播放器插件&#xff0c; 由 ijkplayer 底层驱动。 通过纹理&#xff08;Texture&#xff09;接入播放器视频渲染到 Flutter 中。 前言 目前使用…

class072 最长递增子序列问题与扩展【算法】

class072 最长递增子序列问题与扩展【算法】 code1 300. 最长递增子序列 // 最长递增子序列和最长不下降子序列 // 给定一个整数数组nums // 找到其中最长严格递增子序列长度、最长不下降子序列长度 // 测试链接 : https://leetcode.cn/problems/longest-increasing-subsequen…

Java 简易版 UDP 多人聊天室

服务端 import java.io.*; import java.net.*; import java.util.ArrayList; public class Server{public static ServerSocket server_socket;public static ArrayList<Socket> socketListnew ArrayList<Socket>(); public static void main(String []args){try{…