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

系统架构设计师

  • 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. 系统监视

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python3使用pandas备份mysql数据表

操作系统 &#xff1a;CentOS 7.6_x64 Python版本&#xff1a;3.9.12 MySQL版本&#xff1a;5.7.38 日常开发过程中&#xff0c;会遇到mysql数据表的备份需求&#xff0c;需要针对单独的数据表进行备份并定时清理数据。 今天记录下python3如何使用pandas进行mysql数据表的备…

ubuntu20 安装docker

一.官网安装文档 &#xff08;基本按官方文档安装&#xff09; Install Docker Engine on Ubuntu | Docker Docs 二.安装步骤 1.docker 需要64位操作系统、linux内核要在3.1以上 #uname -r 2.卸载可能存在的旧版本 #sudo apt-get remove docker docker-engine docker-ce …

整数分析 C语言xdoj43

问题描述 给出一个整数n&#xff08;0<n<100000000&#xff09;。求出该整数的位数&#xff0c;以及组成该整数的所有数字中的最大数字和最小数字。 输入说明 输入一个整数n&#xff08;0<n<100000000&#xff09; 输出说明 在一行上依次输出整数n的位…

【无标题】安装环境

这里写目录标题 清华镜像加速 安装cuda11.3 PyTorch 1.10.1https://pytorch.org/get-started/previous-versions/[如果没有可以点Previous pyTorch Versions&#xff0c;这里面有更多的更早的版本](https://pytorch.org/get-started/locally/) 复制非空文件夹cp: -r not specif…

Linux下通过find找文件---通过修改时间查找(-mtime)

通过man手册查找和-mtime选项相关的内容 man find | grep -A 3 mtime # 这里简单介绍了 -mtime &#xff0c;还有一个简单的示例-mtime n Files data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretati…

Linux——缓冲区与C库的实现原理

一.缓冲区 1缓冲区的概念 缓冲区的本质就是一段内存 2.缓冲区存在的意义 提高使用者的效率 同时因为缓冲区的存在也提高了操作系统的效率 举例一个例子&#xff1a; 假如你在云南要给你北京的朋友寄东西。方法一&#xff1a;你可以亲自己去北京把东西交给他&#xff0c;方…

28. 深度学习进阶 - LSTM

文章目录 Hi, 你好。我是茶桁。 我们上一节课&#xff0c;用了一个示例来展示了一下我们为什么要用RNN神经网络&#xff0c;它和全连接的神经网络具体有什么区别。 这节课&#xff0c;我们就着上一节课的内容继续往后讲&#xff0c;没看过上节课的&#xff0c;建议回头去好好…

深度学习 | 前馈神经网络与反向传播算法

目录 一、Logistic函数 二、前馈神经网络&#xff08;FNN&#xff09; 三、反向传播算法&#xff08;BP算法&#xff09; ​四、基于前馈神经网络的手写体数字识别 一、Logistic函数 Logistic函数是学习前馈神经网络的基础。所以在介绍前馈神经网络之前&#xff0c;我们首…

消息队列使用指南

介绍 消息队列是一种常用的应用程序间通信方法&#xff0c;可以用来在不同应用程序或组件之间传递数据或消息。消息队列就像一个缓冲区&#xff0c;接收来自发送方的消息&#xff0c;并存储在队列中&#xff0c;等待接收方从队列中取出并处理。 在分布式系统中&#xff0c;消…

对无向图进行邻接矩阵的转化,并且利用DFS(深度优先)和BFS(广度优先)算法进行遍历输出, 在邻接矩阵存储结构上,完成最小生成树的操作。

一 实验目的 1&#xff0e;掌握图的相关概念。 2&#xff0e;掌握用邻接矩阵和邻接表的方法描述图的存储结构。 3&#xff0e;掌握图的深度优先搜索和广度优先搜索遍历的方法及其计算机的实现。 4&#xff0e;理解最小生成树的有关算法 二 实验内容及要求 实验内容&#…

【Angular开发】Angular在2023年之前不是很好

做一个简单介绍&#xff0c;年近48 &#xff0c;有20多年IT工作经历&#xff0c;目前在一家500强做企业架构&#xff0e;因为工作需要&#xff0c;另外也因为兴趣涉猎比较广&#xff0c;为了自己学习建立了三个博客&#xff0c;分别是【全球IT瞭望】&#xff0c;【架构师酒馆】…

第 119 场 LeetCode 双周赛题解

A 找到两个数组中的公共元素 模拟 class Solution { public:vector<int> findIntersectionValues(vector<int> &nums1, vector<int> &nums2) {unordered_set<int> s1(nums1.begin(), nums1.end()), s2(nums2.begin(), nums2.end());vector<…

C语言进阶之路-数据结构篇

目录 一、学习目标 二、数据结构 1.基本概念 线性关系&#xff1a; 非线性关系&#xff1a; 存储形式 2. 算法分析 2.1 时间复杂度 2.2 空间复杂度 2.3 时空复杂度互换 总结 一、学习目标 了解数据结构的基本概念了解算法的分析方法 二、数据结构 1.基本概念 数据结…

Si24R03—低功耗 SOC 芯片(集成RISC-V内核+2.4GHz无线收发器)

Si24R03是一款高度集成的低功耗SOC芯片&#xff0c;其集成了基于RISC-V核的低功耗MCU和工作在2.4GHz ISM频段的无线收发器模块。 MCU模块具有低功耗、Low Pin Count、宽电压工作范围&#xff0c;集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC等丰…

hdlbits系列verilog解答(mt2015_q4)-54

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本次使用系列文章52和53中实现的子模块,实现以下组合逻辑电路。 二、verilog源码 module top_module (input x, input y, output z);wire [3:0

EPICS modbus 模块数字量读写练习

本文使用modbus slave软件模拟一个受控的modbus设备&#xff0c;此模拟设备提供如下功能&#xff1a; 1、线圈组1&#xff0c;8个线圈&#xff0c;起始地址为0&#xff0c;数量为8&#xff0c;软件设置如下(功能码1)&#xff0c;用于测试功能码5&#xff0c;一次写一个线圈&am…

了解红帽认证

红帽公司成立于1993年&#xff0c;是全球首家收入超10亿美元的开源公司&#xff0c;总部位于美国&#xff0c;分支机构遍布全球。红帽公司作为全球领先的开源和Linux系统提供商&#xff0c;其产品已被业界广泛认可并使用&#xff0c;尤其是RHEL系统在业内拥有超高的Linux系统市…

利用Node.js和cpolar实现远程访问,无需公网IP和路由器设置的完美解决方案

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

Dockerfile的介绍和使用

什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。 docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerf…

c语言:理解和避免野指针

野指针的定义&#xff1a; 野指针是指一个指针变量存储了一个无效的地址&#xff0c;通常是一个未初始化的指针或者指向已经被释放的内存地址。当程序尝试使用野指针时&#xff0c;可能会导致程序崩溃、内存泄漏或者其他不可预测的行为。因此&#xff0c;在编程中需要特别注意…